diff --git a/docs/60_upgrade_guide.html b/docs/60_upgrade_guide.html
index 0c5f4616a..1ad77db13 100644
--- a/docs/60_upgrade_guide.html
+++ b/docs/60_upgrade_guide.html
@@ -850,7 +850,7 @@
[[Upgrade Elasticsearch for Hadoop to 5.6.|https://www.elastic.co/guide/en/elasticsearch/hadoop/5.6/install.html]]\
<<endif>>\!!!Upgrade to 6.3
<<if $xpack_ml>>\
-[[Stop any running Machine Learning jobs.|https://www.elastic.co/guide/en/elastic-stack-overview/6.3/stopping-ml.html]]
+[[Stop any running Machine Learning jobs.|https://www.elastic.co/guide/en/machine-learning/6.3/stopping-ml.html]]
<<endif>>\
<<if $hadoop>>\
<span class="pseudo-link">Disable ingestion from Hadoop while you upgrade the stack.</span>
diff --git a/docs/en/getting-started/get-started-stack.asciidoc b/docs/en/getting-started/get-started-stack.asciidoc
index 1ba068a8b..3cdc45e99 100644
--- a/docs/en/getting-started/get-started-stack.asciidoc
+++ b/docs/en/getting-started/get-started-stack.asciidoc
@@ -21,8 +21,8 @@ laptop.
IMPORTANT: Implementing security is a critical step in setting up the {stack}.
To get up and running quickly with a sample installation, you skip those steps
right now. Before sending sensitive data across the network, make sure you
-{stack-ov}/elasticsearch-security.html[secure the {stack}] and enable
-{stack-ov}/encrypting-communications.html[encrypted communications].
+{ref}/elasticsearch-security.html[secure the {stack}] and enable
+{ref}/encrypting-communications.html[encrypted communications].
[float]
[[install-prereqs]]
@@ -864,7 +864,7 @@ how to use {ls} to filter events collected by {metricbeat}.
Next, you'll want to set up {security} and activate your trial license so
you can unlock the full capabilities of the {stack}. To learn how, read:
-* {stack-ov}/elasticsearch-security.html[Securing the {stack}]
+* {ref}/elasticsearch-security.html[Securing the {stack}]
* {stack-ov}/license-management.html[License Management]
Later, when you're ready to set up a production environment, also see the
diff --git a/docs/en/install-upgrade/upgrading-stack.asciidoc b/docs/en/install-upgrade/upgrading-stack.asciidoc
index acdb99674..2f5e636bf 100644
--- a/docs/en/install-upgrade/upgrading-stack.asciidoc
+++ b/docs/en/install-upgrade/upgrading-stack.asciidoc
@@ -87,7 +87,7 @@ internal indices after you install Elasticsearch {version}.
. If you use {stack} {security-features} to secure your cluster:
.. Make sure TLS is enabled to encrypt communications between nodes. TLS must
be enabled to upgrade to {version}. For more information, see
-{stack-ov}/encrypting-communications.html[Encrypting communications].
+{ref}/encrypting-communications.html[Encrypting communications].
+
NOTE: Enabling TLS requires a full cluster restart. Nodes that have TLS
enabled cannot communicate with nodes that do not have TLS enabled. You must
@@ -100,7 +100,7 @@ password (`changeme`). For more information, see
. Stop any {xpack} machine learning jobs that are running before starting the
upgrade process. See
-{stack-ov}/stopping-ml.html[Stopping machine learning].
+{ml-docs}/stopping-ml.html[Stopping machine learning].
IMPORTANT: Test upgrades in a dev environment before upgrading your
production cluster.
diff --git a/docs/en/stack/index.asciidoc b/docs/en/stack/index.asciidoc
index acb491954..3bf8a2028 100644
--- a/docs/en/stack/index.asciidoc
+++ b/docs/en/stack/index.asciidoc
@@ -23,12 +23,8 @@ include::xpack-breaking-changes.asciidoc[]
include::xpack-apis.asciidoc[]
-include::ml/ml-index.asciidoc[]
-
include::xpack-troubleshooting.asciidoc[]
-include::xpack-limitations.asciidoc[]
-
include::xpack-license.asciidoc[]
include::xpack-release-notes.asciidoc[]
diff --git a/docs/en/stack/redirects.asciidoc b/docs/en/stack/redirects.asciidoc
index d3b5a9b08..0013d10f7 100644
--- a/docs/en/stack/redirects.asciidoc
+++ b/docs/en/stack/redirects.asciidoc
@@ -798,3 +798,245 @@ See {ref}/security-files.html[Security files].
This page has moved.
See {ref}/get-started-license.html[Install a trial license].
+
+[role="exclude",id="xpack-ml"]
+=== Machine learning anomaly detection
+
+This page has moved.
+See {ml-docs}/xpack-ml.html[Machine learning {anomaly-detect}].
+
+[role="exclude",id="ml-overview"]
+=== Overview
+
+This page has moved.
+[[ml-forecasting]]
+See {ml-docs}/ml-overview.html[Overview].
+
+[role="exclude",id="ml-jobs"]
+=== Anomaly detection jobs
+
+This page has moved.
+See {ml-docs}/ml-jobs.html[{anomaly-jobs-cap}].
+
+[role="exclude",id="ml-dfeeds"]
+=== Datafeeds
+
+This page has moved.
+See {ml-docs}/ml-dfeeds.html[Datafeeds].
+
+[role="exclude",id="ml-buckets"]
+=== Buckets
+
+This page has moved.
+See {ml-docs}/ml-buckets.html[Buckets].
+
+[role="exclude",id="ml-calendars"]
+=== Calendars and scheduled events
+
+This page has moved.
+See {ml-docs}/ml-calendars.html[Calendars and scheduled events].
+
+[role="exclude",id="ml-nodes"]
+=== Machine learning nodes
+
+This page has moved.
+See {ml-docs}/ml-nodes.html[{ml-cap} nodes].
+
+[role="exclude",id="ml-getting-started"]
+=== Tutorial: Getting started with machine learning
+
+This page has moved.
+See {ml-docs}/ml-getting-started.html[Tutorial: Getting started with {ml}].
+
+[role="exclude",id="ml-gs-data"]
+=== Identifying data for analysis
+
+This page has moved.
+See {ml-docs}/ml-gs-data.html[Identifying data for analysis].
+
+[role="exclude",id="ml-gs-wizards"]
+=== Creating jobs in Kibana
+
+This page has moved.
+See {ml-docs}/ml-gs-wizards.html[Creating jobs in {kib}].
+
+[role="exclude",id="ml-gs-jobs"]
+=== Creating single metric jobs
+
+This page has moved.
+See {ml-docs}/ml-gs-jobs.html[Creating single metric jobs].
+
+[role="exclude",id="ml-gs-job1-manage"]
+=== Managing jobs
+
+This page has moved.
+See {ml-docs}/ml-gs-job1-manage.html[Managing jobs].
+
+[role="exclude",id="ml-gs-job1-analyze"]
+=== Exploring single metric job results
+
+This page has moved.
+See {ml-docs}/ml-gs-job1-analyze.html[Exploring single metric job results].
+
+[role="exclude",id="ml-gs-multi-jobs"]
+=== Creating multi-metric jobs
+
+This page has moved.
+See {ml-docs}/ml-gs-multi-jobs.html[Creating multi-metric jobs].
+
+[role="exclude",id="ml-gs-job2-analyze"]
+=== Exploring multi-metric job results
+
+This page has moved.
+See {ml-docs}/ml-gs-job2-analyze.html[Exploring multi-metric job results].
+
+[role="exclude",id="ml-gs-forecast"]
+=== Creating forecasts
+
+This page has moved.
+See {ml-docs}/ml-gs-forecast.html[Creating forecasts].
+
+[role="exclude",id="ml-gs-next"]
+=== Next steps
+
+This page has moved.
+See {ml-docs}/ml-gs-next.html[Next steps].
+
+[role="exclude",id="ml-configuring"]
+=== Configuring machine learning
+
+This page has moved.
+See {ml-docs}/ml-configuring.html[Configuring {ml}].
+
+[role="exclude",id="ml-configuring-url"]
+=== Adding custom URLs to machine learning results
+
+This page has moved.
+See {ml-docs}/ml-configuring-url.html[Adding custom URLs to {ml} results].
+
+[role="exclude",id="ml-configuring-aggregation"]
+=== Aggregating data for faster performance
+
+This page has moved.
+See {ml-docs}/ml-configuring-aggregation.html[Aggregating data for faster performance].
+
+[role="exclude",id="ml-configuring-categories"]
+=== Categorizing log messages
+
+This page has moved.
+[[ml-configuring-analyzer]]
+See {ml-docs}/ml-configuring-categories.html[Categorizing log messages].
+
+[role="exclude",id="ml-configuring-pop"]
+=== Performing population analysis
+
+This page has moved.
+See {ml-docs}/ml-configuring-pop.html[Performing population analysis].
+
+[role="exclude",id="ml-configuring-transform"]
+=== Transforming data with script fields
+
+This page has moved.
+/See {ml-docs}/ml-configuring-transform.html[Transforming data with script fields].
+
+[role="exclude",id="stopping-ml"]
+=== Stop machine learning anomaly detection
+
+This page has moved.
+See {ml-docs}/stopping-ml.html[Stop {ml} {anomaly-detect}].
+
+[role="exclude",id="ml-api-quickref"]
+=== API quick reference
+
+This page has moved.
+See {ml-docs}/ml-api-quickref.html[API quick reference].
+
+[role="exclude",id="ml-functions"]
+=== Function reference
+
+This page has moved.
+See {ml-docs}/ml-functions.html[Function reference].
+
+[role="exclude",id="ml-count-functions"]
+=== Count functions
+
+This page has moved.
+See {ml-docs}/ml-count-functions.html[Count functions].
+
+[role="exclude",id="ml-geo-functions"]
+=== Geographic functions
+
+This page has moved.
+See {ml-docs}/ml-geo-functions.html[Geographic functions].
+
+[role="exclude",id="ml-info-functions"]
+=== Information content functions
+
+This page has moved.
+See {ml-docs}/ml-info-functions.html[Information content functions].
+
+[role="exclude",id="ml-metric-functions"]
+=== Metric functions
+
+This page has moved.
+See {ml-docs}/ml-metric-functions.html[Metric functions].
+
+[role="exclude",id="ml-rare-functions"]
+=== Rare functions
+
+This page has moved.
+See {ml-docs}/ml-rare-functions.html[Rare functions].
+
+[role="exclude",id="ml-sum-functions"]
+=== Sum functions
+
+This page has moved.
+See {ml-docs}/ml-sum-functions.html[Sum functions].
+
+[role="exclude",id="ml-time-functions"]
+=== Time functions
+
+This page has moved.
+See {ml-docs}/ml-time-functions.html[Time functions].
+
+[role="exclude",id="ml-troubleshooting"]
+=== Troubleshooting machine learning anomaly detection
+
+This page has moved.
+See {ml-docs}/ml-troubleshooting.html[Troubleshooting machine learning anomaly detection].
+
+[role="exclude",id="ml-rollingupgrade"]
+=== Machine learning features unavailable after rolling upgrade
+
+This page has moved.
+See {ml-docs}/ml-rollingupgrade.html[{ml-cap} features unavailable after rolling upgrade].
+
+[role="exclude",id="ml-mappingclash"]
+=== Job creation failure due to mapping clash
+
+This page has moved.
+See {ml-docs}/ml-mappingclash.html[Job creation failure due to mapping clash].
+
+[role="exclude",id="ml-jobnames"]
+=== Kibana cannot display jobs with invalid characters in their name
+
+This page has moved.
+See {ml-docs}/ml-jobnames.html[Kibana cannot display jobs with invalid characters in their name].
+
+[role="exclude",id="ml-upgradedf"]
+=== Upgraded nodes fail to start due to datafeed issues
+
+This page has moved.
+See {ml-docs}/ml-upgradedf.html[Upgraded nodes fail to start due to datafeed issues].
+
+[role="exclude",id="ml-limitations"]
+=== Machine learning anomaly detection limitations
+
+This page has moved.
+See {ml-docs}/ml-limitations.html[{ml-cap} {anomaly-detect} limitations].
+
+[role="exclude",id="xpack-limitations"]
+=== Limitations
+
+This page has moved.
+See {ml-docs}/ml-limitations.html[{ml-cap} {anomaly-detect} limitations].
diff --git a/docs/en/stack/xpack-limitations.asciidoc b/docs/en/stack/xpack-limitations.asciidoc
deleted file mode 100644
index f10877d4c..000000000
--- a/docs/en/stack/xpack-limitations.asciidoc
+++ /dev/null
@@ -1,17 +0,0 @@
-[[xpack-limitations]]
-= Limitations
-
-[partintro]
---
-[quote, Brendan Francis Behan]
-__________________________
-Once we accept our limits, we go beyond them.
-__________________________
-
-* {kibana-ref}/graph-limitations.html[{graph}]
-
-* <>
-
---
-
-include::ml/limitations.asciidoc[]
diff --git a/docs/en/stack/xpack-troubleshooting.asciidoc b/docs/en/stack/xpack-troubleshooting.asciidoc
index 3442c3b8e..6a9e05641 100644
--- a/docs/en/stack/xpack-troubleshooting.asciidoc
+++ b/docs/en/stack/xpack-troubleshooting.asciidoc
@@ -11,8 +11,6 @@ Having trouble? Here are solutions to common problems you might encounter.
* {kibana-ref}/reporting-troubleshooting.html[{reporting}]
-* <>
-
--
[[xpack-help]]
@@ -32,4 +30,3 @@ build information and indicates which {stack} features are enabled:
GET /_xpack
--------------------------------------------------
-include::ml/troubleshooting.asciidoc[]