To submit a sitemap to Google, open Search Console, choose your property, go to Sitemaps, enter the sitemap URL (for example sitemap.xml or sitemap_index.xml) and press Submit. Also add a Sitemap: line to robots.txt. A sitemap helps Google discover your URLs, but it doesn't make Google crawl or index them on demand.
Step by step in Search Console
- Open Google Search Console and select your property.
- In the menu, open Sitemaps.
- Under "Add a new sitemap", type the path, for example
sitemap_index.xml. - Press Submit.
- Wait for the status to change to Success, then check how many URLs were discovered.
If your CMS generates a sitemap index (WordPress SEO plugins usually do), submit the index. Google reads the child sitemaps from it.
Add it to robots.txt too
Add one line anywhere in robots.txt:
Sitemap: https://yoursite.com/sitemap_index.xml
This lets Google and other search engines find the sitemap even without Search Console. It doesn't replace submitting it.
What makes a good sitemap
- Only URLs you want indexed: canonical, returning 200, not noindexed.
- No redirects, 404s or URLs blocked in robots.txt.
- Accurate
lastmoddates. Google uses them when they're consistently honest. - Under 50,000 URLs and 50 MB per file. Use a sitemap index for more.
- The same protocol and host as your canonical URLs.
changefreq and priority are ignored by Google, so don't spend time on them.
Reading the sitemap report
| Status | Meaning | What to do |
|---|---|---|
| Success | Google read the file | Check discovered URLs and page indexing |
| Couldn't fetch | Google couldn't download it | Open the URL yourself; check status, robots.txt, firewall |
| Has errors | Invalid format or URLs | Open the details, fix the listed problems |
"Couldn't fetch" right after submitting is common and often resolves within a day. If it persists, make sure the file returns 200 with an XML content type and isn't blocked for Googlebot.
What a sitemap does not do
A sitemap is a list. It tells Google which URLs exist and when they changed. Google then crawls them on its own schedule, guided by how important they look and how much it wants to crawl your site.
- It doesn't force crawling. Large sitemaps on new sites can sit mostly unvisited.
- It doesn't fix pages Google decided not to index.
- It doesn't replace internal links, which remain the main signal of importance.
- Pinging the sitemap URL no longer does anything: Google retired the ping endpoint in 2023.
When you need pages crawled now
If a batch of pages needs to be crawled after a launch, migration or update, a sitemap alone is slow. You can request indexing for a few URLs in Search Console. For more, send the same sitemap to @IndexForgeBot: it reads the sitemap (and sitemap indexes), checks every page and sends the indexable ones to Google, at $0.01 each. See sitemap indexing.
Common sitemap mistakes
| Mistake | Why it hurts |
|---|---|
| Listing redirects and 404s | Google wastes crawls and trusts the file less |
| Listing noindexed pages | Mixed signals: "index this" and "don't" |
| Updating every lastmod daily | Google learns to ignore your dates |
| http URLs on an https site | Every entry redirects |
| Submitting only the homepage URL | Not a sitemap, discovers nothing |
Sitemap formats Google accepts
| Format | Use it for |
|---|---|
| XML sitemap | The standard; supports lastmod, images, video, hreflang |
| Sitemap index | Grouping several XML sitemaps |
| Plain text (.txt) | A simple list of URLs, one per line |
| RSS / Atom feed | Recently changed URLs on blogs and news sites |
Most sites should use XML with a sitemap index once they grow. See sitemap index explained.
lastmod, done right
Google has said it uses lastmod when it's consistently accurate. "Accurate" means it changes when the main content changes, not when a sidebar widget or a comment count updates. If every URL shows today's date every day, Google learns to ignore the field, and you lose a free signal for pages that really did change.
Sitemaps for large sites
- Split by content type so each file is easy to monitor.
- Keep each file well under the limits for faster processing.
- Exclude filtered, sorted and paginated variants.
- Generate sitemaps automatically from the database, not by crawling the site.
How to see which sitemap URLs are indexed
In Search Console, open Page indexing and filter by sitemap. You'll see indexed and non-indexed counts for the URLs in each sitemap, with reasons. This is the main reason to split sitemaps by type: problems become visible per group.
Sitemaps and other search engines
The Sitemap: line in robots.txt is read by other search engines too. Bing Webmaster Tools also accepts sitemap submissions. The file itself is the same for all of them.
What Google does after you submit
- Downloads the file and checks the format.
- Reads the URLs and lastmod dates, and adds new URLs to its list of known pages.
- Schedules crawling based on its usual signals: importance, freshness, site capacity.
- Re-reads the sitemap periodically to pick up changes.
Submitting doesn't put URLs at the front of the crawl queue. It makes sure Google knows about them.
Troubleshooting "Sitemap could not be read"
- Open the sitemap URL in a browser. It should show XML, not an HTML page or a login screen.
- Check the HTTP status: it must be 200, not a redirect.
- Make sure robots.txt doesn't block the sitemap path.
- Look for invalid characters or unescaped ampersands in URLs.
- If a firewall or CDN challenges bots, allow Googlebot.
Sitemaps on common platforms
| Platform | Typical sitemap URL |
|---|---|
| WordPress (core) | /wp-sitemap.xml |
| WordPress with an SEO plugin | /sitemap_index.xml |
| Shopify | /sitemap.xml |
| Custom site | Generated by your code, usually /sitemap.xml |
Do sitemaps help backlinks?
Only the host's sitemap matters for a backlink, and you can't submit someone else's sitemap. If a guest post isn't in the host's sitemap and isn't linked anywhere, ask the host to fix it, or request a crawl for the page directly.
A sitemap health checklist
- Every URL returns 200 and isn't redirected
- No URL has noindex or is blocked in robots.txt
- Every URL is the canonical version
- lastmod changes only when content changes
- The file returns XML, not HTML, with status 200
- robots.txt references the sitemap
- Search Console shows Success and a sensible URL count
How to clean a messy sitemap quickly
Take all URLs from the sitemap and run them through an indexability check. Remove 404s and redirects, replace non-canonical URLs with their canonical versions, and drop anything noindexed or blocked. If you send the sitemap to @IndexForgeBot, the filtered list by reason is exactly this to-do list, and the rest can be sent for indexing in the same step.
Submitting through robots.txt and the API
Search Console is the main way, but not the only one. The Sitemap: line in robots.txt lets Google and other search engines find the file without any account. Sites that publish a lot can also submit sitemaps through the Search Console API, which is useful when sitemaps are generated by a deploy process. The old "ping" endpoint that accepted a sitemap URL by GET request has been retired by Google, so tools that still rely on it don't do anything.
How often to resubmit
You don't need to resubmit after every change. Google rereads submitted sitemaps on its own, more often for sites that change often and keep honest lastmod dates. Resubmitting helps after a big structural change, a migration or a fix to a broken sitemap, to show Google the new version sooner.
Sitemaps for sites with few pages
A small site with good internal links can be indexed fully without any sitemap. Google's own documentation says so. A sitemap still costs nothing and gives you the per-sitemap indexing report in Search Console, which is the quickest way to see which pages are missing.
Submitting sitemaps for sites you don't own
You can only submit a sitemap in Search Console for a property you've verified. For backlinks on other sites, the host's sitemap is out of your hands. Check whether the page is listed there and ask the host to include it if it isn't. If you need the page crawled sooner, send the URL itself for crawling after it passes an indexability check.
Sitemaps and multiple languages
A multilingual site can use one sitemap for all languages or one per language inside an index. Either works. Per-language sitemaps make it easier to see in Search Console whether one language has indexing problems that the others don't.
Common questions
How often should I resubmit my sitemap?
You don't need to. Google re-reads submitted sitemaps regularly. Resubmit only if the URL of the sitemap changed.
Should I submit separate sitemaps for images and videos?
Only if images or videos matter for search on your site. Most sites can include them in the main sitemap or skip them.
Why are submitted pages not indexed?
Discovered doesn't mean indexed. Check the page indexing report for the reason, and see why a page isn't indexed.
Do I need a sitemap for a small site?
Not strictly, if every page is well linked. It's still cheap insurance and helps you see indexing problems in Search Console.
Have links stuck outside the index?The bot checks every URL first and charges $0.01 only for links that go through. 10 free to start.
Open the bot