PrestaShop PrestaShop Modules

PrestaShop XML Sitemap Module 8 & 9: Images, Videos, Hreflang and IndexNow

A complete, up-to-date sitemap with no timeout, whatever the size of the catalogue.

Google finds your products through links and through the sitemap. When the sitemap is incomplete, does not announce translations or crashes on a large catalogue, pages stay out of the index. This module builds one sitemap per language and per content type, links every page to its translations with hreflang tags, adds images and videos, and removes what you do not want indexed through rules. Generation moves forward in batches of a few seconds: it never hits the server execution limit, resumes where it stopped, and the old files stay online until the new ones are published.

At a glance
  • Products, categories, CMS pages, brands, suppliers, static pages and custom URLs
  • Product images and YouTube, Vimeo or self-hosted videos in the sitemap
  • Hreflang and x-default tags across every language of the shop
  • 15 exclusion rules by ID, category, stock, price, URL text or regular expression
  • Batch generation with no timeout, cron, regeneration after changes and IndexNow
PrestaShop 8 & 9 Hreflang IndexNow Multistore
  • 30-day refund
  • 12 months updates
  • 24h support
www.datafirefly.com/en/
PrestaShop XML Sitemap Module 8 & 9: Images, Videos, Hreflang and IndexNow
v1.1.0 · updated 2026-09-23
What it does

The short version.

01

Every translation announced to Google

One file per language and per content type. Each URL lists its translations with xhtml:link hreflang tags, in fr-FR or fr format, plus an x-default on the language of your choice. A URL removed by a rule also disappears from the alternates of the other languages, so an excluded page is never announced.

02

No timeout, even on a large catalogue

Generation works in batches within a time budget per request, then the next request picks up. On our test server, 30,000 products in two languages produce 60,038 URLs in about thirty seconds. If the server kills a request mid-work, the files are repaired on resume and the old sitemaps stay online.

03

You decide what gets indexed

Inactive content and noindex CMS pages are never listed. Fifteen rules remove the rest: products by ID, by category including subcategories, by brand or supplier, out of stock, priced at zero or without an image, category branches, CMS pages, and URLs by text or regular expression.

04

A sitemap that follows your catalogue

The cron regenerates at the frequency you choose, and earlier when a product, category or page changes. Changed pages are also pushed to Bing, Yandex, Seznam and Naver through IndexNow, without waiting for their crawlers to come back.

The long version

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.

§ 01

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.

§ 02

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.

§ 03

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.

§ 04

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.

§ 05

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.