diff --git a/Allura/allura/templates/jinja_master/theme_macros.html b/Allura/allura/templates/jinja_master/theme_macros.html
index 61f5e2f..e8b1c3f 100644
--- a/Allura/allura/templates/jinja_master/theme_macros.html
+++ b/Allura/allura/templates/jinja_master/theme_macros.html
@@ -36,7 +36,7 @@
 {%- macro footer(year, path_to_static='') %}
 <footer id="site-footer">
   <nav>
-	  This project is powered by <a href="http://sourceforge.net/p/allura/">Allura</a>.
+	  This project is powered by <a href="https://forge-allura.apache.org/p/allura/">Allura</a>.
 	</nav>
 </footer>
 {%- endmacro %}
@@ -112,4 +112,4 @@
          {% endif %}
       </div>
   {% endif %}
-{%- endmacro %}
\ No newline at end of file
+{%- endmacro %}
diff --git a/Allura/docs/extending.rst b/Allura/docs/extending.rst
index 6a6abe0..5458b69 100644
--- a/Allura/docs/extending.rst
+++ b/Allura/docs/extending.rst
@@ -35,7 +35,7 @@
 * ``site_stats`` in the root API data.  Docs in :class:`allura.controllers.rest.RestController`
 * :mod:`allura.lib.package_path_loader` (for overriding templates)
 
-A listing of available 3rd-party extensions is at https://sourceforge.net/p/allura/wiki/Extensions/
+A listing of available 3rd-party extensions is at https://forge-allura.apache.org/p/allura/wiki/Extensions/
 
 To disable any Allura entry point, simply add an entry in your ``.ini`` config file
 with names and values corresponding to entry points defined in any ``setup.py`` file.
@@ -60,4 +60,4 @@
 * project_updated
 * repo_cloned
 * repo_refreshed
-* repo_clone_task_failed
\ No newline at end of file
+* repo_clone_task_failed
diff --git a/Allura/docs/installation.rst b/Allura/docs/installation.rst
index 8b36cfc..44eb0ad 100644
--- a/Allura/docs/installation.rst
+++ b/Allura/docs/installation.rst
@@ -21,7 +21,7 @@
 Easy Setup
 ---------------
 
-Our easy setup instructions are in our README.rst file.  You can read it online at https://sourceforge.net/p/allura/git/#readme
+Our easy setup instructions are in our README.rst file.  You can read it online at https://forge-allura.apache.org/p/allura/git/ci/master/tree/README.markdown
 
 You should be able to get Allura up and running in well under an hour by following those instructions.
 
diff --git a/Allura/docs/online.rst b/Allura/docs/online.rst
index 37c3103..632d1c9 100644
--- a/Allura/docs/online.rst
+++ b/Allura/docs/online.rst
@@ -22,9 +22,9 @@
 
 * http://allura.sourceforge.net/epydoc/
 
-Our SourceForge project page, including tickets, discussion forums, etc.:
+Our project page, including tickets, discussion forums, etc.:
 
-* http://sourceforge.net/p/allura/home/
+* https://forge-allura.apache.org/p/allura/
 
 
 Much of the current forge was inspired by Roundup
diff --git a/Allura/setup.py b/Allura/setup.py
index 4a5f4f1..32e6eb4 100644
--- a/Allura/setup.py
+++ b/Allura/setup.py
@@ -36,10 +36,9 @@
     version=__version__,
     description='Base distribution of the Allura development platform',
     long_description=PROJECT_DESCRIPTION,
-    author='SourceForge Team',
-    author_email='develop@discussion.allura.p.re.sf.net',
-    url='http://sourceforge.net/p/allura',
-    keywords='sourceforge allura turbogears pylons jinja2 mongodb rabbitmq',
+    author='Allura Team',
+    url='https://forge-allura.apache.org/p/allura/',
+    keywords='allura forge turbogears pylons jinja2 mongodb',
     license='Apache License, http://www.apache.org/licenses/LICENSE-2.0',
     platforms=[
         'Linux',
diff --git a/CONTRIBUTING b/CONTRIBUTING
index c8ed765..e52c1f1 100644
--- a/CONTRIBUTING
+++ b/CONTRIBUTING
@@ -25,7 +25,7 @@
 SourceForge.net is running an instance of Allura (aka New Forge, or
 Forge 2.0); and Allura itself is a project managed there:
 
-  <https://sourceforge.net/p/allura/>
+  <https://forge-allura.apache.org/p/allura/>
 
 The source for Allura is available there from a Git repo under the
 Apache License, Version 2.0.
@@ -83,8 +83,6 @@
 
   git clone https://git-wip-us.apache.org/repos/asf/incubator-allura.git allura
 
-You can also 'fork' our repo at <https://sourceforge.net/p/allura/git/>.
-
 - CONTRIBUTING CODE
 
 Develop and test your patches locally and then get them to us in one of
@@ -134,7 +132,7 @@
 
 First, is your question already answered in the FAQ?
 
-  <https://sourceforge.net/p/allura/wiki/FAQ/>
+  <https://forge-allura.apache.org/p/allura/wiki/FAQ/>
 
 If not, then the right place to ask is either the mailing list (above)
 or the IRC channel:
diff --git a/ForgeImporters/forgeimporters/base.py b/ForgeImporters/forgeimporters/base.py
index d7479b3..97d5536 100644
--- a/ForgeImporters/forgeimporters/base.py
+++ b/ForgeImporters/forgeimporters/base.py
@@ -117,7 +117,7 @@
     @staticmethod
     def urlopen(url, retries=3, codes=(408,), **kw):
         req = urllib2.Request(url, **kw)
-        req.add_header('User-Agent', 'Allura Data Importer (http://sf.net/p/allura)')
+        req.add_header('User-Agent', 'Allura Data Importer (https://forge-allura.apache.org/p/allura/)')
         return h.urlopen(req, retries=retries, codes=codes)
 
     def get_page(self, page_name_or_url, parser=None, **kw):
diff --git a/ForgeImporters/forgeimporters/tests/test_base.py b/ForgeImporters/forgeimporters/tests/test_base.py
index 4aefc35..1a3606d 100644
--- a/ForgeImporters/forgeimporters/tests/test_base.py
+++ b/ForgeImporters/forgeimporters/tests/test_base.py
@@ -35,7 +35,7 @@
         Request.assert_called_once_with('myurl', data='foo')
         req = Request.return_value
         req.add_header.assert_called_once_with(
-                'User-Agent', 'Allura Data Importer (http://sf.net/p/allura)')
+                'User-Agent', 'Allura Data Importer (https://forge-allura.apache.org/p/allura/)')
         urlopen.assert_called_once_with(req, retries=3, codes=(408,))
         self.assertEqual(r, urlopen.return_value)
 
diff --git a/README.markdown b/README.markdown
index dcebab0..9869152 100644
--- a/README.markdown
+++ b/README.markdown
@@ -146,4 +146,4 @@
     * Including how to enable extra features: <http://allura.sourceforge.net/installation.html>
 * Run the test suite (slow): `$ ALLURA_VALIDATION=none ./run_tests`
 * File bug reports at <https://sourceforge.net/p/allura/tickets/new/> (login required)
-* Contribute code according to this guide: <http://sourceforge.net/p/allura/wiki/Contributing%20Code/>
+* Contribute code according to this guide: <https://forge-allura.apache.org/p/allura/wiki/Contributing%20Code/>
