From b66857960250b1cd2a27d6e72f463991b8d466fc Mon Sep 17 00:00:00 2001 From: Fernando Mercado Date: Mon, 3 Aug 2026 10:21:24 -0500 Subject: [PATCH] Link Tutorials sidebar entries directly to marketing site The sidebar and category-index links for Learning Resources and Educational Data Resources previously pointed to internal doc pages that immediately meta-refresh to datacoves.com, creating an internal redirect chain flagged by SEO crawlers. Point those sidebar entries straight at the final destination instead, and mark the redirect stub pages unlisted/noindex since nothing links to them internally anymore. --- docs/tutorials/educational-data-resources.mdx | 1 + docs/tutorials/learning-resources.mdx | 1 + docusaurus.config.js | 27 +++++++++++++++++++ 3 files changed, 29 insertions(+) diff --git a/docs/tutorials/educational-data-resources.mdx b/docs/tutorials/educational-data-resources.mdx index 6bdac7ea..620e056a 100644 --- a/docs/tutorials/educational-data-resources.mdx +++ b/docs/tutorials/educational-data-resources.mdx @@ -2,6 +2,7 @@ title: Educational Data Resources sidebar_label: Educational Data Resources description: "A curated collection of free datasets and educational resources for learning and practicing data engineering and analytics skills." +unlisted: true --- diff --git a/docs/tutorials/learning-resources.mdx b/docs/tutorials/learning-resources.mdx index 4187d8e7..d6e90d92 100644 --- a/docs/tutorials/learning-resources.mdx +++ b/docs/tutorials/learning-resources.mdx @@ -2,6 +2,7 @@ title: Datacoves Learning Resources for Data Engineers sidebar_label: Learning Resources description: "Curated guides, videos, and documentation to help you get started with dbt, Airflow, and data engineering in the Datacoves platform." +unlisted: true --- diff --git a/docusaurus.config.js b/docusaurus.config.js index 727de1da..66f2d3ed 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -114,6 +114,33 @@ const config = { ({ docs: { sidebarPath: './sidebars.js', + // Some docs (e.g. docs/tutorials) are just client-side redirect + // stubs to pages on the marketing site. Point their sidebar/ + // category-index entries straight at the final URL instead of + // routing through the redirect stub, so crawlers and users don't + // hit an internal redirect chain. + sidebarItemsGenerator: async function ({defaultSidebarItemsGenerator, ...args}) { + const externalLinks = { + 'tutorials/learning-resources': + 'https://datacoves.com/learning-resources?_gl=1*18cmhau*_ga*MjYwMzYwODE1LjE3NTIyNTAwNDk.*_ga_WFBP8GG4YV*czE3NTYyNDYzMzAkbzUwJGcxJHQxNzU2MjQ2NDg4JGo2MCRsMCRoMA..', + 'tutorials/educational-data-resources': + 'https://datacoves.com/data-resources#Educational', + }; + + const replaceRedirectStubs = (items) => + items.map((item) => { + if (item.type === 'doc' && externalLinks[item.id]) { + return {type: 'link', label: item.label, href: externalLinks[item.id]}; + } + if (item.type === 'category') { + return {...item, items: replaceRedirectStubs(item.items)}; + } + return item; + }); + + const items = await defaultSidebarItemsGenerator(args); + return replaceRedirectStubs(items); + }, // Please change this to your repo. // Remove this to remove the "edit this page" links. /*