If you manage a PrestaShop store with more than a handful of products, your XML sitemap is one of the most important technical SEO assets you own. It is not a nice-to-have. It is the mechanism that tells Google, Bing, and every other crawler exactly which pages exist, which ones matter, and when they last changed. Without it, you are relying entirely on search engines following internal links — and in my experience running SEO for dozens of PrestaShop stores, that is a gamble you will lose.
I have spent years building and debugging sitemaps for e-commerce catalogs ranging from 200 products to over 50,000. This guide covers everything I have learned: the XML syntax you need to understand, how sitemap index files work, image and video sitemaps, PrestaShop-specific configuration, Google Search Console submission and monitoring, and the errors that quietly destroy your indexing without you noticing.
Why XML Sitemaps Matter More for E-Commerce
A blog with 50 posts and decent internal linking will probably get crawled just fine without a sitemap. An e-commerce store is a different animal entirely. Here is why:

- Catalog depth: Products often sit three, four, or five clicks deep from the homepage. Google's crawl budget is finite — pages buried in deep navigation hierarchies may never be discovered through links alone.
- Frequent changes: Prices update, stock levels change, new products launch weekly. Your sitemap's
<lastmod>dates tell crawlers which pages need re-visiting, saving crawl budget for the pages that actually changed. - Faceted navigation pollution: PrestaShop's layered navigation can generate thousands of URL variations from filters like size, color, price range, and brand. Without clear signals about which URLs are canonical, crawlers waste time on pages you do not want indexed.
- Orphan pages: Products removed from categories, seasonal items, or pages only reachable through search — these become invisible to crawlers unless your sitemap includes them.
According to Google's own documentation, sitemaps are "especially useful if your site has a large archive of content pages that are isolated or not well linked to each other." That describes most PrestaShop catalogs I have worked with.
XML Sitemap Syntax: What You Actually Need to Know
Before we talk about tools and modules, you need to understand what a sitemap actually contains. Too many store owners treat sitemaps as a black box — they install a module, click generate, and never look at the output. That is how broken sitemaps go unnoticed for months.
The Basic Structure
Every XML sitemap follows this structure:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://yourstore.com/blue-leather-wallet</loc>
<lastmod>2026-04-15</lastmod>
</url>
<url>
<loc>https://yourstore.com/wallets</loc>
<lastmod>2026-04-18</lastmod>
</url>
</urlset>
Let me break down each element:
<?xml version="1.0" encoding="UTF-8"?>— The XML declaration. Must be the very first line, no whitespace before it. UTF-8 encoding is required.<urlset>— The root element that wraps all URL entries. Thexmlnsattribute declares the sitemap protocol namespace.<url>— Each page gets one<url>block.<loc>— The absolute, canonical URL. This is the only required tag. Must include the protocol (https://) and must match the canonical URL exactly — same domain, same trailing slash convention, same www/non-www version.<lastmod>— The date the page content was last meaningfully updated. Use W3C Datetime format:YYYY-MM-DDor the fullYYYY-MM-DDThh:mm:ss+00:00. Google has confirmed they use this signal when it is accurate.
Tags Google Ignores
The sitemap protocol also defines <changefreq> and <priority> tags. Google has officially stated they ignore both. John Mueller confirmed this directly: "We don't use changefreq or priority in the sitemaps." Bing has said similar. If your sitemap generator includes them, they are harmless but add file size for no benefit. I recommend omitting them.
Sitemap Index Files: Managing Large Catalogs
Individual sitemaps have hard limits: 50,000 URLs maximum and 50 MB uncompressed. For a PrestaShop store with 10,000 products, 500 categories, 200 CMS pages, and 50,000 product images, you will exceed these limits quickly if you put everything in one file.
The solution is a sitemap index file — a master file that references multiple individual sitemaps:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://yourstore.com/sitemap-products-1.xml</loc>
<lastmod>2026-04-20</lastmod>
</sitemap>
<sitemap>
<loc>https://yourstore.com/sitemap-products-2.xml</loc>
<lastmod>2026-04-20</lastmod>
</sitemap>
<sitemap>
<loc>https://yourstore.com/sitemap-categories.xml</loc>
<lastmod>2026-04-18</lastmod>
</sitemap>
<sitemap>
<loc>https://yourstore.com/sitemap-cms.xml</loc>
<lastmod>2026-03-10</lastmod>
</sitemap>
<sitemap>
<loc>https://yourstore.com/sitemap-blog.xml</loc>
<lastmod>2026-04-19</lastmod>
</sitemap>
<sitemap>
<loc>https://yourstore.com/sitemap-images.xml</loc>
<lastmod>2026-04-20</lastmod>
</sitemap>
</sitemapindex>
Why Segmented Sitemaps Are Better
Even if your catalog fits in one file, I strongly recommend splitting sitemaps by content type. Here is why:
- Diagnostic clarity: When Google Search Console reports indexing issues, segmented sitemaps tell you immediately whether the problem is with products, categories, or blog posts. A single monolithic sitemap gives you one number — useless for diagnosis.
- Targeted regeneration: When you add 50 new products, only the product sitemap needs regenerating. Category and CMS sitemaps remain cached.
- Crawl efficiency: Google's Gary Illyes has noted that smaller, focused sitemaps are processed more efficiently than massive files.
My recommended segmentation for PrestaShop:
sitemap-products.xml(split into numbered files if over 50,000 products)sitemap-categories.xmlsitemap-cms.xml(static pages: about, contact, policies)sitemap-blog.xml(if using a blog module)sitemap-brands.xml(manufacturer/brand pages with unique content)sitemap-images.xml(product image sitemaps — more on this below)
Important Rules for Sitemap Index Files
- You cannot nest sitemap index files inside other sitemap index files.
- All referenced sitemaps must be on the same domain (or verified subdomains in Search Console).
- Submit only the index file URL to Google Search Console — it will discover all child sitemaps automatically.
- The
<lastmod>on each<sitemap>entry should reflect when that particular sitemap file was last regenerated.
Image Sitemaps: The Overlooked Traffic Source
Google Image Search drives meaningful traffic to e-commerce stores, especially for visually-driven products. Image sitemaps help Google discover product images that might not be found through regular page crawling — particularly images loaded via JavaScript or referenced from CDN domains.
Image sitemap entries extend the standard URL format with an additional namespace:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
<url>
<loc>https://yourstore.com/blue-leather-wallet</loc>
<image:image>
<image:loc>https://yourstore.com/img/p/1/2/3/blue-wallet-front.jpg</image:loc>
<image:title>Blue leather wallet - front view</image:title>
<image:caption>Handcrafted blue leather wallet with card slots and coin pocket</image:caption>
</image:image>
<image:image>
<image:loc>https://yourstore.com/img/p/1/2/3/blue-wallet-open.jpg</image:loc>
<image:title>Blue leather wallet - interior view</image:title>
<image:caption>Interior layout showing 6 card slots and bill compartment</image:caption>
</image:image>
</url>
</urlset>
Each <url> entry can include up to 1,000 <image:image> elements. For a product with 5 photos, that means one URL entry contains all five image references. The <image:title> and <image:caption> tags are optional but highly recommended — they give Google additional context for image search ranking.
If your product images are served from a CDN (like cdn.yourstore.com), that CDN domain must be verified in Google Search Console for the images to be indexed through the sitemap.
Video Sitemaps
If your PrestaShop store includes product demonstration videos, installation guides, or review videos, a video sitemap can get them indexed in Google Video Search and featured in rich results. The syntax is more verbose:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
<url>
<loc>https://yourstore.com/blue-leather-wallet</loc>
<video:video>
<video:thumbnail_loc>https://yourstore.com/img/video-thumbs/wallet-demo.jpg</video:thumbnail_loc>
<video:title>Blue Leather Wallet - Product Overview</video:title>
<video:description>See the craftsmanship and features of our bestselling blue leather wallet.</video:description>
<video:content_loc>https://yourstore.com/video/wallet-demo.mp4</video:content_loc>
<video:duration>90</video:duration>
</video:video>
</url>
</urlset>
Video sitemaps add significant file size, so I recommend keeping them in a dedicated file rather than mixing with product URLs. The required fields are thumbnail_loc, title, and description. The content_loc or player_loc must be accessible to Googlebot.
What to Include (and Exclude) in Your PrestaShop Sitemap
This is where most store owners go wrong. The default approach — "include everything" — actively hurts your SEO by wasting crawl budget on pages Google should not index.
Include These URLs
- Active product pages with stock and canonical URLs set correctly
- Category and subcategory pages that display unique product listings
- CMS/content pages — about us, contact, shipping policy, returns policy
- Blog posts (if you use a module like Blog Revolution)
- Brand/manufacturer pages that have unique descriptive content
- Supplier pages only if they contain unique content (most do not)
Exclude These URLs
- Filtered/faceted navigation URLs —
/wallets?color=blue&price=20-50should not be in your sitemap - Checkout and cart pages — these are noindex by default and have no search value
- Account pages — login, registration, order history
- Search results pages —
/search?q=walletis thin content by definition - Pages blocked by robots.txt — including a URL in your sitemap while blocking it in robots.txt sends contradictory signals
- noindex pages — if you have set a meta robots noindex tag, the page should not be in the sitemap
- Out-of-stock products (if permanently discontinued) — redirect these instead
- Paginated pages beyond page 1 —
/wallets?page=2through/wallets?page=50usually add noise, not value - Redirected URLs — never include a URL that returns a 301 or 302
PrestaShop-Specific Sitemap Generation
The Built-In Generator
PrestaShop includes a basic sitemap generator under Shop Parameters → Traffic & SEO → SEO & URLs. It works, but it has significant limitations:
- Generates a single monolithic file — no segmentation by content type
- No image sitemap support
- No control over which pages are included or excluded
- No automatic regeneration — you must manually trigger it
- No
<lastmod>accuracy — often uses the generation date rather than actual page modification dates
Using a Dedicated Sitemap Module
For any store with more than 100 products, I recommend a purpose-built sitemap module like the Advanced SEO Sitemap Builder. A proper module should give you:
- Automatic sitemap index generation with segmented child sitemaps
- Image sitemap support with product image titles and captions
- Inclusion/exclusion rules based on categories, product status, or custom criteria
- Accurate
<lastmod>dates pulled from actual database modification timestamps - Scheduled regeneration via cron — daily for active stores, weekly for stable catalogs
- Automatic robots.txt integration — adds the sitemap URL to your robots.txt file
- Gzip compression — sitemap files can be served as
.xml.gzto reduce bandwidth and improve processing speed
Cron-Based Regeneration
Static sitemaps that you manually regenerate are a liability. Product catalogs change daily — new arrivals, discontinued items, price updates, description edits. If your sitemap is stale, Google is working from outdated information.
Set up a cron job to regenerate your sitemap automatically. For PrestaShop, this typically looks like a scheduled task that triggers the module's generation endpoint at a set interval — daily at 3 AM is a good starting point for most stores. Stores with very active inventory (multiple changes per day) should consider regenerating every 6-12 hours.
Submitting Your Sitemap to Google Search Console
Generation is only half the job. You need to submit your sitemap to Google Search Console and then monitor it actively.

Step-by-Step Submission
- Log in to Google Search Console and select your property.
- Navigate to Sitemaps in the left sidebar under "Indexing."
- Enter your sitemap URL — if using a sitemap index, enter only the index file URL (e.g.,
sitemap-index.xml). Google will discover all child sitemaps automatically. - Click Submit.
- Wait for Google to process it — this can take anywhere from a few hours to several days.
Add to robots.txt
Your robots.txt file should reference your sitemap. Add this line at the bottom:
Sitemap: https://yourstore.com/sitemap-index.xml
This ensures that any crawler — not just Google — can discover your sitemap without needing Search Console submission.
Submit to Bing Webmaster Tools
Do not forget Bing. While Google dominates search traffic, Bing powers several other services including DuckDuckGo and various AI assistants. Submit your sitemap through Bing Webmaster Tools using the same process. Bing also supports the IndexNow protocol for near-instant URL submission — worth investigating if your sitemap module supports it.
Monitoring Sitemap Health in Search Console
Submitting your sitemap is not a one-time task. The real value comes from ongoing monitoring. Here is what to watch:
Submitted vs. Indexed URLs
After Google processes your sitemap, you will see two numbers: URLs submitted and URLs indexed. A large gap between these numbers is a red flag that demands investigation.
- Small gap (5-15%): Normal. Some URLs may be consolidating via canonical tags, or Google may consider some pages too similar to index separately.
- Medium gap (15-40%): Investigate. Check the "Pages" report under Indexing for specific reasons — "Crawled - currently not indexed," "Discovered - currently not indexed," or "Duplicate without user-selected canonical."
- Large gap (40%+): Something is seriously wrong. Common causes include mass noindex tags, site-wide thin content issues, crawl budget exhaustion, or server errors during crawling.
Coverage Status Details
Cross-reference your sitemap data with the Pages report (formerly Coverage report) in Search Console. Look for:
- "Excluded by noindex tag" — If these URLs are in your sitemap, remove them from the sitemap or remove the noindex tag.
- "Redirect" — Your sitemap contains URLs that redirect. Replace them with the final destination URLs.
- "Soft 404" — The URL returns a 200 status but Google considers the content too thin to index. Common with out-of-stock product pages that show empty templates.
- "Server error (5xx)" — Your server was unavailable when Googlebot tried to crawl. Check server logs for the specific times and fix reliability issues.
Last Read Date
Search Console shows when Google last read your sitemap. If this date is weeks old despite regular regeneration, check whether your server is blocking Googlebot or returning errors when the sitemap URL is requested.
Common Sitemap Errors and How to Fix Them
Over the years, I have seen the same sitemap mistakes repeated across hundreds of PrestaShop stores. Here are the most damaging ones:
Error 1: Exceeding Size Limits
A sitemap with more than 50,000 URLs or over 50 MB will be rejected entirely. Google will not process a partial file — if it exceeds limits, the whole file is ignored.
Fix: Split into multiple sitemaps with a sitemap index file. Most stores should keep individual sitemaps under 10,000-25,000 URLs for faster processing.
Error 2: Including Non-Canonical URLs
If product X is accessible at both /seo/product-x and /tools/product-x, only the canonical version should be in your sitemap. Including both sends conflicting signals.
Fix: Ensure your sitemap generator resolves canonical URLs. In PrestaShop, this means using the canonical product URL (typically without the category path) consistently.
Error 3: Stale lastmod Dates
Setting all <lastmod> dates to the current regeneration time — or never updating them — destroys the signal's value. Google has stated they will stop trusting <lastmod> from sites that consistently report inaccurate dates.
Fix: Pull actual modification dates from the database. In PrestaShop, this means using date_upd from ps_product, ps_category, and ps_cms tables.
Error 4: HTTP/HTTPS and www/non-www Mismatches
If your store runs on https://www.yourstore.com but your sitemap contains http://yourstore.com/product URLs, those are different URLs to Google. They will be flagged as redirects or duplicates.
Fix: Ensure sitemap URLs match your canonical domain exactly. In PrestaShop, check PS_SSL_ENABLED, PS_SHOP_DOMAIN, and PS_SHOP_DOMAIN_SSL configuration values.
Error 5: Including Blocked URLs
Including URLs in your sitemap that are blocked by robots.txt creates a contradiction. Google sees: "This URL is important (sitemap) but you are not allowed to crawl it (robots.txt)." The result is inconsistent indexing behavior.
Fix: Audit your robots.txt alongside your sitemap. Every URL in the sitemap must be crawlable.
Error 6: Forgetting to Update After Major Changes
Deleting 500 products, restructuring categories, or changing URL patterns — and then not regenerating the sitemap — means Google keeps trying to crawl URLs that no longer exist, wasting crawl budget and generating 404 errors.
Fix: Automate sitemap regeneration with cron. Manual regeneration is a process that will inevitably be forgotten.
Advanced: Sitemap Compression and Delivery
For large catalogs, serving compressed sitemaps reduces bandwidth and speeds up Google's processing:
- Gzip compression: Sitemaps can be served as
.xml.gzfiles. A 5 MB XML file might compress to 500 KB. Reference the.gzURL in your sitemap index and robots.txt. - HTTP compression: Alternatively, serve
.xmlfiles withContent-Encoding: gzipheader. The URL stays the same but the transfer size drops dramatically. - Content-Type header: Serve sitemaps with
Content-Type: application/xmlortext/xml. Some servers default totext/htmlwhich can cause parsing issues.
Sitemap Audit Checklist for PrestaShop
Run through this checklist quarterly — or after any major catalog change:
- Open your sitemap in a browser. Does it render as valid XML? Any parsing errors indicate syntax problems.
- Check URL count. Does the number of URLs match your expectations? If you have 5,000 active products but only 2,000 product URLs in the sitemap, something is misconfigured.
- Verify canonical consistency. Sample 20 URLs from the sitemap. Visit each one — does the page's canonical tag match the URL in the sitemap?
- Test
<lastmod>accuracy. Find a product you edited recently. Is its<lastmod>date accurate, or is it showing the sitemap generation date? - Check for excluded page types. Search the sitemap file for patterns like
?q=,login,cart,order, or filter parameters. These should not appear. - Validate in Search Console. Check the Sitemaps report — is the status "Success"? What is the submitted vs. indexed ratio?
- Cross-reference with robots.txt. Ensure no sitemap URLs are blocked by robots.txt directives.
- Test mobile URLs. If your store uses separate mobile URLs (rare with responsive PrestaShop themes, but it happens), ensure they are included or properly annotated.
How Sitemaps Fit Into Your Broader SEO Strategy
A sitemap alone does not drive rankings — it drives discoverability. Think of it as the foundation layer that ensures all your other SEO work actually reaches Google:
- Your carefully optimized product descriptions are useless if Google never crawls the page. The sitemap ensures discovery.
- Your internal linking strategy works together with sitemaps — links provide context and authority flow, sitemaps ensure nothing falls through the cracks.
- Your image optimization gets amplified by image sitemaps that help Google discover every product photo.
- Your URL structure determines what appears in the sitemap — clean canonical URLs translate directly to a clean, effective sitemap.
I have seen stores unlock 20-30% more indexed pages within weeks of deploying a properly segmented, accurately dated sitemap. That is not a ranking improvement — it is pages that simply were not in Google's index before, now appearing in search results for the first time.
Conclusion
XML sitemaps are not glamorous. They do not have the immediate visual impact of a redesign or the excitement of a new marketing campaign. But in my experience, fixing a broken or misconfigured sitemap is one of the highest-ROI technical SEO tasks you can do for a PrestaShop store. It costs nothing, it takes an hour to set up properly, and it compounds over time as your catalog grows.
Get the structure right, automate the regeneration, monitor in Search Console, and audit quarterly. That is the complete process. Everything else is details — and the details above should give you everything you need to get it right the first time.
Comments
No comments yet. Be the first!
Be the first to ask a question or share useful feedback.
Leave a comment
Share a question, an installation detail, or feedback that could help another reader.