diff --git a/doc/api/templates/gitlab_ci_ymls.md b/doc/api/templates/gitlab_ci_ymls.md
index 96b2247600d5914c32c7c03d5c22cb936eaa707f..25667a2e7f76394d3c5bb48388e8c43506f66e9a 100644
--- a/doc/api/templates/gitlab_ci_ymls.md
+++ b/doc/api/templates/gitlab_ci_ymls.md
@@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
 
 In GitLab, there is an API endpoint available to work with GitLab CI/CD YAML. For more
 information on CI/CD pipeline configuration in GitLab, see the
-[configuration reference documentation](../../ci/yaml/index.md).
+[CI/CD YAML syntax reference](../../ci/yaml/index.md).
 
 ## List GitLab CI YAML templates
 
diff --git a/doc/ci/debugging.md b/doc/ci/debugging.md
index 8a60b5f649e384a97ad4c70d809e2e2a8705bfe1..84715cda2f542756b3830a6db349c627901746e7 100644
--- a/doc/ci/debugging.md
+++ b/doc/ci/debugging.md
@@ -143,7 +143,7 @@ configuration into more independent [parent-child pipelines](../ci/pipelines/pip
 
 Pipeline configuration warnings are shown when you:
 
-- [Validate configuration with the CI Lint tool](yaml/index.md).
+- [Validate configuration with the CI Lint tool](lint.md).
 - [Manually run a pipeline](pipelines/index.md#run-a-pipeline-manually).
 
 ### `Job may allow multiple pipelines to run for a single action` warning
diff --git a/doc/ci/environments/index.md b/doc/ci/environments/index.md
index bc79ff0ad7aed8cf976a5ccdba1a28c84b1efc26..c9148e04bf351a98ac2a350c4f091b5d7d2fb4a5 100644
--- a/doc/ci/environments/index.md
+++ b/doc/ci/environments/index.md
@@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
 
 Environments describe where code is deployed.
 
-Each time [GitLab CI/CD](../yaml/index.md) deploys a version of code to an environment,
+Each time [GitLab CI/CD](../index.md) deploys a version of code to an environment,
 a deployment is created.
 
 GitLab:
@@ -1039,7 +1039,7 @@ deploy:
 
 Since `$ENVIRONMENT` variable does not exist in the pipeline, GitLab tries to
 create an environment with a name `production/`, which is invalid in
-[the environment name constraint](../yaml/index.md).
+[the environment name constraint](../yaml/index.md#environmentname).
 
 To fix this, use one of the following solutions:
 
diff --git a/doc/ci/examples/end_to_end_testing_webdriverio/index.md b/doc/ci/examples/end_to_end_testing_webdriverio/index.md
index 556af355b1a983145d04cc42f49ad43b496db916..8872602a027a99328a744707f521a641731a2990 100644
--- a/doc/ci/examples/end_to_end_testing_webdriverio/index.md
+++ b/doc/ci/examples/end_to_end_testing_webdriverio/index.md
@@ -144,7 +144,7 @@ new browser window interacting with your app as you specified.
 Which brings us to the exciting part: how do we run this in GitLab CI/CD? There are two things we
 need to do for this:
 
-1. Set up [CI/CD jobs](../../yaml/index.md) that actually have a browser available.
+1. Set up [CI/CD jobs](../../jobs/index.md) that actually have a browser available.
 1. Update our WebdriverIO configuration to use those browsers to visit the review apps.
 
 For the scope of this article, we've defined an additional [CI/CD stage](../../yaml/index.md#stages)
diff --git a/doc/ci/index.md b/doc/ci/index.md
index 0dcae04c47c00bed9b64dbb307fe60690d4adbf9..69a5394dfb5da27e02941d25aa953891066dc198 100644
--- a/doc/ci/index.md
+++ b/doc/ci/index.md
@@ -37,8 +37,8 @@ In the `.gitlab-ci.yml` file, you can define:
 **Get started:**
 
 - [Create your first `.gitlab-ci.yml` file](quick_start/index.md).
-- [View all the possible keywords that you can use in the `.gitlab-ci.yml` file](yaml/index.md).
-  the configuration.
+- View all the possible keywords that you can use in the `.gitlab-ci.yml` file in
+  the [CI/CD YAML syntax reference](../index.md).
 - Use the [pipeline editor](pipeline_editor/index.md) to edit or [visualize](pipeline_editor/index.md#visualize-ci-configuration)
   your CI/CD configuration.
 
diff --git a/doc/ci/jobs/index.md b/doc/ci/jobs/index.md
index f4836f93234f27f288d1fa3c32ed74652a07b29d..3cba87878215eb9ef3a791d143185440cd2fa632 100644
--- a/doc/ci/jobs/index.md
+++ b/doc/ci/jobs/index.md
@@ -134,7 +134,7 @@ jobs. Select to expand them.
 
 ![Grouped pipelines](img/pipeline_grouped_jobs_v14_2.png)
 
-To create a group of jobs, in the [CI/CD pipeline configuration file](../yaml/index.md),
+To create a group of jobs, in the [`.gitlab-ci.yml` file](../index.md#the-gitlab-ciyml-file),
 separate each job name with a number and one of the following:
 
 - A slash (`/`), for example, `slash-test 1/3`, `slash-test 2/3`, `slash-test 3/3`.
diff --git a/doc/ci/migration/bamboo.md b/doc/ci/migration/bamboo.md
index ea9dd666176e785ecfde8d3a1cc9138dac46f715..b2594e7571ee49b131f4e17c64da176d347fd4db 100644
--- a/doc/ci/migration/bamboo.md
+++ b/doc/ci/migration/bamboo.md
@@ -14,7 +14,7 @@ exported from the Bamboo UI or stored in Spec repositories.
 
 If you are new to GitLab CI/CD, use the [Getting started guide](../index.md) to learn
 the basic concepts and how to create your first [`.gitlab-ci.yml` file](../quick_start/index.md).
-If you already have some experience using GitLab CI/CD, you can review [keywords reference documentation](../yaml/index.md)
+If you already have some experience using GitLab CI/CD, you can review [CI/CD YAML syntax reference](../yaml/index.md)
 to see the full list of available keywords.
 
 You can also take a look at [Auto DevOps](../../topics/autodevops/index.md), which automatically
@@ -77,7 +77,7 @@ Bamboo Specs can also be [repository-stored](https://confluence.atlassian.com/ba
 
 #### `.gitlab-ci.yml` configuration file
 
-GitLab, by default, uses a [`.gitlab-ci.yml` file](../yaml/index.md) for CI/CD configuration.
+GitLab, by default, uses a [`.gitlab-ci.yml` file](../index.md#the-gitlab-ciyml-file) for CI/CD configuration.
 Alternatively, [Auto DevOps](../../topics/autodevops/index.md) can automatically build,
 test, and deploy your application without a manually configured `.gitlab-ci.yml` file.
 
@@ -754,7 +754,7 @@ Before doing any migration work, you should first:
    - Follow tutorials to create [your first GitLab pipeline](../quick_start/index.md)
      and [more complex pipelines](../quick_start/tutorial.md) that build, test, and deploy
      a static site.
-   - Review the [`.gitlab-ci.yml` keyword reference](../yaml/index.md).
+   - Review the [CI/CD YAML syntax reference](../yaml/index.md).
 1. Set up and configure GitLab.
 1. Test your GitLab instance.
    - Ensure [runners](../runners/index.md) are available, either by using shared GitLab.com runners or installing new runners.
diff --git a/doc/ci/migration/github_actions.md b/doc/ci/migration/github_actions.md
index ec55f129c1e638f29326416b45aa7052fe7984b4..6afb6cebbff2bdde1323a6e99759a4efe6ce9404 100644
--- a/doc/ci/migration/github_actions.md
+++ b/doc/ci/migration/github_actions.md
@@ -672,7 +672,7 @@ Before doing any migration work, you should first:
 1. Get familiar with GitLab.
    - Read about the [key GitLab CI/CD features](../../ci/index.md).
    - Follow tutorials to create [your first GitLab pipeline](../quick_start/index.md) and [more complex pipelines](../quick_start/tutorial.md) that build, test, and deploys a static site.
-   - Review the [`.gitlab-ci.yml` keyword reference](../yaml/index.md).
+   - Review the [CI/CD YAML syntax reference](../yaml/index.md).
 1. Set up and configure GitLab.
 1. Test your GitLab instance.
    - Ensure [runners](../runners/index.md) are available, either by using shared GitLab.com runners or installing new runners.
diff --git a/doc/ci/migration/jenkins.md b/doc/ci/migration/jenkins.md
index f430b1ac7b9e3fe9dafb47e7a9a3a3ecc8364fa7..961799b9564f21ff6bca6f26d526ebd652a8a756 100644
--- a/doc/ci/migration/jenkins.md
+++ b/doc/ci/migration/jenkins.md
@@ -699,7 +699,7 @@ Before doing any migration work, you should first:
 1. Get familiar with GitLab.
    - Read about the [key GitLab CI/CD features](../../ci/index.md).
    - Follow tutorials to create [your first GitLab pipeline](../quick_start/index.md) and [more complex pipelines](../quick_start/tutorial.md) that build, test, and deploys a static site.
-   - Review the [`.gitlab-ci.yml` keyword reference](../yaml/index.md).
+   - Review the [CI/CD YAML syntax reference](../yaml/index.md).
 1. Set up and configure GitLab.
 1. Test your GitLab instance.
    - Ensure [runners](../runners/index.md) are available, either by using shared GitLab.com runners or installing new runners.
diff --git a/doc/ci/pipelines/index.md b/doc/ci/pipelines/index.md
index 957e0e0de27c08e01ae6a89ab8308387c347dd0b..0a4f4c3762b2ce09266bafd6ab4505b3d5568fff 100644
--- a/doc/ci/pipelines/index.md
+++ b/doc/ci/pipelines/index.md
@@ -67,7 +67,7 @@ Pipelines and their component jobs and stages are defined in the CI/CD pipeline
 - [Jobs](../jobs/index.md) are the basic configuration component.
 - Stages are defined by using the [`stages`](../yaml/index.md#stages) keyword.
 
-For a list of configuration options in the CI pipeline file, see the [GitLab CI/CD Pipeline Configuration Reference](../yaml/index.md).
+For a list of configuration options in the CI pipeline file, see the [CI/CD YAML syntax reference](../yaml/index.md).
 
 You can also configure specific aspects of your pipelines through the GitLab UI. For example:
 
diff --git a/doc/ci/pipelines/merge_request_pipelines.md b/doc/ci/pipelines/merge_request_pipelines.md
index 0de55d2a4886861c2ca7a2a78dd4e3bee26f9729..25358ecd602ec7c7dd05b82cd47c9bd1dc534abc 100644
--- a/doc/ci/pipelines/merge_request_pipelines.md
+++ b/doc/ci/pipelines/merge_request_pipelines.md
@@ -58,7 +58,7 @@ The three types of merge request pipelines are:
 
 To use merge request pipelines:
 
-- Your project's [CI/CD configuration file](../yaml/index.md) must be configured with
+- Your project's [`.gitlab-ci.yml` file](../index.md#the-gitlab-ciyml-file) must be configured with
   jobs that run in merge request pipelines. To do this, you can use:
   - [`rules`](#use-rules-to-add-jobs).
   - [`only/except`](#use-only-to-add-jobs).
@@ -160,7 +160,7 @@ GitLab shows a warning that you must accept before the pipeline runs. Otherwise,
 
 Prerequisites:
 
-- The parent project's [CI/CD configuration file](../yaml/index.md) must be configured to
+- The parent project's [`.gitlab-ci.yml` file](../index.md#the-gitlab-ciyml-file) must be configured to
   [run jobs in merge request pipelines](#prerequisites).
 - You must be a member of the parent project with [permissions to run CI/CD pipelines](../../user/permissions.md#gitlab-cicd-permissions).
   You might need additional permissions if the branch is protected.
diff --git a/doc/ci/pipelines/merged_results_pipelines.md b/doc/ci/pipelines/merged_results_pipelines.md
index 213a07f49c48f02e854e62a8e726fdfbcb44d1f2..691de7c3f3c8c5d288b8bbb6c17c91b30e3f561d 100644
--- a/doc/ci/pipelines/merged_results_pipelines.md
+++ b/doc/ci/pipelines/merged_results_pipelines.md
@@ -28,7 +28,7 @@ and [is labeled as `merge request`](merge_request_pipelines.md#types-of-merge-re
 
 To use merged results pipelines:
 
-- Your project's [CI/CD configuration file](../yaml/index.md) must be configured to
+- Your project's [`.gitlab-ci.yml` file](../index.md#the-gitlab-ciyml-file) must be configured to
   [run jobs in merge request pipelines](merge_request_pipelines.md#prerequisites).
 - Your repository must be a GitLab repository, not an
   [external repository](../ci_cd_for_external_repos/index.md).
diff --git a/doc/ci/pipelines/schedules.md b/doc/ci/pipelines/schedules.md
index f83868952f553bb7be819e1543ef7adc8d8a6b8a..9ea635792f3ec6b139f7c9dcd7ea0693f96e830d 100644
--- a/doc/ci/pipelines/schedules.md
+++ b/doc/ci/pipelines/schedules.md
@@ -15,7 +15,7 @@ For a scheduled pipeline to run:
 - The schedule owner must have the Developer role. For pipelines on protected branches,
   the schedule owner must be [allowed to merge](../../user/project/protected_branches.md#add-protection-to-existing-branches)
   to the branch.
-- The [CI/CD configuration](../yaml/index.md) must be valid.
+- The [`.gitlab-ci.yml` file](../index.md#the-gitlab-ciyml-file) must have valid syntax.
 
 Otherwise, the pipeline is not created. No error message is displayed.
 
diff --git a/doc/ci/quick_start/index.md b/doc/ci/quick_start/index.md
index 3da4e5ad023846025a010f8b9c9367c362df3c2e..0dc07a36ef5230e0580229135d83d8335da4b302 100644
--- a/doc/ci/quick_start/index.md
+++ b/doc/ci/quick_start/index.md
@@ -136,7 +136,7 @@ Now you can get started customizing your `.gitlab-ci.yml` and defining more adva
 
 Here are some tips to get started working with the `.gitlab-ci.yml` file.
 
-For the complete `.gitlab-ci.yml` syntax, see [the full `.gitlab-ci.yml` keyword reference](../yaml/index.md).
+For the complete `.gitlab-ci.yml` syntax, see the full [CI/CD YAML syntax reference](../yaml/index.md).
 
 - Use the [pipeline editor](../pipeline_editor/index.md) to edit your `.gitlab-ci.yml` file.
 - Each job contains a script section and belongs to a stage:
diff --git a/doc/ci/quick_start/tutorial.md b/doc/ci/quick_start/tutorial.md
index 413eb0f16eeebe835a4dda914c5bef68fcdf9b85..bb766436379a8326aad901c408e1ea801ea392da 100644
--- a/doc/ci/quick_start/tutorial.md
+++ b/doc/ci/quick_start/tutorial.md
@@ -502,5 +502,5 @@ Use a merge request to commit this pipeline configuration to the default branch.
 The file is simpler, but it should have the same behavior as the previous step.
 
 You've just created a full pipeline and streamlined it to be more efficient. Nice work!
-Now you can take this knowledge, learn about [the rest of the `.gitlab-ci.yml` keywords](../yaml/index.md),
-and build your own pipelines.
+Now you can take this knowledge, learn about the rest of the `.gitlab-ci.yml` keywords
+in the [CI/CD YAML syntax reference](../yaml/index.md), and build your own pipelines.
diff --git a/doc/ci/testing/test_coverage_visualization.md b/doc/ci/testing/test_coverage_visualization.md
index ff55f37e1ff58d326adc792f32ee011f16fd0c2b..ecd5c794344b9db34d275354ad09f83b29b3a19c 100644
--- a/doc/ci/testing/test_coverage_visualization.md
+++ b/doc/ci/testing/test_coverage_visualization.md
@@ -178,7 +178,7 @@ the [`coverage-report`](https://gitlab.com/gitlab-org/ci-sample-projects/coverag
 
 ### JavaScript example
 
-The following [`.gitlab-ci.yml`](../yaml/index.md) example uses [Mocha](https://mochajs.org/)
+The following `.gitlab-ci.yml` example uses [Mocha](https://mochajs.org/)
 JavaScript testing and [nyc](https://github.com/istanbuljs/nyc) coverage-tooling to
 generate the coverage artifact:
 
@@ -198,7 +198,7 @@ test:
 
 #### Maven example
 
-The following [`.gitlab-ci.yml`](../yaml/index.md) example for Java or Kotlin uses [Maven](https://maven.apache.org/)
+The following `.gitlab-ci.yml` example for Java or Kotlin uses [Maven](https://maven.apache.org/)
 to build the project and [JaCoCo](https://www.eclemma.org/jacoco/) coverage-tooling to
 generate the coverage artifact.
 You can check the [Docker image configuration and scripts](https://gitlab.com/haynes/jacoco2cobertura) if you want to build your own image.
@@ -236,7 +236,7 @@ coverage-jdk11:
 
 #### Gradle example
 
-The following [`.gitlab-ci.yml`](../yaml/index.md) example for Java or Kotlin uses [Gradle](https://gradle.org/)
+The following `.gitlab-ci.yml` example for Java or Kotlin uses [Gradle](https://gradle.org/)
 to build the project and [JaCoCo](https://www.eclemma.org/jacoco/) coverage-tooling to
 generate the coverage artifact.
 You can check the [Docker image configuration and scripts](https://gitlab.com/haynes/jacoco2cobertura) if you want to build your own image.
@@ -274,7 +274,7 @@ coverage-jdk11:
 
 ### Python example
 
-The following [`.gitlab-ci.yml`](../yaml/index.md) example uses [pytest-cov](https://pytest-cov.readthedocs.io/) to collect test coverage data:
+The following `.gitlab-ci.yml` example uses [pytest-cov](https://pytest-cov.readthedocs.io/) to collect test coverage data:
 
 ```yaml
 run tests:
@@ -293,7 +293,7 @@ run tests:
 
 ### PHP example
 
-The following [`.gitlab-ci.yml`](../yaml/index.md) example for PHP uses [PHPUnit](https://phpunit.readthedocs.io/)
+The following `.gitlab-ci.yml` example for PHP uses [PHPUnit](https://phpunit.readthedocs.io/)
 to collect test coverage data and generate the report.
 
 With a minimal [`phpunit.xml`](https://docs.phpunit.de/en/10.2/configuration.html) file (you may reference
@@ -331,7 +331,7 @@ to find Cobertura in the appropriate path.
 
 ### C/C++ example
 
-The following [`.gitlab-ci.yml`](../yaml/index.md) example for C/C++ with
+The following `.gitlab-ci.yml` example for C/C++ with
 `gcc` or `g++` as the compiler uses [`gcovr`](https://gcovr.com/en/stable/) to generate the coverage
 output file in Cobertura XML format.
 
@@ -362,7 +362,7 @@ run tests:
 
 ### Go example
 
-The following [`.gitlab-ci.yml`](../yaml/index.md) example for Go uses:
+The following `.gitlab-ci.yml` example for Go uses:
 
 - [`go test`](https://go.dev/doc/tutorial/add-a-test) to run tests.
 - [`gocover-cobertura`](https://github.com/boumenot/gocover-cobertura) to convert Go's coverage profile into the Cobertura XML format.
@@ -391,7 +391,7 @@ run tests:
 
 ### Ruby example
 
-The following [`.gitlab-ci.yml`](../yaml/index.md) example for Ruby uses
+The following `.gitlab-ci.yml` example for Ruby uses
 
 - [`rspec`](https://rspec.info/) to run tests.
 - [`simplecov`](https://github.com/simplecov-ruby/simplecov) and [`simplecov-cobertura`](https://github.com/dashingrocket/simplecov-cobertura)
diff --git a/doc/ci/variables/index.md b/doc/ci/variables/index.md
index f42ffc0020dcd47667a840988aee90004a0d8726..8e8f9367c08a6e7bc2e58b4fc43abfbef88ad342 100644
--- a/doc/ci/variables/index.md
+++ b/doc/ci/variables/index.md
@@ -147,7 +147,7 @@ To add or update variables in the project settings:
      in job logs. The variable fails to save if the value does not meet the
      [masking requirements](#mask-a-cicd-variable).
 
-After you create a variable, you can use it in the [`.gitlab-ci.yml` configuration](../yaml/index.md)
+After you create a variable, you can use it in the pipeline configuration
 or in [job scripts](#use-cicd-variables-in-job-scripts).
 
 ### For a group
diff --git a/doc/ci/variables/where_variables_can_be_used.md b/doc/ci/variables/where_variables_can_be_used.md
index bddb0947fac880176d9aa7fc29d55bd8c708c8ba..3db59423c628a50c4d3690f435f5629dad59608e 100644
--- a/doc/ci/variables/where_variables_can_be_used.md
+++ b/doc/ci/variables/where_variables_can_be_used.md
@@ -16,7 +16,7 @@ This document describes where and how the different types of variables can be us
 
 There are two places defined variables can be used. On the:
 
-1. GitLab side, in the [`.gitlab-ci.yml` file](../yaml/index.md).
+1. GitLab side, in the [`.gitlab-ci.yml` file](../index.md#the-gitlab-ciyml-file).
 1. The GitLab Runner side, in `config.toml`.
 
 ### `.gitlab-ci.yml` file
diff --git a/doc/development/auto_devops.md b/doc/development/auto_devops.md
index d5a011e7e55dc308e996519222095aa1305d7535..94dbcea514bbd3804464153147e97f4e0f1e05be 100644
--- a/doc/development/auto_devops.md
+++ b/doc/development/auto_devops.md
@@ -18,7 +18,7 @@ is also available on YouTube.
 Auto DevOps builds on top of GitLab CI/CD to create an automatic pipeline
 based on your project contents. When Auto DevOps is enabled for a
 project, the user does not need to explicitly include any pipeline configuration
-through a [`.gitlab-ci.yml` file](../ci/yaml/index.md).
+through a [`.gitlab-ci.yml` file](../ci/index.md#the-gitlab-ciyml-file).
 
 In the absence of a `.gitlab-ci.yml` file, the
 [Auto DevOps CI/CD template](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Auto-DevOps.gitlab-ci.yml)
diff --git a/doc/development/cicd/cicd_reference_documentation_guide.md b/doc/development/cicd/cicd_reference_documentation_guide.md
index ccd952f586c47c720e795d6ea75e3f148c9e09f8..3832ba182b66460e2f3aeeab44a5b8a18cb273d1 100644
--- a/doc/development/cicd/cicd_reference_documentation_guide.md
+++ b/doc/development/cicd/cicd_reference_documentation_guide.md
@@ -6,7 +6,7 @@ info: Any user with at least the Maintainer role can merge updates to this conte
 
 # Documenting the `.gitlab-ci.yml` keywords
 
-The [CI/CD YAML reference](../../ci/yaml/index.md) uses a standard style to make it easier to use and update.
+The [CI/CD YAML syntax reference](../../ci/yaml/index.md) uses a standard style to make it easier to use and update.
 
 The reference information should be kept as simple as possible, and expanded details
 and examples should be documented on other pages.
diff --git a/doc/development/cicd/index.md b/doc/development/cicd/index.md
index 693ef6817eed704201a7b566f4a1473c795ef4c4..a8dfdeb30a35d5dfd1d1a6ba86581ed8d907f6d9 100644
--- a/doc/development/cicd/index.md
+++ b/doc/development/cicd/index.md
@@ -14,7 +14,7 @@ Development guides that are specific to CI/CD are listed here:
   - [The CI schema guide](schema.md)
 
 See the [CI/CD YAML reference documentation guide](cicd_reference_documentation_guide.md)
-to learn how to update the [reference page](../../ci/yaml/index.md).
+to learn how to update the [CI/CD YAML syntax reference page](../../ci/yaml/index.md).
 
 ## Examples of CI/CD usage
 
diff --git a/doc/development/cicd/schema.md b/doc/development/cicd/schema.md
index e9a0b93b5f371eba92e635ac13b6c8249e8184d9..c24b7d21286c5c6b63629a5d7489d29c8f824cd5 100644
--- a/doc/development/cicd/schema.md
+++ b/doc/development/cicd/schema.md
@@ -30,7 +30,7 @@ a step-by-step introduction on how to work with JSON schemas.
 
 The CI/CD schema is at [`app/assets/javascripts/editor/schema/ci.json`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/assets/javascripts/editor/schema/ci.json).
 It contains all the keywords available for authoring CI/CD configuration files.
-Check the [keyword reference](../../ci/yaml/index.md) for a comprehensive list of
+Check the [CI/CD YAML syntax reference](../../ci/yaml/index.md) for a comprehensive list of
 all available keywords.
 
 All keywords are defined under `definitions`. We use these definitions as
diff --git a/doc/development/integrations/secure.md b/doc/development/integrations/secure.md
index 34866a6c2d0452477fae1beec4c6f11e0a2d26ef..66244c2d05378baaff725fd02487fa0415dda64c 100644
--- a/doc/development/integrations/secure.md
+++ b/doc/development/integrations/secure.md
@@ -7,16 +7,16 @@ info: Any user with at least the Maintainer role can merge updates to this conte
 # Security scanner integration
 
 Integrating a security scanner into GitLab consists of providing end users
-with a [CI job definition](../../ci/yaml/index.md)
-they can add to their CI configuration files to scan their GitLab projects.
-This CI job should then output its results in a GitLab-specified format. These results are then
+with a [CI/CD job definition](../../ci/jobs/index.md)
+they can add to their CI/CD configuration files to scan their GitLab projects.
+This job should then output its results in a GitLab-specified format. These results are then
 automatically presented in various places in GitLab, such as the Pipeline view, merge request
 widget, and Security Dashboard.
 
 The scanning job is usually based on a [Docker image](https://docs.docker.com/)
 that contains the scanner and all its dependencies in a self-contained environment.
 
-This page documents requirements and guidelines for writing CI jobs that implement a security
+This page documents requirements and guidelines for writing CI/CD jobs that implement a security
 scanner, as well as requirements and guidelines for the Docker image.
 
 ## Job definition
diff --git a/doc/development/pipelines/index.md b/doc/development/pipelines/index.md
index 5ed15213e3e26238d2af8d9599810701e4ad8c7a..91f4ae702acba095b2b591dac77f3fd37a92dc65 100644
--- a/doc/development/pipelines/index.md
+++ b/doc/development/pipelines/index.md
@@ -13,7 +13,7 @@ which itself includes files under
 for easier maintenance.
 
 We're striving to [dogfood](https://about.gitlab.com/handbook/engineering/development/principles/#dogfooding)
-GitLab [CI/CD features and best-practices](../../ci/yaml/index.md)
+GitLab [CI/CD features and best-practices](../../ci/index.md)
 as much as possible.
 
 ## Predictive test jobs before a merge request is approved
diff --git a/doc/topics/autodevops/customize.md b/doc/topics/autodevops/customize.md
index dc7bc225e3942b86e92ffb61ebe7bc7a3355ad92..05535d233e022a207ae2785a67f5b4032a901fa9 100644
--- a/doc/topics/autodevops/customize.md
+++ b/doc/topics/autodevops/customize.md
@@ -253,7 +253,7 @@ For more information, see [Limit the environment scope of CI/CD variables](../..
 ## Customize `.gitlab-ci.yml`
 
 Auto DevOps is highly customizable because the [Auto DevOps template](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Auto-DevOps.gitlab-ci.yml)
-is an implementation of a [`.gitlab-ci.yml`](../../ci/yaml/index.md) file.
+is an implementation of a [`.gitlab-ci.yml` file](../../ci/index.md#the-gitlab-ciyml-file).
 The template uses only features available to any implementation of `.gitlab-ci.yml`.
 
 To add custom behaviors to the CI/CD pipeline used by Auto DevOps:
diff --git a/doc/topics/autodevops/index.md b/doc/topics/autodevops/index.md
index 0413ec32283d5e3472c9daa254b07d3175d689e3..58203997698aa788af70be4006bb144a846c5f44 100644
--- a/doc/topics/autodevops/index.md
+++ b/doc/topics/autodevops/index.md
@@ -174,7 +174,7 @@ When enabled, Auto DevOps attempts to run pipelines in every project. If the
 pipeline fails in a particular project, it disables itself.
 GitLab administrators can change this in the [Auto DevOps settings](../../administration/settings/continuous_integration.md#auto-devops).
 
-If a [CI/CD configuration file](../../ci/yaml/index.md) is present,
+If a [`.gitlab-ci.yml` file](../../ci/index.md#the-gitlab-ciyml-file) is present,
 it remains unchanged and Auto DevOps does not affect it.
 
 To disable Auto DevOps in the instance level, follow the same process
diff --git a/doc/user/clusters/management_project.md b/doc/user/clusters/management_project.md
index 391541d98afd01dad2ac24d17e619503f64ad2c4..2c748712fe5fcebe7cfe91b20f395f65ccf76b62 100644
--- a/doc/user/clusters/management_project.md
+++ b/doc/user/clusters/management_project.md
@@ -71,7 +71,7 @@ To associate a cluster management project with your cluster:
 ### Configuring your pipeline
 
 After designating a project as the management project for the cluster,
-write a [`.gitlab-ci.yml`](../../ci/yaml/index.md) in that project. For example:
+add a [`.gitlab-ci.yml` file](../../ci/index.md#the-gitlab-ciyml-file) in that project. For example:
 
 ```yaml
 configure cluster:
@@ -99,7 +99,7 @@ to a management project:
 | Production  | `production`      |
 
 The environments set in the
-[`.gitlab-ci.yml`](../../ci/yaml/index.md) file deploy to the Development, Staging, and Production cluster.
+[`.gitlab-ci.yml` file](../../ci/index.md#the-gitlab-ciyml-file) deploy to the Development, Staging, and Production cluster.
 
 ```yaml
 stages:
diff --git a/doc/user/group/clusters/index.md b/doc/user/group/clusters/index.md
index ded99f7c936c06ed5fef364423b371b4124d5a4f..bbd53c093529003a7cbfb9dfa3cb9b341ff7ea5a 100644
--- a/doc/user/group/clusters/index.md
+++ b/doc/user/group/clusters/index.md
@@ -129,7 +129,7 @@ For example, if your project has the following Kubernetes clusters:
 | Test       | `test`              | Group     |
 | Development| `*`                 | Group     |
 
-And the following environments are set in [`.gitlab-ci.yml`](../../../ci/yaml/index.md):
+And the following environments are set in the [`.gitlab-ci.yml` file](../../../ci/index.md#the-gitlab-ciyml-file):
 
 ```yaml
 stages:
diff --git a/doc/user/group/value_stream_analytics/index.md b/doc/user/group/value_stream_analytics/index.md
index af391de7bcb5e41f8c4be739a36467884585d3b1..7e077c7065cac432692cb942cf759c98b920b490 100644
--- a/doc/user/group/value_stream_analytics/index.md
+++ b/doc/user/group/value_stream_analytics/index.md
@@ -166,7 +166,7 @@ In this example, milestones have been created and CI/CD for testing and setting
 - 14:00: Push branch and create a merge request that contains the
   [issue closing pattern](../../project/issues/managing_issues.md#closing-issues-automatically).
   **Code** stage stops and **Test** and **Review** stages start.
-- GitLab CI/CD takes 5 minutes to run scripts defined in [`.gitlab-ci.yml`](../../../ci/yaml/index.md).
+- GitLab CI/CD takes 5 minutes to run scripts defined in the [`.gitlab-ci.yml` file](../../../ci/index.md#the-gitlab-ciyml-file).
 - 19:00: Merge the merge request. **Review** stage stops and **Staging** stage starts.
 - 19:30: Deployment to the `production` environment finishes. **Staging** stops.
 
diff --git a/doc/user/packages/container_registry/build_and_push_images.md b/doc/user/packages/container_registry/build_and_push_images.md
index 680aab42544e691315d0382a2316d0900509abd8..7187f5ef1e9da932f0be8bf0e056e8a9a0741738 100644
--- a/doc/user/packages/container_registry/build_and_push_images.md
+++ b/doc/user/packages/container_registry/build_and_push_images.md
@@ -46,7 +46,7 @@ You can configure your `.gitlab-ci.yml` file to build and push container images
 
 ## Use GitLab CI/CD
 
-You can use [GitLab CI/CD](../../../ci/yaml/index.md) to build and push container images to the
+You can use [GitLab CI/CD](../../../ci/index.md) to build and push container images to the
 Container Registry. You can use CI/CD to test, build, and deploy your project from the container
 image you created.
 
diff --git a/doc/user/packages/terraform_module_registry/index.md b/doc/user/packages/terraform_module_registry/index.md
index fdc832570c027030246d1fc0ec03241237c41b6a..b4a0597bf60c327997888aa85aa5c6a7ba998c78 100644
--- a/doc/user/packages/terraform_module_registry/index.md
+++ b/doc/user/packages/terraform_module_registry/index.md
@@ -155,7 +155,7 @@ upload:
 ```
 
 To trigger this upload job, add a Git tag to your commit. Ensure the tag follows the [Semantic versioning specification](https://semver.org/) that Terraform requires. The `rules:if: $CI_COMMIT_TAG` ensures that only tagged commits to your repository trigger the module upload job.
-For other ways to control jobs in your CI/CD pipeline, refer to the [`.gitlab-ci.yml`](../../../ci/yaml/index.md) keyword reference.
+For other ways to control jobs in your CI/CD pipeline, refer to the [CI/CD YAML syntax reference](../../../ci/yaml/index.md).
 
 ### Allow duplicate Terraform modules
 
diff --git a/doc/user/project/clusters/multiple_kubernetes_clusters.md b/doc/user/project/clusters/multiple_kubernetes_clusters.md
index 4fb6ecb133683477b8f26a1317862fa3b4fe8582..9e96438393e073ff4e6a14068f1cb3c531bac4cc 100644
--- a/doc/user/project/clusters/multiple_kubernetes_clusters.md
+++ b/doc/user/project/clusters/multiple_kubernetes_clusters.md
@@ -40,8 +40,8 @@ For example, let's say the following Kubernetes clusters exist in a project:
 | Development | `*`               |
 | Production  | `production`      |
 
-And the following environments are set in
-[`.gitlab-ci.yml`](../../../ci/yaml/index.md):
+And the following environments are set in the
+[`.gitlab-ci.yml` file](../../../ci/index.md#the-gitlab-ciyml-file):
 
 ```yaml
 stages:
diff --git a/doc/user/project/pages/getting_started/pages_from_scratch.md b/doc/user/project/pages/getting_started/pages_from_scratch.md
index 0695cc20ccda3e5cd754c2dcaa0b300f85354c08..73583eefddae7b7ffd35a8f33695b8b6d98c8c7f 100644
--- a/doc/user/project/pages/getting_started/pages_from_scratch.md
+++ b/doc/user/project/pages/getting_started/pages_from_scratch.md
@@ -185,7 +185,7 @@ GitLab Pages daemon. GitLab runs it in the background and doesn't use a runner.
 ## Other options for your CI/CD file
 
 If you want to do more advanced tasks, you can update your `.gitlab-ci.yml` file
-with [any of the available settings](../../../../ci/yaml/index.md). You can validate
+with [other CI/CD YAML keywords](../../../../ci/yaml/index.md). You can validate
 your `.gitlab-ci.yml` file with the [CI Lint](../../../../ci/lint.md) tool that's included with GitLab.
 
 The following topics show other examples of other options you can add to your CI/CD file.