Beamfar

XML sitemap checklist for a site that has just been migrated

An XML sitemap is a list of the URLs you want search engines to know about. It does not guarantee indexing and it does not fix a broken site, but a wrong sitemap actively misleads: it advertises URLs that redirect, error or belong to another host. Migrations are when sitemaps go wrong.

What a good sitemap contains

  • Only canonical, indexable URLs. Each URL returns 200, is not redirected, is not noindex, and its own canonical points to itself.
  • Fully qualified URLs. Google crawls the listed URLs exactly as written, so relative paths are not recommended. Use the same scheme and host as the preferred version of the site.
  • Honest lastmod dates. Google says it uses lastmod only when the value is consistently and verifiably accurate, and may check it against the page. A sitemap that sets every page to today’s date teaches Google to ignore the field. Update it only when the page content changes in a meaningful way.
  • Nothing else that matters. Google ignores priority and changefreq. You can leave them out.

Limits

A single sitemap is limited to 50 MB uncompressed or 50,000 URLs. Larger sets are split into several sitemaps and listed in a sitemap index file. Google says you can optionally create a sitemap index file and submit that single file, and you can also submit the individual sitemaps separately in Search Console so each can be tracked. Splitting by section (pages, blog, products) also tells you which part of a site has indexing problems.

How a migration breaks it

  • The sitemap still lists the old host or HTTP URLs. The generator was configured with the old base URL.
  • It lists URLs that now redirect. The old structure is in the file, and every entry returns 301.
  • It lists URLs that return 404 or 500, for pages removed in the redesign.
  • It lists noindex pages, such as thank-you pages and filter pages. This sends contradictory signals.
  • It lists non-canonical duplicates, such as parameter URLs or both /page and /page/.
  • It is out of date. A static file generated once, never regenerated.
  • It is blocked or gone. robots.txt disallows it, or the path returns an error page with status 200.
  • It is declared in robots.txt on the wrong host, so Sitemap: points to a staging domain.
  • The file is not valid XML. An unescaped ampersand in a URL (& must be &) breaks the whole file.

A ten-minute checklist

  1. Find it. Open https://example.com/robots.txt and read the Sitemap: line. Open that URL. If it is an index, open each part.
  2. Read the first and last entries. Check scheme, host, and path style.
  3. Count. Compare the number of URLs with what you expect. A drop to near zero, or a jump by a large factor, points to a generator or filter problem.
  4. Sample 20 URLs across sections. For each, check status 200, no redirect, no noindex, self-canonical.
  5. Check lastmod. Pick pages you know changed and pages you know did not. The dates should agree with reality.
  6. Validate the XML (a browser shows XML errors; so does any validator).
  7. Submit the sitemap in Google Search Console and Bing Webmaster Tools. Read the Sitemaps report: submitted versus discovered, and any errors.
  8. Look at the Pages report for submitted URLs with problems: redirects, 404s, noindex and canonical conflicts all show up there.
  9. Re-check after the next release. Regeneration steps often break silently.

For a site move across domains, Google’s guidance notes that you can expect warnings about redirects on the sitemap of the old URLs and that you can ignore them.

Sitemaps and robots.txt together

Declare the sitemap in robots.txt with an absolute URL, and make sure robots.txt does not disallow the sitemap itself or the URLs in it. A sitemap full of URLs disallowed by robots.txt is a contradiction Google reports on.

Automating the checks

The parts of this list that can be automated should be: the sitemap returning 200 and valid XML; the number of URLs staying in an expected range; a random sample of URLs returning 200 with a self-canonical. The parts that need judgment (which pages belong) are for a person, once per release.

How Beamfar helps

Beamfar finds the sitemap (declared in robots.txt, else /sitemap.xml), checks it is valid XML, counts its URLs, alerts when the count falls by a fifth or more or the file disappears, and checks a plan-limited sample of its URLs for errors, redirects and noindex. It is not a full sitemap audit; use a crawler for the migration itself.

Questions

What are the size limits of an XML sitemap?

Google documents a limit of 50 MB uncompressed or 50,000 URLs per sitemap. Larger sites split the URLs into several sitemaps and list them in a sitemap index file.

Does Google use priority and changefreq?

No. Google ignores both values. It uses lastmod only when the dates are consistently and verifiably accurate.

Should the sitemap include redirected URLs?

No. List only the canonical, indexable URLs that return 200. During a site move, redirect warnings on a sitemap of the old URLs can be ignored, according to Google.

Where should I declare the sitemap?

Submit it in Search Console and Bing Webmaster Tools, and add a Sitemap line with the absolute URL to robots.txt so any crawler can find it.

Sources

Read on . Standards and vendor pages change; confirm the current text before you rely on it.

Terms used in this guide

  • SitemapAn XML sitemap lists the URLs a site wants search engines to know about. Google’s size limits, how lastmod is used and what belongs in the file.
  • Canonical URLThe canonical URL is the address a search engine treats as the main version of a page that exists at several URLs. How rel=canonical, redirects and sitemaps signal it.
  • IndexingIndexing is how a search engine stores a page it has crawled so it can be returned for queries. What decides whether a page is indexed and why crawled does not mean indexed.
  • robots.txtrobots.txt is a text file at the top of a site that tells crawlers which URLs they may fetch. It manages crawling, is not security and cannot reliably hide pages.

Know first. Know why. Tell your client before they call.

Paste your client list. Both regions start checking.

No card for the trial.