Everything you'd want to know before you install.
A detailed look at how PrestaShop XML Sitemap Module 8 & 9: Images, Videos, Hreflang and IndexNow works, why we built it the way we did, and the thinking behind the features above.
What the native sitemap is missing
The Google sitemap module shipped with PrestaShop produces a list of URLs per language. It does not link translations together with hreflang, knows nothing about videos and offers no exclusion rule beyond static pages. On a catalogue of tens of thousands of products, its generation also depends on the patience of the browser and the server. This module rebuilds the sitemap from scratch with those needs in mind.
Clean files that are easy to check
Each shop has its own index, pointing to one file per language and per content type: products, categories, CMS, brands and so on. When a file reaches the limit you set, the rest goes into a new file. Open the index in a browser and a stylesheet shows a readable table with the number of URLs, images, videos and languages per page. Search engines ignore that stylesheet.
Generation that never breaks the live site
Files are built in a temporary folder, then published shop by shop. Meanwhile the old sitemaps stay in place. An error stops the job without replacing anything, logs it in the PrestaShop log and shows it in the back office. A lock prevents two generations from running at once, for example the cron and a click in the back office.
Multistore and multilingual
Each shop has its own settings, its own languages, its own index on its own domain, and a /sitemap.xml address that serves the right index for the domain called. Exclusion rules and videos apply to all shops or to one. A Sitemap line per shop is added to robots.txt, and the block survives when PrestaShop regenerates the file.
Built to grow with the shop
Regeneration after changes and IndexNow mean you no longer wait for the next cron to announce a new product. Sitemaps from a blog or a neighbouring WordPress site can be added to the index, and a hook lets other modules register their pages with their translations. The code follows PrestaShop conventions, uses no Composer dependency, and runs from PrestaShop 8.0 to 9.x with the same ZIP.
There are no reviews yet.