Background of the issue:
I am trying to resolve an issue on our site, hidden link, where the French version of posts is not being indexed by the Slickstream plugin. This issue began in July, coinciding with an update to WPML SEO. We have excluded caching of the sitemap in WP Rocket and Cloudflare, but the issue persists. The French URLs appear in the sitemap but disappear when a query is added to bypass caches. We also reset Yoast indexables without success. The issue can be seen at hidden link.
Symptoms:
The French version of posts is not being indexed by Slickstream. When a query string is added to the sitemap URL, the French URLs do not show up. Expected results in French are not displayed, and only English results appear.
Questions:
Why do the French URLs not show up when any query string is added to the sitemap?
Is there a misconfiguration in WPML SEO after the update that could cause this behavior?
Regardless of Slickstream, we believe there is a bug with either Yoast SEO or WPML. Our tech team (Nerdpress) looked into the issue and here's their report:
---
We are running into an issue on our site — hidden link. The issue stems from a plugin called Slickstream, which indexes posts and displays them in the search.
Their indexing is based on what they see on the sitemap. Sometime starting in July, it was noticed that they stopped indexing the French version of posts.
When we reached out to them, they thought it was likely Caching, so we excluded caching of the sitemap in WP Rocket and Cloudflare, but that didn't change the results.
While looking at the sitemap, it was noticed that if we go to the URL — hidden link
The French URLs show up without an issue; however, if we add a query to bypass caches, the French URLs no longer show up.
We tried resetting Yoast indexables to see if anything would change, but still, when cache busting, we aren't seeing the French URLs.
This issue started in July, which does align with when we updated WPML SEO, so we aren't sure if maybe something got misconfigured during the update, or if this is expected behavior.
Could you take a look and let us know if you have any thoughts on why the French URLs do not show up when any query string is added to sitemap?
Also, please cc support@nerdpress.net on your response, and in case any changes need to be made on the site, so they can help out.
Thank you!
---
You can observe the behavior here:
- cached sitemap: hidden link: this contains posts in both languages
- uncached sitemap: hidden link: this only contains English posts
I'm sorry but this is an automated forum so we can't add mails in cc or send replies to a different address.
With the latest update, WPML SEO added hreflangs directly in the XML code, if you inspect your sitemap's code you'll find all the "missing" posts. For more info you can read here.
You can try disabling this behavior like suggested on the page and see if this solves the problem with Slickstream.
Thanks for your response. I still have 2 questions:
1. the change in behavior in the latest update (hreflangs in the XML code) doesn't explain why I get 2 different sitemaps if I hit hidden link vs. hidden link. Adding a random query parameter changes the output of the sitemap. We've disabled all our cache and confirmed with Nerdpress this isn't a cache issue. We confirmed on a staging issue and we confirmed the issue wasn't there before the WPML plugin update.
2. The URLs in the "new" sitemap are incorrect. Take the following XML entry as an example
It claims the French version for the post in English (hidden link) is at hidden link but that's not true. This URL yields a 404 Not Found. The actual URL is hidden link.
So clearly the updated WPML plugin doesn't build the sitemap correctly. The sitemap at hidden link is correct (but has the entries multiple times) whereas the sitemap at hidden link is incorrect.