Site Metrics
FeaturesPricingToolsBlogSite auditServices
Sign inStart free
Home/Blog
toolstechnical-seoaudit
🗺️

XML Sitemap: validation, upkeep and common pitfalls

How to maintain an XML sitemap properly: validate it, what to put in lastmod, how to split large sites into indexes, hreflang for bilingual sites.

June 7, 2026·12 min read·Site Metrics Tool

Sitemap.xml is the site map you explicitly hand to search engines, saying: "these are my important URLs, index them first". Unlike robots.txt, which tells what not to do, the sitemap tells what to do. Engines aren't obliged to follow it literally — it's a recommendation, not a command. But a well-tuned sitemap accelerates new-page indexing by 30–60% and helps the engine prioritise correctly across a big site. This article walks through how to validate a sitemap for free with our online SEO tool, and the pitfalls awaiting anyone who configures it sloppily.

The baseline check via the validator

Open /tools/sitemap-validator and paste your sitemap URL (usually domain.com/sitemap.xml). The tool runs three checks: one — XML schema compliance (no broken tags, correct element nesting); two — URL reachability (do they all return 200, or are there 404s and redirects); three — optional field correctness (lastmod in W3C datetime, priority within 0.0–1.0). Output: a report highlighting problematic URLs.

lastmod: the chief sitemap pain

The <lastmod> tag should reflect the actual content change date of the page. Most sites stuff in the sitemap generation date — categorically wrong. If all 10,000 URLs have lastmod = 2026-06-07, Google sees this and ignores the field: "they don't actually know when things change". Correct: per-URL real change date. For blog posts — last edit date. For products — last card update. For static pages — creation date. If your CMS can't supply this, omit lastmod entirely rather than fake it.

When to split into a sitemap index

The spec limits a single sitemap file to 50,000 URLs and 50 MB (uncompressed). If your site is smaller, one file is fine. Bigger — a sitemap index with several children. Splitting should follow site structure: sitemap-blog.xml for blog posts, sitemap-tools.xml for tools, sitemap-vs.xml for comparison pages. Two benefits: one — Search Console shows per-section indexation stats ("blog indexed 95%, products 60% — that's where the problem is"); two — the engine spots updates in one section faster, without re-reading the whole sitemap.

hreflang in sitemap for bilingual sites

Free tool
Run an express site audit in a minute
Five free SEO tools on one page: SERP checker, robots.txt and Sitemap validators, meta tags inspector, Core Web Vitals tester. No signup.
Open tools

For a bilingual site (e.g., /ru and /en versions), hreflang is mandatory markup for Google. One way is to declare it directly in the sitemap via xhtml:link rel="alternate". This is easier than wiring it into every page's head, especially for large sites. Example: for /ru/blog/post-1 you add <xhtml:link rel="alternate" hreflang="en" href="https://domain.com/en/blog/post-1" />. Our validator checks: hreflangs present for all language variants, valid codes (ru, en, en-US, x-default), alternate URLs reachable.

What should never end up in the sitemap

  • URLs with query parameters (?utm_source=...) — duplicates from a search perspective.
  • URLs flagged noindex — if a page shouldn't be indexed, it shouldn't live in the map.
  • URLs returning 404 and 410 — dead pages in a sitemap annoy the engine.
  • URLs that redirect — list the final URL, not the intermediate.
  • Duplicates — the same URL listed in multiple child sitemaps.
  • URLs whose canonical points to a different page — no point indexing the duplicate.

submitted-to-indexed ratio

One of the most useful sitemap-quality metrics is the "submitted vs indexed" ratio in Google Search Console. 10,000 URLs submitted, only 4,000 indexed — bad. Healthy = 80%+. A low ratio means one of three things: you're pushing URLs Google doesn't want to index (thin content, duplicates); you have technical issues (slow server, 5xx errors during crawl); pages are poorly linked internally (orphan pages). Site Metrics Tool tracks this ratio automatically and alerts if it drops by more than 10 percentage points in a week.

Sitemap and rank tracking

When you use Site Metrics Tool for rank tracking, we automatically pull your sitemap daily and compare it against the URLs actually surfaced in the SERP for your keywords. This produces the critical signal "you want to rank /products/special, but Google shows /blog/special" — i.e., cannibalisation between two pages targeting one intent. Without sitemap integration this is a manual hours-long Search Console hunt.

Frequently asked

Do I need to submit sitemap to Search Console manually each time?

Once is enough. After the initial submission Google rechecks on its own schedule (usually daily). The Sitemap: directive in robots.txt also automates discovery.

Can I use .xml.gz?

Yes, engines support gzip-compressed sitemaps. It shrinks file size — useful for big sites. The 50 MB limit applies to the uncompressed size, not gzip.

Are images and videos needed in sitemap?

Optional. Image sitemaps help engines find images, especially lazy-loaded ones invisible at first HTML render. Video sitemaps suit sites heavy on video. For an average blog — usually not needed.

What if my sitemap exceeds 50 MB?

Split into multiple children and build a sitemap index. One index can reference 50,000 child sitemaps — effectively limitless for any realistic site size.

Share
Automate all this for your site

Site Metrics Tool syncs GSC and Yandex Webmaster every 6 hours, builds 16 months of history and fires alerts on drops. Free plan — forever.

Create free account

Related articles

🤖
Jun 5, 2026 · 12 min read

robots.txt: 8 common mistakes and how to catch them for free

Eight typical robots.txt mistakes that tank indexation: Disallow confusion, conflicting rules, forgotten staging, wrong User-agent. How to check them in a minute, for free.

🧱
Sep 4, 2026 · 14 min read

Schema.org markup: the advanced 2026 guide

A complete guide to structured data: every type for every page, JSON-LD vs Microdata, @id linking, testing and debugging.

🌐
Aug 19, 2026 · 13 min read

Hreflang for multilingual sites: the complete 2026 guide

What hreflang is, how to set it up correctly for two or more languages, typical mistakes, and why Google and Yandex treat hreflang differently.

⚙️
Aug 3, 2026 · 13 min read

JavaScript SEO in 2026: SPA, hydration, and why your page won't index

Why JavaScript-heavy sites index poorly, how Google and Yandex render JS, SSR/SSG/CSR differences, and a fix checklist.

Contents
  1. The baseline check via the validator
  2. lastmod: the chief sitemap pain
  3. When to split into a sitemap index
  4. hreflang in sitemap for bilingual sites
  5. What should never end up in the sitemap
  6. submitted-to-indexed ratio
  7. Sitemap and rank tracking
Free tools
  • 🎯SERP Checker
  • 🤖robots.txt
  • 🗺️Sitemap
  • 🏷️Meta tags
  • ⚡Core Web Vitals
Free
Free plan, no card

1 project, 5 keywords, OAuth with GSC and Webmaster, 16 months of history. Pay only if you outgrow it.

Create account →
Read also
  • 🤖robots.txt: 8 common mistakes and how to catch them for free
    12 min
  • 🧱Schema.org markup: the advanced 2026 guide
    14 min
  • 🌐Hreflang for multilingual sites: the complete 2026 guide
    13 min
  • ⚙️JavaScript SEO in 2026: SPA, hydration, and why your page won't index
    13 min
Site Metrics Tool

Rank tracking in Google and Yandex. GSC + Webmaster integrations, 16 months of history, free plan without a card.

All systems normal
Product
  • Features
  • Pricing
  • Site audit
  • Services
  • Start free
  • Sign in
Resources
  • Blog
  • Tools
  • Glossary
  • Comparisons
  • RSS
Legal
  • Terms
  • Privacy
  • Refund
Contact
  • info@sitemetricstool.com
  • support@sitemetricstool.com
© 2026 Site Metrics Tool. Self-hosted SEO.
Spiridonov Dmitry Vadimovich (Individual Entrepreneur) · OGRNIP: 324762700012347 · INN: 760806658219
Registered address: 12-20 Krasnoekhovskaya str., Pereslavl-Zalessky, Yaroslavl Region, 152020, Russia · info@sitemetricstool.com