diff --git a/.gitignore b/.gitignore
index bfa6a22..eaf28ca 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,6 @@
-# Created by .ignore support plugin (hsz.mobi)
+# Build
+sources/target/
+
+# IDE Generated
+*.idea
+*.iml
\ No newline at end of file
diff --git a/content/downloads/downloads.html b/content/downloads/downloads.html
index 70bb2a2..5c9398b 100644
--- a/content/downloads/downloads.html
+++ b/content/downloads/downloads.html
@@ -4,7 +4,7 @@
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width, initial-scale=1">
-    <meta name="description" content="">
+    <meta name="description" content="Apache Roller is an open-source Java-based, full-featured, multi-user and group-blog server suitable for blog sites large and small.">
     <meta name="author" content="">
     <link rel="icon" href="/images/favicon.ico">
 
@@ -54,7 +54,7 @@
                         <li><a href="https://cwiki.apache.org/confluence/display/ROLLER/Developer+Resources">Development Information</a></li>
                         <li><a href="https://github.com/apache/roller">Browse Source</a></li>
                         <li><a href="https://builds.apache.org/job/Roller/">Jenkins CI</a></li>
-                        <li><a href="https://analysis.apache.org/dashboard/index/org.apache.roller:roller-project">Sonar Analysis</a></li>
+                        <li><a href="https://sonarcloud.io/dashboard?id=roller-master">Sonar Analysis</a></li>
                         <li><a href="/getinvolved/edit_website.html">Website Admin</a></li>
                     </ul>
                 </li>
@@ -62,10 +62,14 @@
                 <li class="dropdown">
                     <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <span class="caret"></span></a>
                     <ul class="dropdown-menu" role="menu">
-                        <li><a href="http://www.apache.org/foundation/">Foundation</a></li>
-                        <li><a href="http://projects.apache.org/">Projects</a></li>
-                        <li><a href="http://people.apache.org/">People</a></li>
-                        <li><a href="http://www.apache.org/foundation/sponsorship.html">Support Apache</a></li>
+                        <li><a href="https://www.apache.org/foundation/" target="external">Foundation</a></li>
+                        <li><a href="https://www.apache.org/events/current-event" target="external">Events</a></li>
+                        <li><a href="https://projects.apache.org/" target="external">Projects</a></li>
+                        <li><a href="https://people.apache.org/" target="external">People</a></li>
+                        <li><a href="https://www.apache.org/foundation/sponsorship.html" target="external">Sponsorship</a></li>
+                        <li><a href="https://www.apache.org/foundation/thanks.html" target="external">Thanks</a></li>
+                        <li><a href="https://www.apache.org/licenses/" target="external">License</a></li>
+                        <li><a href="https://www.apache.org/security/" target="external">Security</a></li>
                     </ul>
                 </li>
             </ul>
@@ -75,6 +79,7 @@
 
 <div class="markdown-content">
 
+
 <div class="container">
     <!-- Example row of columns -->
     <div class="row">
@@ -108,8 +113,17 @@
 <div class="container">
     <hr>
     <footer>
-        <p>Copyright &copy; 2018 The Apache Software Foundation, Licensed under the
-            <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+        <p>
+            Copyright &copy; 2019 The Apache Software Foundation.
+            <a href="https://www.apache.org/licenses/" target="external">
+                Licensed under the  Apache License, Version 2.0
+            </a>.
+            <br/>
+            Apache Roller, the project logo and the Apache feather logo are trademarks of
+            <a href="https://www.apache.org/" target="external">
+                The Apache Software Foundation.
+            </a>
+        </p>
     </footer>
 </div>
 
diff --git a/content/getinvolved/edit_website.html b/content/getinvolved/edit_website.html
index 6ab38ff..9deccac 100644
--- a/content/getinvolved/edit_website.html
+++ b/content/getinvolved/edit_website.html
@@ -4,7 +4,7 @@
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width, initial-scale=1">
-    <meta name="description" content="">
+    <meta name="description" content="Apache Roller is an open-source Java-based, full-featured, multi-user and group-blog server suitable for blog sites large and small.">
     <meta name="author" content="">
     <link rel="icon" href="/images/favicon.ico">
 
@@ -54,7 +54,7 @@
                         <li><a href="https://cwiki.apache.org/confluence/display/ROLLER/Developer+Resources">Development Information</a></li>
                         <li><a href="https://github.com/apache/roller">Browse Source</a></li>
                         <li><a href="https://builds.apache.org/job/Roller/">Jenkins CI</a></li>
-                        <li><a href="https://analysis.apache.org/dashboard/index/org.apache.roller:roller-project">Sonar Analysis</a></li>
+                        <li><a href="https://sonarcloud.io/dashboard?id=roller-master">Sonar Analysis</a></li>
                         <li><a href="/getinvolved/edit_website.html">Website Admin</a></li>
                     </ul>
                 </li>
@@ -62,10 +62,14 @@
                 <li class="dropdown">
                     <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <span class="caret"></span></a>
                     <ul class="dropdown-menu" role="menu">
-                        <li><a href="http://www.apache.org/foundation/">Foundation</a></li>
-                        <li><a href="http://projects.apache.org/">Projects</a></li>
-                        <li><a href="http://people.apache.org/">People</a></li>
-                        <li><a href="http://www.apache.org/foundation/sponsorship.html">Support Apache</a></li>
+                        <li><a href="https://www.apache.org/foundation/" target="external">Foundation</a></li>
+                        <li><a href="https://www.apache.org/events/current-event" target="external">Events</a></li>
+                        <li><a href="https://projects.apache.org/" target="external">Projects</a></li>
+                        <li><a href="https://people.apache.org/" target="external">People</a></li>
+                        <li><a href="https://www.apache.org/foundation/sponsorship.html" target="external">Sponsorship</a></li>
+                        <li><a href="https://www.apache.org/foundation/thanks.html" target="external">Thanks</a></li>
+                        <li><a href="https://www.apache.org/licenses/" target="external">License</a></li>
+                        <li><a href="https://www.apache.org/security/" target="external">Security</a></li>
                     </ul>
                 </li>
             </ul>
@@ -75,6 +79,7 @@
 
 <div class="markdown-content">
 
+
 <div class="container">
     <!-- Example row of columns -->
     <div class="row">
@@ -113,8 +118,8 @@
     <p><code>git clone https://git-wip-us.apache.org/repos/asf/roller-website.git</code></p>
   </li>
   <li>
-    <p>Go to the roller-website directory, make sure you are on the master branch:</p>
-    <p><code>cd roller-website</code><br/><code>git checkout master</code></p>
+    <p>Go to the roller-website directory, make sure you are on the asf-site branch:</p>
+    <p><code>cd roller-website</code><br/><code>git checkout asf-site</code></p>
   </li>
   <li>
   <p>Make your changes to Markdowna (.md) and FreeMarker (.ftl) files under the source directory.</p></li>
@@ -124,8 +129,8 @@
     <p>Or alternatively, run <code>mvn jbake:inline</code> so you can view the website locally at <a href="http://localhost:8080">http://localhost:8080</a></p>
   </li>
   <li>
-    <p>Once the site looks good, commit your changes and merge them into the asf_site branch.</p>
-    <p><code>git commit -m &quot;my wonderful changes&quot; .</code><br/><code>git checkout asf_site</code><br/><code>git merge master</code></p>
+    <p>Once the site looks good, commit your changes to the asf_site branch.</p>
+    <p><code>git commit -m &quot;my wonderful changes&quot; .</code><br/><code>git push origin asf-site</code></p>
   </li>
   <li>
   <p>Push your changes to the ASF Git repo. The ASF website infrastructure will pick up your changes and publish them to the website.</p></li>
@@ -138,8 +143,17 @@
 <div class="container">
     <hr>
     <footer>
-        <p>Copyright &copy; 2018 The Apache Software Foundation, Licensed under the
-            <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+        <p>
+            Copyright &copy; 2019 The Apache Software Foundation.
+            <a href="https://www.apache.org/licenses/" target="external">
+                Licensed under the  Apache License, Version 2.0
+            </a>.
+            <br/>
+            Apache Roller, the project logo and the Apache feather logo are trademarks of
+            <a href="https://www.apache.org/" target="external">
+                The Apache Software Foundation.
+            </a>
+        </p>
     </footer>
 </div>
 
diff --git a/content/index.html b/content/index.html
index a17ffac..55c6929 100644
--- a/content/index.html
+++ b/content/index.html
@@ -4,7 +4,7 @@
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width, initial-scale=1">
-    <meta name="description" content="">
+    <meta name="description" content="Apache Roller is an open-source Java-based, full-featured, multi-user and group-blog server suitable for blog sites large and small.">
     <meta name="author" content="">
     <link rel="icon" href="/images/favicon.ico">
 
@@ -54,7 +54,7 @@
                         <li><a href="https://cwiki.apache.org/confluence/display/ROLLER/Developer+Resources">Development Information</a></li>
                         <li><a href="https://github.com/apache/roller">Browse Source</a></li>
                         <li><a href="https://builds.apache.org/job/Roller/">Jenkins CI</a></li>
-                        <li><a href="https://analysis.apache.org/dashboard/index/org.apache.roller:roller-project">Sonar Analysis</a></li>
+                        <li><a href="https://sonarcloud.io/dashboard?id=roller-master">Sonar Analysis</a></li>
                         <li><a href="/getinvolved/edit_website.html">Website Admin</a></li>
                     </ul>
                 </li>
@@ -62,10 +62,14 @@
                 <li class="dropdown">
                     <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <span class="caret"></span></a>
                     <ul class="dropdown-menu" role="menu">
-                        <li><a href="http://www.apache.org/foundation/">Foundation</a></li>
-                        <li><a href="http://projects.apache.org/">Projects</a></li>
-                        <li><a href="http://people.apache.org/">People</a></li>
-                        <li><a href="http://www.apache.org/foundation/sponsorship.html">Support Apache</a></li>
+                        <li><a href="https://www.apache.org/foundation/" target="external">Foundation</a></li>
+                        <li><a href="https://www.apache.org/events/current-event" target="external">Events</a></li>
+                        <li><a href="https://projects.apache.org/" target="external">Projects</a></li>
+                        <li><a href="https://people.apache.org/" target="external">People</a></li>
+                        <li><a href="https://www.apache.org/foundation/sponsorship.html" target="external">Sponsorship</a></li>
+                        <li><a href="https://www.apache.org/foundation/thanks.html" target="external">Thanks</a></li>
+                        <li><a href="https://www.apache.org/licenses/" target="external">License</a></li>
+                        <li><a href="https://www.apache.org/security/" target="external">Security</a></li>
                     </ul>
                 </li>
             </ul>
@@ -74,6 +78,7 @@
 </div>
 
 <div class="markdown-content">
+
 <!-- Main jumbotron for a primary marketing message or call to action -->
 <div class="jumbotron">
     <div class="container">
@@ -122,8 +127,17 @@
 <div class="container">
     <hr>
     <footer>
-        <p>Copyright &copy; 2018 The Apache Software Foundation, Licensed under the
-            <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+        <p>
+            Copyright &copy; 2019 The Apache Software Foundation.
+            <a href="https://www.apache.org/licenses/" target="external">
+                Licensed under the  Apache License, Version 2.0
+            </a>.
+            <br/>
+            Apache Roller, the project logo and the Apache feather logo are trademarks of
+            <a href="https://www.apache.org/" target="external">
+                The Apache Software Foundation.
+            </a>
+        </p>
     </footer>
 </div>
 
diff --git a/content/project/whoweare.html b/content/project/whoweare.html
index 4c12e36..ad99c76 100644
--- a/content/project/whoweare.html
+++ b/content/project/whoweare.html
@@ -4,7 +4,7 @@
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width, initial-scale=1">
-    <meta name="description" content="">
+    <meta name="description" content="Apache Roller is an open-source Java-based, full-featured, multi-user and group-blog server suitable for blog sites large and small.">
     <meta name="author" content="">
     <link rel="icon" href="/images/favicon.ico">
 
@@ -54,7 +54,7 @@
                         <li><a href="https://cwiki.apache.org/confluence/display/ROLLER/Developer+Resources">Development Information</a></li>
                         <li><a href="https://github.com/apache/roller">Browse Source</a></li>
                         <li><a href="https://builds.apache.org/job/Roller/">Jenkins CI</a></li>
-                        <li><a href="https://analysis.apache.org/dashboard/index/org.apache.roller:roller-project">Sonar Analysis</a></li>
+                        <li><a href="https://sonarcloud.io/dashboard?id=roller-master">Sonar Analysis</a></li>
                         <li><a href="/getinvolved/edit_website.html">Website Admin</a></li>
                     </ul>
                 </li>
@@ -62,10 +62,14 @@
                 <li class="dropdown">
                     <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <span class="caret"></span></a>
                     <ul class="dropdown-menu" role="menu">
-                        <li><a href="http://www.apache.org/foundation/">Foundation</a></li>
-                        <li><a href="http://projects.apache.org/">Projects</a></li>
-                        <li><a href="http://people.apache.org/">People</a></li>
-                        <li><a href="http://www.apache.org/foundation/sponsorship.html">Support Apache</a></li>
+                        <li><a href="https://www.apache.org/foundation/" target="external">Foundation</a></li>
+                        <li><a href="https://www.apache.org/events/current-event" target="external">Events</a></li>
+                        <li><a href="https://projects.apache.org/" target="external">Projects</a></li>
+                        <li><a href="https://people.apache.org/" target="external">People</a></li>
+                        <li><a href="https://www.apache.org/foundation/sponsorship.html" target="external">Sponsorship</a></li>
+                        <li><a href="https://www.apache.org/foundation/thanks.html" target="external">Thanks</a></li>
+                        <li><a href="https://www.apache.org/licenses/" target="external">License</a></li>
+                        <li><a href="https://www.apache.org/security/" target="external">Security</a></li>
                     </ul>
                 </li>
             </ul>
@@ -75,6 +79,7 @@
 
 <div class="markdown-content">
 
+
 <div class="container">
     <!-- Example row of columns -->
     <div class="row">
@@ -115,8 +120,17 @@
 <div class="container">
     <hr>
     <footer>
-        <p>Copyright &copy; 2018 The Apache Software Foundation, Licensed under the
-            <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+        <p>
+            Copyright &copy; 2019 The Apache Software Foundation.
+            <a href="https://www.apache.org/licenses/" target="external">
+                Licensed under the  Apache License, Version 2.0
+            </a>.
+            <br/>
+            Apache Roller, the project logo and the Apache feather logo are trademarks of
+            <a href="https://www.apache.org/" target="external">
+                The Apache Software Foundation.
+            </a>
+        </p>
     </footer>
 </div>
 
diff --git a/sources/src/main/jbake/content/getinvolved/edit_website.md b/sources/src/main/jbake/content/getinvolved/edit_website.md
index 0109682..6f095d1 100644
--- a/sources/src/main/jbake/content/getinvolved/edit_website.md
+++ b/sources/src/main/jbake/content/getinvolved/edit_website.md
@@ -42,10 +42,10 @@
 
     ```git clone https://git-wip-us.apache.org/repos/asf/roller-website.git```
 
-2. Go to the roller-website directory, make sure you are on the master branch:
+2. Go to the roller-website directory, make sure you are on the asf-site branch:
 
     ```cd roller-website```
-    ```git checkout master```
+    ```git checkout asf-site```
 
 2.  Make your changes to Markdowna (.md) and FreeMarker (.ftl) files under the source directory.
 
@@ -56,11 +56,10 @@
 
     Or alternatively, run ```mvn jbake:inline``` so you can view the website locally at http://localhost:8080
 
-4. Once the site looks good, commit your changes and merge them into the asf_site branch.
+4. Once the site looks good, commit your changes to the asf_site branch.
 
     ```git commit -m "my wonderful changes" .```
-    ```git checkout asf_site```
-    ```git merge master```
+    ```git push origin asf-site```
 
 5. Push your changes to the ASF Git repo. The ASF website infrastructure will pick up your changes and publish them to the website.
 
diff --git a/sources/src/main/jbake/templates/footer.ftl b/sources/src/main/jbake/templates/footer.ftl
index a1721dc..738924b 100644
--- a/sources/src/main/jbake/templates/footer.ftl
+++ b/sources/src/main/jbake/templates/footer.ftl
@@ -3,8 +3,17 @@
 <div class="container">
     <hr>
     <footer>
-        <p>Copyright &copy; 2018 The Apache Software Foundation, Licensed under the
-            <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+        <p>
+            Copyright &copy; 2019 The Apache Software Foundation.
+            <a href="https://www.apache.org/licenses/" target="external">
+                Licensed under the  Apache License, Version 2.0
+            </a>.
+            <br/>
+            Apache Roller, the project logo and the Apache feather logo are trademarks of
+            <a href="https://www.apache.org/" target="external">
+                The Apache Software Foundation.
+            </a>
+        </p>
     </footer>
 </div>
 
diff --git a/sources/src/main/jbake/templates/header.ftl b/sources/src/main/jbake/templates/header.ftl
index 8c89c90..2e1ec60 100644
--- a/sources/src/main/jbake/templates/header.ftl
+++ b/sources/src/main/jbake/templates/header.ftl
@@ -4,7 +4,7 @@
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width, initial-scale=1">
-    <meta name="description" content="">
+    <meta name="description" content="Apache Roller is an open-source Java-based, full-featured, multi-user and group-blog server suitable for blog sites large and small.">
     <meta name="author" content="">
     <link rel="icon" href="/images/favicon.ico">
 
@@ -54,7 +54,7 @@
                         <li><a href="https://cwiki.apache.org/confluence/display/ROLLER/Developer+Resources">Development Information</a></li>
                         <li><a href="https://github.com/apache/roller">Browse Source</a></li>
                         <li><a href="https://builds.apache.org/job/Roller/">Jenkins CI</a></li>
-                        <li><a href="https://analysis.apache.org/dashboard/index/org.apache.roller:roller-project">Sonar Analysis</a></li>
+                        <li><a href="https://sonarcloud.io/dashboard?id=roller-master">Sonar Analysis</a></li>
                         <li><a href="/getinvolved/edit_website.html">Website Admin</a></li>
                     </ul>
                 </li>
@@ -62,10 +62,14 @@
                 <li class="dropdown">
                     <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <span class="caret"></span></a>
                     <ul class="dropdown-menu" role="menu">
-                        <li><a href="http://www.apache.org/foundation/">Foundation</a></li>
-                        <li><a href="http://projects.apache.org/">Projects</a></li>
-                        <li><a href="http://people.apache.org/">People</a></li>
-                        <li><a href="http://www.apache.org/foundation/sponsorship.html">Support Apache</a></li>
+                        <li><a href="https://www.apache.org/foundation/" target="external">Foundation</a></li>
+                        <li><a href="https://www.apache.org/events/current-event" target="external">Events</a></li>
+                        <li><a href="https://projects.apache.org/" target="external">Projects</a></li>
+                        <li><a href="https://people.apache.org/" target="external">People</a></li>
+                        <li><a href="https://www.apache.org/foundation/sponsorship.html" target="external">Sponsorship</a></li>
+                        <li><a href="https://www.apache.org/foundation/thanks.html" target="external">Thanks</a></li>
+                        <li><a href="https://www.apache.org/licenses/" target="external">License</a></li>
+                        <li><a href="https://www.apache.org/security/" target="external">Security</a></li>
                     </ul>
                 </li>
             </ul>
@@ -73,4 +77,4 @@
     </div>
 </div>
 
-<div class="markdown-content">
\ No newline at end of file
+<div class="markdown-content">
