diff --git a/cli/CHANGELOG.md b/cli/CHANGELOG.md
index b6d31d87bd05..ab51258c81b4 100644
--- a/cli/CHANGELOG.md
+++ b/cli/CHANGELOG.md
@@ -1,7 +1,7 @@
 <!-- See the ../guides/writing-the-cypress-changelog.md for details on writing the changelog. -->
 ## 13.6.3
 
-_Released 1/2/2024 (PENDING)_
+_Released 1/16/2024 (PENDING)_
 
 **Bugfixes:**
 
@@ -12,9 +12,12 @@ _Released 1/2/2024 (PENDING)_
 
 **Dependency Updates:**
 
+- Remove dependency on `@types/node` package. Addresses [#28473](https://github.com/cypress-io/cypress/issues/28473).
 - Updated  `@cypress/unique-selector` to include a performance optimization. It's possible this could improve performance of the selector playground. Addressed in [#28571](https://github.com/cypress-io/cypress/pull/28571).
 
-- Remove dependency on `@types/node` package. Addresses [#28473](https://github.com/cypress-io/cypress/issues/28473).
+**Misc:**
+
+- Updated some documentation links to go through on.cypress.io. Addressed in [#28623](https://github.com/cypress-io/cypress/pull/28623).
 
 ## 13.6.2
 
diff --git a/cli/types/cypress.d.ts b/cli/types/cypress.d.ts
index d4bfbf370346..cbf91d0cf250 100644
--- a/cli/types/cypress.d.ts
+++ b/cli/types/cypress.d.ts
@@ -2637,7 +2637,7 @@ declare namespace Cypress {
      * Time to wait (ms)
      *
      * @default defaultCommandTimeout
-     * @see https://docs.cypress.io/guides/references/configuration.html#Timeouts
+     * @see https://on.cypress.io/configuration#Timeouts
      */
     timeout: number
   }
@@ -2662,21 +2662,21 @@ declare namespace Cypress {
      * Time to wait for the request (ms)
      *
      * @default {@link Timeoutable#timeout}
-     * @see https://docs.cypress.io/guides/references/configuration.html#Timeouts
+     * @see https://on.cypress.io/configuration#Timeouts
      */
     requestTimeout: number
     /**
      * Time to wait for the response (ms)
      *
      * @default {@link Timeoutable#timeout}
-     * @see https://docs.cypress.io/guides/references/configuration.html#Timeouts
+     * @see https://on.cypress.io/configuration#Timeouts
      */
     responseTimeout: number
   }
 
   /**
    * Options to force an event, skipping Actionability check
-   * @see https://docs.cypress.io/guides/core-concepts/interacting-with-elements.html#Actionability
+   * @see https://on.cypress.io/interacting-with-elements#Actionability
    */
   interface Forceable {
     /**
@@ -2693,7 +2693,7 @@ declare namespace Cypress {
 
   /**
    * Options to affect Actionability checks
-   * @see https://docs.cypress.io/guides/core-concepts/interacting-with-elements.html#Actionability
+   * @see https://on.cypress.io/interacting-with-elements#Actionability
    */
   interface ActionableOptions extends Forceable {
     /**
@@ -2882,7 +2882,7 @@ declare namespace Cypress {
      */
     baseUrl: string | null
     /**
-     * Any values to be set as [environment variables](https://docs.cypress.io/guides/guides/environment-variables.html)
+     * Any values to be set as [environment variables](https://on.cypress.io/environment-variables)
      * @default {}
      */
     env: { [key: string]: any }
@@ -2902,7 +2902,7 @@ declare namespace Cypress {
      */
     port: number | null
     /**
-     * The [reporter](https://docs.cypress.io/guides/guides/reporters.html) used when running headlessly or in CI
+     * The [reporter](https://on.cypress.io/reporters) used when running headlessly or in CI
      * @default "spec"
      */
     reporter: string
diff --git a/npm/webpack-dev-server/src/helpers/angularHandler.ts b/npm/webpack-dev-server/src/helpers/angularHandler.ts
index 59d9e2ff0e4d..707fb65c3dc1 100644
--- a/npm/webpack-dev-server/src/helpers/angularHandler.ts
+++ b/npm/webpack-dev-server/src/helpers/angularHandler.ts
@@ -47,7 +47,7 @@ export async function getProjectConfig (projectRoot: string): Promise<Cypress.An
     defaultProject = Object.keys(angularJson.projects).find((name) => angularJson.projects[name].projectType === 'application')
 
     if (!defaultProject) {
-      throw new Error('Could not find a project with projectType "application" in "angular.json". Visit https://docs.cypress.io/guides/references/configuration#Options-API to see how to pass in a custom project configuration')
+      throw new Error('Could not find a project with projectType "application" in "angular.json". Visit https://on.cypress.io/configuration to see how to pass in a custom project configuration')
     }
   }
 
diff --git a/packages/errors/__snapshot-html__/SETUP_NODE_EVENTS_INVALID_EVENT_NAME_ERROR.html b/packages/errors/__snapshot-html__/SETUP_NODE_EVENTS_INVALID_EVENT_NAME_ERROR.html
index 284c36e08129..26b36df02fd9 100644
--- a/packages/errors/__snapshot-html__/SETUP_NODE_EVENTS_INVALID_EVENT_NAME_ERROR.html
+++ b/packages/errors/__snapshot-html__/SETUP_NODE_EVENTS_INVALID_EVENT_NAME_ERROR.html
@@ -46,7 +46,7 @@
 <span style="color:#e05561"><span style="color:#4f5666"> - <span style="color:#e05561"><span style="color:#4ec4ff">bar<span style="color:#e05561"><span style="color:#e6e6e6">
 <span style="color:#e05561"><span style="color:#4f5666"> - <span style="color:#e05561"><span style="color:#4ec4ff">baz<span style="color:#e05561"><span style="color:#e6e6e6">
 <span style="color:#e05561"><span style="color:#e6e6e6">
-<span style="color:#e05561">Learn more at https://docs.cypress.io/api/plugins/writing-a-plugin#config<span style="color:#e6e6e6">
+<span style="color:#e05561">Learn more at https://on.cypress.io/writing-a-plugin#config<span style="color:#e6e6e6">
 <span style="color:#c062de"><span style="color:#e6e6e6">
 <span style="color:#c062de">Error: fail whale<span style="color:#e6e6e6">
 <span style="color:#c062de">    at makeErr (cypress/packages/errors/test/unit/visualSnapshotErrors_spec.ts)<span style="color:#e6e6e6">
diff --git a/packages/errors/src/errors.ts b/packages/errors/src/errors.ts
index 0a53db056265..6e271024f27d 100644
--- a/packages/errors/src/errors.ts
+++ b/packages/errors/src/errors.ts
@@ -753,7 +753,7 @@ export const AllCypressErrors = {
 
       ${fmt.listItems(validEventNames)}
 
-      Learn more at https://docs.cypress.io/api/plugins/writing-a-plugin#config
+      Learn more at https://on.cypress.io/writing-a-plugin#config
 
       ${fmt.stackTrace(err)}
     `
diff --git a/packages/frontend-shared/src/locales/en-US.json b/packages/frontend-shared/src/locales/en-US.json
index 1478b4bb8e35..7b57e47d4290 100644
--- a/packages/frontend-shared/src/locales/en-US.json
+++ b/packages/frontend-shared/src/locales/en-US.json
@@ -395,7 +395,7 @@
       "docsButton": {
         "configGuide": {
           "text": "Configuration guide",
-          "link": "https://docs.cypress.io/guides/references/configuration"
+          "link": "https://on.cypress.io/configuration"
         },
         "cloudGuide": {
           "text": "Cypress Cloud guide",
@@ -653,7 +653,7 @@
     "footer": {
       "text": "You can reconfigure the {testingType} testing settings for this project if you're experiencing issues with your Cypress configuration.",
       "button": "Configuration guide",
-      "buttonLink": "https://docs.cypress.io/guides/references/configuration"
+      "buttonLink": "https://on.cypress.io/configuration"
     }
   },
   "runs": {
diff --git a/system-tests/__snapshots__/plugins_spec.js b/system-tests/__snapshots__/plugins_spec.js
index f73395214558..4cd267e25f59 100644
--- a/system-tests/__snapshots__/plugins_spec.js
+++ b/system-tests/__snapshots__/plugins_spec.js
@@ -368,7 +368,7 @@ The following are valid events:
  - file:preprocessor
  - task
 
-Learn more at https://docs.cypress.io/api/plugins/writing-a-plugin#config
+Learn more at https://on.cypress.io/writing-a-plugin#config
 
 InvalidEventNameError: invalid event name registered: invalid:event
       [stack trace lines]
diff --git a/system-tests/projects/e2e/cypress-with-project-id-and-no-upload-on-pass-event.config.js b/system-tests/projects/e2e/cypress-with-project-id-and-no-upload-on-pass-event.config.js
index b1aa86445223..4a7dcba46d2d 100644
--- a/system-tests/projects/e2e/cypress-with-project-id-and-no-upload-on-pass-event.config.js
+++ b/system-tests/projects/e2e/cypress-with-project-id-and-no-upload-on-pass-event.config.js
@@ -6,7 +6,7 @@ module.exports = {
     setupNodeEvents (on, config) {
       const plugin = require('./cypress/plugins')
 
-      // @see https://docs.cypress.io/guides/guides/screenshots-and-videos#Delete-videos-for-specs-without-failing-or-retried-tests
+      // @see https://on.cypress.io/screenshots-and-videos#Delete-videos-for-specs-without-failing-or-retried-tests
       // for videoUploadOnPasses workaround, which was removed in Cypress v13.0.0
       on(
         'after:spec',