diff --git a/site/_redirects b/site/_redirects
index 35a9d89135..aeb4e39f1a 100644
--- a/site/_redirects
+++ b/site/_redirects
@@ -1,2 +1,25 @@
-/swapi-graphql https://graphql.github.io/swapi-graphql/ 200
-/swapi-graphql/* https://graphql.github.io/swapi-graphql/:splat 200
+# 200 = reverse proxy rules
+# https://www.netlify.com/docs/redirects/#rewrites-and-proxying
+
+/swapi-graphql https://graphql.github.io/swapi-graphql/ 200
+/swapi-graphql/* https://graphql.github.io/swapi-graphql/:splat 200
+
+# 301 = permanent redirects
+# https://www.netlify.com/docs/redirects/#http-status-codes
+
+/docs/api-reference-errors /graphql-js/error/ 301
+/docs/api-reference-execution /graphql-js/exection/ 301
+/docs/api-reference-express-graphql /graphql-js/express-graphql/ 301
+/docs/api-reference-graphql /graphql-js/graphql/ 301
+/docs/api-reference-language /graphql-js/language/ 301
+/docs/api-reference-type-system /graphql-js/type/ 301
+/docs/api-reference-type-utilities /graphql-js/utilities/ 301
+/docs/api-reference-type-validation /graphql-js/validation/ 301
+/docs/getting-started /learn/ 301
+/docs/intro /learn/ 301
+/docs/introspection /learn/introspection/ 301
+/docs/queries /learn/queries/ 301
+/docs/typesystem /learn/schema/ 301
+/docs/validation /learn/validation/ 301
+/docs/videos /community/#videos 301
+/help /community/ 301
diff --git a/site/docs/api-reference-errors/index.html.js b/site/docs/api-reference-errors/index.html.js
deleted file mode 100644
index c988dde342..0000000000
--- a/site/docs/api-reference-errors/index.html.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var React = require('react')
-var Redirect = require('../../_core/Redirect')
-export default () =>
diff --git a/site/docs/api-reference-execution/index.html.js b/site/docs/api-reference-execution/index.html.js
deleted file mode 100644
index abb7be8ace..0000000000
--- a/site/docs/api-reference-execution/index.html.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var React = require('react')
-var Redirect = require('../../_core/Redirect')
-export default () =>
diff --git a/site/docs/api-reference-express-graphql/index.html.js b/site/docs/api-reference-express-graphql/index.html.js
deleted file mode 100644
index bd10b1b77d..0000000000
--- a/site/docs/api-reference-express-graphql/index.html.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var React = require('react')
-var Redirect = require('../../_core/Redirect')
-export default () =>
diff --git a/site/docs/api-reference-graphql/index.html.js b/site/docs/api-reference-graphql/index.html.js
deleted file mode 100644
index 64b26f362d..0000000000
--- a/site/docs/api-reference-graphql/index.html.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var React = require('react')
-var Redirect = require('../../_core/Redirect')
-export default () =>
diff --git a/site/docs/api-reference-language/index.html.js b/site/docs/api-reference-language/index.html.js
deleted file mode 100644
index cce334627a..0000000000
--- a/site/docs/api-reference-language/index.html.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var React = require('react')
-var Redirect = require('../../_core/Redirect')
-export default () =>
diff --git a/site/docs/api-reference-type-system/index.html.js b/site/docs/api-reference-type-system/index.html.js
deleted file mode 100644
index 446ce7e7b7..0000000000
--- a/site/docs/api-reference-type-system/index.html.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var React = require('react')
-var Redirect = require('../../_core/Redirect')
-export default () =>
diff --git a/site/docs/api-reference-type-utilities/index.html.js b/site/docs/api-reference-type-utilities/index.html.js
deleted file mode 100644
index e03905bb53..0000000000
--- a/site/docs/api-reference-type-utilities/index.html.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var React = require('react')
-var Redirect = require('../../_core/Redirect')
-export default () =>
diff --git a/site/docs/api-reference-type-validation/index.html.js b/site/docs/api-reference-type-validation/index.html.js
deleted file mode 100644
index f73c0aeac4..0000000000
--- a/site/docs/api-reference-type-validation/index.html.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var React = require('react')
-var Redirect = require('../../_core/Redirect')
-export default () =>
diff --git a/site/docs/getting-started/index.html.js b/site/docs/getting-started/index.html.js
deleted file mode 100644
index d0259867c0..0000000000
--- a/site/docs/getting-started/index.html.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var React = require('react')
-var Redirect = require('../../_core/Redirect')
-export default () =>
diff --git a/site/docs/intro/index.html.js b/site/docs/intro/index.html.js
deleted file mode 100644
index d0259867c0..0000000000
--- a/site/docs/intro/index.html.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var React = require('react')
-var Redirect = require('../../_core/Redirect')
-export default () =>
diff --git a/site/docs/introspection/index.html.js b/site/docs/introspection/index.html.js
deleted file mode 100644
index b623a521c3..0000000000
--- a/site/docs/introspection/index.html.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var React = require('react')
-var Redirect = require('../../_core/Redirect')
-export default () =>
diff --git a/site/docs/queries/index.html.js b/site/docs/queries/index.html.js
deleted file mode 100644
index 660a925f15..0000000000
--- a/site/docs/queries/index.html.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var React = require('react')
-var Redirect = require('../../_core/Redirect')
-export default () =>
diff --git a/site/docs/typesystem/index.html.js b/site/docs/typesystem/index.html.js
deleted file mode 100644
index f03661c87d..0000000000
--- a/site/docs/typesystem/index.html.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var React = require('react')
-var Redirect = require('../../_core/Redirect')
-export default () =>
diff --git a/site/docs/validation/index.html.js b/site/docs/validation/index.html.js
deleted file mode 100644
index b4099c46d0..0000000000
--- a/site/docs/validation/index.html.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var React = require('react')
-var Redirect = require('../../_core/Redirect')
-export default () =>
diff --git a/site/docs/videos/index.html.js b/site/docs/videos/index.html.js
deleted file mode 100644
index 08473f1aef..0000000000
--- a/site/docs/videos/index.html.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var React = require('react')
-var Redirect = require('../../_core/Redirect')
-export default () =>
diff --git a/site/help/index.html.js b/site/help/index.html.js
deleted file mode 100644
index b6d4f02771..0000000000
--- a/site/help/index.html.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var React = require('react')
-var Redirect = require('../_core/Redirect')
-export default () =>