How do I verify that my sitemap is correct and that Google and Bing read it?

Open the sitemap and every file it lists. Check that each address is a live canonical page and that the count matches the pages you have. Then submit it in Google Search Console and Bing Webmaster Tools. The next day, check that both have read it without errors since your newest page went live.

By Margareta Petrovic, founder of Visibility Mesh. We checked every statement in this guide against its primary source on September 30, 2026.

A sitemap is an inventory, so check it against your own list of pages in both directions. Every entry in the file should exist as a live page, and every page that matters should appear in the file. Google calls a submitted sitemap a hint, so the file helps only when the list is right.

Shopify stores need one more check, in step 8, because the addresses of Shopify's child sitemap files change as pages are added.

Before you start

  • Verify the site in Google Search Console and in Bing Webmaster Tools. Only a property owner can submit a sitemap in Google's Sitemaps report.
  • Find the sitemap address. Shopify serves it at /sitemap.xml, and WordPress core serves /wp-sitemap.xml. An SEO plugin such as Yoast SEO builds its own index instead.
  • Check robots.txt first, because Google respects it when it fetches a sitemap.
  • Export the list of public pages from your platform. That export is the list you compare against in step 4.

Steps

Step 1. Open the sitemap and list every file

Open the sitemap in a browser. A sitemap index lists other sitemap files. Each of those lists pages. Copy every child address exactly, with its query string. On Shopify a child address can look like /sitemap_products_1.xml?from=100&to=900, and the numbers matter in step 8.

curl -s https://www.example.com/sitemap.xml

Step 2. Check the technical rules

Each file should answer 200 with XML in UTF-8. Google and Bing both cap a file at 50,000 URLs. Google also caps it at 50 MB uncompressed. Every address in the file must be absolute, with https and the host. An index can list up to 50,000 sitemaps. Google wants them on the same site as the index, in the same directory or deeper. Cross site submission is the one exception.

curl -sI https://www.example.com/sitemap.xml

Read the status line and the Content-Type. On WordPress with Yoast SEO, you will also see an X-Robots-Tag header with noindex, follow. Yoast adds it on purpose, since a sitemap does not need to be indexed to be read.

Step 3. Sample 20 addresses from each file

Take 20 addresses from each child file, picked from across the file rather than from the top. Each should answer 200 without a redirect, carry no noindex, name itself as canonical and be allowed in robots.txt. Google asks for the canonical URLs you want in its results. It also asks you not to list one URL in the sitemap while the page names another as canonical. The guide on how to check that canonicals match the sitemap covers that comparison.

This loop prints the status of 20 addresses picked at random from one child file. Run it again for each of the other child files.

curl -s "https://www.example.com/sitemap_pages_1.xml" | grep -o '<loc>[^<]*' | sed 's/<loc>//' | sort -R | head -20 | while read u; do curl -s -o /dev/null -w "%{http_code} $u\n" "$u"; done

Step 4. Compare the count with your own list

Count the addresses in each file and add them up. Compare the total with the export from your platform, in both directions. A page on your list that is missing from the sitemap is a gap. An address in the sitemap that is not on your list is either a page you forgot or a page that should not be public.

curl -s "https://www.example.com/sitemap_pages_1.xml" | grep -o "<loc>" | wc -l

Step 5. Check the lastmod values

Google ignores priority and changefreq. It uses lastmod only when the value is consistently and verifiably accurate. The value should reflect the last significant change to the page. Google counts changes to the main content, the structured data or the links, and a new copyright year does not count. Bing also ignores priority and changefreq. It asks for ISO 8601 dates with the time. It also warns against setting lastmod to the moment the sitemap was generated.

Open three pages you changed recently and three you have not touched in months. Compare their lastmod values with what you know. A sitemap in which every page changed at 3 a.m. today is describing its own build schedule.

Step 6. Add the Sitemap line to robots.txt

Add a line with the full address of the sitemap to robots.txt, such as Sitemap: https://www.example.com/sitemap.xml. The line belongs to no user agent group. It can sit anywhere in the file. For a sitemap index, the index alone is enough. WordPress core adds the line to the robots.txt it generates. Bing treats the line as one of its two ways to submit.

Step 7. Submit the sitemap to Google and Bing

In Google Search Console, test the sitemap address with a live URL inspection and check that Page fetch reads "Successful." After that, open the Sitemaps report, paste the address into Add a new sitemap and click Submit. Google says it fetches a submitted sitemap right away. Crawling the pages in it takes longer. Google may not crawl all of them.

In Bing Webmaster Tools, open the Sitemaps section for the verified site and submit the same address. Bing says it fetches a sitemap on submission and then revisits it, typically at least once a day. Its report also lists sitemaps Bing found on its own. The Bing steps here follow the Bing Webmaster Blog posts of September 21, 2023, and July 31, 2025.

Step 8. Read both reports the next day

In Search Console, each submitted sitemap shows a status, a last read date and a count of discovered pages. "Success" means Google read the file without errors, and "Has errors" means it read only part of it. For a sitemap index, the discovered pages figure counts every URL in the child files once. In Bing Webmaster Tools, read the submission status, the last read date and any processing errors.

On a Shopify store, compare the child addresses in your live /sitemap.xml with the child addresses Search Console lists. Shopify puts an id range into the address of each product, page and collection file, with a "from" value and a "to" value. When pages are added, the "to" value changes, and the address changes with it. A search engine that still holds the old child address reads a list without the newest pages. The report shows no error for it.

Resubmit the sitemap index and each current child address, in Search Console and in Bing Webmaster Tools. It takes a few minutes. Google's help page says that deleting an old entry from the report does not make Google forget that file or its URLs. Removing the stale child address only cleans up the list.

Check that it worked

Both tools should show the sitemap as read without errors. The discovered count in Search Console should sit close to your count from step 4. The last read date in both tools should be later than your newest page. On Shopify, the child addresses in Search Console should match the live index. Keep the dated record with the sitemap addresses in it. If the sitemap work went out with a deploy, read how to verify that a change is live for the rest of the checks.

If it did not work

  • If Google could not fetch the sitemap, start with the two usual causes on Google's list. One is a robots.txt rule that blocks the file, and the other is a wrong address that returns 404. A manual action, a server error or low crawl demand can also stop the fetch. Fix the cause and submit again, because Google stops retrying a failed sitemap after a few days.
  • If the sitemap is missing from the report, check the protocol and the host, www or not. Sitemaps belong to the property where they were submitted. The report lists only sitemaps submitted through the report or the API. A sitemap Google found in robots.txt does not appear there.
  • If the site moved to a new domain and the old domain's sitemap is still the one submitted, submit the new sitemap in the new domain's property.
  • If the sitemap lists redirected, noindex or non canonical URLs, fix the pages themselves. Shopify and WordPress build the file from your pages, and the sitemap follows.
  • If every lastmod changes on every build, take lastmod from the real change date of each page, or leave it out. Google uses it only when it proves accurate.
  • If the sitemap was submitted and the pages still were not crawled, go back to Google's own wording. Google calls a sitemap submission a hint, with no guarantee that it downloads the file or crawls the URLs in it.

Platform notes

Shopify generates the sitemap automatically at /sitemap.xml on each domain. It links separate files for products, collections, pages and blog posts. Shopify updates them when you add content. The index itself carries a note that it cannot be edited manually. We read the sitemaps of two Shopify stores on September 30, 2026. In both, the product, page and collection files carried an id range in their addresses. The blog file did not. Search engines cannot read the sitemap while the store is in private mode. A store with international domains gets a sitemap for each domain.

WordPress 5.5 added a core sitemap index at /wp-sitemap.xml. It covers public post types, taxonomies, author archives and the home page. Each file holds up to 2,000 entries by default. The robots.txt that WordPress generates points to the index. Core turns the sitemaps off when the site visibility setting asks search engines not to index the site. Yoast SEO builds its own index at /sitemap_index.xml, and its developer specification says requests to /sitemap.xml should redirect there. Yoast asks you to disable other sitemap plugins and remove any physical sitemap file first. Its help page adds that a sitemap served at /sitemap.xml itself comes from another plugin or from WordPress core.

Google's help page says hosted services such as Squarespace and Wix probably manage the sitemap for you. Take the exact location from their own help pages.

What Visibility Mesh checks and what it does not

The Visibility Mesh scan finds your sitemap through the Sitemap line in robots.txt and at /sitemap.xml. It follows a sitemap index into its child files and uses the addresses to choose which pages to read. Search Console and Bing Webmaster Tools show whether Google and Bing have read the file, and step 8 takes you there. On Shopify and WordPress, sitemap fixes are part of AI Visibility Setup: Foundation.

Questions people ask

How do I submit a sitemap to Google and Bing?

Put the sitemap on your site, then submit its full address in both tools. In Google Search Console, open the Sitemaps report, paste the address into Add a new sitemap and click Submit. You need owner permission on the property. In Bing Webmaster Tools, submit it in the Sitemaps section of the verified site. A Sitemap line in robots.txt lets both engines find it as well. Read the status in both tools the next day.

Should I have one sitemap per subdomain or one for the whole domain?

Give each host its own sitemap. The sitemaps protocol says all URLs in one sitemap must come from a single host, such as www.example.com or shop.example.com. Google adds that the sitemaps in an index must sit on the same site as the index. Cross site submission is the exception. Submit each sitemap in the Search Console property that covers its host.

Can I submit an RSS feed or a plain text file as a sitemap?

Google accepts both. It takes RSS 2.0 and Atom 1.0 feeds. It also takes plain text files with one URL per line. A feed lists only recent URLs, so use it next to a full sitemap and not in place of one. A text file must be UTF-8, hold nothing but URLs, and end in .txt. Bing prefers XML because it carries lastmod.

Related reading: After you submit the sitemap, we explain whether it is normal when Google has indexed none of your pages after 2 weeks.

Sources

Every page below was read on September 30, 2026.

The Academy explains why a sitemap can mislead crawlers when its entries and its pages disagree.

Run the free scan, and we read five of your key pages the way an AI crawler reads them, with no card and no call.

See whether this applies to your site

This article is about whether AI can find you; the first category of the scan checks exactly that on your site.

The free Visibility Mesh scan checks whether AI crawlers can reach your website and reads the structured data and text of 5 key pages. The scorecard has 3 complete findings, and each one names the page and the fix. No install, no call, no card.

Run the free scan