diff --git a/packages/docusaurus-plugin-sitemap/src/createSitemap.ts b/packages/docusaurus-plugin-sitemap/src/createSitemap.ts index 2c91667397..7cb434c137 100644 --- a/packages/docusaurus-plugin-sitemap/src/createSitemap.ts +++ b/packages/docusaurus-plugin-sitemap/src/createSitemap.ts @@ -53,7 +53,7 @@ export default async function createSitemap( head: {[location: string]: HelmetServerState}, options: PluginOptions, ): Promise { - const {url: hostname} = siteConfig; + const {url: hostname, router} = siteConfig; if (!hostname) { throw new Error('URL in docusaurus.config.js cannot be empty/undefined.'); } @@ -77,12 +77,20 @@ export default async function createSitemap( const sitemapStream = new SitemapStream({hostname}); - includedRoutes.forEach((routePath) => - sitemapStream.write({ - url: applyTrailingSlash(routePath, { + const createSitemapUrl = (routePath: string): string => { + const routerPrefix = router === 'hash' ? '/#' : ''; + return ( + routerPrefix + + applyTrailingSlash(routePath, { trailingSlash: siteConfig.trailingSlash, baseUrl: siteConfig.baseUrl, - }), + }) + ); + }; + + includedRoutes.forEach((routePath) => + sitemapStream.write({ + url: createSitemapUrl(routePath), changefreq, priority, }),