diff --git a/docs/build.md b/docs/build.md
deleted file mode 100644
index 47d45f233ed31ae84cb204ad7749248acd656b7b..0000000000000000000000000000000000000000
--- a/docs/build.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Building CiviCRM
-
-TODO:
-
--   Nightlies vs gitify vs civibuild
--   gitify
--   civibuild (https://github.com/civicrm/civicrm-buildkit/blob/master/doc/civibuild.md)
diff --git a/docs/customize.md b/docs/customize.md
deleted file mode 100644
index 4f106477decc415a6e8d0a94a4bca6509e00354b..0000000000000000000000000000000000000000
--- a/docs/customize.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Customizing CiviCRM
-
-TODO:
-
--   *(Requirements: Don't need full git install)*
--   *(When possible, link to User/Admin Guide or other existing docs instead
-    of giving details.)*
--   Custom fields, profiles, option groups, etc
--   webform_civicrm
--   Extensions (download+install; web and CLI).
--   (Maybe) CiviRules
--   (Maybe) CSS override
--   (Maybe) *.extra.tpl
diff --git a/docs/develop-deprecated.md b/docs/develop-deprecated.md
deleted file mode 100644
index 081885c0002da12f2045bd505d335b0cac52bf9d..0000000000000000000000000000000000000000
--- a/docs/develop-deprecated.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# Deprecated developer instructions
-
-These instructions are for historical reference only, but may be of use if the newer processes don't suit your working environment.
-
-## Deprecated: Manual checkout from Github
-
-Steps:
-
-* Perform a standard CiviCRM install from tarball
-* Use the "gitify" command to replace the codebase with the latest code from git.
-
-Obtain the existing CiviCRM directory (such as `/var/www/drupal/sites/all/modules/civicrm` or `/home/myuser/src/civicrm`), then run the `gitify` command. You will need to adapt the command arguments, but a typical case would be:
-
-    cd /tmp
-    wget https://github.com/civicrm/civicrm-core/raw/master/bin/gitify
-    bash gitify Drupal git://github.com/civicrm /var/www/drupal/sites/all/modules/civicrm --hooks
-
-If you develop for multi-CMS, then you might have one copy of CiviCRM (e.g. `/home/myuser/src/civicrm`) shared by each CMS. You can use `gitify` to setup this directory, and then use symlinks to share among CMSs:
-
-    ## Create ~/src/civicrm
-    mkdir -p ~/src/civicrm
-    wget https://github.com/civicrm/civicrm-core/raw/master/bin/gitify
-    bash gitify all git://github.com/civicrm ~/src/civicrm --l10n --hooks
-
-    ## Replace an old symlink with new symlink
-    rm /var/www/drupal7/sites/all/modules/civicrm
-    ln -s ~/src/civicrm /var/www/drupal7/sites/all/modules/civicrm
-
-## References
-
-* [Wiki: GitHub For CiviCRM](https://wiki.civicrm.org/confluence/display/CRMDOC43/GitHub+for+CiviCRM)
diff --git a/docs/extend.md b/docs/extend.md
deleted file mode 100644
index ca1c5e05d88c39af897637c4450993df7723304f..0000000000000000000000000000000000000000
--- a/docs/extend.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Creating CiviCRM Extensions
-
-This page is moving. See [writing extensions](/extensions/basics).
-
-<!--
-TODO:
-- delete this page after redirection in place
--->
diff --git a/docs/extensions/config.md b/docs/extensions/config.md
deleted file mode 100644
index 6863c09819bc0daadc3a33b2d746606cf5e36710..0000000000000000000000000000000000000000
--- a/docs/extensions/config.md
+++ /dev/null
@@ -1 +0,0 @@
-Coming soon!
diff --git a/docs/extensions/create-page.md b/docs/extensions/create-page.md
deleted file mode 100644
index 6863c09819bc0daadc3a33b2d746606cf5e36710..0000000000000000000000000000000000000000
--- a/docs/extensions/create-page.md
+++ /dev/null
@@ -1 +0,0 @@
-Coming soon!
diff --git a/docs/extensions/custom-api.md b/docs/extensions/custom-api.md
deleted file mode 100644
index 6863c09819bc0daadc3a33b2d746606cf5e36710..0000000000000000000000000000000000000000
--- a/docs/extensions/custom-api.md
+++ /dev/null
@@ -1 +0,0 @@
-Coming soon!
diff --git a/docs/extensions/custom-reports.md b/docs/extensions/custom-reports.md
deleted file mode 100644
index 6863c09819bc0daadc3a33b2d746606cf5e36710..0000000000000000000000000000000000000000
--- a/docs/extensions/custom-reports.md
+++ /dev/null
@@ -1 +0,0 @@
-Coming soon!
diff --git a/docs/extensions/custom-searches.md b/docs/extensions/custom-searches.md
deleted file mode 100644
index 6863c09819bc0daadc3a33b2d746606cf5e36710..0000000000000000000000000000000000000000
--- a/docs/extensions/custom-searches.md
+++ /dev/null
@@ -1 +0,0 @@
-Coming soon!
diff --git a/docs/extensions/customize-screens.md b/docs/extensions/customize-screens.md
deleted file mode 100644
index 6863c09819bc0daadc3a33b2d746606cf5e36710..0000000000000000000000000000000000000000
--- a/docs/extensions/customize-screens.md
+++ /dev/null
@@ -1 +0,0 @@
-Coming soon!
diff --git a/docs/extensions/payment-processor.md b/docs/extensions/payment-processor.md
deleted file mode 100644
index 6863c09819bc0daadc3a33b2d746606cf5e36710..0000000000000000000000000000000000000000
--- a/docs/extensions/payment-processor.md
+++ /dev/null
@@ -1 +0,0 @@
-Coming soon!
diff --git a/docs/extensions/permissions.md b/docs/extensions/permissions.md
deleted file mode 100644
index 6863c09819bc0daadc3a33b2d746606cf5e36710..0000000000000000000000000000000000000000
--- a/docs/extensions/permissions.md
+++ /dev/null
@@ -1 +0,0 @@
-Coming soon!
diff --git a/docs/extensions/storing-data.md b/docs/extensions/storing-data.md
deleted file mode 100644
index 6863c09819bc0daadc3a33b2d746606cf5e36710..0000000000000000000000000000000000000000
--- a/docs/extensions/storing-data.md
+++ /dev/null
@@ -1 +0,0 @@
-Coming soon!
diff --git a/docs/extensions/using-hooks.md b/docs/extensions/using-hooks.md
deleted file mode 100644
index 6863c09819bc0daadc3a33b2d746606cf5e36710..0000000000000000000000000000000000000000
--- a/docs/extensions/using-hooks.md
+++ /dev/null
@@ -1 +0,0 @@
-Coming soon!
diff --git a/mkdocs.yml b/mkdocs.yml
index e3dbb0955c948f925958b5410e43c849e14e5581..46047a418eeef2eab5077e92e8d85a0ec0537a39 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -11,52 +11,70 @@ markdown_extensions:
 pages:
 - Home: index.md
 - Basics:
-  - Developer Community: basics/community.md
-  - Prerequisite skills: basics/skills.md
-  - Requirements: requirements.md
-  - Planning your project: basics/planning.md
-  - Build: build.md
-  - Customize: customize.md
-  - Extend: extend.md
-  - Develop: develop.md
-  - Testing: testing.md
-  - Writing Documentation: documentation.md
-- Development Environment:
-  - Debugging: dev-tools/debugging.md
-- APIv3:
-  - API Intro: api/general.md
-  - API Usage: api/usage.md
-  - API Actions: api/actions.md
-  - API Parameters: api/params.md
+  - Developer Community: basics/community.md    # page-tree = DONE
+  - Useful Skills: basics/skills.md       # page-tree = DONE
+  - Planning Your Project: basics/planning.md   # page-tree = DONE
+- Documentation:
+  - Writing Documentation: documentation.md     # page-tree = NEED_PAGE_MOVE to /documentation/writing.md
+  - Markdown: markdownrules.md                  # page-tree = NEED_PAGE_MOVE to /documentation/markdown.md
+  - Style Guide: best-practices/documentation-style-guide.md  # page-tree = NEED_PAGE_MOVE to /documentation/style-guide.md
+- Setup:
+  # buildkit: /setup/buildkit.md                # page-tree = NEED_NEW_PAGE  # summary: See Github README for download instructions. Alternatively, follow links and install particular tools as-needed.
+  - Debugging: dev-tools/debugging.md           # page-tree = NEED_PAGE_MOVE to /setup/debugging.md
+- Core Development:
+  - When to edit core: core/hacking.md             # page-tree = NEED_PAGE_MOVE to /core/deciding.md
+  # How to Contribute: /core/contributing.md    # page-tree = NEED_NEW_PAGE # summary: General summary of process (git+issues+PRs+Mattermost)
+  - Codebase & Architecture: core/architecture.md # page-tree = DONE
+  # Reporting Bugs & Issues: /core/reporting.md # page-tree = NEED_NEW_PAGE
+  # Submitting a Patch: /core/patches.md        # page-tree = NEED_NEW_PAGE
+  # Review Process: /core/review.md             # page-tree = NEED_NEW_PAGE  # summary: Detailed guidance on how to review PRs
+  # Verifying a Bug Fix: /core/verifying.md     # page-tree = NEED_NEW_PAGE
+- API:
+  - API Intro: api/general.md                   # page-tree = DONE
+  - API Usage: api/usage.md                     # page-tree = DONE
+  - API Actions: api/actions.md                 # page-tree = DONE
+  - API Parameters: api/params.md               # page-tree = DONE
+  # API Permissions: api/permissions.md         # page-tree = NEED_NEW_PAGE
   - API Chaining: api/chaining.md
+  # API Changes: api/changes.md                 # page-tree = NEED_NEW_PAGE
+- Extensions Development:
+  - Basics: extensions/basics.md                   # page-tree = DONE
+  - civix: extensions/civix.md                     # page-tree = DONE
+  # Creating Pages: extensions/create-page.md      # page-tree = NEED_NEW_PAGE
+  # Storing Configuration: extensions/config.md    # page-tree = NEED_NEW_PAGE
+  # Storing Data: extensions/storing-data.md       # page-tree = NEED_NEW_PAGE
+  # Setting Permissions: extensions/permissions.md # page-tree = NEED_NEW_PAGE
+  # Adding API Functions: extensions/api.md        # page-tree = NEED_NEW_PAGE
+  # Reports: extensions/reports.md                 # page-tree = NEED_NEW_PAGE
+  # Searches: extensions/searches.md               # page-tree = NEED_NEW_PAGE
+  # Payment Processors: extensions/payment-processors.md # page-tree = NEED_NEW_PAGE
+  - Publishing Extensions: extensions/publish.md   # page-tree = DONE
+  - Extension Lifecycle: extend-stages.md          # page-tree = NEED_PAGE_MOVE to /extensions/lifecycle.md
+  - Troubleshooting: extensions/troubleshooting.md # page-tree = DONE
+  - Advanced patterns: extensions/advanced.md
+# Framework Reference:
+  # Bootstrap: /framework/bootstrap.md          # page-tree = NEED_NEW_PAGE
+  # Cache: /framework/cache.md                  # page-tree = NEED_NEW_PAGE
+  # Components: /framework/components.md        # page-tree = NEED_NEW_PAGE
+  # Database: /framework/database.md            # page-tree = NEED_NEW_PAGE
+  # Resources: /framework/resources.md          # page-tree = NEED_NEW_PAGE
+  # Upgrade: /framework/upgrade.md              # page-tree = NEED_NEW_PAGE
+# Code Standards:
+  # PHP: /standards/php.md                      # page-tree = NEED_NEW_PAGE
+  # Javascript: /standards/js.md                # page-tree = NEED_NEW_PAGE
+  # API: /standards/api.md                      # page-tree = NEED_NEW_PAGE
+  # Git: /standards/git.md                      # page-tree = NEED_NEW_PAGE
+# Testing:
+  # Testing: /testing/testing.md                # page-tree = NEED_NEW_PAGE
+# Other Reference:
+  # CiviMail: /reference/civimail.md            # page-tree = NEED_NEW_PAGE
+  # CiviReport: /reference/civireport.md        # page-tree = NEED_NEW_PAGE
+  # Payment Processing: /reference/payment.md   # page-tree = NEED_NEW_PAGE
 - Hooks:
-   - How to Use Hooks: hook.md
-   - All Available Hooks: hooks-db.md
-- Writing Extensions:
-  - Basics: extensions/basics.md
-  - Using civix: extensions/civix.md
-  - Anatomy of Files: extensions/files.md
-  - Advanced Patterns: extensions/advanced.md
-  - Troubleshooting: extensions/troubleshooting.md
-  # - Using hooks: extensions/using-hooks.md
-  # - Customizing Screens: extensions/customize-screens.md
-  # - Creating Pages: Forms/extensions/create-page.md
-  # - Storing Configuration: extensions/config.md
-  # - Storing Data: extensions/storing-data.md
-  # - Setting Permissions: extensions/permissions.md
-  # - Custom API Functions: extensions/custom-api.md
-  # - Custom Reports: extensions/custom-reports.md
-  # - Custom Searches: extensions/custom-searches.md
-  # - Payment Processors: extensions/payment-processor.md
-  - Publish: extensions/publish.md
-- Best Practices:
-  - Documentation Style Guide: best-practices/documentation-style-guide.md
-- Core code:
-  - Hacking the core: core/hacking.md
-  - Architecture: core/architecture.md
-- Miscellaneous:
-   - Extension Lifecycle: extend-stages.md
-   - Markdown: markdownrules.md
-   # - hookref-old: hookref-old.md
-- Deprecated:
-   - Building CiviCRM from source: develop-deprecated.md
+  - Using hooks: hook.md                        # page-tree = NEED_PAGE_MOVE to /hooks/usage.md
+- MISC TO REORGANIZE OR DELETE:
+  - Extensions files: extensions/files.md
+  - Some of the hooks: hooks-db.md
+  - Requirements: requirements.md
+  - Develop: develop.md
+  - hookref-old: hookref-old.md
diff --git a/redirects/internal.txt b/redirects/internal.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/redirects/internal.txt
@@ -0,0 +1 @@
+