diff --git a/tyk-docs/content/advanced-configuration.md b/tyk-docs/content/advanced-configuration.md
deleted file mode 100644
index f44371ee91..0000000000
--- a/tyk-docs/content/advanced-configuration.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-date: 2017-03-24T15:49:11Z
-title: Advanced Configuration
-menu:
-    main:
-        parent: Tyk Gateway
-weight: 60
----
-
-This section covers less common settings, some of which require custom code. Areas include:
-
-* [Transform Traffic]({{< ref "api-management/traffic-transformation#" >}}). How to use request and response headers and bodies, URL rewriting, request method transforms, the validation of JSON, JQ transforms and how to use our API Endpoint Designer.
-* [Manage Multiple Environments]({{< ref "api-management/multiple-environments" >}}). How to configure Tyk Multi-Cloud and Self-Managed installations to work with multiple geographically or physically separate installations.
-* [WebSockets]({{< ref "api-management/non-http-protocols#websockets" >}}). How to use WebSockets connections with Tyk.
-* [Log Data]({{< ref "api-management/logs-metrics#system-logs" >}}). How to configure your logs, and 3rd party integration with Sentry, Logstash, Graylog ans Syslog.
-* [Error Templates]({{< ref "api-management/gateway-events#error-templates" >}}). How to create custom HTTP 500 error templates. 
diff --git a/tyk-docs/content/api-management/automations/operator.md b/tyk-docs/content/api-management/automations/operator.md
index e4d29212f4..e1b961a455 100644
--- a/tyk-docs/content/api-management/automations/operator.md
+++ b/tyk-docs/content/api-management/automations/operator.md
@@ -257,7 +257,7 @@ To address this challenge, Tyk Operator allows you to directly reference certifi
 
 We assume you have already installed Tyk. If you don’t have it, check out [Tyk
 Cloud]({{< ref "tyk-cloud#quick-start-tyk-cloud" >}}) or [Tyk Self
-Managed]({{< ref "getting-started/installation" >}}) page. [Tyk Helm
+Managed]({{< ref "tyk-self-managed" >}}) page. [Tyk Helm
 Chart]({{< ref "product-stack/tyk-charts/overview" >}}) is the preferred (and easiest) way to install Tyk on Kubernetes.
 
 In order for policy ID matching to work correctly, Dashboard must have `allow_explicit_policy_id` and
diff --git a/tyk-docs/content/api-management/dashboard-configuration.md b/tyk-docs/content/api-management/dashboard-configuration.md
index 97d0973788..f8623d072e 100644
--- a/tyk-docs/content/api-management/dashboard-configuration.md
+++ b/tyk-docs/content/api-management/dashboard-configuration.md
@@ -38,6 +38,8 @@ aliases:
   - /tyk-apis/tyk-dashboard-admin-api/import
   - /advanced-configuration/transform-traffic/endpoint-designer
   - /transform-traffic/endpoint-designer
+  - /tyk-dashboard/getting-started
+  - /basic-config-and-security/security/dashboard
 ## Traffic Analytics
   - /analyse
   - /tyk-stack/tyk-pump/tyk-dash-analytics
diff --git a/tyk-docs/content/api-management/gateway-config-introduction.md b/tyk-docs/content/api-management/gateway-config-introduction.md
index c9668817d5..4215c6c8e6 100644
--- a/tyk-docs/content/api-management/gateway-config-introduction.md
+++ b/tyk-docs/content/api-management/gateway-config-introduction.md
@@ -8,6 +8,7 @@ aliases:
   - /getting-started/key-concepts/what-is-an-api-definition
   - /concepts/gateway-api
   - /getting-started/key-concepts/gateway-api
+  - /basic-config-and-security/security/gateway
   - /getting-started/key-concepts
 ---
 
diff --git a/tyk-docs/content/api-management/mdcb.md b/tyk-docs/content/api-management/mdcb.md
index df0094a2f0..ab4c1659a3 100644
--- a/tyk-docs/content/api-management/mdcb.md
+++ b/tyk-docs/content/api-management/mdcb.md
@@ -555,7 +555,7 @@ curl -H "x-tyk-authorization: <secured-endpoint-secret>" https://my-mdcb-host:81
 
 Before a worker gateway can connect to MDCB, it is important to enable the organization that owns all the APIs to be distributed to be allowed to utilize Tyk MDCB. To do this, the organization record needs to be modified with two flags using the [Tyk Dashboard Admin API]({{< ref "dashboard-admin-api" >}}).
 
-To make things easier, we will first set a few [environment variables]({{< ref "tyk-environment-variables" >}}):
+To make things easier, we will first set a few [environment variables]({{< ref "tyk-oss-gateway/configuration" >}}):
 
 1. `export DASH_ADMIN_SECRET=<YOUR_ADMIN_SECRET>`
 
diff --git a/tyk-docs/content/api-management/policies.md b/tyk-docs/content/api-management/policies.md
index f25a872347..15c80b6b43 100644
--- a/tyk-docs/content/api-management/policies.md
+++ b/tyk-docs/content/api-management/policies.md
@@ -23,6 +23,7 @@ aliases:
   - /basic-config-and-security/control-limit-traffic/key-expiry
   - /basic-config-and-security/security/key-hashing
   - /basic-config-and-security/security/key-level-security
+  - /basic-config-and-security
   - /tyk-apis/tyk-gateway-api/token-session-object-details
 ---
 
diff --git a/tyk-docs/content/api-management/security-best-practices.md b/tyk-docs/content/api-management/security-best-practices.md
index fabf89fd2c..a044064a02 100644
--- a/tyk-docs/content/api-management/security-best-practices.md
+++ b/tyk-docs/content/api-management/security-best-practices.md
@@ -115,7 +115,7 @@ Tyk offers several mechanisms to help protect an API from Security Misconfigurat
 - [Error Templates]({{< ref "api-management/gateway-events#error-templates" >}}) can be used to return a response body based on status code and content type. This can help minimize the implementation details returned to the client.
 - [CORS functionality]({{< ref "api-management/gateway-config-tyk-classic#cross-origin-resource-sharing-cors" >}}) allows the Tyk Gateway to limit API access to particular browser-based consumers.
 - [Policy Path-Based Permissions]({{< ref "api-management/policies#secure-your-apis-by-method-and-path" >}}) and the [allowlist]({{< ref "api-management/traffic-transformation#api-definition" >}}) plugin can be used to prevent clients from accessing API endpoints using non-authorized HTTP methods. For example, blocking the use of the DELETE method on an endpoint which should only accept GET requests.
-- [Environment variables]({{< ref "tyk-environment-variables" >}}) can help standardize configuration across containerised deployments.
+- [Environment variables]({{< ref "tyk-oss-gateway/configuration" >}}) can help standardize configuration across containerised deployments.
 - For GraphQL APIs:
 - [Schema Introspection]({{< ref "api-management/graphql#introspection" >}}) ensures that the Tyk Dashboard automatically uses the schema of the upstream GraphQL API and can keep it synchronised if it changes.
 - [GraphQL Schema Validation]({{< ref "api-management/graphql#schema-validation" >}}) prevents invalid schemas from being saved. This catches errors such as duplicate type names and usage of unknown types.
diff --git a/tyk-docs/content/api-management/traffic-transformation.md b/tyk-docs/content/api-management/traffic-transformation.md
index ccb2df6493..28f06af618 100644
--- a/tyk-docs/content/api-management/traffic-transformation.md
+++ b/tyk-docs/content/api-management/traffic-transformation.md
@@ -68,6 +68,7 @@ aliases:
   - /advanced-configuration/transform-traffic/request-headers
   - /advanced-configuration/transform-traffic/request-body
   - /transform-traffic/endpoint-designer
+  - /advanced-configuration
 ---
 
 ## Overview
diff --git a/tyk-docs/content/api-management/troubleshooting-debugging.md b/tyk-docs/content/api-management/troubleshooting-debugging.md
index d5c5eeec69..6470cf60ee 100644
--- a/tyk-docs/content/api-management/troubleshooting-debugging.md
+++ b/tyk-docs/content/api-management/troubleshooting-debugging.md
@@ -57,18 +57,20 @@ aliases:
     - /troubleshooting/tyk-pump/pump-overloaded
     - /tyk-configuration-reference/hot-restart-tyk-gateway-process
     - /tyk-stack/tyk-pump/useful-debug-modes
-    - analytics-and-reporting/useful-debug-modes
-    - debugging-series
-    - troubleshooting/tyk-cloud
-    - troubleshooting/tyk-dashboard
+    - /analytics-and-reporting/useful-debug-modes
+    - /debugging-series
+    - /troubleshooting/tyk-cloud
+    - /troubleshooting/tyk-dashboard
     - /troubleshooting/tyk-dashboard/fatal-dashboard-port...
-    - troubleshooting/tyk-gateway
-    - troubleshooting/tyk-installation
-    - troubleshooting/tyk-multi-cloud
-    - troubleshooting/tyk-pump
-    - tyk-rest-api/hot-reload
-    - tyk-stack/tyk-pump/tyk-pump-configuration/graceful-shutdowm
-    - frequently-asked-questions/add-custom-certificates-to-docker-images
+    - /troubleshooting/tyk-gateway
+    - /troubleshooting/tyk-installation
+    - /troubleshooting/tyk-multi-cloud
+    - /troubleshooting/tyk-pump
+    - /tyk-rest-api/hot-reload
+    - /tyk-stack/tyk-pump/tyk-pump-configuration/graceful-shutdowm
+    - /frequently-asked-questions/add-custom-certificates-to-docker-images
+    - /troubleshooting/tyk-on-premise/tyk-on-premise
+    - /troubleshooting/tyk-installation/parsing-json-error-from-dashboard-bootstrap
 ---
 
 ## Gateway
diff --git a/tyk-docs/content/basic-config-and-security.md b/tyk-docs/content/basic-config-and-security.md
deleted file mode 100644
index 1a2cca5298..0000000000
--- a/tyk-docs/content/basic-config-and-security.md
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title: Basic Configuration and Security
-tags: ["Gateway", "Security"]
-description: "Methods for securing the Tyk Gateway"
-menu:
-    main:
-        parent: Tyk Gateway
-weight: 40
----
-
-
-This section covers methods for configuring and applying security methods to Tyk. the following subjects are covered:
-
-- [Security]({{< ref "api-management/security-best-practices#securing-apis-with-tyk" >}}). This section includes how to apply security to your Tyk components, your APIs, and security policies.
-- [Reduce latency]({{< ref "api-management/response-caching" >}}). This section describes methods for reducing latency in your Tyk installation.
-- [Log traffic]({{< ref "api-management/logs-metrics#api-traffic-logs" >}}). This section describes how to control the capture of traffic logs for the transactions (API requests and responses) handled by your Tyk Gateways.
-- [Gateway events]({{< ref "api-management/gateway-events#event-categories" >}}). This section describes the different types of asynchronous events that Tyk Gateway can generate and how you can register webhooks and other methods to handle them.
\ No newline at end of file
diff --git a/tyk-docs/content/basic-config-and-security/security/authentication-authorization/ext-oauth-middleware.md b/tyk-docs/content/basic-config-and-security/security/authentication-authorization/ext-oauth-middleware.md
deleted file mode 100644
index 71363491e1..0000000000
--- a/tyk-docs/content/basic-config-and-security/security/authentication-authorization/ext-oauth-middleware.md
+++ /dev/null
@@ -1,248 +0,0 @@
----
-date: 2017-03-23T16:06:42Z
-title: External OAuth Middleware
-tags: ["OAuth 2.0", "Security", "External Middleware", "Introspection"]
-description: "How to use external middleware with OAuth and Tyk"
-menu:
-  main:
-    parent: "OAuth 2.0"
-weight: 7
----
-
-{{< note success >}}
-**Note**  
-
-We've deprecated Tyk's dedicated External OAuth middleware in Tyk 5.7.0 to simplify configurations and avoid redundancy. For third-party OAuth integration, please switch to Tyk’s [JSON Web Tokens (JWT)]({{< ref "basic-config-and-security/security/authentication-authorization/json-web-tokens" >}}), which offers the same functionality with a more streamlined setup and reduced risk of misconfiguration.
-{{< /note >}}
-
-
-## Introduction
-
-Tyk offers two types of OAuth authentication flow; Tyk itself as the identity provider (IdP) and Tyk connecting to an external 3rd party IdP. ‘External OAuth’ is what we call this second mechanism. To call an API that is protected by OAuth, you need to have an access token from the third party IDP (it could be an opaque token or a JWT). 
-
-For subsequent calls the access token is provided alongside the API call and needs to be validated. With JWT, Tyk can confirm the validity of the JWT with the secret provided in your config. The secret signs the JWT when created and confirms that none of its contents has changed. 
-
-For this reason, information like the expiry date which are often set within the JWT cannot be changed after the JWT has been initially created and signed. This means you are not able to revoke a token before the expiry set in the JWT with the standard JWT flow. With OAuth you can use [OAuth introspection](https://www.rfc-editor.org/rfc/rfc7662) to overcome this. With introspection, you can validate the access token via an introspection endpoint that validates the token. 
-
-Let’s see how external OAuth middleware is configured.
-
-### OAS contract
-
-```yaml
-externalOAuthServer:
-  enabled: true,
-  providers: # only one item in the array for now (we're going to support just one IDP config in the first iteration)
-  - jwt: #validate JWTs generated by 3rd party Oauth servers (like Okta)
-      enabled: true
-      signingMethod: HMAC/RSA/ECDSA # to verify signing method used in jwt
-      source: key # secret to verify signature
-      issuedAtValidationSkew: 0
-      notBeforeValidationSkew: 0
-      expiresAtValidationSkew: 0
-      identityBaseField: # identity claimName
-    introspection: # array for introspection details
-      enabled: true/false
-      clientID: # for introspection request
-      clientSecret: # for introspection request, if empty will use oAuth.secret
-      url: # token introspection endpoint
-      cache: # Tyk will cache the introspection response when `cache.enabled` is set to `true`
-        enabled: true/false,
-        timeout: 0 # The duration (in seconds) for which Tyk will retain the introspection outcome in its cache. If the value is "0", it indicates that the introspection outcome will be stored in the cache until the token's expiration.
-      identityBaseField: # identity claimName
-```
-
-### Tyk Classic API definition contract
-
-```yaml
-"external_oauth": {
-  "enabled": true,
-  "providers": [
-    {
-      "jwt": {
-        "enabled": false,
-        "signing_method": rsa/ecdsa/hmac,
-        "source": # jwk url/ base64 encoded static secret / base64 encoded jwk url
-        "identity_base_field": # identity claim name
-        "expires_at_validation_skew": # validation skew config for exp
-        "not_before_validation_skew": # validation skew config for nbf
-        "issued_at_validation_skew" : # validation skew config for iat
-      },
-      "introspection": {
-        "enabled": true,
-        "url": # introspection endpoint url
-        "client_id": # client id used for introspection
-        "client_secret": # client secret to be filled here (plain text for now, TODO: decide on a more secure mechanism)
-        "identity_base_field": # identity claim name
-        "cache": {
-          "enabled": true,
-          "timeout": # timeout in seconds
-        }
-      }
-    }
-  ]
-}
-```
-- `externalOAuthServer` set `enabled` to `true` to enable the middleware.
-- `providers` is an array of multiple IDP configurations, with each IDP config being an element in the `providers` array. 
-- You can use this config to use JWT self validation using `jwt` or use introspection via `instropection` in the `providers` section .
-
-{{< note success >}}
-**Note**  
-
-For now, you’ll be limiting `providers` to have only one element, ie one IDP configured.
-{{< /note >}}
-
-### JWT
-
-There could be cases when you don’t need to introspect a JWT access token from a third party IDP, and instead you can just validate the JWT. This is similar to existing JWT middleware, adding it in External OAuth middleware for semantic reasons.
-
-- `enabled` - enables JWT validation.
-- `signingMethod` - specifies the signing method used to sign the JWT.
-- `source` - the secret source, it can be one of:
-  - a base64 encoded static secret
-  - a valid JWK url in plain text
-  - a valid JWK url in base64 encoded format
-- `issuedAtValidationSkew` , `notBeforeValidationSkew`, `expiresAtValidationSkew` can be used to [configure clock skew]({{< ref "basic-config-and-security/security/authentication-authorization/json-web-tokens" >}}) for json web token validation.
-- `identityBaseField` - the identity key name for claims. If empty it will default to `sub`.
-
-### Example: Tyk OAS API definition with JWT validation enabled
-
-```json
-"securitySchemes": {
-  "external_jwt": {
-    "enabled": true,
-    "header": {
-      "enabled": true,
-      "name": "Authorization"
-    },
-    "providers": [
-      {
-        "jwt": {
-          "enabled": true,
-          "signingMethod": "hmac",
-          "source": "dHlrLTEyMw==",
-          "identityBaseField": "sub"
-        }
-      }
-    ]
-  }
-}
-```
-
-### Example: Tyk Classic API definition with JWT validation enabled
-
-```json
-"external_oauth": {
-  "enabled": true,
-  "providers": [
-      {
-          "jwt": {
-              "enabled": true,
-              "signing_method": "hmac",
-              "source": "dHlrLTEyMw==",
-              "issued_at_validation_skew": 0,
-              "not_before_validation_skew": 0,
-              "expires_at_validation_skew": 0,
-              "identity_base_field": "sub"
-          },
-          "introspection": {
-              "enabled": false,
-              "url": "",
-              "client_id": "",
-              "client_secret": "",
-              "identity_base_field": "",
-              "cache": {
-                  "enabled": false,
-                  "timeout": 0
-              }
-          }
-      }
-  ]
-}
-```
-## Introspection
-
-For cases where you need to introspect the OAuth access token, Tyk uses the information in the `provider.introspection` section of the contract. This makes a network call to the configured introspection endpoint with the provided `clientID` and `clientSecret` to introspect the access token.
-
-- `enabled` - enables OAuth introspection
-- `clientID` - clientID used for OAuth introspection, available from IDP
-- `clientSecret` - secret used to authenticate introspection call, available from IDP
-- `url` - endpoint URL to make the introspection call
-- `identityBaseField` - the identity key name for claims. If empty it will default to `sub`.
-
-### Caching
-
-Introspection via a third party IdP is a network call. Sometimes it may be inefficient to call the introspection endpoint every time an API is called. Caching is the solution for this situation. Tyk caches the introspection response when `enabled` is set to `true` inside the `cache` configuration of `introspection`. Then it retrieves the value from the cache until the `timeout` value finishes. However, there is a trade-off here. When the timeout is long, it may result in accessing the upstream with a revoked access token. When it is short, the cache is not used as much resulting in more network calls. 
-
-The recommended way to handle this balance is to never set the `timeout` value beyond the expiration time of the token, which would have been returned in the `exp` parameter of the introspection response.
-
-See the example introspection cache configuration:
-
-```yaml
-"introspection": {
-  ...
-  "cache": {
-    "enabled": true,
-    "timeout": 60 // in seconds
-  }
-}
-```
-### Example: Tyk OAS API definition external OAuth introspection enabled
-
-```json
-"securitySchemes": {
-  "keycloak_oauth": {
-    "enabled": true,
-    "header": {
-      "enabled": true,
-      "name": "Authorization"
-    },
-    "providers": [
-      {
-        "introspection": {
-          "enabled": true,
-          "url": "http://localhost:8080/realms/tyk/protocol/openid-connect/token/introspect",
-          "clientId": "introspection-client",
-          "clientSecret": "DKyFN0WXu7IXWzR05QZOnnSnK8uAAZ3U",
-          "identityBaseField": "sub",
-          "cache": {
-            "enabled": true,
-            "timeout": 3
-          }
-        }
-      }
-    ]
-  }
-}
-```
-### Example: Tyk Classic API definition with external OAuth introspection enabled
-
-```json
-"external_oauth": {
-  "enabled": true,
-  "providers": [
-      {
-          "jwt": {
-              "enabled": false,
-              "signing_method": "",
-              "source": "",
-              "issued_at_validation_skew": 0,
-              "not_before_validation_skew": 0,
-              "expires_at_validation_skew": 0,
-              "identity_base_field": ""
-          },
-          "introspection": {
-              "enabled": true,
-              "url": "http://localhost:8080/realms/tyk/protocol/openid-connect/token/introspect",
-              "client_id": "introspection-client",
-              "client_secret": "DKyFN0WXu7IXWzR05QZOnnSnK8uAAZ3U",
-              "identity_base_field": "sub",
-              "cache": {
-                  "enabled": true,
-                  "timeout": 3
-              }
-          }
-      }
-  ]
-}
-```
diff --git a/tyk-docs/content/basic-config-and-security/security/dashboard.md b/tyk-docs/content/basic-config-and-security/security/dashboard.md
deleted file mode 100755
index 7f57aa4ee8..0000000000
--- a/tyk-docs/content/basic-config-and-security/security/dashboard.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-date: 2017-03-23T14:39:30Z
-title: Dashboard
-tags: ["Dashboard", "Security"]
-description: "How to secure the Tyk Dashboard"
-menu:
-  main:
-    parent: "Security"
-weight: 3
----
-
-The Tyk Dashboard is a key system in Tyk that has multiple security options and concepts. In particular, this section covers how Tyk Dashboard's security model is organized, its key components and how you can interact with them to apply security settings to your dashboard in various contexts.
\ No newline at end of file
diff --git a/tyk-docs/content/basic-config-and-security/security/gateway.md b/tyk-docs/content/basic-config-and-security/security/gateway.md
deleted file mode 100755
index 07b51a64bd..0000000000
--- a/tyk-docs/content/basic-config-and-security/security/gateway.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-date: 2017-03-23T15:16:58Z
-title: Gateway
-tags: ["Gateway", "Security"]
-description: "How to secure your Tyk Gateway" 
-menu:
-  main:
-    parent: "Security"
-weight: 4
----
-
-The Tyk Gateway is the main component that will be internet-facing in your installation since it manages the traffic through to your services. The Gateway has a command and control API that must be secured, using a [shared secret]({{< ref "tyk-self-managed#change-all-the-shared-secrets" >}}).
-
-Although the Gateway has an API, it is recommended to integrate with the Dashboard API as this is more secure and more granular.
-
-[What is the Tyk Gateway?]({{< ref "tyk-oss-gateway" >}})
\ No newline at end of file
diff --git a/tyk-docs/content/developer-support/release-notes/dashboard.md b/tyk-docs/content/developer-support/release-notes/dashboard.md
index 9d2a5b61db..5d9e5e8d77 100644
--- a/tyk-docs/content/developer-support/release-notes/dashboard.md
+++ b/tyk-docs/content/developer-support/release-notes/dashboard.md
@@ -495,7 +495,7 @@ An example is given below for illustrative purposes only. Tested Versions and Co
 
 #### Deprecations
 <!-- Required. Use the following statement if there are no deprecations, or explain if there are -->
-In 5.7.0, we have deprecated the dedicated [External OAuth]({{< ref "basic-config-and-security/security/authentication-authorization/ext-oauth-middleware" >}})  (Tyk Classic: `external_oauth`, Tyk OAS: `server.authentication.securitySchemes.externalOAuth`) and [OpenID Connect]({{< ref "api-management/client-authentication#integrate-with-openid-connect-deprecated" >}})  (Tyk Classic: `auth_configs.oidc`, Tyk OAS: `server.authentication.oidc`) authentication methods. We advise users to switch to [JWT Authentication]({{< ref "basic-config-and-security/security/authentication-authorization/json-web-tokens" >}}).
+In 5.7.0, we have deprecated the dedicated [External OAuth]({{< ref "api-management/client-authentication#integrate-with-external-authorization-server-deprecated" >}})  (Tyk Classic: `external_oauth`, Tyk OAS: `server.authentication.securitySchemes.externalOAuth`) and [OpenID Connect]({{< ref "api-management/client-authentication#integrate-with-openid-connect-deprecated" >}})  (Tyk Classic: `auth_configs.oidc`, Tyk OAS: `server.authentication.oidc`) authentication methods. We advise users to switch to [JWT Authentication]({{< ref "basic-config-and-security/security/authentication-authorization/json-web-tokens" >}}).
 
 Additionally, SQLite has reached its End of Life in this release, enabling a fully static, CGO-free Tyk Dashboard optimised for RHEL8. Sqlite was previously recommended only to be used in basic proofs of concept. Now, for such scenarios and for production, we recommend migrating to PostgreSQL or MongoDB for better scalability and support.
 <!-- Optional section!
@@ -4436,7 +4436,7 @@ Read more about this changes in our blogpost: https://tyk.io/blog/introducing-lo
 
 We have a brand new look to our Tyk Dashboard. About half a year ago, we made some changes to our visual branding to better express our love for creativity and great UX. Those changes started with our website and now we are also incorporating these visual changes into the UI of our products. We do this to keep our brand consistent across the whole Tyk experience and to enhance your experience using our products. 
 
-See our updated [Tutorials]({{< ref "getting-started/installation" >}}) section.
+See our updated [Tutorials]({{< ref "tyk-self-managed" >}}) section.
 
 ##### Universal Data Graph and GraphQL
 
diff --git a/tyk-docs/content/developer-support/release-notes/gateway.md b/tyk-docs/content/developer-support/release-notes/gateway.md
index a15ac56e03..9cd828221a 100644
--- a/tyk-docs/content/developer-support/release-notes/gateway.md
+++ b/tyk-docs/content/developer-support/release-notes/gateway.md
@@ -495,7 +495,7 @@ Given the potential time difference between your upgrade and the release of this
 
 #### Deprecations
 <!-- Required. Use the following statement if there are no deprecations, or explain if there are -->
-In 5.7.0, we have deprecated the dedicated [External OAuth]({{< ref "basic-config-and-security/security/authentication-authorization/ext-oauth-middleware" >}})  (Tyk Classic: `external_oauth`, Tyk OAS: `server.authentication.securitySchemes.externalOAuth`) and [OpenID Connect]({{< ref "api-management/client-authentication#integrate-with-openid-connect-deprecated" >}})  (Tyk Classic: `auth_configs.oidc`, Tyk OAS: `server.authentication.oidc`) authentication methods. We advise users to switch to [JWT Authentication]({{< ref "basic-config-and-security/security/authentication-authorization/json-web-tokens" >}}).
+In 5.7.0, we have deprecated the dedicated [External OAuth]({{< ref "api-management/client-authentication#integrate-with-external-authorization-server-deprecated" >}})  (Tyk Classic: `external_oauth`, Tyk OAS: `server.authentication.securitySchemes.externalOAuth`) and [OpenID Connect]({{< ref "api-management/client-authentication#integrate-with-openid-connect-deprecated" >}})  (Tyk Classic: `auth_configs.oidc`, Tyk OAS: `server.authentication.oidc`) authentication methods. We advise users to switch to [JWT Authentication]({{< ref "basic-config-and-security/security/authentication-authorization/json-web-tokens" >}}).
 
 
 #### Upgrade instructions {#upgrade-5.7.0}
diff --git a/tyk-docs/content/developer-support/upgrading.md b/tyk-docs/content/developer-support/upgrading.md
index eafa5a2db1..c0d4639918 100644
--- a/tyk-docs/content/developer-support/upgrading.md
+++ b/tyk-docs/content/developer-support/upgrading.md
@@ -166,7 +166,7 @@ A blue-green deployment involves two identical production environments, labeled
 2. **Traffic Routing:** Use a load balancer or DNS to route traffic to the green environment (current production) while the blue environment undergoes the upgrade.
 3. **Upgrade Process:**
    - A VM snapshot is a recommended method for replication, but other methods such as a new deployment process can also be used.
-   - If using a new deployment process, follow the [deployment instructions]({{< ref "getting-started/installation" >}}) appropriate for your platform.
+   - If using a new deployment process, follow the [deployment instructions]({{< ref "tyk-self-managed" >}}) appropriate for your platform.
 4. **Switch Environments:** Once the upgrade is complete, switch the traffic to the upgraded environment.
 
 
diff --git a/tyk-docs/content/frequently-asked-questions/cloud-classic-virtual-endpoints-not-working.md b/tyk-docs/content/frequently-asked-questions/cloud-classic-virtual-endpoints-not-working.md
deleted file mode 100755
index a21f4d732e..0000000000
--- a/tyk-docs/content/frequently-asked-questions/cloud-classic-virtual-endpoints-not-working.md
+++ /dev/null
@@ -1,13 +0,0 @@
----
-date: 2017-03-27T16:32:37+01:00
-title: Cloud Classic Virtual Endpoints not working
-menu:
-  main:
-    parent: "Frequently Asked Questions"
-weight: 0 
----
-
-We do not allow third party code to run in our shared infrastructure (Tyk Cloud Classic), however you can use Virtual Endpoints if you are a Multi-Cloud or Self-Managed user.
-
-
-
diff --git a/tyk-docs/content/frequently-asked-questions/enable-websockets-cloud.md b/tyk-docs/content/frequently-asked-questions/enable-websockets-cloud.md
deleted file mode 100755
index f3e44a6a25..0000000000
--- a/tyk-docs/content/frequently-asked-questions/enable-websockets-cloud.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-date: 2017-03-27T16:41:06+01:00
-title: How to enable websockets in Cloud
-menu:
-  main:
-    parent: "Frequently Asked Questions"
-weight: 0
----
-
-
-Websockets are enabled by default in our Cloud environment.
diff --git a/tyk-docs/content/getting-started/installation.md b/tyk-docs/content/getting-started/installation.md
deleted file mode 100644
index 08b4986608..0000000000
--- a/tyk-docs/content/getting-started/installation.md
+++ /dev/null
@@ -1,82 +0,0 @@
---- 
-date: 2017-03-08T18:15:30+13:00
-title: Guide to Tyk Installations
-tags: ["installing", "installation", "Tyk Installation Options", “Guide to Tyk installations”, "Tyk Open Source API Gateway", "Tyk Self-Managed Installation", "Tyk Cloud Installation"]
-description: "This guide helps you choose the Tyk installation that best suits your needs."
-aliases:
-    - /try-out-tyk/tutorials/tutorials/
----
-
-Welcome to the Tyk Installation Guide! Whether you're new to Tyk or an experienced user, this guide will help you find the installation model that best meets your needs. Let's get started!
-
----
-
-## Newbies
-
-If you are just getting started, for a **beginners journey** that covers **all use cases**, we recommend:
-
-<br/>
-
-{{< button_left href="https://tyk.io/sign-up" color="green" content="starting here" >}}
-
----
-
-## Advanced Beginners and up
-
-### Tyk Self-Managed
-
-Host and control Tyk in your own infrastructure with our
-self-managed solution. You can easily install our Full Lifecycle API Management solution in your own infrastructure.
-There is no calling home and there are no usage limits. You have full control.
-
-**Includes: Tyk API Gateway, Tyk Dashboard, Tyk Portal, Tyk UDG**
-
-<br/>
-
-{{< button_left href="tyk-self-managed#installation-options-for-tyk-self-managed" color="green" content="Install Self-Managed" >}}
-
-### Tyk Cloud
-
-Get up and running quickly with our fully managed *Tyk Cloud* SaaS.
-A fully managed service that makes it easy for API teams to create, secure, publish and maintain APIs at any scale, anywhere in the world.
-
-**Includes: Tyk API Gateway, Tyk Dashboard, Tyk Portal, Tyk UDG**
-
-<br/>
-
-{{< button_left href="tyk-cloud/getting-started" color="green" content="Deploy Tyk Cloud" >}}
-
-### Tyk Hybrid
-
-Combine the control of self-managed with the convenience of cloud using our hybrid deployment. The control plane is managed by Tyk (on *Tyk Cloud*) and the data plane is installed and managed by you.
-
-**Includes: Tyk API Gateway, Tyk Dashboard, Tyk Portal, Tyk UDG**
-
-<br/>
-
-{{< button_left href="tyk-cloud#deploy-hybrid-gateways" color="green" content="Install Tyk Hybrid" >}}
-
- 
-### Open source Tyk Gateway (OSS)
-
-Install and manage Tyk yourself with our open-source API Gateway.
-
-**Includes: Tyk OSS Gateway**
-
-<br/>
-
-{{< button_left href="tyk-self-managed#installation-options-for-tyk-self-managed" color="green" content="Install Tyk OSS" >}}
-
----
-
-## Not Sure Which to Choose?
-
-Visit our [Comparison Page]({{< ref "apim" >}}) to understand the different installation types and their benefits.
-
-Also, feel free to:
-
-<br/>
-
-{{< button_left href="https://tyk.io/sign-up" color="green" content="Contact us directly" >}}
-
----
diff --git a/tyk-docs/content/orphan.md b/tyk-docs/content/orphan.md
deleted file mode 100644
index 4a98cdf962..0000000000
--- a/tyk-docs/content/orphan.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-date: 2017-03-23T13:19:38Z
-title: Orphan pages
----
-
-Root for pages which do not have place in menu
-
diff --git a/tyk-docs/content/portal/customization.md b/tyk-docs/content/portal/customization.md
index 42f8fd2f3a..a2492d8c47 100644
--- a/tyk-docs/content/portal/customization.md
+++ b/tyk-docs/content/portal/customization.md
@@ -19,6 +19,7 @@ aliases:
   - /tyk-stack/tyk-developer-portal/enterprise-developer-portal/customise-enterprise-portal/full-customisation/email-customization
   - /product-stack/tyk-enterprise-developer-portal/getting-started/customize-sign-up-form
   - /product-stack/tyk-enterprise-developer-portal/getting-started/customize-products-and-plans
+  - /tyk-stack/tyk-developer-portal/enterprise-developer-portal/customise-enterprise-portal/customise-enterprise-portal
 ---
 
 {{< note success >}}
diff --git a/tyk-docs/content/portal/overview.md b/tyk-docs/content/portal/overview.md
index 62b713a6ec..a14a31fe87 100644
--- a/tyk-docs/content/portal/overview.md
+++ b/tyk-docs/content/portal/overview.md
@@ -20,6 +20,9 @@ aliases:
   - /product-stack/tyk-enterprise-developer-portal/getting-started/create-api-product-and-plan
   - /tyk-stack/tyk-developer-portal/enterprise-developer-portal/enterprise-portal-concepts
   - /tyk-stack/tyk-developer-portal/enterprise-developer-portal/getting-started-with-enterprise-portal/getting-started-with-enterprise-portal
+  - /tyk-developer-portal
+  - /concepts/tyk-components/developer-portal
+  - /getting-started/tyk-components/developer-portal
 ---
 
 {{< note success >}}
diff --git a/tyk-docs/content/product-stack/tyk-charts/tyk-control-plane-chart.md b/tyk-docs/content/product-stack/tyk-charts/tyk-control-plane-chart.md
index a2db4ffc71..26250617dc 100644
--- a/tyk-docs/content/product-stack/tyk-charts/tyk-control-plane-chart.md
+++ b/tyk-docs/content/product-stack/tyk-charts/tyk-control-plane-chart.md
@@ -97,7 +97,7 @@ helm show values tyk-helm/tyk-control-plane > values.yaml
 You can update any value in your local `values.yaml` file and use `-f [filename]` flag to override default values during installation. 
 Alternatively, you can use `--set` flag to set it in Tyk installation. See [Using Helm](https://helm.sh/docs/intro/using_helm/) for examples.
 
-To configure Tyk components, users can utilize both config files and [environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/). Notably, environment variables take precedence over config files. To maintain simplicity and consistency, the Tyk Helm Charts deploy components with an empty config file while setting container environment variables based on user-defined [values](https://helm.sh/docs/chart_best_practices/values/). This approach ensures seamless integration with Kubernetes practices, allowing for efficient management of configurations. For a comprehensive overview of available configurations, please refer to the [configuration documentation]({{< ref "tyk-environment-variables" >}}). 
+To configure Tyk components, users can utilize both config files and [environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/). Notably, environment variables take precedence over config files. To maintain simplicity and consistency, the Tyk Helm Charts deploy components with an empty config file while setting container environment variables based on user-defined [values](https://helm.sh/docs/chart_best_practices/values/). This approach ensures seamless integration with Kubernetes practices, allowing for efficient management of configurations. For a comprehensive overview of available configurations, please refer to the [configuration documentation]({{< ref "tyk-oss-gateway/configuration" >}}). 
 
 ### Bootstrapping
 
diff --git a/tyk-docs/content/product-stack/tyk-charts/tyk-data-plane-chart.md b/tyk-docs/content/product-stack/tyk-charts/tyk-data-plane-chart.md
index b6fa5facb1..9cccf3bbef 100644
--- a/tyk-docs/content/product-stack/tyk-charts/tyk-data-plane-chart.md
+++ b/tyk-docs/content/product-stack/tyk-charts/tyk-data-plane-chart.md
@@ -146,7 +146,7 @@ helm show values tyk-helm/tyk-data-plane > values.yaml
 You can update any value in your local `values.yaml` file and use `-f [filename]` flag to override default values during installation. 
 Alternatively, you can use `--set` flag to set it in Tyk installation.
 
-To configure Tyk components, users can utilize both config files and [environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/). Notably, environment variables take precedence over config files. To maintain simplicity and consistency, the Tyk Helm Charts deploy components with an empty config file while setting container environment variables based on user-defined [values](https://helm.sh/docs/chart_best_practices/values/). This approach ensures seamless integration with Kubernetes practices, allowing for efficient management of configurations. For a comprehensive overview of available configurations, please refer to the [configuration documentation]({{< ref "tyk-environment-variables" >}}). 
+To configure Tyk components, users can utilize both config files and [environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/). Notably, environment variables take precedence over config files. To maintain simplicity and consistency, the Tyk Helm Charts deploy components with an empty config file while setting container environment variables based on user-defined [values](https://helm.sh/docs/chart_best_practices/values/). This approach ensures seamless integration with Kubernetes practices, allowing for efficient management of configurations. For a comprehensive overview of available configurations, please refer to the [configuration documentation]({{< ref "tyk-oss-gateway/configuration" >}}). 
 
 
 ### Setting Environment Variables
diff --git a/tyk-docs/content/product-stack/tyk-charts/tyk-oss-chart.md b/tyk-docs/content/product-stack/tyk-charts/tyk-oss-chart.md
index 04fa87bb96..afca0a7232 100644
--- a/tyk-docs/content/product-stack/tyk-charts/tyk-oss-chart.md
+++ b/tyk-docs/content/product-stack/tyk-charts/tyk-oss-chart.md
@@ -78,7 +78,7 @@ helm show values tyk-helm/tyk-oss > values.yaml
 You can update any value in your local `values.yaml` file and use `-f [filename]` flag to override default values during installation. 
 Alternatively, you can use `--set` flag to set it in Tyk installation.
 
-To configure Tyk components, users can utilize both config files and [environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/). Notably, environment variables take precedence over config files. To maintain simplicity and consistency, the Tyk Helm Charts deploy components with an empty config file while setting container environment variables based on user-defined [values](https://helm.sh/docs/chart_best_practices/values/). This approach ensures seamless integration with Kubernetes practices, allowing for efficient management of configurations. For a comprehensive overview of available configurations, please refer to the [configuration documentation]({{< ref "tyk-environment-variables" >}}). 
+To configure Tyk components, users can utilize both config files and [environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/). Notably, environment variables take precedence over config files. To maintain simplicity and consistency, the Tyk Helm Charts deploy components with an empty config file while setting container environment variables based on user-defined [values](https://helm.sh/docs/chart_best_practices/values/). This approach ensures seamless integration with Kubernetes practices, allowing for efficient management of configurations. For a comprehensive overview of available configurations, please refer to the [configuration documentation]({{< ref "tyk-oss-gateway/configuration" >}}). 
 
 ### Setting Environment Variables
 Should any environment variables not be set by the Helm Chart, users can easily add them under the `extraEnvs` section within the charts for further customization. Values set under `extraEnvs` would take precedence over all configurations.
diff --git a/tyk-docs/content/product-stack/tyk-charts/tyk-stack-chart.md b/tyk-docs/content/product-stack/tyk-charts/tyk-stack-chart.md
index 79b90a6056..b5ce2966f3 100644
--- a/tyk-docs/content/product-stack/tyk-charts/tyk-stack-chart.md
+++ b/tyk-docs/content/product-stack/tyk-charts/tyk-stack-chart.md
@@ -96,7 +96,7 @@ helm show values tyk-helm/tyk-stack > values.yaml
 You can update any value in your local `values.yaml` file and use `-f [filename]` flag to override default values during installation. 
 Alternatively, you can use `--set` flag to set it in Tyk installation. See [Using Helm](https://helm.sh/docs/intro/using_helm/) for examples.
 
-To configure Tyk components, users can utilize both config files and [environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/). Notably, environment variables take precedence over config files. To maintain simplicity and consistency, the Tyk Helm Charts deploy components with an empty config file while setting container environment variables based on user-defined [values](https://helm.sh/docs/chart_best_practices/values/). This approach ensures seamless integration with Kubernetes practices, allowing for efficient management of configurations. For a comprehensive overview of available configurations, please refer to the [configuration documentation]({{< ref "tyk-environment-variables" >}}). 
+To configure Tyk components, users can utilize both config files and [environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/). Notably, environment variables take precedence over config files. To maintain simplicity and consistency, the Tyk Helm Charts deploy components with an empty config file while setting container environment variables based on user-defined [values](https://helm.sh/docs/chart_best_practices/values/). This approach ensures seamless integration with Kubernetes practices, allowing for efficient management of configurations. For a comprehensive overview of available configurations, please refer to the [configuration documentation]({{< ref "tyk-oss-gateway/configuration" >}}). 
 
 ### Bootstrapping
 
diff --git a/tyk-docs/content/troubleshooting/tyk-cloud-classic/301-moved-permanently.md b/tyk-docs/content/troubleshooting/tyk-cloud-classic/301-moved-permanently.md
deleted file mode 100644
index 7290beca49..0000000000
--- a/tyk-docs/content/troubleshooting/tyk-cloud-classic/301-moved-permanently.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-date: 2020-04-16T17:02:56+01:00
-title: “301 Moved permanently“ error in the Dashboard API
-menu:
-  main:
-    parent: "Tyk Cloud Classic"
-weight: 5 
----
-
-### Description
-
-Users receive the following error when sending API requests to the Tyk Cloud Dashboard API. 
-
-### Cause
-
-This issue might be faced when trying to access Tyk Cloud Dashboard API using `http` instead of `https`.
-
-### Solution
-
-Update the request URL to use `https`.
diff --git a/tyk-docs/content/troubleshooting/tyk-cloud-classic/413-request-entity-large.md b/tyk-docs/content/troubleshooting/tyk-cloud-classic/413-request-entity-large.md
deleted file mode 100755
index c29eabb3cd..0000000000
--- a/tyk-docs/content/troubleshooting/tyk-cloud-classic/413-request-entity-large.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-date: 2017-03-27T17:01:22+01:00
-title: 413 Request Entity Too Large
-menu:
-  main:
-    parent: "Tyk Cloud Classic"
-weight: 5 
----
-
-### Description
-
-A user may receive the aforementioned error message when trying to import data (such as Swagger/OpenAPI documents) into Tyk.
-
-### Cause
-
-Request entity size for Cloud users is limited to 1MB.
-
-### Solution
-
-If more space is required, the user will have to self-host Tyk.
\ No newline at end of file
diff --git a/tyk-docs/content/troubleshooting/tyk-cloud-classic/504-gateway-timeout-error.md b/tyk-docs/content/troubleshooting/tyk-cloud-classic/504-gateway-timeout-error.md
deleted file mode 100755
index 8c60b647e1..0000000000
--- a/tyk-docs/content/troubleshooting/tyk-cloud-classic/504-gateway-timeout-error.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-date: 2017-03-27T17:02:12+01:00
-title: “504 GATEWAY_TIMEOUT“ error
-menu:
-  main:
-    parent: "Tyk Cloud Classic"
-weight: 5 
----
-
-### Description
-
-Users receive a 504 error in the Gateway
-
-### Cause
-
-This can occur when Tyk's internal ELB has timed out waiting for a response from a user's server
-
-### Solution
-
-We would advise that you look into any performance issues that might have affected your server.
\ No newline at end of file
diff --git a/tyk-docs/content/troubleshooting/tyk-cloud-classic/organisation-quota-exceeded-error-dashboard-api.md b/tyk-docs/content/troubleshooting/tyk-cloud-classic/organisation-quota-exceeded-error-dashboard-api.md
deleted file mode 100755
index 130da59a43..0000000000
--- a/tyk-docs/content/troubleshooting/tyk-cloud-classic/organisation-quota-exceeded-error-dashboard-api.md
+++ /dev/null
@@ -1,22 +0,0 @@
----
-date: 2017-03-27T17:02:56+01:00
-title: “Organization quota has been exceeded“ error in the Dashboard API
-menu:
-  main:
-    parent: "Tyk Cloud Classic"
-weight: 5 
----
-
-### Description
-
-Users receive the following error when sending API requests to the Dashboard. This often occurs during performance testing.
-
-### Cause
-
-Free cloud users are capped at 50 000 API requests a day. Pro users are capped at 1 million requests a day.
-
-### Solution
-
-Quotas are reset every 24 hours so users can attempt to send further API requests the next day. High-traffic users may want to consider upgrading to either our Pro or Enterprise plans (further details on how to buy a new license can be found at this [link][1]).
-
- [1]: https://tyk.io/pricing/compare-api-management-platforms/
\ No newline at end of file
diff --git a/tyk-docs/content/troubleshooting/tyk-installation/parsing-json-error-from-dashboard-bootstrap.md b/tyk-docs/content/troubleshooting/tyk-installation/parsing-json-error-from-dashboard-bootstrap.md
deleted file mode 100644
index c1140ac880..0000000000
--- a/tyk-docs/content/troubleshooting/tyk-installation/parsing-json-error-from-dashboard-bootstrap.md
+++ /dev/null
@@ -1,48 +0,0 @@
----
-date: 2017-03-27T16:56:33+01:00
-title: Unable to parse JSON Error from Dashboard bootstrap.sh Script
-menu:
-  main:
-    parent: "Tyk Installation"
-weight: 5 
----
-
-### Description
-
-When running the `bootstrap.sh` script to set up the default Organization and User when installing the Self-Managed version on Red Hat/Centos, the script fails when setting up the default user, returning a "Unable to parse JSON" Error.
-
-```
-Adding new user
-USER AUTHENTICATION CODE: xxxxxxxxxxxxxxxxxxxxxxx
-Traceback (most recent call last):
-  File "string", line 1, in module
-  File "/usr/lib64/python2.7/json/__init__.py", line 290, in load
-    **kw)
-  File "/usr/lib64/python2.7/json/__init__.py", line 338, in loads
-    return _default_decoder.decode(s)
-  File "/usr/lib64/python2.7/json/decoder.py", line 366, in decode
-    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
-  File "/usr/lib64/python2.7/json/decoder.py", line 382, in raw_decode
-    obj, end = self.scan_once(s, idx)
-ValueError: Invalid control character at: line 1 column 33 (char 32)
-Traceback (most recent call last):
-  File "stdin", line 3, in module
-  File "/usr/lib64/python2.7/ast.py", line 49, in literal_eval
-    node_or_string = parse(node_or_string, mode='eval')
-  File "/usr/lib64/python2.7/ast.py", line 37, in parse
-    return compile(source, filename, mode, PyCF_ONLY_AST)
-  File "unknown", line 0
-    
-    ^
-SyntaxError: unexpected EOF while parsing
-ERROR: Unable to parse JSON
-```
-
-
-### Cause
-
-The Redis service is not running when the `bootstrap.sh` script is run
-
-### Solution
-
-Run `sudo service redis start` before running the `bootstrap.sh` script.
\ No newline at end of file
diff --git a/tyk-docs/content/troubleshooting/tyk-multi-cloud/token-information-doesnt-appear-dashboard-tyk-multi-cloud-users.md b/tyk-docs/content/troubleshooting/tyk-multi-cloud/token-information-doesnt-appear-dashboard-tyk-multi-cloud-users.md
deleted file mode 100755
index 5ca16d1e38..0000000000
--- a/tyk-docs/content/troubleshooting/tyk-multi-cloud/token-information-doesnt-appear-dashboard-tyk-multi-cloud-users.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-date: 2017-03-27T17:00:24+01:00
-title: Key information doesn't appear in Dashboard for Tyk Multi-Cloud users
-menu:
-  main:
-    parent: "Tyk Multi-Cloud"
-weight: 5 
----
-
-### Description
-
-Information relating to a given key doesn't automatically appear in the Dashboard for users who have switched from an Self-Managed installation to a Multi-Cloud setup
-
-### Cause
-
-The stats for a key will never update in the cloud for a Multi-Cloud installation. The dashboard in this mode only sets the initial "master" values for a key and those keys are then propagated across the Multi-Cloud instances that are using them (for example, you may have multiple zones with independent Redis DBs) at which point they diverge from each other.
-
-### Solution
-
-To see the up to date stats for a token, the key must be queried via the Gateway API.
\ No newline at end of file
diff --git a/tyk-docs/content/troubleshooting/tyk-on-premise/tyk-on-premise.md b/tyk-docs/content/troubleshooting/tyk-on-premise/tyk-on-premise.md
deleted file mode 100755
index e1d2657aad..0000000000
--- a/tyk-docs/content/troubleshooting/tyk-on-premise/tyk-on-premise.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-date: 2017-03-27T16:59:34+01:00
-title: Tyk On-Premises
-notoc: true
----
-
-
diff --git a/tyk-docs/content/tyk-cloud.md b/tyk-docs/content/tyk-cloud.md
index 5a68ad78ec..9993d3797d 100644
--- a/tyk-docs/content/tyk-cloud.md
+++ b/tyk-docs/content/tyk-cloud.md
@@ -99,6 +99,13 @@ aliases:
   - /python-custom-auth-plugin/setup-control-plane
   - /python-custom-auth-plugin/uploading-bundle
   - /tyk-cloud/initial-portal-config
+  - /troubleshooting/tyk-multi-cloud/token-information-doesnt-appear-dashboard-tyk-multi-cloud-users
+  - /frequently-asked-questions/cloud-classic-virtual-endpoints-not-working
+  - /frequently-asked-questions/enable-websockets-cloud
+  - /troubleshooting/tyk-cloud-classic/301-moved-permanently
+  - /troubleshooting/tyk-cloud-classic/413-request-entity-large
+  - /troubleshooting/tyk-cloud-classic/504-gateway-timeout-error
+  - /troubleshooting/tyk-cloud-classic/organisation-quota-exceeded-error-dashboard-api
 ---
 
 ## What is Tyk Cloud
diff --git a/tyk-docs/content/tyk-dashboard/configuration.md b/tyk-docs/content/tyk-dashboard/configuration.md
index 77ed316bf1..25ead28e78 100755
--- a/tyk-docs/content/tyk-dashboard/configuration.md
+++ b/tyk-docs/content/tyk-dashboard/configuration.md
@@ -14,7 +14,7 @@ aliases:
 ---
 
 You can use environment variables to override the config file for the Tyk Dashboard. The Dashboard configuration file can be found in the `tyk-dashboard` folder and by default is called `tyk_analytics.conf`, though it can be renamed and specified using the `--conf` flag. Environment variables are created from the dot notation versions of the JSON objects contained with the config files.
-To understand how the environment variables notation works, see [Environment Variables]({{< ref "tyk-environment-variables" >}}).
+To understand how the environment variables notation works, see [Environment Variables]({{< ref "tyk-oss-gateway/configuration" >}}).
 
 The Tyk Dashboard has a separate configuration file, it is small and comes packaged with the tarball. It uses a separate configuration file as it may be installed on a different host to your Tyk Gateway nodes.
 
diff --git a/tyk-docs/content/tyk-dashboard/getting-started.md b/tyk-docs/content/tyk-dashboard/getting-started.md
deleted file mode 100644
index 394415cabd..0000000000
--- a/tyk-docs/content/tyk-dashboard/getting-started.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-date: 2017-03-24T17:09:48Z
-title: Get Started
-weight: 1
-menu: 
-    main:
-        parent: "Tyk Dashboard"
----
-
-Head on over to the 
-* [Tyk Self-Managed]({{< ref "tyk-self-managed#installation-options-for-tyk-self-managed" >}})
-* [Tyk Cloud]({{< ref "tyk-cloud#quick-start-tyk-cloud" >}})
-
-solutions to get started today.
\ No newline at end of file
diff --git a/tyk-docs/content/tyk-developer-portal.md b/tyk-docs/content/tyk-developer-portal.md
deleted file mode 100755
index 546adaa5ea..0000000000
--- a/tyk-docs/content/tyk-developer-portal.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-date: 2017-03-24T17:09:48Z
-title: Tyk Developer Portal
-weight: 10
-menu: 
-    main:
-        parent: "Tyk Stack"
-aliases:
-  - /concepts/tyk-components/developer-portal/
-  - /getting-started/tyk-components/developer-portal/
----
-
-The Tyk Developer Portal enables you to expose a facade of your APIs and then allow third-party developers to register and use your APIs.
-
-The Tyk Developer Portal comes into two flavors:
-*   Tyk Classic Developer Portal.
-*   Tyk Enterprise Developer Portal.
-
-The Tyk Classic Developer Portal is relevant for the primary use-cases while the Tyk Enterprise Developer Portal is suitable for more advanced use cases such audience management, developer relatationship and deep look & feel customization.
-
-{{< note success >}}
-**Tyk Enterprise Developer Portal**
-
-If you are interested in getting access contact us at [support@tyk.io](<mailto:support@tyk.io?subject=Tyk Enterprise Portal Beta>)
-
-{{< /note >}}
-
-For examples of how clients have used our portal, visit:
-
-- [https://developer.hotelbeds.com/](https://developer.hotelbeds.com/)
-- [https://developer.ft.com/portal](https://developer.ft.com/portal)
-- [https://developer.geops.io/](https://developer.geops.io/)
-- [https://opentransportdata.swiss/en/](https://opentransportdata.swiss/en/)
diff --git a/tyk-docs/content/tyk-environment-variables.md b/tyk-docs/content/tyk-environment-variables.md
deleted file mode 100644
index 4c832b697b..0000000000
--- a/tyk-docs/content/tyk-environment-variables.md
+++ /dev/null
@@ -1,24 +0,0 @@
----
-title: Configuration Options and Environment Variables
-description: This page provides links to configuration references for the various Tyk components, including the Gateway, Dashboard, Pump, MDCB, Developer Portal and Identity Broker. 
-tags: ["environment variables", "Configuration reference", "config field", "Reference documentation"]
-menu:
-  main:
-    parent: "Key Concepts"
-weight: 12 
-aliases:
-  - /tyk-configuration-reference/environment-variables/
-  - /configure/environment-variables/
----
-
-Please find the following links to all the configuration reference pages per product (Gateway, Dashboard, Pump, MDCB, Enterprise Developer Portal and Identity Broker)
-Each page includes a list of all the config fields that can be used in the config file to set and tune the product.
-Every item in the lists includes the config name in JSON notation, the format as an environment variable, the field type and a short description.
-
-Environment variables allow you to override settings in the product's configuration file or modify default configurations. These variables are created based on the dot notation versions of JSON objects within the configuration files. Please note that there may be exceptions to this rule. For detailed information about environment variables and their usage, refer to our comprehensive docs in the following links:
-* [Tyk Gateway]({{< ref "tyk-oss-gateway/configuration" >}})
-* [Tyk Dashboard]({{< ref "tyk-dashboard/configuration" >}})
-* [Tyk Pump]({{< ref "tyk-pump/tyk-pump-configuration/tyk-pump-environment-variables" >}})
-* [Tyk Multi Data Center Bridge]({{< ref "tyk-multi-data-centre/mdcb-configuration-options" >}})
-* [Enterprise Developer Portal]({{< ref "product-stack/tyk-enterprise-developer-portal/deploy/configuration" >}})
-* [Tyk Identity Broker]({{< ref "tyk-configuration-reference/tyk-identity-broker-configuration" >}})
diff --git a/tyk-docs/content/tyk-open-source.md b/tyk-docs/content/tyk-open-source.md
index 31595932c9..1a492140f7 100644
--- a/tyk-docs/content/tyk-open-source.md
+++ b/tyk-docs/content/tyk-open-source.md
@@ -22,6 +22,8 @@ aliases:
   - /apim/open-source
   - /tyk-stack/tyk-gateway/configuration/redis-cluster
   - /apim/open-source/getting-started
+  - /getting-started/installation
+  - /try-out-tyk/tutorials/tutorials
 ---
 
 ## What is Tyk Open Source
diff --git a/tyk-docs/content/tyk-oss-gateway/configuration.md b/tyk-docs/content/tyk-oss-gateway/configuration.md
index 34f640e84b..e17873e653 100755
--- a/tyk-docs/content/tyk-oss-gateway/configuration.md
+++ b/tyk-docs/content/tyk-oss-gateway/configuration.md
@@ -9,10 +9,15 @@ aliases:
   - /tyk-configuration-reference/tyk-gateway-configuration-options/
   - /configure/tyk-gateway-configuration-options/
   - /tyk-configuration-reference/ ## Redirects from legacy docs, this landing page no longer exists
+  - /tyk-environment-variables
+  - /configure/environment-variables
+  - /orphan 
+  - /tyk-configuration-reference/environment-variables
+
 ---
 
 You can use environment variables to override the config file for the Tyk Gateway. The Gateway configuration file can be found in the `tyk-gateway` folder and by default is called `tyk.conf`, though it can be renamed and specified using the `--conf` flag. Environment variables are created from the dot notation versions of the JSON objects contained with the config files.
-To understand how the environment variables notation works, see [Environment Variables]({{< ref "tyk-environment-variables" >}}).
+To understand how the environment variables notation works, see [Environment Variables]({{< ref "tyk-oss-gateway/configuration" >}}).
 
 All the Gateway environment variables have the prefix `TYK_GW_`. The environment variables will take precedence over the values in the configuration file.
 
diff --git a/tyk-docs/content/tyk-pump/tyk-pump-configuration/tyk-pump-environment-variables.md b/tyk-docs/content/tyk-pump/tyk-pump-configuration/tyk-pump-environment-variables.md
index 9dfaab63c0..bfe362c87a 100755
--- a/tyk-docs/content/tyk-pump/tyk-pump-configuration/tyk-pump-environment-variables.md
+++ b/tyk-docs/content/tyk-pump/tyk-pump-configuration/tyk-pump-environment-variables.md
@@ -12,7 +12,7 @@ aliases:
 ---
 
 You can use environment variables to override the config file for the Tyk Pump. Environment variables are created from the dot notation versions of the JSON objects contained with the config files.
-To understand how the environment variables notation works, see [Environment Variables]({{< ref "tyk-environment-variables" >}}). 
+To understand how the environment variables notation works, see [Environment Variables]({{< ref "tyk-oss-gateway/configuration" >}}). 
 
 All the Pump environment variables have the prefix `TYK_PMP_`. The environment variables will take precedence over the values in the configuration file.
 
diff --git a/tyk-docs/content/tyk-self-managed.md b/tyk-docs/content/tyk-self-managed.md
index 461d6b4d9c..cb4835b419 100644
--- a/tyk-docs/content/tyk-self-managed.md
+++ b/tyk-docs/content/tyk-self-managed.md
@@ -1183,7 +1183,7 @@ The `bootstrap` command makes bootstrapping easier. It helps you to create organ
 
 **Environment Variables**
 
-You can override the config values by environment variables. See [how to configure an environment variable]({{< ref "tyk-environment-variables" >}}). 
+You can override the config values by environment variables. See [how to configure an environment variable]({{< ref "tyk-oss-gateway/configuration" >}}). 
 
 For example, you can override hostname, port, mongo url, redis host and redis port values by exporting the following variables:
 
@@ -1323,7 +1323,7 @@ You can use the `FROM` statement in `Dockerfile.web` to use specific dashboard v
 {{< /note >}}
 
 
-The [Dashboard configuration]({{< ref "tyk-dashboard/configuration" >}}) can be changed by either editing the `tyk_analytics.conf` file or injecting them as [environment variables]({{< ref "tyk-environment-variables" >}}) via `heroku config`. In this guide we'll use the latter for simplicity of demonstration but there is merit to both methods.
+The [Dashboard configuration]({{< ref "tyk-dashboard/configuration" >}}) can be changed by either editing the `tyk_analytics.conf` file or injecting them as [environment variables]({{< ref "tyk-oss-gateway/configuration" >}}) via `heroku config`. In this guide we'll use the latter for simplicity of demonstration but there is merit to both methods.
 
 First let's set the license key:
 ```bash
@@ -1510,7 +1510,7 @@ ls
 Dockerfile.web  entrypoint.sh  tyk.conf
 ```
 
-All these files serve the same purpose as with the Dasboard and the Pump. [Configuration]({{< ref "tyk-oss-gateway/configuration" >}}) can either be edited in `tyk.conf` or [injected]({{< ref "tyk-environment-variables" >}}) with `heroku config`.
+All these files serve the same purpose as with the Dasboard and the Pump. [Configuration]({{< ref "tyk-oss-gateway/configuration" >}}) can either be edited in `tyk.conf` or [injected]({{< ref "tyk-oss-gateway/configuration" >}}) with `heroku config`.
 
 To get things going we'll need to set following options for the Dashboard endpoint (substituting the actual endpoint and the app name, now for the gateway app):
 ```bash
diff --git a/tyk-docs/content/tyk-stack/tyk-developer-portal/enterprise-developer-portal/customise-enterprise-portal/customise-enterprise-portal.md b/tyk-docs/content/tyk-stack/tyk-developer-portal/enterprise-developer-portal/customise-enterprise-portal/customise-enterprise-portal.md
deleted file mode 100644
index 32e0aa99d4..0000000000
--- a/tyk-docs/content/tyk-stack/tyk-developer-portal/enterprise-developer-portal/customise-enterprise-portal/customise-enterprise-portal.md
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title: "Customize the Enterprise Portal"
-date: 2022-02-08
-tags: [""]
-description: ""
-menu:
-  main:
-    parent: "Tyk Enterprise Developer Portal"
-weight: 4
----
-
-{{< note success >}}
-**Tyk Enterprise Developer Portal**
-
-If you are interested in getting access contact us at [support@tyk.io](<mailto:support@tyk.io?subject=Tyk Enterprise Portal Beta>)
-
-{{< /note >}}
-
-
-You can fully customize the look and feel of your Tyk Enterprise Developer Portal, from changing fonts and colors to creating an entirely new layout of pages. This section describes two approaches for customization:
-*   [Quick customization]({{< ref "portal/customization#configure-branding" >}}) applies your branding to the developer portal.
-*   [Full customization]({{< ref "portal/customization#" >}}) allows to completely redesign look and feel of the developer portal.
diff --git a/tyk-docs/data/alias.json b/tyk-docs/data/alias.json
index 3abc7c796e..817360312c 100644
--- a/tyk-docs/data/alias.json
+++ b/tyk-docs/data/alias.json
@@ -813,6 +813,8 @@
     "getting-started/import-apis": "#import-an-api",
     "getting-started/create-security-policy": "#secure-an-api",
     "getting-started/create-api-key": "#access-an-api",
+    "troubleshooting/tyk-pump": "#pump",
+    "tyk-cloud/configuration-options": "#additional-cloud-configuration",
     "concepts/middleware-execution-order": "#request-middleware-chain",
     "error-response-codes": "#gateway-error-response-status-codes",
     "frequently-asked-questions/change-logging-output-location": "#how-to-change-the-logging-output-location",
diff --git a/tyk-docs/data/menu.yaml b/tyk-docs/data/menu.yaml
index 840d99ceed..d6d7ef0282 100644
--- a/tyk-docs/data/menu.yaml
+++ b/tyk-docs/data/menu.yaml
@@ -43,19 +43,6 @@ menu:
         path: /getting-started/using-tyk-dashboard
         category: Page
         show: True
-  - title: "Deployment and Operations"
-    path: /apim
-    category: Label
-    show: False
-    menu:
-      - title: "Featured Guides"
-        category: Directory
-        show: False
-        menu:
-          - title: "Guide to Tyk installations"
-            path: /getting-started/installation
-            category: Page
-            show: True
   - title: "API Management"
     path: /getting-started
     category: Label
@@ -69,6 +56,10 @@ menu:
         category: Directory
         show: True
         menu:
+          - title: "Tyk Stack"
+            path: /tyk-stack
+            category: Page
+            show: True
           - title: "Tyk Cloud"
             path: /tyk-cloud
             category: Page
@@ -81,6 +72,10 @@ menu:
             path: /tyk-self-managed
             category: Page
             show: True
+      - title: "Tyk Gateway"
+        path: /tyk-oss-gateway
+        category: Page
+        show: True
       - title: "Client Authentication"
         category: Directory
         path: /api-management/client-authentication
@@ -351,56 +346,6 @@ menu:
         category: Page
         path: /api-management/ai-management/overview
         show: True
-  - title: "Product Stack"
-    path: /tyk-stack
-    category: Label
-    show: False
-    menu:
-      - title: "Overview"
-        path: /tyk-stack
-        category: Page
-        show: False
-      - title: "Tyk Gateway (Open Source)"
-        category: Directory
-        show: True
-        menu:
-          - title: "Overview"
-            path: /tyk-oss-gateway
-            category: Page
-            show: False
-          - title: "Key concepts"
-            category: Directory
-            show: True
-            menu:
-
-          - title: "API access control"
-            category: Directory
-            show: False
-            menu: 
-              - title: "Overview"
-                path: /basic-config-and-security
-                category: Page
-                show: False
-              - title: "oauth"
-                category: page
-                show: False
-                path: /basic-config-and-security/security/authentication-authorization/ext-oauth-middleware
-              - title: "Gateway"
-                path: /basic-config-and-security/security/gateway
-                category: Page
-                show: False
-          - title: "Advanced configurations"
-            category: Directory
-            show: False
-            menu:
-              - title: "Overview"
-                path: /advanced-configuration
-                category: Page
-                show: False
-      - title: "Tyk Sync"
-        category: Directory
-        show: False
-        menu:
   - title: "Developer Portal"
     category: Label
     show: True
@@ -657,10 +602,6 @@ menu:
         category: Directory
         show: True
         menu:
-        - title: "Overview"
-          path: /tyk-environment-variables
-          category: Page
-          show: False
         - title: "Gateway"
           path: /tyk-oss-gateway/configuration
           category: Page
@@ -788,113 +729,4 @@ menu:
       - title: "Frequently Asked Questions"
         path: /developer-support/faq
         category: Page
-        show: True
-      - title: "SDK"
-        category: Directory
-        show: False
-        menu:
-      - title: "CLI"
-        category: Directory
-        show: False
-        menu:
-      - title: "Deprecated pages"
-        category: Directory
-        show: False
-        menu:
-          - title: "Dashboard"
-            path: /basic-config-and-security/security/dashboard
-            category: Page
-            show: True
-          - title: "Get started"
-            path: /tyk-dashboard/getting-started
-            category: Page
-            show: True
-          - title: "Tyk Developer Portal"
-            path: /tyk-developer-portal
-            category: Page
-            show: True
-          - title: "Key information doesn't appear in Dashboard for Tyk Multi-Cloud users"
-            path: /troubleshooting/tyk-multi-cloud/token-information-doesnt-appear-dashboard-tyk-multi-cloud-users/
-            category: Page
-            show: True
-          - title: "Cloud Classic Virtual Endpoints not working"
-            path: /frequently-asked-questions/cloud-classic-virtual-endpoints-not-working
-            category: Page
-            show: True
-          - title: "How to enable websockets in Cloud"
-            path: /frequently-asked-questions/enable-websockets-cloud
-            category: Page
-            show: True
-          - title: "Troubleshooting"
-            path: /troubleshooting
-            category: Page
-            show: True
-          - title: "“301 Moved permanently“ error in the Dashboard API"
-            path: /troubleshooting/tyk-cloud-classic/301-moved-permanently
-            category: Page
-            show: True
-          - title: "413 Request Entity Too Large"
-            path: /troubleshooting/tyk-cloud-classic/413-request-entity-large
-            category: Page
-            show: True
-          - title: "“504 GATEWAY_TIMEOUT“ error"
-            path: /troubleshooting/tyk-cloud-classic/504-gateway-timeout-error
-            category: Page
-            show: True
-          - title: "“Organisation quota has been exceeded“ error in the Dashboard API"
-            path: /troubleshooting/tyk-cloud-classic/organisation-quota-exceeded-error-dashboard-api
-            category: Page
-            show: True
-          - title: "Tyk Cloud Classic"
-            path: /troubleshooting/tyk-cloud
-            category: Page
-            show: True
-          - title: "Tyk Dashboard Troubleshooting"
-            path: /troubleshooting/tyk-dashboard
-            category: Page
-            show: True
-          - title: "Tyk Gateway Troubleshooting"
-            path: /troubleshooting/tyk-gateway
-            category: Page
-            show: True
-          - title: "Tyk Installation"
-            path: /troubleshooting/tyk-installation
-            category: Page
-            show: True
-          - title: "404 when trying to access Tyk Gateway Repo"
-            path: /troubleshooting/tyk-installation/404-trying-access-tyk-gateway-repo
-            category: Page
-            show: True
-          - title: "Unable to parse JSON Error from Dashboard bootstrap.sh Script"
-            path: /troubleshooting/tyk-installation/parsing-json-error-from-dashboard-bootstrap
-            category: Page
-            show: True
-          - title: "Tyk Multi-Cloud"
-            path: /troubleshooting/tyk-multi-cloud
-            category: Page
-            show: True
-          - title: "Tyk On-Premises"
-            path: /troubleshooting/tyk-on-premise/tyk-on-premise
-            category: Page
-            show: True
-          - title: "Tyk Pump Troubleshooting"
-            path: /troubleshooting/tyk-pump
-            category: Page
-            show: True
-          - title: "Configuration Options"
-            path: /tyk-cloud/configuration-options
-            category: Page
-            show: True
-          - title: "Overview"
-            path: /tyk-stack/tyk-developer-portal/enterprise-developer-portal/customise-enterprise-portal/customise-enterprise-portal
-            category: Page
-            show: True
-  - title: "Orphan"
-    path: /orphan
-    category: Label
-    show: False
-    menu:
-      - title: "Orphan pages"
-        path: /orphan/
-        category: Page
         show: True
\ No newline at end of file