diff --git a/tools/docs/manager.ts b/tools/docs/manager.ts
index df886e7d5b0b61d05d49d8ea4bab0d0c74f5e94c..9ac4a846e7ef3e9653c5af1151a5eef1d653f18f 100644
--- a/tools/docs/manager.ts
+++ b/tools/docs/manager.ts
@@ -10,6 +10,7 @@ import { OpenItems, generateFeatureAndBugMarkdown } from './github-query-items';
 import {
   formatUrls,
   getDisplayName,
+  getModuleLink,
   getNameWithUrl,
   replaceContent,
 } from './utils';
@@ -25,7 +26,7 @@ function getTitle(manager: string, displayName: string): string {
 }
 
 function getManagerLink(manager: string): string {
-  return `[\`${manager}\`](${manager}/)`;
+  return getModuleLink(manager, `[\`${manager}\``);
 }
 
 export const CategoryNames: Record<Category, string> = {
@@ -123,7 +124,7 @@ sidebar_label: ${displayName}
       const escapedDatasources = (supportedDatasources || [])
         .map(
           (datasource) =>
-            `[\`${datasource}\`](../../datasource/#${datasource}-datasource)`,
+            `[\`${datasource}\`](../../datasource/${datasource}/index.md)`,
         )
         .join(', ');
       md += `This manager supports extracting the following datasources: ${escapedDatasources}.\n\n`;
diff --git a/tools/docs/utils.ts b/tools/docs/utils.ts
index 38971d020cb4f36c228d8d55182fe09fdc5026ce..ab780472c1f984189a781d9813598326d4ce311a 100644
--- a/tools/docs/utils.ts
+++ b/tools/docs/utils.ts
@@ -68,6 +68,6 @@ export async function formatDescription(
   return `**Description**:\n\n${content}\n`;
 }
 
-export function getModuleLink(module: string, title: string): string {
-  return `[${title ?? module}](${module}/)`;
+export function getModuleLink(module: string, title?: string): string {
+  return `[${title ?? module}](${module}/index.md)`;
 }