diff --git a/.changeset/cold-nights-invent.md b/.changeset/cold-nights-invent.md new file mode 100644 index 00000000..452dcea5 --- /dev/null +++ b/.changeset/cold-nights-invent.md @@ -0,0 +1,5 @@ +--- +"webtools-addon-sitemap": patch +--- + +fix: filter duplicate URLs from the sitemap XML diff --git a/packages/addons/sitemap/server/services/core.js b/packages/addons/sitemap/server/services/core.js index 72f69476..03a2fd12 100644 --- a/packages/addons/sitemap/server/services/core.js +++ b/packages/addons/sitemap/server/services/core.js @@ -193,7 +193,17 @@ const createSitemapEntries = async () => { } } - return sitemapEntries; + // Filter out duplicates. + const allSitemapUrls = new Set(); + const uniqueSitemapEntries = sitemapEntries.filter((entry) => { + if (allSitemapUrls.has(entry.url)) { + return false; + } + allSitemapUrls.add(entry.url); + return true; + }); + + return uniqueSitemapEntries; }; /**