XML sitemaps for AdSense applicants: create, submit, verify
A sitemap does not get you approved. It gets your pages discovered, which is the precondition for anyone — reviewer or reader — finding the work you did.
6 min read · Last updated
What a sitemap is for
An XML sitemap is a machine-readable list of the URLs on your site you want crawled. It is a discovery aid, not a ranking factor and not an indexing guarantee. Google still decides independently whether each URL is worth indexing.
It earns its keep on new sites, which is exactly the situation of most AdSense applicants. A site with few inbound links can wait a long time for organic discovery; a submitted sitemap short-circuits that.
What belongs in it
- Every canonical, indexable, public URL you want in search — content pages, your hub pages, and your policy pages.
- Absolute URLs on the exact host you serve from, including the protocol. Mixing http and https, or www and non-www, produces confusing signals.
- Nothing that redirects, 404s, is noindexed, is blocked in robots.txt, or canonicalises to a different URL. A sitemap full of non-indexable URLs is a quality signal in the wrong direction.
- No admin pages, no login pages, no internal search results, no thank-you pages.
On lastmod: only include it if it reflects a real content change date. A build script that writes today's date onto every URL every deploy teaches Google to ignore the field entirely. If you cannot produce a truthful value, leave it out — it is optional. changefreq and priority are ignored by Google, so they are harmless but pointless.
Producing the file
- WordPress and most CMSs generate one automatically, often at /sitemap.xml or /sitemap_index.xml. Check what yours produces before building another.
- Static-site frameworks usually have a sitemap plugin that reads your route list at build time — preferable to a hand-written file, because it cannot drift out of date.
- For a small hand-built site, writing the XML by hand is fine, as long as you remember to update it when you publish.
- Large sites should split into multiple sitemaps under a sitemap index; the limits are 50,000 URLs or 50 MB uncompressed per file.
Whatever produces it, the file must return HTTP 200 with an XML content type. A sitemap that returns your styled 404 page with a 200 status is the sneakiest version of this failure.
Submitting it
- Add a Sitemap: line to robots.txt pointing at the absolute URL. Every crawler that reads robots.txt then finds it.
- Verify your domain in Google Search Console. Domain-property verification via DNS covers every protocol and subdomain at once and is worth the extra step.
- Open Sitemaps in Search Console, submit the path, and confirm the status reads Success along with a discovered URL count that matches roughly what you expect.
- If the count is far lower than your page count, the sitemap is not listing what you think it is.
Verifying that pages are actually indexed
Submission is not indexing, and this is the step people skip before reapplying to AdSense.
- Use the Pages report in Search Console. It splits URLs into indexed and not-indexed, with a reason for each exclusion.
- Use URL Inspection on your most important pages. It reports the page's index status, the canonical Google chose, and whether a crawl was blocked.
- 'Discovered — currently not indexed' usually means Google saw the URL and did not consider it worth fetching yet. It is common on new, low-authority sites and often resolves with time and internal linking.
- 'Crawled — currently not indexed' means Google fetched the page and chose not to index it. That is a quality signal: the page probably needs to be more substantial or more distinct from its siblings.
- 'Duplicate, Google chose a different canonical' means two of your URLs are too similar. Consolidate them.
How this maps to the AdSense timeline
The sequence that works: publish your content, submit or resubmit the sitemap, wait for the Pages report to show your key URLs indexed, and only then apply or reapply. Reviewers assess the site as it is crawlable at review time. Applying the same afternoon you upload twenty new pages usually means the review sees the site you had last month.
Indexing new pages on a small site typically takes days to a few weeks. Internal links from pages Google already visits speed it up considerably — another reason a hub page linked from the header is worth building.
Frequently asked questions
- Do I need a sitemap for AdSense approval?
- It is not an explicit requirement, but it materially improves the odds that your pages are indexed by review time — and a site with no indexed content is very hard to approve.
- Where should the sitemap live?
- Anywhere on your own domain; /sitemap.xml is conventional and the path most tools probe first. Reference the real path from robots.txt and submit it in Search Console.
- Should I include lastmod dates?
- Only truthful, page-specific ones. Auto-stamping every URL with the build date makes the field meaningless and Google will discount it. Omitting lastmod entirely is perfectly valid.
- My sitemap says Success but pages are not indexed. Why?
- Submission only guarantees discovery. Check the Pages report reasons — 'Crawled, currently not indexed' points to page quality, 'Discovered, currently not indexed' usually points to crawl budget and site authority on a new domain.
Check your own site
Run the free checker to see where your site stands on HTTPS, ads.txt, robots.txt, sitemap, viewport, policy pages, content depth and page speed.
Run the checker