diff --git a/examples.php b/examples.php
index cdb701b..8a7e423 100644
--- a/examples.php
+++ b/examples.php
@@ -54,8 +54,8 @@
 	<h2><a href="#insideEclipse" name="insideEclipse"></a>Running the SWT Examples inside Eclipse</h2>
 
 	<ol>
-		<li>To get the examples, go to the Eclipse downloads page at <a href="http://download.eclipse.org/eclipse/downloads">
-		  http://download.eclipse.org/eclipse/downloads</a>.</li>
+		<li>To get the examples, go to the Eclipse downloads page at <a href="https://download.eclipse.org/eclipse/downloads">
+		  https://download.eclipse.org/eclipse/downloads</a>.</li>
 		<li>Click on the Eclipse build that you would like examples for
 		  (i.e. the Eclipse build that you are running; typically the latest Stable Build).</li>
 		<li>Scroll down until you see "Example Plug-ins". Read the paragraph on installing them, and select the download for your platform.</li>
@@ -95,8 +95,8 @@
 
 	<p>(NOTE: these instructions will only work for Eclipse 3.3 and newer) To run the ControlExample or CustomControlExample standalone:</p>
 	<ol>
-		<li>Go to the Eclipse downloads page at <a href="http://download.eclipse.org/eclipse/downloads/">
-			http://download.eclipse.org/eclipse/downloads/</a>.</li>
+		<li>Go to the Eclipse downloads page at <a href="https://download.eclipse.org/eclipse/downloads/">
+			https://download.eclipse.org/eclipse/downloads/</a>.</li>
 		<li>Click on the Eclipse build that you would like examples for
 			(i.e. the Eclipse/SWT build that you are running; typically the latest Stable Build).</li>
 		<li>Scroll down until you see "Example Plug-ins", download the .zip for your platform, and extract it to your local machine.</li>
diff --git a/jws/index.php b/jws/index.php
index 62a6875..69e7af5 100644
--- a/jws/index.php
+++ b/jws/index.php
@@ -11,7 +11,7 @@
 <p>First, create jar archives with SWT and its libraries for each platform that you wish to run on:</p>
 <ol>
 	<li>Create a directory <em>&lt;yourApplication&gt;</em> for collecting the deployable .jar archives.</li>
-	<li>Go to <a href="http://www.eclipse.org/swt/">http://www.eclipse.org/swt</a> and download the desired SWT Release for one of your target platforms. Extract this into a convenient location.</li>
+	<li>Go to <a href="https://www.eclipse.org/swt/">https://www.eclipse.org/swt</a> and download the desired SWT Release for one of your target platforms. Extract this into a convenient location.</li>
 	<li>Rename the <em>swt.jar</em> file in the extracted folder to a name that describes its target platform, such as <em>swt-&lt;ws&gt;-&lt;os&gt;-&lt;arch&gt;.jar</em>.</li>
 	<li><em>(If you are packaging SWT version 3.3 or newer then this step should be skipped)</em> Create a .jar archive of SWT's native libraries for the target platform by going into the extracted folder and executing <em>"<code>jar cvf swt-native-&lt;ws&gt;-&lt;os&gt;-&lt;arch&gt;.jar *.&lt;library-suffix&gt;</code>"</em>.
 		<em>&lt;library-suffix&gt;</em> will be <em>"dll"</em> for Windows and <em>"so"</em> for Linux and Solaris.</li>
@@ -32,19 +32,19 @@
 	<li>Repeat step 2 for each of the <em>swt-&lt;ws&gt;-&lt;os&gt;-&lt;arch&gt;.jar</em> and <em>swt-native-&lt;ws&gt;-&lt;os&gt;-&lt;arch&gt;.jar</em> archives.</li>
 </ol>
 
-<p>The last step is to create a .jnlp file that will be used to launch your application through JWS <a href="http://java.sun.com/j2se/1.5.0/docs/guide/javaws/developersguide/syntax.html">(jnlp syntax guide)</a>.
+<p>The last step is to create a .jnlp file that will be used to launch your application through JWS <a href="https://docs.oracle.com/javase/1.5.0/docs/guide/javaws/developersguide/syntax.html">(jnlp syntax guide)</a>.
 The example .jnlp file below demonstrates how to specify the SWT jars based on the target platform
 <em>(note that if you are packaging SWT version 3.3 or newer then the &lt;nativelib&gt; tags are not needed)</em>.</p>
 
 <table style="border: solid 1px #000000; margin-left: auto; margin-right: auto; background-color: #eeeeff">
 <tr><td><pre style="margin: 0; padding:0;">&lt;?xml version="1.0" encoding="utf-8"?&gt;
 &lt;jnlp spec="1.0+"
-	codebase="http://www.eclipse.org/swt/jws"
+	codebase="https://www.eclipse.org/swt/jws"
 	href="controlexample.jnlp"&gt;
 	&lt;information&gt;
   		&lt;title&gt;Control Example&lt;/title&gt;
   		&lt;vendor&gt;eclipse.org&lt;/vendor&gt;
-  		&lt;homepage href="http://www.eclipse.org/swt/jws/" /&gt;
+  		&lt;homepage href="https://www.eclipse.org/swt/jws/" /&gt;
   		&lt;description&gt;A demonstration of SWT Widgets&lt;/description&gt;
   		&lt;description&gt;Control Example&lt;/description&gt;
 	&lt;/information&gt;
@@ -109,7 +109,7 @@
 <p>Now you can test the deployment of your application by pointing your browser at your .jnlp file (note that you must either have Java 1.5 or JWS
 installed on your machine). You can also create a link to the .jnlp file from an HTML page, as shown below. If all steps have been done correctly then
 JWS will ask if you want to trust your own unverified signature, and after answering Yes, your application will appear.  (Example:
-<a href="http://www.eclipse.org/swt/jws/controlexample.jnlp">http://www.eclipse.org/swt/jws/controlexample.jnlp</a>).</p>
+<a href="https://www.eclipse.org/swt/jws/controlexample.jnlp">https://www.eclipse.org/swt/jws/controlexample.jnlp</a>).</p>
 
 <img src="./swtjwscontrol.png" alt="SWT Control Example launched via Java Web Start">
 
diff --git a/macosx/index.php b/macosx/index.php
index e07e1c1..f01d43d 100644
--- a/macosx/index.php
+++ b/macosx/index.php
@@ -18,9 +18,7 @@
     Disk images are automatically mounted on download, presenting
     the user with the bundle icon so it can be dragged to their Applications
     folder.  More information on application
-    bundles and disk images can be found in the
-    <a href="http://developer.apple.com/documentation/DeveloperTools/Conceptual/SoftwareDistribution/index.html">Software Distribution</a>
-    section of the Apple documentation.</p>
+    bundles and disk images can be found in Apple documentation.</p>
 
     <center><table>
     <tr><td><a href="SWTHello.dmg"><img style="display: block; text-align: center; margin: auto;" src="dmgicon.png" border="0" alt="SWTHello.dmg"></a>
diff --git a/updatesite.php b/updatesite.php
index 7e06bec..606591a 100644
--- a/updatesite.php
+++ b/updatesite.php
@@ -18,15 +18,15 @@
 </th><th> Update Site URL
 </th></tr>
 <tr>
-<td> <strong>4.5 M5 and newer</strong> </td>
+<td> <strong>4.14 and newer</strong> </td>
 <td>Part of the main Platform P2 repository.
-<ul><li>Use Release update site to receive updates for a particular release - http://download.eclipse.org/eclipse/updates/4.5 (or newer version)</li>
-<li>Milestone update site to receive updates in the current milestone - http://download.eclipse.org/eclipse/updates/milestones</li>
-<li>I-build update site to receive updates in the current I-build - http://download.eclipse.org/eclipse/updates/I-builds</li></ul>
+<ul><li>Use Release update site to receive updates for a particular release - https://download.eclipse.org/eclipse/updates/4.14 (or newer version)</li>
+<li>Milestone update site to receive updates in the current milestone - https://download.eclipse.org/eclipse/updates/milestones</li>
+<li>I-build update site to receive updates in the current I-build - https://download.eclipse.org/eclipse/updates/I-builds</li></ul>
 </td>
 </tr>
 <tr>
-<td> <strong>pre 4.5 M5 releases</strong> </td><td>SWT Tools have to be build manualy from the respective tag/branch for the release needed.</td>
+<td> <strong>pre 4.14 releases</strong> </td><td>SWT Tools have to be build manualy from the respective tag/branch for the release needed.</td>
 </tr>
 </table>
 
