A sharp-eyed search marketer noticed that Yoast was generating duplicate sitemaps. It’s not known how long this has been happening, but the head of SEO at Yoast acknowledged the bug and noted that Yoast is aware of the problem and says it is working on a fix.
Once this duplicate sitemap bug was discovered however, checking on other SEO plugins revealed that a similar issue was happening to other plugins as well, but that it wasn’t endemic to all SEO plugins.
Discovery of the Yoast SEO Sitemap Bug
Brenda Malone (@_brendamalone) discovered the bug and tweeted to Yoast about it:
@yoast @jonoalderson Is there a way to turn off the duplicate xml sitemaps that Yoast is creating?
page .com/page-sitemap.xml and
page .com/page-sitemap1.xml
Is there a specific reason why these are being created? Thanks.— Brenda Malone, Triple-Vaxxed and Still Masking (@_brendamalone) March 21, 2022
Someone from Yoast responded that they know about the bug and have flagged it internally for fixing it:
Hey @_brendamalone, the easiest fix for now might be to set up redirect for the ‘1’ version to the plain version (for each post type affected).
In the meantime, I’ve definitely seen a ticket in our internal tracker to address this, so I’ll see if I can find it and dust it off.
— Jono Alderson (@jonoalderson) March 21, 2022
Yoast SEO Sitemap
The Yoast SEO sitemap feature automatically generates a sitemap for different post types.
Page Sitemaps
For example, a site with a sitemap for pages will publish a sitemap URL like this:
/page-sitemap.xml
Post Sitemaps
A site that doesn’t have thousands of posts will have a post sitemap like this:
/post-sitemap.xml
A site with a lot of posts may publish sitemaps that look like this:
/post-sitemap1.xml /post-sitemap2.xml
Yoast Duplicate Sitemap Bug
What was discovered is that Yoast is also generating duplicate sitemaps.
A site that only has a single sitemap for “pages” will have the following sitemaps:
Yoast “Page” Sitemaps Bug
Original “Page” Sitemap:
/page-sitemap.xml
Duplicate “Page” Sitemaps:
/page-sitemap0.xml /page-sitemap1.xml
Yoast “Post” Sitemap Bug
A site that only has a single sitemap for posts will have the following sitemap:
Original “Post” Sitemap:
/post-sitemap.xml
Duplicate “Post” Sitemaps:
/post-sitemap0.xml /post-sitemap1.xml
Yoast Multiple Sitemaps for Posts
A site with multiple sitemaps for posts manifests the bug in a different way.
For example, if a site has thousands of posts and requires three sitemaps, their sitemaps may look like this:
Original “Posts” Sitemaps:
/post-sitemap1.xml /post-sitemap2.xml /post-sitemap3.xml
But with the Yoast sitemap bug, they now have two extra sitemaps that are duplicates of the first site map.
So in the above example, this is the first sitemap: /post-sitemap1.xml
These are the duplicates sitemaps of the original first sitemap:
/post-sitemap.xml /post-sitemap0.xml
Yoast Sitemap Bug is Live on Yoast.com
The bug can be seen on any site that uses the Yoast SEO WordPress plugin, including on Yoast itself.
These URLs lead to identical Yoast XML sitemaps:
https://yoast.com/post-sitemap.xml https://yoast.com/post-sitemap0.xml https://yoast.com/post-sitemap1.xml
Sitemap Bug Not Limited to Yoast
What’s really weird is that this sitemap bug is not limited to Yoast.
A similar bug can be found in many other SEO plugins (but not in all of them).
It’s kind of weird that several SEO plugins would exhibit similar behavior with regards to a bug.
Something to consider is that plugin makers are bound by the WordPress open source license that dictates that plugins and themes for WordPress are considered derivative works. This is a longstanding issue that at one point was clarified by Matt Mullenweg himself in 2015.
Matt wrote:
“WordPress is under a license called the GPL, which basically says you can do whatever you like with the software, but if you distribute changes or create derivative works they also need to be under the GPL. Think of it like a Creative Commons Sharealike license.
In the past people weren’t sure if themes for WordPress were derivative works and needed to be GPL. In 2009 we got an outside legal opinion that cleared up the matter saying that the PHP in themes definitely had to be GPL, and for CSS and images it was optional. Basically everyone in the WP community went fully GPL, sometimes called 100% GPL, for all the files required to run their theme (PHP, JS, CSS, artwork).”
So it could be that certain approaches toward generating a sitemap may themselves be open source and available to all the SEO plugin companies to use and this may explain why other SEO plugins contain the same or similar bug to the one that Yoast has.
Sitemap Bug Affects Other SEO Plugins
This sitemap bug doesn’t just affect Yoast and Rank Math. It affects other SEO plugins, too.
This bug has been confirmed on the following SEO Plugins:
- Rank Math SEO Plugin
- SEOPress WordPress SEO Plugin
- AllineOneSEO WordPress SEO Plugin
SEOPress
If your SEOPress sitemap for “posts” starts like this:
/post-sitemap1.xml
There are duplicates that are generated on these URLs:
/post-sitemap.xml /post-sitemap0.xml
AllineOneSEO WordPress SEO Plugin
If your AIOSEO plugin generates this URL for the “posts” sitemaps:
/post-sitemap.xml
It also generates these:
/post-sitemap0.xml /post-sitemap1.xml
The above is true for Rank Math plugin as well.
WordPress Sitemap Bugs Not Everywhere
Brenda Malone researched this issue and shared that some SEO Plugins appear to not contain this bug.
The following SEO Plugins generate sitemaps correctly:
- SEO Ultimate PRO WordPress Plugin
- SLIM SEO
- Squirrly SEO
How Big of a Problem is This?
The best practice for SEO is to make things easy for search engines.
The more errors are introduced the likelier it is that the search engine bots may start tripping over the mistakes and generating unforeseen issues, especially if this issue is compound by other errors on a site.
The meaning of SEO is search engine optimization. The easier you make it for the search engine to crawl and discover web pages the better it is for SEO.
Mistakes are the opposite of optimizing. The more mistakes are generated by a website the less optimized a site is.
In terms of SEO, an argument can be made to minimize the effect of these errors and say that yes, the site can keep on limping and perform normally despite these errors.
But mistakes are still the opposite of SEO.
!function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window,document,'script', 'https://connect.facebook.net/en_US/fbevents.js');
if( typeof sopp !== "undefined" && sopp === 'yes' ){ fbq('dataProcessingOptions', ['LDU'], 1, 1000); }else{ fbq('dataProcessingOptions', []); }
fbq('init', '1321385257908563');
fbq('track', 'PageView');
fbq('trackSingle', '1321385257908563', 'ViewContent', { content_name: 'yoast-wordpress-seo-bug-creates-duplicate-sitemaps', content_category: 'news seo wp ' });