diff --git a/doc/administration/index.md b/doc/administration/index.md
index 0900255fa63aded8f8132d06cfb2c15a0d5874ac..9c1a95e941928725009e129b965fa4d58e549cc9 100644
--- a/doc/administration/index.md
+++ b/doc/administration/index.md
@@ -209,7 +209,7 @@ Learn how to install, configure, update, and maintain your GitLab instance.
 ## Troubleshooting
 
 - [Log system](logs/index.md): Where to look for logs.
-- [Sidekiq Troubleshooting](troubleshooting/sidekiq.md): Debug when Sidekiq appears hung and is not processing jobs.
+- [Sidekiq Troubleshooting](sidekiq/sidekiq_troubleshooting.md): Debug when Sidekiq appears hung and is not processing jobs.
 - [Navigating GitLab via Rails console](operations/rails_console.md)
 - [GitLab application limits](instance_limits.md)
 - [Responding to security incidents](../security/responding_to_security_incidents.md)
diff --git a/doc/administration/integration/terminal.md b/doc/administration/integration/terminal.md
index 14da70f6efb3f81a56c1c6c964e117275200591a..65a077cb652a676ce6a2d1dfcd4ca6ea7530b4f5 100644
--- a/doc/administration/integration/terminal.md
+++ b/doc/administration/integration/terminal.md
@@ -41,7 +41,7 @@ In brief:
 - The WebSocket is handled in [Workhorse](https://gitlab.com/gitlab-org/gitlab-workhorse),
   rather than the Rails application server.
 - Workhorse queries Rails for connection details and user permissions. Rails
-  queries Kubernetes for them in the background using [Sidekiq](../troubleshooting/sidekiq.md).
+  queries Kubernetes for them in the background using [Sidekiq](../sidekiq/sidekiq_troubleshooting.md).
 - Workhorse acts as a proxy server between the user's browser and the Kubernetes
   API, passing WebSocket frames between the two.
 - Workhorse regularly polls Rails, terminating the WebSocket connection if the
diff --git a/doc/administration/operations/extra_sidekiq_processes.md b/doc/administration/operations/extra_sidekiq_processes.md
deleted file mode 100644
index 58858c54843927153d6bc16fad5766a2449b1a2f..0000000000000000000000000000000000000000
--- a/doc/administration/operations/extra_sidekiq_processes.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: '../sidekiq/extra_sidekiq_processes.md'
-remove_date: '2022-11-11'
----
-
-This document was moved to [another location](../sidekiq/extra_sidekiq_processes.md).
-
-<!-- This redirect file can be deleted after <2022-11-11>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/administration/operations/extra_sidekiq_routing.md b/doc/administration/operations/extra_sidekiq_routing.md
deleted file mode 100644
index 072b6f635378ef46874353bc21300968fe2d145b..0000000000000000000000000000000000000000
--- a/doc/administration/operations/extra_sidekiq_routing.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: '../sidekiq/extra_sidekiq_routing.md'
-remove_date: '2022-11-11'
----
-
-This document was moved to [another location](../sidekiq/extra_sidekiq_routing.md).
-
-<!-- This redirect file can be deleted after <2022-11-11>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/administration/operations/index.md b/doc/administration/operations/index.md
index 7b495a5dd5848ea3840480153da0a1561999c4e3..527a72c5933e65b71dc658b74698b2da58ac4291 100644
--- a/doc/administration/operations/index.md
+++ b/doc/administration/operations/index.md
@@ -13,9 +13,9 @@ Keep your GitLab instance up and running smoothly.
   and more.
 - [Moving repositories](moving_repositories.md): Moving all repositories managed
   by GitLab to another file system or another server.
-- [Sidekiq MemoryKiller](sidekiq_memory_killer.md): Configure Sidekiq MemoryKiller
+- [Sidekiq MemoryKiller](../sidekiq/sidekiq_memory_killer.md): Configure Sidekiq MemoryKiller
   to restart Sidekiq.
-- [Multiple Sidekiq processes](extra_sidekiq_processes.md): Configure multiple Sidekiq processes to ensure certain queues always have dedicated workers, no matter the number of jobs that must be processed. **(FREE SELF)**
+- [Multiple Sidekiq processes](../sidekiq/extra_sidekiq_processes.md): Configure multiple Sidekiq processes to ensure certain queues always have dedicated workers, no matter the number of jobs that must be processed. **(FREE SELF)**
 - [Puma](puma.md): Understand Puma and puma-worker-killer.
 - Speed up SSH operations by
   [Authorizing SSH users via a fast, indexed lookup to the GitLab database](fast_ssh_key_lookup.md), and/or
diff --git a/doc/administration/operations/sidekiq_memory_killer.md b/doc/administration/operations/sidekiq_memory_killer.md
deleted file mode 100644
index b1977589faed4745603c3053a4cc3ef925341d44..0000000000000000000000000000000000000000
--- a/doc/administration/operations/sidekiq_memory_killer.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: '../sidekiq/sidekiq_memory_killer.md'
-remove_date: '2022-11-11'
----
-
-This document was moved to [another location](../sidekiq/sidekiq_memory_killer.md).
-
-<!-- This redirect file can be deleted after <2022-11-11>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/administration/packages/container_registry.md b/doc/administration/packages/container_registry.md
index d0277d9936dc554f148c62366a073830f42b1941..1138ead46dafc28101fde7e23d59527ea35113e9 100644
--- a/doc/administration/packages/container_registry.md
+++ b/doc/administration/packages/container_registry.md
@@ -882,7 +882,7 @@ WARNING:
 If you're using a distributed architecture and Sidekiq is running on a different node, the cleanup
 policies don't work. To fix this, you must configure the `gitlab.rb` file on the Sidekiq nodes to
 point to the correct registry URL and copy the `registry.key` file to each Sidekiq node. For more
-information, see the [Sidekiq configuration](../sidekiq.md)
+information, see the [Sidekiq configuration](../sidekiq/index.md)
 page.
 
 To reduce the amount of [Container Registry disk space used by a given project](#registry-disk-space-usage-by-project),
diff --git a/doc/administration/reference_architectures/10k_users.md b/doc/administration/reference_architectures/10k_users.md
index a2463c6ff884ce168676c6527cc7635eaccbdf51..2020f7c0c4203f2e8f645f7233a61c3577048c4d 100644
--- a/doc/administration/reference_architectures/10k_users.md
+++ b/doc/administration/reference_architectures/10k_users.md
@@ -1918,7 +1918,7 @@ Updates to example must be made at:
 NOTE:
 If you find that the environment's Sidekiq job processing is slow with long queues,
 more nodes can be added as required. You can also tune your Sidekiq nodes to
-run [multiple Sidekiq processes](../operations/extra_sidekiq_processes.md).
+run [multiple Sidekiq processes](../sidekiq/extra_sidekiq_processes.md).
 
 <div align="right">
   <a type="button" class="btn btn-default" href="#setup-components">
diff --git a/doc/administration/reference_architectures/25k_users.md b/doc/administration/reference_architectures/25k_users.md
index f90e9443aa1e85960f4cf68e5684fb0e3b13d43c..79772ad720cfc112576b0910f38f47635f85f1c5 100644
--- a/doc/administration/reference_architectures/25k_users.md
+++ b/doc/administration/reference_architectures/25k_users.md
@@ -1936,7 +1936,7 @@ Updates to example must be made at:
 NOTE:
 If you find that the environment's Sidekiq job processing is slow with long queues,
 more nodes can be added as required. You can also tune your Sidekiq nodes to
-run [multiple Sidekiq processes](../operations/extra_sidekiq_processes.md).
+run [multiple Sidekiq processes](../sidekiq/extra_sidekiq_processes.md).
 
 <div align="right">
   <a type="button" class="btn btn-default" href="#setup-components">
diff --git a/doc/administration/reference_architectures/3k_users.md b/doc/administration/reference_architectures/3k_users.md
index 4fc6af3f72e8ae3bef4a9b6416bd230ffe76341d..3c63fef8ea20b7cce912b9c17360091124a26efe 100644
--- a/doc/administration/reference_architectures/3k_users.md
+++ b/doc/administration/reference_architectures/3k_users.md
@@ -1869,7 +1869,7 @@ Updates to example must be made at:
 NOTE:
 If you find that the environment's Sidekiq job processing is slow with long queues,
 more nodes can be added as required. You can also tune your Sidekiq nodes to
-run [multiple Sidekiq processes](../operations/extra_sidekiq_processes.md).
+run [multiple Sidekiq processes](../sidekiq/extra_sidekiq_processes.md).
 
 <div align="right">
   <a type="button" class="btn btn-default" href="#setup-components">
diff --git a/doc/administration/reference_architectures/50k_users.md b/doc/administration/reference_architectures/50k_users.md
index ca159d62f1f8f6139e6914e8d168704286af70db..854113eebc3d0a8b4a13ebf74252eded0bb9dc2f 100644
--- a/doc/administration/reference_architectures/50k_users.md
+++ b/doc/administration/reference_architectures/50k_users.md
@@ -1931,7 +1931,7 @@ Updates to example must be made at:
 NOTE:
 If you find that the environment's Sidekiq job processing is slow with long queues,
 more nodes can be added as required. You can also tune your Sidekiq nodes to
-run [multiple Sidekiq processes](../operations/extra_sidekiq_processes.md).
+run [multiple Sidekiq processes](../sidekiq/extra_sidekiq_processes.md).
 
 <div align="right">
   <a type="button" class="btn btn-default" href="#setup-components">
diff --git a/doc/administration/reference_architectures/5k_users.md b/doc/administration/reference_architectures/5k_users.md
index a2b92f9c300c279b780dda24232c56ac34b297a2..3b66e9130bde0be455c53afc29e6208606772f30 100644
--- a/doc/administration/reference_architectures/5k_users.md
+++ b/doc/administration/reference_architectures/5k_users.md
@@ -1865,7 +1865,7 @@ Updates to example must be made at:
 NOTE:
 If you find that the environment's Sidekiq job processing is slow with long queues,
 more nodes can be added as required. You can also tune your Sidekiq nodes to
-run [multiple Sidekiq processes](../operations/extra_sidekiq_processes.md).
+run [multiple Sidekiq processes](../sidekiq/extra_sidekiq_processes.md).
 
 <div align="right">
   <a type="button" class="btn btn-default" href="#setup-components">
diff --git a/doc/administration/sidekiq.md b/doc/administration/sidekiq.md
deleted file mode 100644
index 01f83f9860791a3e4608339127546cc316c4345e..0000000000000000000000000000000000000000
--- a/doc/administration/sidekiq.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'sidekiq/index.md'
-remove_date: '2022-11-11'
----
-
-This document was moved to [another location](sidekiq/index.md).
-
-<!-- This redirect file can be deleted after <2022-11-11>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/administration/sidekiq_health_check.md b/doc/administration/sidekiq_health_check.md
deleted file mode 100644
index 3294eb663f239c750b7554a120e31ffc3d1eaec1..0000000000000000000000000000000000000000
--- a/doc/administration/sidekiq_health_check.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'sidekiq/sidekiq_health_check.md'
-remove_date: '2022-11-11'
----
-
-This document was moved to [another location](sidekiq/sidekiq_health_check.md).
-
-<!-- This redirect file can be deleted after <2022-11-11>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/administration/troubleshooting/elasticsearch.md b/doc/administration/troubleshooting/elasticsearch.md
deleted file mode 100644
index 7390f4bc816da76df6abfa678b9bd6c44b644587..0000000000000000000000000000000000000000
--- a/doc/administration/troubleshooting/elasticsearch.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: '../../integration/advanced_search/elasticsearch_troubleshooting.md'
-remove_date: '2022-11-02'
----
-
-This document was moved to [another location](../../integration/advanced_search/elasticsearch_troubleshooting.md).
-
-<!-- This redirect file can be deleted after <2022-11-02>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/administration/troubleshooting/sidekiq.md b/doc/administration/troubleshooting/sidekiq.md
deleted file mode 100644
index e49e0ed4f1c3979e9bb69a4064911c23296722b7..0000000000000000000000000000000000000000
--- a/doc/administration/troubleshooting/sidekiq.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: '../sidekiq/sidekiq_troubleshooting.md'
-remove_date: '2022-11-11'
----
-
-This document was moved to [another location](../sidekiq/sidekiq_troubleshooting.md).
-
-<!-- This redirect file can be deleted after <2022-11-11>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/administration/troubleshooting/tracing_correlation_id.md b/doc/administration/troubleshooting/tracing_correlation_id.md
deleted file mode 100644
index 917e27bab7058e0d7bcc508effe447bcc660747e..0000000000000000000000000000000000000000
--- a/doc/administration/troubleshooting/tracing_correlation_id.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: '../logs/tracing_correlation_id.md'
-remove_date: '2022-11-12'
----
-
-This document was moved to [another location](../logs/tracing_correlation_id.md).
-
-<!-- This redirect file can be deleted after 2022-11-12. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
\ No newline at end of file
diff --git a/doc/development/adding_database_indexes.md b/doc/development/adding_database_indexes.md
deleted file mode 100644
index 7ab846cce3e8d873cc4a21c4f83f2ff6062fc521..0000000000000000000000000000000000000000
--- a/doc/development/adding_database_indexes.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'database/adding_database_indexes.md'
-remove_date: '2022-11-05'
----
-
-This document was moved to [another location](database/adding_database_indexes.md).
-
-<!-- This redirect file can be deleted after <2022-11-05>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/api_graphql_styleguide.md b/doc/development/api_graphql_styleguide.md
index c19341a140447ebee0e501fd27eaeba75d7d1aed..75020e25b570c6b4eb942cd8cf07773af006916c 100644
--- a/doc/development/api_graphql_styleguide.md
+++ b/doc/development/api_graphql_styleguide.md
@@ -2115,7 +2115,7 @@ end
   Authenticating a user with the `current_user:` argument for `post_graphql`
   generates more queries on the first request than on subsequent requests on that
   same user. If you are testing for N+1 queries using
-  [QueryRecorder](query_recorder.md), use a **different** user for each request.
+  [QueryRecorder](database/query_recorder.md), use a **different** user for each request.
 
   The below example shows how a test for avoiding N+1 queries should look:
 
diff --git a/doc/development/api_styleguide.md b/doc/development/api_styleguide.md
index f74ed8db50fd470c3157db735b4fe49ea0413e1c..2fcf006e33329a77357e07ab6a6f87fde761fd6d 100644
--- a/doc/development/api_styleguide.md
+++ b/doc/development/api_styleguide.md
@@ -271,7 +271,7 @@ which introduced the scope.
 
 When an API endpoint returns collections, always add a test to verify
 that the API endpoint does not have an N+1 problem, now and in the future.
-We can do this using [`ActiveRecord::QueryRecorder`](query_recorder.md).
+We can do this using [`ActiveRecord::QueryRecorder`](database/query_recorder.md).
 
 Example:
 
diff --git a/doc/development/architecture.md b/doc/development/architecture.md
index a731e661a807509da50f9b59f8f884699f1ef514..a641bf7d20813207b1999d8a4ab54702513a0288 100644
--- a/doc/development/architecture.md
+++ b/doc/development/architecture.md
@@ -592,8 +592,6 @@ Grafana is an open source, feature rich metrics dashboard and graph editor for G
 Jaeger, inspired by Dapper and OpenZipkin, is a distributed tracing system.
 It can be used for monitoring microservices-based distributed systems.
 
-For monitoring deployed apps, see [Jaeger tracing documentation](../operations/tracing.md)
-
 #### Logrotate
 
 - [Project page](https://github.com/logrotate/logrotate/blob/master/README.md)
diff --git a/doc/development/creating_enums.md b/doc/development/creating_enums.md
deleted file mode 100644
index d3892c4c44e908248db20fa144de5936d05421e7..0000000000000000000000000000000000000000
--- a/doc/development/creating_enums.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'database/creating_enums.md'
-remove_date: '2022-11-06'
----
-
-This document was moved to [another location](database/creating_enums.md).
-
-<!-- This redirect file can be deleted after <2022-11-06>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/database/batched_background_migrations.md b/doc/development/database/batched_background_migrations.md
index ca11e9c8dd3223f73433618862ef94c2c4da8128..adc3bf6f82552aa49ab3c18d85c059a1f8f52336 100644
--- a/doc/development/database/batched_background_migrations.md
+++ b/doc/development/database/batched_background_migrations.md
@@ -308,7 +308,7 @@ In the second (filtered) example, we know exactly 100 will be updated with each
 
 NOTE:
 When applying additional filters, it is important to ensure they are properly covered by an index to optimize `EachBatch` performance.
-In the example above we need an index on `(type, id)` to support the filters. See [the `EachBatch` docs for more information](../iterating_tables_in_batches.md).
+In the example above we need an index on `(type, id)` to support the filters. See [the `EachBatch` docs for more information](iterating_tables_in_batches.md).
 
 ## Example
 
diff --git a/doc/development/database_debugging.md b/doc/development/database_debugging.md
deleted file mode 100644
index f18830ee7ca4264038da00454f7f67da873eb045..0000000000000000000000000000000000000000
--- a/doc/development/database_debugging.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'database/database_debugging.md'
-remove_date: '2022-11-06'
----
-
-This document was moved to [another location](database/database_debugging.md).
-
-<!-- This redirect file can be deleted after <2022-11-06>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/database_query_comments.md b/doc/development/database_query_comments.md
deleted file mode 100644
index 7f9def7e5673e47fa2f0569dc2e4de59e1cc401e..0000000000000000000000000000000000000000
--- a/doc/development/database_query_comments.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'database/database_query_comments.md'
-remove_date: '2022-11-05'
----
-
-This document was moved to [another location](database/database_query_comments.md).
-
-<!-- This redirect file can be deleted after <2022-11-05>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/db_dump.md b/doc/development/db_dump.md
deleted file mode 100644
index c632302329a12310ca70d199485ddf76d9d88505..0000000000000000000000000000000000000000
--- a/doc/development/db_dump.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'database/db_dump.md'
-remove_date: '2022-11-06'
----
-
-This document was moved to [another location](database/db_dump.md).
-
-<!-- This redirect file can be deleted after <2022-11-06>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/documentation/index.md b/doc/development/documentation/index.md
index 327bd6044d2468182551205c965da18c898d71a6..a9f2726ea936c676cf839262e86c36cb024548dc 100644
--- a/doc/development/documentation/index.md
+++ b/doc/development/documentation/index.md
@@ -12,7 +12,7 @@ The GitLab documentation is [intended as the single source of truth (SSOT)](http
 In addition to this page, the following resources can help you craft and contribute to documentation:
 
 - [Style Guide](styleguide/index.md) - What belongs in the docs, language guidelines, Markdown standards to follow, links, and more.
-- [Topic type template](structure.md) - Learn about the different types of topics.
+- [Topic types](topic_types/index.md) - Learn about the different types of topics.
 - [Documentation process](workflow.md).
 - [Markdown Guide](../../user/markdown.md) - A reference for all Markdown syntax supported by GitLab.
 - [Site architecture](site_architecture/index.md) - How <https://docs.gitlab.com> is built.
diff --git a/doc/development/documentation/structure.md b/doc/development/documentation/structure.md
deleted file mode 100644
index 35a93f08f662d89737933d3898741cf6a9ff5889..0000000000000000000000000000000000000000
--- a/doc/development/documentation/structure.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'topic_types/index.md'
-remove_date: '2022-11-16'
----
-
-This document was moved to [another location](topic_types/index.md).
-
-<!-- This redirect file can be deleted after <2022-11-16>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
\ No newline at end of file
diff --git a/doc/development/documentation/styleguide/index.md b/doc/development/documentation/styleguide/index.md
index 10c139c0a1b2f1750eff445e77ca0e1dc8c97188..93b2e33e11ca03f47acaf06b3ab7deeb575b6a10 100644
--- a/doc/development/documentation/styleguide/index.md
+++ b/doc/development/documentation/styleguide/index.md
@@ -97,7 +97,7 @@ move in this direction, so we can address these issues:
   information into a format that is geared toward helping others, rather than
   documenting how a feature was implemented.
 
-GitLab uses these [topic types](../structure.md).
+GitLab uses these [topic types](../topic_types/index.md).
 
 ### Link instead of repeating text
 
diff --git a/doc/development/feature_development.md b/doc/development/feature_development.md
index 76447124177f959460b9ebc97efaf9193ed03152..2f6a5e251070078b761e781f3b6cdfcaa2fcc0f4 100644
--- a/doc/development/feature_development.md
+++ b/doc/development/feature_development.md
@@ -54,7 +54,7 @@ Consult these topics for information on contributing to specific GitLab features
 ### Debugging
 
 - [Pry debugging](pry_debugging.md)
-- [Sidekiq debugging](../administration/troubleshooting/sidekiq.md)
+- [Sidekiq debugging](../administration/sidekiq/sidekiq_troubleshooting.md)
 
 ### Git specifics
 
diff --git a/doc/development/filtering_by_label.md b/doc/development/filtering_by_label.md
deleted file mode 100644
index 675fe004c227a7326660428bce2be64a40e8672b..0000000000000000000000000000000000000000
--- a/doc/development/filtering_by_label.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'database/filtering_by_label.md'
-remove_date: '2022-11-05'
----
-
-This document was moved to [another location](database/filtering_by_label.md).
-
-<!-- This redirect file can be deleted after <2022-11-05>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/foreign_keys.md b/doc/development/foreign_keys.md
deleted file mode 100644
index cdf655bf0bf3534c2685433c2822c06aadaacf1c..0000000000000000000000000000000000000000
--- a/doc/development/foreign_keys.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'database/foreign_keys.md'
-remove_date: '2022-11-05'
----
-
-This document was moved to [another location](database/foreign_keys.md).
-
-<!-- This redirect file can be deleted after <2022-11-05>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/graphql_guide/batchloader.md b/doc/development/graphql_guide/batchloader.md
index ef0b97f4f62219790e7d610f2c82c7f4a2499750..6a716de61b81151dee9eefaa9c5ecd2ce81e74c6 100644
--- a/doc/development/graphql_guide/batchloader.md
+++ b/doc/development/graphql_guide/batchloader.md
@@ -180,7 +180,7 @@ def resolve(args = {}, context = { current_user: current_user })
 end
 ```
 
-We can also use [QueryRecorder](../query_recorder.md) to make sure we are performing only **one SQL query** per call.
+We can also use [QueryRecorder](../database/query_recorder.md) to make sure we are performing only **one SQL query** per call.
 
 ```ruby
 it 'executes only 1 SQL query' do
diff --git a/doc/development/hash_indexes.md b/doc/development/hash_indexes.md
deleted file mode 100644
index 2a9f7e5a25d452030bb885642345659f6b70533a..0000000000000000000000000000000000000000
--- a/doc/development/hash_indexes.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'database/hash_indexes.md'
-remove_date: '2022-11-06'
----
-
-This document was moved to [another location](database/hash_indexes.md).
-
-<!-- This redirect file can be deleted after <2022-11-06>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/insert_into_tables_in_batches.md b/doc/development/insert_into_tables_in_batches.md
deleted file mode 100644
index ced5332e880e861a66bfb5bf8e99ee4c46286e9f..0000000000000000000000000000000000000000
--- a/doc/development/insert_into_tables_in_batches.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'database/insert_into_tables_in_batches.md'
-remove_date: '2022-11-05'
----
-
-This document was moved to [another location](database/insert_into_tables_in_batches.md).
-
-<!-- This redirect file can be deleted after <2022-11-05>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/iterating_tables_in_batches.md b/doc/development/iterating_tables_in_batches.md
deleted file mode 100644
index 589e38a5cb04ede86da66a2709c843abc1eb4757..0000000000000000000000000000000000000000
--- a/doc/development/iterating_tables_in_batches.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'database/iterating_tables_in_batches.md'
-remove_date: '2022-11-06'
----
-
-This document was moved to [another location](database/iterating_tables_in_batches.md).
-
-<!-- This redirect file can be deleted after <2022-11-06>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/merge_request_performance_guidelines.md b/doc/development/merge_request_performance_guidelines.md
index 9d1489836fba2d9bef6a3dd1b81b441bdba144ca..3b814ee32924b6eb96fac98f48a1646d784153df 100644
--- a/doc/development/merge_request_performance_guidelines.md
+++ b/doc/development/merge_request_performance_guidelines.md
@@ -145,7 +145,7 @@ end
 This means running one query for every object to update. This code can
 easily overload a database given enough rows to update or many instances of this
 code running in parallel. This particular problem is known as the
-["N+1 query problem"](https://guides.rubyonrails.org/active_record_querying.html#eager-loading-associations). You can write a test with [QueryRecorder](query_recorder.md) to detect this and prevent regressions.
+["N+1 query problem"](https://guides.rubyonrails.org/active_record_querying.html#eager-loading-associations). You can write a test with [QueryRecorder](database/query_recorder.md) to detect this and prevent regressions.
 
 In this particular case the workaround is fairly easy:
 
@@ -224,7 +224,7 @@ The total number of the queries (including cached ones) executed by the code mod
 should not increase unless absolutely necessary.
 The number of executed queries (including cached queries) should not depend on
 collection size.
-You can write a test by passing the `skip_cached` variable to [QueryRecorder](query_recorder.md) to detect this and prevent regressions.
+You can write a test by passing the `skip_cached` variable to [QueryRecorder](database/query_recorder.md) to detect this and prevent regressions.
 
 As an example, say you have a CI pipeline. All pipeline builds belong to the same pipeline,
 thus they also belong to the same project (`pipeline.project`):
@@ -351,7 +351,7 @@ Post.all.includes(:author).each do |post|
 end
 ```
 
-Also consider using [QueryRecoder tests](query_recorder.md) to prevent a regression when eager loading.
+Also consider using [QueryRecoder tests](database/query_recorder.md) to prevent a regression when eager loading.
 
 ## Memory Usage
 
diff --git a/doc/development/namespaces_storage_statistics.md b/doc/development/namespaces_storage_statistics.md
deleted file mode 100644
index 75e79d1f6938a9e7d39cb3e806e53254edc1c8ff..0000000000000000000000000000000000000000
--- a/doc/development/namespaces_storage_statistics.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'database/namespaces_storage_statistics.md'
-remove_date: '2022-11-05'
----
-
-This document was moved to [another location](database/namespaces_storage_statistics.md).
-
-<!-- This redirect file can be deleted after <2022-11-05>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/new_fe_guide/development/accessibility.md b/doc/development/new_fe_guide/development/accessibility.md
deleted file mode 100644
index 9575acd20c7f391bbadaaf1c70baf40c73962f5a..0000000000000000000000000000000000000000
--- a/doc/development/new_fe_guide/development/accessibility.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: '../../fe_guide/accessibility.md'
-remove_date: '2022-11-15'
----
-
-This document was moved to [another location](../../fe_guide/accessibility.md).
-
-<!-- This redirect file can be deleted after <2022-11-15>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/new_fe_guide/development/components.md b/doc/development/new_fe_guide/development/components.md
deleted file mode 100644
index 9ad742272d1ec052777547d3924af37924a9424c..0000000000000000000000000000000000000000
--- a/doc/development/new_fe_guide/development/components.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: '../../fe_guide/index.md'
-remove_date: '2022-11-15'
----
-
-This document was moved to [another location](../../fe_guide/index.md).
-
-<!-- This redirect file can be deleted after <2022-11-15>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/new_fe_guide/development/index.md b/doc/development/new_fe_guide/development/index.md
deleted file mode 100644
index 9ad742272d1ec052777547d3924af37924a9424c..0000000000000000000000000000000000000000
--- a/doc/development/new_fe_guide/development/index.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: '../../fe_guide/index.md'
-remove_date: '2022-11-15'
----
-
-This document was moved to [another location](../../fe_guide/index.md).
-
-<!-- This redirect file can be deleted after <2022-11-15>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/new_fe_guide/development/performance.md b/doc/development/new_fe_guide/development/performance.md
deleted file mode 100644
index c72f3ded896e8649b6f19d4f15e42dd23fd2bdcb..0000000000000000000000000000000000000000
--- a/doc/development/new_fe_guide/development/performance.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: '../../fe_guide/performance.md'
-remove_date: '2022-11-15'
----
-
-This document was moved to [another location](../../fe_guide/performance.md).
-
-<!-- This redirect file can be deleted after <2022-11-15>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/new_fe_guide/index.md b/doc/development/new_fe_guide/index.md
deleted file mode 100644
index 83c1db696b47fca2fe777e53c05fae04f5494586..0000000000000000000000000000000000000000
--- a/doc/development/new_fe_guide/index.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: '../fe_guide/index.md'
-remove_date: '2022-11-15'
----
-
-This document was moved to [another location](../fe_guide/index.md).
-
-<!-- This redirect file can be deleted after <2022-11-15>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/new_fe_guide/modules/dirty_submit.md b/doc/development/new_fe_guide/modules/dirty_submit.md
deleted file mode 100644
index 9ad742272d1ec052777547d3924af37924a9424c..0000000000000000000000000000000000000000
--- a/doc/development/new_fe_guide/modules/dirty_submit.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: '../../fe_guide/index.md'
-remove_date: '2022-11-15'
----
-
-This document was moved to [another location](../../fe_guide/index.md).
-
-<!-- This redirect file can be deleted after <2022-11-15>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/new_fe_guide/modules/index.md b/doc/development/new_fe_guide/modules/index.md
deleted file mode 100644
index 9ad742272d1ec052777547d3924af37924a9424c..0000000000000000000000000000000000000000
--- a/doc/development/new_fe_guide/modules/index.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: '../../fe_guide/index.md'
-remove_date: '2022-11-15'
----
-
-This document was moved to [another location](../../fe_guide/index.md).
-
-<!-- This redirect file can be deleted after <2022-11-15>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/new_fe_guide/modules/widget_extensions.md b/doc/development/new_fe_guide/modules/widget_extensions.md
deleted file mode 100644
index 3741ee8c38a6ff550ae4780d63c8407d81fce0a3..0000000000000000000000000000000000000000
--- a/doc/development/new_fe_guide/modules/widget_extensions.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: '../../fe_guide/merge_request_widget_extensions.md'
-remove_date: '2022-11-15'
----
-
-This document was moved to [another location](../../fe_guide/merge_request_widget_extensions.md).
-
-<!-- This redirect file can be deleted after <2022-11-15>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/new_fe_guide/tips.md b/doc/development/new_fe_guide/tips.md
deleted file mode 100644
index 83c1db696b47fca2fe777e53c05fae04f5494586..0000000000000000000000000000000000000000
--- a/doc/development/new_fe_guide/tips.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: '../fe_guide/index.md'
-remove_date: '2022-11-15'
----
-
-This document was moved to [another location](../fe_guide/index.md).
-
-<!-- This redirect file can be deleted after <2022-11-15>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/ordering_table_columns.md b/doc/development/ordering_table_columns.md
deleted file mode 100644
index b665cb0d4c79c61f694bfc6025f00a413d8f375c..0000000000000000000000000000000000000000
--- a/doc/development/ordering_table_columns.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'database/ordering_table_columns.md'
-remove_date: '2022-11-04'
----
-
-This document was moved to [another location](database/ordering_table_columns.md).
-
-<!-- This redirect file can be deleted after <2022-11-04>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/performance.md b/doc/development/performance.md
index 3881fad05289dfd059d714ba4760bb982db7ddd5..0d8f31424c33ac42f5278b04f7cbc404b63c128e 100644
--- a/doc/development/performance.md
+++ b/doc/development/performance.md
@@ -37,7 +37,7 @@ consistent performance of GitLab. Refer to the [Index](#performance-documentatio
   - [Service measurement](../development/service_measurement.md)
 - Self-managed administration and customer-focused:
   - [File system performance benchmarking](../administration/operations/filesystem_benchmarking.md)
-  - [Sidekiq performance troubleshooting](../administration/troubleshooting/sidekiq.md)
+  - [Sidekiq performance troubleshooting](../administration/sidekiq/sidekiq_troubleshooting.md)
 
 ## Workflow
 
@@ -74,7 +74,7 @@ GitLab provides built-in tools to help improve performance and availability:
 - [Profiling](profiling.md).
 - [Distributed Tracing](distributed_tracing.md)
 - [GitLab Performance Monitoring](../administration/monitoring/performance/index.md).
-- [QueryRecoder](query_recorder.md) for preventing `N+1` regressions.
+- [QueryRecoder](database/query_recorder.md) for preventing `N+1` regressions.
 - [Chaos endpoints](chaos_endpoints.md) for testing failure scenarios. Intended mainly for testing availability.
 - [Service measurement](service_measurement.md) for measuring and logging service execution.
 
diff --git a/doc/development/polymorphic_associations.md b/doc/development/polymorphic_associations.md
deleted file mode 100644
index 6b9158b8408c780780b57aea14f69263e700af2b..0000000000000000000000000000000000000000
--- a/doc/development/polymorphic_associations.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'database/polymorphic_associations.md'
-remove_date: '2022-11-04'
----
-
-This document was moved to [another location](database/polymorphic_associations.md).
-
-<!-- This redirect file can be deleted after <2022-11-04>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/profiling.md b/doc/development/profiling.md
index 3eb2c7c914434ef69bcd89e8711b077aa3360838..d2baf720b30ba0b304de8a1ba581c9c3eb13e15e 100644
--- a/doc/development/profiling.md
+++ b/doc/development/profiling.md
@@ -149,7 +149,7 @@ ENABLE_BULLET=true bundle exec rails s
 Bullet logs query problems to both the Rails log as well as the browser
 console.
 
-As a follow up to finding `N+1` queries with Bullet, consider writing a [QueryRecoder test](query_recorder.md) to prevent a regression.
+As a follow up to finding `N+1` queries with Bullet, consider writing a [QueryRecoder test](database/query_recorder.md) to prevent a regression.
 
 ## System stats
 
diff --git a/doc/development/query_count_limits.md b/doc/development/query_count_limits.md
deleted file mode 100644
index f16c8cfc6cd31f0c5c9f20d200cd2d43383fc1d0..0000000000000000000000000000000000000000
--- a/doc/development/query_count_limits.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'database/query_count_limits.md'
-remove_date: '2022-11-06'
----
-
-This document was moved to [another location](database/query_count_limits.md).
-
-<!-- This redirect file can be deleted after <2022-11-06>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/query_performance.md b/doc/development/query_performance.md
deleted file mode 100644
index 618d007f7669d99c428913562f979cb216763d52..0000000000000000000000000000000000000000
--- a/doc/development/query_performance.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'database/query_performance.md'
-remove_date: '2022-11-06'
----
-
-This document was moved to [another location](database/query_performance.md).
-
-<!-- This redirect file can be deleted after <2022-11-06>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/query_recorder.md b/doc/development/query_recorder.md
deleted file mode 100644
index cb05bc604af8d9733e7f3a1503ec1b405d9dba69..0000000000000000000000000000000000000000
--- a/doc/development/query_recorder.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'database/query_recorder.md'
-remove_date: '2022-11-06'
----
-
-This document was moved to [another location](database/query_recorder.md).
-
-<!-- This redirect file can be deleted after <2022-11-06>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/scalability.md b/doc/development/scalability.md
index 671086f33b28d65f51fd305df0f2fd633571ffaf..de9c57c2f2a9739657cdbbe5062c707adb57d4e3 100644
--- a/doc/development/scalability.md
+++ b/doc/development/scalability.md
@@ -267,7 +267,7 @@ However, there are a number of strategies to ensure queues get drained
 in a timely manner:
 
 - Add more processing capacity. This can be done by spinning up more
-  instances of Sidekiq or [Sidekiq Cluster](../administration/operations/extra_sidekiq_processes.md).
+  instances of Sidekiq or [Sidekiq Cluster](../administration/sidekiq/extra_sidekiq_processes.md).
 - Split jobs into smaller units of work. For example, `PostReceive`
   used to process each commit message in the push, but now it farms out
   this to `ProcessCommitWorker`.
diff --git a/doc/development/serializing_data.md b/doc/development/serializing_data.md
deleted file mode 100644
index aa8b20eded7816425dd00c4f8c3f673afe8a3258..0000000000000000000000000000000000000000
--- a/doc/development/serializing_data.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'database/serializing_data.md'
-remove_date: '2022-11-06'
----
-
-This document was moved to [another location](database/serializing_data.md).
-
-<!-- This redirect file can be deleted after <2022-11-06>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/sha1_as_binary.md b/doc/development/sha1_as_binary.md
deleted file mode 100644
index 7f928d0947023841de869d783e7098c3d32cb62e..0000000000000000000000000000000000000000
--- a/doc/development/sha1_as_binary.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'database/sha1_as_binary.md'
-remove_date: '2022-11-06'
----
-
-This document was moved to [another location](database/sha1_as_binary.md).
-
-<!-- This redirect file can be deleted after <2022-11-06>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/single_table_inheritance.md b/doc/development/single_table_inheritance.md
deleted file mode 100644
index da8d48f2a4225004fed9511bfe97cfa1be1de513..0000000000000000000000000000000000000000
--- a/doc/development/single_table_inheritance.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'database/single_table_inheritance.md'
-remove_date: '2022-11-06'
----
-
-This document was moved to [another location](database/single_table_inheritance.md).
-
-<!-- This redirect file can be deleted after <2022-11-06>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/swapping_tables.md b/doc/development/swapping_tables.md
deleted file mode 100644
index eaa6568dc367986108f840dfe1d3bed430bedc22..0000000000000000000000000000000000000000
--- a/doc/development/swapping_tables.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'database/swapping_tables.md'
-remove_date: '2022-11-04'
----
-
-This document was moved to [another location](database/swapping_tables.md).
-
-<!-- This redirect file can be deleted after <2022-11-04>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/testing_guide/best_practices.md b/doc/development/testing_guide/best_practices.md
index 05751b9431356f02f11ab482a588079fd782c4c6..80a4604c341a724e6d78b51207616c085013222c 100644
--- a/doc/development/testing_guide/best_practices.md
+++ b/doc/development/testing_guide/best_practices.md
@@ -1341,7 +1341,7 @@ Testing query performance allows us to:
 `QueryRecorder` allows profiling and testing of the number of database queries
 performed in a given block of code.
 
-See the [`QueryRecorder`](../query_recorder.md) section for more details.
+See the [`QueryRecorder`](../database/query_recorder.md) section for more details.
 
 #### GitalyClient
 
diff --git a/doc/development/understanding_explain_plans.md b/doc/development/understanding_explain_plans.md
deleted file mode 100644
index 72c3df11a96f0613dde6f3b836b9a0eac50f2c3a..0000000000000000000000000000000000000000
--- a/doc/development/understanding_explain_plans.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'database/understanding_explain_plans.md'
-remove_date: '2022-11-04'
----
-
-This document was moved to [another location](database/understanding_explain_plans.md).
-
-<!-- This redirect file can be deleted after <2022-11-04>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/development/verifying_database_capabilities.md b/doc/development/verifying_database_capabilities.md
deleted file mode 100644
index 0217eb96e5aec40cc5ef62fbdd054ee48d065520..0000000000000000000000000000000000000000
--- a/doc/development/verifying_database_capabilities.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'database/verifying_database_capabilities.md'
-remove_date: '2022-11-06'
----
-
-This document was moved to [another location](database/verifying_database_capabilities.md).
-
-<!-- This redirect file can be deleted after <2022-11-06>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/install/installation.md b/doc/install/installation.md
index c00a959e03777403ae3c8262b093e38ebd231dfb..8e8dd4bc7a34d10bab7143a40bcdc0a0133f4657 100644
--- a/doc/install/installation.md
+++ b/doc/install/installation.md
@@ -32,7 +32,7 @@ Because an installation from source is a lot of work and error prone we strongly
 One reason the Omnibus package is more reliable is its use of runit to restart any of the GitLab processes in case one crashes.
 On heavily used GitLab instances the memory usage of the Sidekiq background worker grows over time.
 
-Omnibus packages solve this by [letting the Sidekiq terminate gracefully](../administration/operations/sidekiq_memory_killer.md) if it uses too much memory.
+Omnibus packages solve this by [letting the Sidekiq terminate gracefully](../administration/sidekiq/sidekiq_memory_killer.md) if it uses too much memory.
 After this termination runit detects Sidekiq is not running and starts it.
 Because installations from source don't use runit for process supervision, Sidekiq
 can't be terminated and its memory usage grows over time.
diff --git a/doc/operations/tracing.md b/doc/operations/tracing.md
deleted file mode 100644
index b3c0763bbbc4837992178dcb99a94b546669da4b..0000000000000000000000000000000000000000
--- a/doc/operations/tracing.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-stage: Monitor
-group: Respond
-info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
-remove_date: '2022-11-01'
-redirect_to: 'index.md'
----
-
-# Tracing (removed) **(FREE SELF)**
-
-This feature was [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/346540) in GitLab 14.7
-and [removed](https://gitlab.com/gitlab-org/gitlab/-/issues/346540) in GitLab 15.2.
-We are working on an alternative to replace tracing.
-To learn more, visit the [Observability direction page](https://about.gitlab.com/direction/monitor/observability/).
diff --git a/doc/raketasks/index.md b/doc/raketasks/index.md
index 4a157688a41abef3dcd69ff9e9d54b017ef06960..6d1a8d32adc4ab99990b31df604fda99afe577bc 100644
--- a/doc/raketasks/index.md
+++ b/doc/raketasks/index.md
@@ -39,7 +39,7 @@ The following Rake tasks are available for use with GitLab:
 | [Praefect Rake tasks](../administration/raketasks/praefect.md) | [Praefect](../administration/gitaly/praefect.md)-related tasks. |
 | [Project import/export](../administration/raketasks/project_import_export.md) | Prepare for [project exports and imports](../user/project/settings/import_export.md). |
 | [Sample Prometheus data](generate_sample_prometheus_data.md) | Generate sample Prometheus data. |
-| [Sidekiq job migration](sidekiq_job_migration.md) | Migrate Sidekiq jobs scheduled for future dates to a new queue. |
+| [Sidekiq job migration](../administration/sidekiq/sidekiq_job_migration.md) | Migrate Sidekiq jobs scheduled for future dates to a new queue. |
 | [SMTP maintenance](../administration/raketasks/smtp.md) | SMTP-related tasks. |
 | [SPDX license list import](spdx.md)                   | Import a local copy of the [SPDX license list](https://spdx.org/licenses/) for matching [License Compliance policies](../user/compliance/license_compliance/index.md). |
 | [Repository storage](../administration/raketasks/storage.md) | List and migrate existing projects and attachments from legacy storage to hashed storage. |
diff --git a/doc/raketasks/sidekiq_job_migration.md b/doc/raketasks/sidekiq_job_migration.md
deleted file mode 100644
index 45a0cbaa267901fd5372a9e9dcb8db2b8b15f844..0000000000000000000000000000000000000000
--- a/doc/raketasks/sidekiq_job_migration.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: '../administration/sidekiq/sidekiq_job_migration.md'
-remove_date: '2022-11-11'
----
-
-This document was moved to [another location](../administration/sidekiq/sidekiq_job_migration.md).
-
-<!-- This redirect file can be deleted after <2022-11-11>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/user/admin_area/monitoring/health_check.md b/doc/user/admin_area/monitoring/health_check.md
index 2939a8b0418ffbda15f3f241bfde9d808971f8b0..668d34af024ac6b592739519016bc453bd89f992 100644
--- a/doc/user/admin_area/monitoring/health_check.md
+++ b/doc/user/admin_area/monitoring/health_check.md
@@ -133,7 +133,7 @@ This check is being exempt from Rack Attack.
 
 ## Sidekiq
 
-Learn how to configure the [Sidekiq health checks](../../../administration/sidekiq_health_check.md).
+Learn how to configure the [Sidekiq health checks](../../../administration/sidekiq/sidekiq_health_check.md).
 
 <!-- ## Troubleshooting
 
diff --git a/doc/user/admin_area/settings/sidekiq_job_limits.md b/doc/user/admin_area/settings/sidekiq_job_limits.md
index 7a437d877cabebffdac4ba899a2832f248a572b2..a25bc0e85e4c25efa2fce24871fb39ac80d290a6 100644
--- a/doc/user/admin_area/settings/sidekiq_job_limits.md
+++ b/doc/user/admin_area/settings/sidekiq_job_limits.md
@@ -9,7 +9,7 @@ type: reference
 
 > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68982) in GitLab 14.3.
 
-[Sidekiq](../../../administration/sidekiq.md) jobs get stored in
+[Sidekiq](../../../administration/sidekiq/index.md) jobs get stored in
 Redis. To avoid excessive memory for Redis, we:
 
 - Compress job arguments before storing them in Redis.
diff --git a/doc/user/clusters/management_project_template.md b/doc/user/clusters/management_project_template.md
index cbe577b9b74dfad11ae1c4d646851f4bf1236fd1..a8d874ed6085979d08614a253d474cf9e84dae07 100644
--- a/doc/user/clusters/management_project_template.md
+++ b/doc/user/clusters/management_project_template.md
@@ -102,7 +102,7 @@ The [built-in supported applications](https://gitlab.com/gitlab-org/project-temp
 - [Cert-manager](../infrastructure/clusters/manage/management_project_applications/certmanager.md)
 - [GitLab Runner](../infrastructure/clusters/manage/management_project_applications/runner.md)
 - [Ingress](../infrastructure/clusters/manage/management_project_applications/ingress.md)
-- [Prometheus](../infrastructure/clusters/manage/management_project_applications/prometheus.md)
+- [Prometheus](../../operations/metrics/index.md)
 - [Vault](../infrastructure/clusters/manage/management_project_applications/vault.md)
 
 Each application has an `applications/{app}/values.yaml` file.
diff --git a/doc/user/infrastructure/clusters/manage/management_project_applications/prometheus.md b/doc/user/infrastructure/clusters/manage/management_project_applications/prometheus.md
deleted file mode 100644
index 64d325dedc678e5b82516f9e1be52317899913dc..0000000000000000000000000000000000000000
--- a/doc/user/infrastructure/clusters/manage/management_project_applications/prometheus.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: '../../../../../operations/metrics/index.md'
-remove_date: '2022-11-03'
----
-
-This document was moved to [another location](../../../../../operations/metrics/index.md).
-
-<!-- This redirect file can be deleted after <2022-11-03>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/user/infrastructure/clusters/manage/management_project_applications/sentry.md b/doc/user/infrastructure/clusters/manage/management_project_applications/sentry.md
deleted file mode 100644
index f42e9c83120aa8adaeb766e51661b4874f4af2e3..0000000000000000000000000000000000000000
--- a/doc/user/infrastructure/clusters/manage/management_project_applications/sentry.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: '../../../../../operations/error_tracking.md'
-remove_date: '2022-11-03'
----
-
-This document was moved to [another location](../../../../../operations/error_tracking.md).
-
-<!-- This redirect file can be deleted after <2022-11-03>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/user/project/merge_requests/merge_request_dependencies.md b/doc/user/project/merge_requests/merge_request_dependencies.md
deleted file mode 100644
index 6242a77e931440fa9419df0897d1e7de676b88a7..0000000000000000000000000000000000000000
--- a/doc/user/project/merge_requests/merge_request_dependencies.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'dependencies.md'
-remove_date: '2022-11-22'
----
-
-This document was moved to [another location](dependencies.md).
-
-<!-- This redirect file can be deleted after <2022-11-22>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->