Skip to content

multi-instance support with plugin-sitemap #5877

@greenpau

Description

@greenpau

Have you read the Contributing Guidelines on issues?

Prerequisites

  • I'm using the latest version of Docusaurus.
  • I have tried the npm run clear or yarn clear command.
  • I have tried rm -rf node_modules yarn.lock package-lock.json and re-installing packages.
  • I have tried creating a repro with https://new.docusaurus.io.
  • I have read the console error message carefully (if applicable).

Description

Failed to generate sitemap for multi-instance setup.

Steps to reproduce

Have multi-instance setup, then add the following plugin level config:

diff --git a/docusaurus.config.js b/docusaurus.config.js
index 63f742d..70884fb 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -39,7 +39,15 @@ const config = {
   ],

   plugins: [
-    require.resolve('@cmfcmf/docusaurus-search-local')
+    require.resolve('@cmfcmf/docusaurus-search-local'),
+    [
+      '@docusaurus/plugin-sitemap',
+      {
+        changefreq: 'weekly',
+        priority: 0.5,
+        // trailingSlash: false,
+      },
+    ],
   ],

   themeConfig:

Expected behavior

Sitemap generated for both instances of docs in multi-instance setup.

Actual behavior

Get error:

Unable to build website for locale "en".
Error: Plugin "docusaurus-plugin-sitemap" is used 2 times with id default.
To use the same plugin multiple times on a Docusaurus site, you need to assign a unique id to each plugin instance.
    at <omitted>/node_modules/@docusaurus/core/lib/server/plugins/pluginIds.js:20:23
    at Array.forEach (<anonymous>)
    at <omitted>/node_modules/@docusaurus/core/lib/server/plugins/pluginIds.js:18:45
    at Array.forEach (<anonymous>)
    at ensureUniquePluginInstanceIds (<omitted>/node_modules/@docusaurus/core/lib/server/plugins/pluginIds.js:16:35)
    at initPlugins (<omitted>/node_modules/@docusaurus/core/lib/server/plugins/init.js:154:51)
    at loadPlugins (<omitted>/node_modules/@docusaurus/core/lib/server/plugins/index.js:56:40)
    at load (<omitted>/node_modules/@docusaurus/core/lib/server/index.js:186:113)
    at async buildLocale (<omitted>/node_modules/@docusaurus/core/lib/commands/build.js:83:19)
    at async tryToBuildLocale (<omitted>/node_modules/@docusaurus/core/lib/commands/build.js:35:20)
    at async mapAsyncSequencial (<omitted>/node_modules/@docusaurus/utils/lib/index.js:263:24)
    at async build (<omitted>/node_modules/@docusaurus/core/lib/commands/build.js:71:25)

Your environment

Reproducible demo

No response

Self-service

  • I'd be willing to fix this bug myself.

Metadata

Metadata

Assignees

No one assigned

    Labels

    closed: questionThis issue is a user error/misunderstanding.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions