diff --git a/test/website-docs.spec.js b/test/website-docs.spec.js
index ba42ee9c69d7d8a8e3af92626054419f83a6ac05..aff8df32a9556f02e5d620e5fee19daa19df3d5e 100644
--- a/test/website-docs.spec.js
+++ b/test/website-docs.spec.js
@@ -2,10 +2,7 @@ const fs = require('fs');
 const options = require('../lib/config/definitions').getOptions();
 
 describe('docs', () => {
-  const doc = fs.readFileSync(
-    'website/docs/_posts/2017-10-05-configuration-options.md',
-    'utf8'
-  );
+  const doc = fs.readFileSync('website/docs/configuration-options.md', 'utf8');
   const headers = doc
     .match(/\n## (.*?)\n/g)
     .map(match => match.substring(4, match.length - 1));
diff --git a/website/docs/assets/images/all-dead.jpg b/website/docs/assets/images/all-dead.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..deb984aa922f9cd3eccc91c273c99185a098187a
Binary files /dev/null and b/website/docs/assets/images/all-dead.jpg differ
diff --git a/website/docs/assets/images/broken-lockfile.jpg b/website/docs/assets/images/broken-lockfile.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e1cb3c91ed4259b26c9acb1a9c4420839dc2bf5c
Binary files /dev/null and b/website/docs/assets/images/broken-lockfile.jpg differ
diff --git a/website/docs/assets/images/github-app-choose-repos.png b/website/docs/assets/images/github-app-choose-repos.png
new file mode 100644
index 0000000000000000000000000000000000000000..bc0e919cc5e95d3ef97f6b55dcea038f9cf2a610
Binary files /dev/null and b/website/docs/assets/images/github-app-choose-repos.png differ
diff --git a/website/docs/assets/images/github-app-install.png b/website/docs/assets/images/github-app-install.png
new file mode 100644
index 0000000000000000000000000000000000000000..72b374b9f92a0bfcea89bc0cb40c1c16fb1fdd66
Binary files /dev/null and b/website/docs/assets/images/github-app-install.png differ
diff --git a/website/docs/assets/images/logo.png b/website/docs/assets/images/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..39ad0d263d6e1c089da992572cd9a4cbefbe7f15
Binary files /dev/null and b/website/docs/assets/images/logo.png differ
diff --git a/website/docs/assets/images/onboarding.png b/website/docs/assets/images/onboarding.png
new file mode 100644
index 0000000000000000000000000000000000000000..b32eb41af9576eb7dbc80e6ba457fefefe90d129
Binary files /dev/null and b/website/docs/assets/images/onboarding.png differ
diff --git a/website/docs/_posts/2017-12-15-bazel.md b/website/docs/bazel.md
similarity index 95%
rename from website/docs/_posts/2017-12-15-bazel.md
rename to website/docs/bazel.md
index dff86f95ba99ea9880370be6b64d7c3cc0f2a191..c023c33a809d45eebcd1162ca7221541ff2f50e8 100644
--- a/website/docs/_posts/2017-12-15-bazel.md
+++ b/website/docs/bazel.md
@@ -1,13 +1,10 @@
 ---
-date: 2017-11-10
 title: Bazel
-categories:
-  - language-support
 description: Bazel dependencies support in Renovate
-type: Document
-order: 4
 ---
 
+# Bazel
+
 Renovate supports upgrading dependencies in bazel `WORKSPACE` files.
 
 ## How It Works
diff --git a/website/docs/_posts/2017-08-18-config-presets.md b/website/docs/config-presets.md
similarity index 98%
rename from website/docs/_posts/2017-08-18-config-presets.md
rename to website/docs/config-presets.md
index d0c2fbe3e8fc94ddf1b779e267737a857c531aaa..3a1f609e2738b77293a9daffc3a8e37a384f7344 100644
--- a/website/docs/_posts/2017-08-18-config-presets.md
+++ b/website/docs/config-presets.md
@@ -1,13 +1,10 @@
 ---
-date: 2017-08-18
 title: Shareable Config Presets
-categories:
-  - configuration-reference
 description: Renovate's support for eslint-like shareable configs
-type: Document
-order: 10
 ---
 
+# Shareable Config Presets
+
 Renovate supports an `eslint`-like approach to shareable configs, which we usually refer to as "presets". These are added/configured via the `"extends"` field in any configuration object.
 
 ## Goals of Preset Configs
diff --git a/website/docs/_posts/2017-10-05-configuration-options.md b/website/docs/configuration-options.md
similarity index 99%
rename from website/docs/_posts/2017-10-05-configuration-options.md
rename to website/docs/configuration-options.md
index 621cd806f61f0f724395fb8cf40c731ae90a645d..f9b3807432bf3e647becad9b5110b701334cc51c 100644
--- a/website/docs/_posts/2017-10-05-configuration-options.md
+++ b/website/docs/configuration-options.md
@@ -1,18 +1,15 @@
 ---
-date: 2017-10-05
 title: Configuration Options
-categories:
-  - configuration-reference
 description: Configuration Options usable in renovate.json or package.json
-type: Document
-order: 0
 ---
 
+# Configuration Options
+
 This document describes all the configuration options you may configure in a `renovate.json` file or within a `"renovate"` section of your `package.json`. Any config you define applies to the whole repository (e.g. if you have a monorepo).
 
-Also, be sure to check out Renovate's [shareable config presets](/docs/configuration-reference/config-presets) to save yourself from reinventing any wheels.
+Also, be sure to check out Renovate's [shareable config presets](/docs/config-presets/) to save yourself from reinventing any wheels.
 
-If you have any questions about the below config options, or would like to get help/feedback about a config, please post it as an issue in [renovateapp/config-help](https://github.com/renovateapp/config-help) where it will be promptly answered.
+If you have any questions about the below config options, or would like to get help/feedback about a config, please post it as an issue in [renovateapp/config-help](https://github.com/renovatebot/config-help) where it will be promptly answered.
 
 ## allowedVersions
 
diff --git a/website/docs/_posts/2018-04-09-configuration-templates.md b/website/docs/configuration-templates.md
similarity index 98%
rename from website/docs/_posts/2018-04-09-configuration-templates.md
rename to website/docs/configuration-templates.md
index fb5a18570bf78e2ce099b2b8d556c074f9905840..b08ef8e750788cc2da8098949af3582b8ecf574c 100644
--- a/website/docs/_posts/2018-04-09-configuration-templates.md
+++ b/website/docs/configuration-templates.md
@@ -1,13 +1,10 @@
 ---
-date: 2018-04-09
 title: Config Template Editing
-categories:
-  - deep-dives
 description: How to edit Renovate's config templates
-type: Document
-order: 30
 ---
 
+# Config Template Editing
+
 Tnis document describes how you can edit the branch names, commit messages, or PR titles and content.
 
 ## Branch Name
diff --git a/website/docs/_posts/2017-07-13-configure-renovate.md b/website/docs/configure-renovate.md
similarity index 86%
rename from website/docs/_posts/2017-07-13-configure-renovate.md
rename to website/docs/configure-renovate.md
index dd95e416ba274e5c96ac4fd82a0cd379dd1c08ff..e5068152e66ef4de025ae4ed0931da3cb67ad55c 100644
--- a/website/docs/_posts/2017-07-13-configure-renovate.md
+++ b/website/docs/configure-renovate.md
@@ -1,20 +1,17 @@
 ---
-date: 2017-07-12
 title: Configure Renovate (Onboarding PR)
-categories:
-  - getting-started
 description: How to onboard Renovate via a Pull Request
-type: Document
-order: 2
 ---
 
+# Configure Renovate (Onboarding PR)
+
 Once you have enabled Renovate on a repository, you will receive a "Configure Renovate" Pull Request looking something like this:
 
-![Onboarding](/images/screenshots/onboarding.png)
+![Onboarding](assets/images/onboarding.png)
 
 ## No Risk Onboarding
 
-Conveniently, Renovate will not make any changes to your repository or raise any further Pull Requests until after you _close or merge_ this initial Pull Request. So if there is anything about the Pull Request that you don't like or understand, take your time to read [documentation](/docs) or ask questions in one of our support forums and merge the PR only once you're satisfied with the result. You can edit your Renovate configuration **within this `renovate/configure` branch** and Renovate will keep updating the description in the PR to match, so you can keep doing that until you're satisfied with the results.
+Conveniently, Renovate will not make any changes to your repository or raise any further Pull Requests until after you _close or merge_ this initial Pull Request. So if there is anything about the Pull Request that you don't like or understand, take your time to read [documentation](/docs/) or ask questions in one of our support forums and merge the PR only once you're satisfied with the result. You can edit your Renovate configuration **within this `renovate/configure` branch** and Renovate will keep updating the description in the PR to match, so you can keep doing that until you're satisfied with the results.
 
 ## Check for Warnings
 
diff --git a/website/docs/_posts/2017-07-24-data-security.md b/website/docs/data-security.md
similarity index 99%
rename from website/docs/_posts/2017-07-24-data-security.md
rename to website/docs/data-security.md
index a793db46fdc4bce1b8c39719847ac0601c3e94fd..3835aa94d25fb1f8e8fb96c0c2e7517e38bc5529 100644
--- a/website/docs/_posts/2017-07-24-data-security.md
+++ b/website/docs/data-security.md
@@ -1,13 +1,10 @@
 ---
-date: 2017-07-25
 title: Data Security and Handling
-categories:
-  - all-other
 description: Important information about how we handle and secure you data
-type: Document
-order: 1
 ---
 
+# Data Security and Handling
+
 We consider it a great responsibility that you have trusted us with your GitHub repository/data, and we take it very seriously. Although installing an App may take just a few clicks, we think it's important that you know what happens to your repository data once you install the Renovate or Forking Renovate apps.
 
 The content in this document does not replace or override anything in our [Privacy Policy](/privacy). We provide it for your "peace of mind" and with the hope of receiving feedback that may enable us to improve security and data handling even further.
diff --git a/website/docs/_posts/2017-07-26-dependency-pinning.md b/website/docs/dependency-pinning.md
similarity index 98%
rename from website/docs/_posts/2017-07-26-dependency-pinning.md
rename to website/docs/dependency-pinning.md
index 0da86b267299b951a9b3f5ddeb5d40d29e9c0773..da10349908d03a0b4c355cde78c73e223f510bae 100644
--- a/website/docs/_posts/2017-07-26-dependency-pinning.md
+++ b/website/docs/dependency-pinning.md
@@ -1,13 +1,10 @@
 ---
-date: 2017-07-26
 title: Should you Pin your Javascript Dependencies?
-categories:
-  - deep-dives
 description: The pros and cons of dependency pinning for Javascript/npm
-type: Document
-order: 20
 ---
 
+# Should you Pin your Javascript Dependencies?
+
 Once you start using a tool/service like Renovate, probably the biggest decision you need to make is whether to "pin" your dependencies instead of using semver ranges. The answer is "It's your choice", however we can certainly make some generalisations/recommendations to help you. Jump to the bottom conclusions if you get impatient.
 
 ## What is Dependency Pinning?
@@ -100,7 +97,7 @@ Although it's good to isolate each dependency update for ease of troubleshooting
 
 Since both `yarn` and `npm@5` both support lock files, it's a common question to ask "Why should I pin dependencies if I'm already using a lock file?". It's a good question!
 
-![broken-lockfile](/images/broken-lockfile.jpg)
+![broken-lockfile](assets/images/broken-lockfile.jpg)
 
 Lock files are a great companion to semver ranges _or_ pinning dependencies, because these files lock (pin) deeper into your dependency tree than you see in `package.json`.
 
@@ -114,7 +111,7 @@ To reuse an earlier example, this means that you could have `foobar@^1.1.0` in y
 
 The lock file has only delayed the inevitable problem, and provides much less visibility than `package.json`, because it's not designed to be human readable and is quite dense.
 
-![all-dead](/images/all-dead.jpg)
+![all-dead](assets/images/all-dead.jpg)
 
 If the `package.json` contains a range, and a new in-range version is released that would break the build, then essentially your `package.json` is in a state of "broken", even if the lock file is still holding things together.
 
@@ -163,6 +160,6 @@ As noted earlier, when you pin dependencies then you will see an increase in the
 
 ## References
 
-This is a "living" document and we plan to update it whenever we think of something new or someone makes a valid point we've missed or misunderstood. [GitHub Location](https://github.com/renovateapp/renovate/blob/master/website/docs/_posts/2017-07-26-dependency-pinning.md)
+This is a "living" document and we plan to update it whenever we think of something new or someone makes a valid point we've missed or misunderstood. [GitHub Location](https://github.com/renovateapp/renovate/blob/master/website/docs/dependency-pinning.md)
 
 Updated 2018-01-19 after [excellent feedback on lockfiles](https://github.com/commitizen/cz-conventional-changelog-default-export/pull/4#issuecomment-358038966) by [@LinusU](https://github.com/LinusU)
diff --git a/website/docs/_posts/2017-11-10-docker.md b/website/docs/docker.md
similarity index 98%
rename from website/docs/_posts/2017-11-10-docker.md
rename to website/docs/docker.md
index 4f5eebf6db41b41d64c9b38a8704df1f6024c459..73b898b30795446c24d5f5cee636009e6b27969e 100644
--- a/website/docs/_posts/2017-11-10-docker.md
+++ b/website/docs/docker.md
@@ -1,13 +1,10 @@
 ---
-date: 2017-11-10
 title: Docker
-categories:
-  - language-support
 description: Docker Package Manager Support in Renovate
-type: Document
-order: 2
 ---
 
+# Docker
+
 Renovate supports upgrading dependencies in Docker's `Dockerfile` files.
 
 ## How It Works
diff --git a/website/docs/_posts/2018-01-20-faq.md b/website/docs/faq.md
similarity index 97%
rename from website/docs/_posts/2018-01-20-faq.md
rename to website/docs/faq.md
index f67ea614a48cf15a6a95349e91304b88fba79db1..99c4e18f36d353dc7b24dfad4f6dceb610e1bdcd 100644
--- a/website/docs/_posts/2018-01-20-faq.md
+++ b/website/docs/faq.md
@@ -1,13 +1,10 @@
 ---
-date: 2017-07-25
 title: Frequently Asked Questions (FAQ)
-categories:
-  - all-other
 description: Frequently Asked Questions for Renovate Configuration
-type: Document
-order: 2
 ---
 
+# Frequently Asked Questions (FAQ)
+
 ## What Is The Default Behaviour?
 
 Renovate will:
@@ -41,7 +38,7 @@ You may configure more than one in the above.
 
 ### Support private npm modules
 
-See the dedicated [Private npm module support](https://renovateapp.com/docs/deep-dives/private-modules) page.
+See the dedicated [Private npm module support](/docs/private-modules/) page.
 
 ### Control renovate's schedule
 
diff --git a/website/docs/_posts/2017-07-13-install-github-app.md b/website/docs/install-github-app.md
similarity index 81%
rename from website/docs/_posts/2017-07-13-install-github-app.md
rename to website/docs/install-github-app.md
index a11c40402a5c8299cc4d3d00858e93c2ff9e55a4..24adebb490036b100c243cc561bfae4275dbb335 100644
--- a/website/docs/_posts/2017-07-13-install-github-app.md
+++ b/website/docs/install-github-app.md
@@ -1,22 +1,19 @@
 ---
-date: 2017-07-12
 title: GitHub App Installation
-categories:
-  - getting-started
 description: How to install the Renovate GitHub App
-type: Document
-order: 1
 ---
 
+# GitHub App Installation
+
 Installing/Enabling the Renovate GitHub App is fairly simple, and no different to any other GitHub App.
 
 First, navigate to [https://github.com/apps/renovate](https://github.com/apps/renovate) and click the Install button:
 
-![Github App Install button](/images/screenshots/github-app-install.png)
+![Github App Install button](assets/images/github-app-install.png)
 
 The only choice you need to make is whether to run Renovate on:
 
-![Github App repositories](/images/screenshots/github-app-install-repositories.png)
+![Github App repositories](assets/images/github-app-choose-repos.png)
 
 Renovate will silently ignore any repositories that don't have a `package.json` file, however most people choose to select which repositories to include. Unfortunately GitHub doesn't yet offer the chance to "select all but exclude some" so instead you need to select all that you want. The form also requires you to start typing before it suggests to you repositories, which is a bit of a pain.
 
diff --git a/website/docs/_posts/2017-11-10-javascript.md b/website/docs/javascript.md
similarity index 71%
rename from website/docs/_posts/2017-11-10-javascript.md
rename to website/docs/javascript.md
index ce8e84fd6d0eb21a86b77236a289a705fef2ff4a..952ae5f0afe9fd72039fafe6372658e75fd2ef66 100644
--- a/website/docs/_posts/2017-11-10-javascript.md
+++ b/website/docs/javascript.md
@@ -1,11 +1,8 @@
 ---
-date: 2017-11-10
 title: JavaScript
-categories:
-  - language-support
 description: JavaScript (npm/yarn) Package Manager Support in Renovate
-type: Document
-order: 1
 ---
 
+# JavaScript
+
 Renovate supports upgrading JavaScript dependencies specified in `package.json` files.
diff --git a/website/docs/_posts/2017-12-05-node.md b/website/docs/node.md
similarity index 86%
rename from website/docs/_posts/2017-12-05-node.md
rename to website/docs/node.md
index 2cdfb0495a3f3502f68a832bb5ee1ea73d23bb99..fe99a3562b0ee7e1eb9a6a9979bb5919194a3418 100644
--- a/website/docs/_posts/2017-12-05-node.md
+++ b/website/docs/node.md
@@ -1,13 +1,10 @@
 ---
-date: 2017-11-10
 title: Node.js Versions
-categories:
-  - language-support
 description: Node versions support in Renovate
-type: Document
-order: 3
 ---
 
+# Node.js Versions
+
 Renovate can upgrade the [Node.js](https://nodejs.org/en/) runtime used by your project so that you're using the latest bug fixes, performance improvements, security mitigations, etc. that meet your project's unique needs.
 
 ## File Support
@@ -31,7 +28,7 @@ When Renovate processes your project's repository it will look for the files lis
 
 ## Configuring Support Policy
 
-Renovate supports a [`supportPolicy`](https://renovateapp.com/docs/configuration-reference/configuration-options#supportpolicy) option that can be passed the following values and associated versions (current as of December 2017):
+Renovate supports a [`supportPolicy`](/docs/configuration-options/#supportpolicy) option that can be passed the following values and associated versions (current as of December 2017):
 
 **Default:** `lts`
 
@@ -53,4 +50,4 @@ For example, to instruct Renovate to upgrade your project to the latest [Long-te
 
 It's best to define this support policy inside the `node` configuration object so that it is applied to all Node.js-related files.
 
-For additional language support see the [`supportPolicy` documentation](https://renovateapp.com/docs/configuration-reference/configuration-options#supportpolicy).
+For additional language support see the [`supportPolicy` documentation](/docs/configuration-options/#supportpolicy).
diff --git a/website/docs/_posts/2017-10-06-noise-reduction.md b/website/docs/noise-reduction.md
similarity index 95%
rename from website/docs/_posts/2017-10-06-noise-reduction.md
rename to website/docs/noise-reduction.md
index 56c3877769724025972c8c2775ad59099c2d375d..f790f2819a944afb14d39ff3df042975177ccb8f 100644
--- a/website/docs/_posts/2017-10-06-noise-reduction.md
+++ b/website/docs/noise-reduction.md
@@ -1,13 +1,10 @@
 ---
-date: 2017-10-06
 title: Noise Reduction
-categories:
-  - deep-dives
 description: How to reduce the "noise" associated with module updates
-type: Document
-order: 30
 ---
 
+# Noise Reduction
+
 Generally, the first reaction people have to automated dependency updates like Renovate is "oh great/feel the power of automation". The next reaction a few days or weeks later is often "this is getting overwhelming". Indeed, if you leave Renovate on its default settings of raising a PR every single time any dependency receives any update.. you will get a lot of PRs and related notifications. This document will give you some ideas of how to reduce the amount of "noise" in your repository and the Pros/Cons of each.
 
 Of course, please keep in mind that people's definitions of "noise" may differ. For some people, it's noisy only if they get a notification or email from GitHub. For others, too many commits in their `master` branch may be "noise". In other words, your mileage may vary. Please contact the author if you have any ideas on this topic!
@@ -16,7 +13,7 @@ Of course, please keep in mind that people's definitions of "noise" may differ.
 
 To reduce noise, you can reduce the number of updates in total, and a good way to do that is via intelligent grouping of related packages.
 
-As an example, our default `":app"` and `":library"` [presets](/docs/configuration-reference/config-presets) include the rule `"group:monorepos"`, which means that "sibling" packages from known monorepos will always be grouped into the same branch/PR by renovate. For example, all `@angular/*` packages that are updated at the same time will be raised in a "Renovate angular monorepo packages" PR. And every package in the React monorepo will be grouped together in a React monorepo PR too.
+As an example, our default `":app"` and `":library"` [presets](/docs/config-presets/) include the rule `"group:monorepos"`, which means that "sibling" packages from known monorepos will always be grouped into the same branch/PR by renovate. For example, all `@angular/*` packages that are updated at the same time will be raised in a "Renovate angular monorepo packages" PR. And every package in the React monorepo will be grouped together in a React monorepo PR too.
 
 You may wish to take this further, for example you might want to group together all packages related to `eslint`, even if they come from separate repositories/authors. In that case you might add config like this:
 
diff --git a/website/docs/_posts/2017-07-31-private-modules.md b/website/docs/private-modules.md
similarity index 99%
rename from website/docs/_posts/2017-07-31-private-modules.md
rename to website/docs/private-modules.md
index 6702da8062720a33914cbfafdfe95dbe5d93a7c0..13661deeab6386d422ede3d121a128d809695d3b 100644
--- a/website/docs/_posts/2017-07-31-private-modules.md
+++ b/website/docs/private-modules.md
@@ -1,13 +1,10 @@
 ---
-date: 2017-07-31
 title: Private npm module support
-categories:
-  - deep-dives
 description: How to support private npm  modules when using Renovate
-type: Document
-order: 30
 ---
 
+# Private npm module support
+
 ## When are npm private modules used?
 
 Private npm modules are used at two times during Renovate's process.
diff --git a/website/docs/_posts/2017-12-28-semantic-commits.md b/website/docs/semantic-commits.md
similarity index 96%
rename from website/docs/_posts/2017-12-28-semantic-commits.md
rename to website/docs/semantic-commits.md
index b3af2d55849677562d40a57a61232c731dbc7975..d0e23cff41dd5b0845c18aba961b0613df24a821 100644
--- a/website/docs/_posts/2017-12-28-semantic-commits.md
+++ b/website/docs/semantic-commits.md
@@ -1,13 +1,10 @@
 ---
-date: 2017-12-28
 title: Semantic Commit Messages
-categories:
-  - deep-dives
 description: Configuring Renovate to use Semantic Commits
-type: Document
-order: 30
 ---
 
+# Semantic Commit Messages
+
 Renovate attempts to autodetect if your repository uses "semantic" commit message prefixes, and adds them if so. To do so, it looks at the 10 most recent commit messages in the base branch and uses [conventional-commits-detector](https://github.com/conventional-changelog/conventional-commits-detector) to determine convention commit type.
 
 Currently, Renovate ignores commit conventions apart from "angular".
diff --git a/website/docs/_posts/2017-12-28-updating-rebasing.md b/website/docs/updating-rebasing.md
similarity index 96%
rename from website/docs/_posts/2017-12-28-updating-rebasing.md
rename to website/docs/updating-rebasing.md
index 03dc54d5ed71cc56f7ab04aacb1482082cee3680..838cb830d0a9706a6cc43d3fbe4a014a11c52ee5 100644
--- a/website/docs/_posts/2017-12-28-updating-rebasing.md
+++ b/website/docs/updating-rebasing.md
@@ -1,13 +1,10 @@
 ---
-date: 2017-12-28
 title: Updating and Rebasing Branches
-categories:
-  - deep-dives
 description: How Renovate Updates and Rebases Branches
-type: Document
-order: 30
 ---
 
+# Updating and Rebasing Branches
+
 There are many cases where Renovate will need to update a branch/PR after its initial creation, and this document will attempt to describe them.
 
 Note: Renovate doesn't technically do "rebasing" in the git sense. Instead, it manually recreates the same commit based off of the latest commit in base branch.