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.
/*