What an XML sitemap is for
An XML sitemap is a list of the URLs you want search engines to know about, optionally with the date each was last modified. It does not guarantee indexing, but it helps search engines discover new and updated pages faster, especially on sites with few external links — which describes most small firm websites.
The sitemaps.org protocol allows up to 50,000 URLs and 50 MB uncompressed per file; larger sites use a sitemap index that points to several files. Google has said it ignores the priority and changefreq fields and uses lastmod only when it is consistently accurate.
What we check
- Whether a sitemap is declared in robots.txt or found at /sitemap.xml or /sitemap_index.xml.
- That it returns status 200, parses as XML and follows the urlset or sitemapindex format.
- Sitemap index files with their child sitemaps, and the number of URLs listed.
- A crawl of up to 40 internal pages and 150 links: broken links, redirecting links, missing titles and descriptions.
- Pages found in the sitemap but not linked from the pages we crawled, which visitors may not reach by browsing.
Keeping the sitemap healthy
List only canonical, indexable pages that return 200: no redirects, no noindex pages, no tag archives you do not want in search. Use the same host and protocol as your canonical tags. Most CMSs and SEO plugins generate and update the sitemap automatically; the usual problems come from plugins that include attachment pages or from old static sitemaps nobody updates.
Submit the sitemap in Google Search Console and Bing Webmaster Tools and reference it in robots.txt. Then watch the coverage reports there: they show which listed pages were indexed and why others were not.
Check the sitemap again after any redesign or migration. A new theme or CMS often changes URL patterns, and a sitemap that still lists the old addresses sends crawlers straight into redirects or 404 errors.
Sitemaps and multilingual sites
If your site has several language versions, include every version in the sitemap. You can also declare hreflang alternates inside the sitemap instead of in each page's HTML, which is easier to keep consistent on larger sites. Either way, every listed URL should be the canonical version of that page in its own language, not a redirect to another language.