Cross-domain sitemap URL: why search engines ignore it
A sitemap can only vouch for URLs on its own host. squirrel compares every sitemap entry's hostname against your base URL.
What cross-submission means
A sitemap normally speaks for the host that serves it, so a <loc> on another domain is usually a generator with the wrong base URL or a leftover from a migration.
Cross-submission is not forbidden. Google accepts URLs for another host when you have verified ownership of both, or when the other host’s robots.txt names the sitemap. This rule does not know about either arrangement: it compares hostnames only, treating the www and bare forms of one registrable name as the same site. A deliberate, authorised cross-submission will therefore be flagged.
What squirrel checks
The rule is site-wide. It takes the hostname of the site’s base URL, then compares it against the hostname of every <loc> in every discovered sitemap, lowercased.
- Skipped when no sitemap was discovered. Message:
No sitemap to validate. - Skipped when the base URL has no parseable hostname. Message:
Could not determine expected domain. - Fail when any entry’s hostname differs. Message:
N URL(s) point to different domain(s), whereNis the exact count. It lists the first 50 URLs with the host each resolved to, anddetails.totalholds the count. Past 50,additionalandpagesTruncatedrecord the rest, so the report still shows the full number of affected URLs.foundHostslists up to 50 hosts, withhostCountwhen there are more. Severity error, weight 8. - Pass otherwise. Message:
All sitemap URLs match site domain.
A hostname matches when it equals the expected host, equals www. plus the expected host, or when www. plus itself equals the expected host. Entries whose <loc> has no parseable hostname are skipped rather than flagged.
How to fix it
<url><loc>https://example.com/pricing</loc></url>Set the generator’s base URL to the canonical host and regenerate. A site that has just moved domains will produce this finding until the sitemap is rebuilt; fix the sitemap, not the redirects.
If the cross-domain entries are intentional, verify both hosts in Search Console or reference the sitemap from the other host’s robots.txt, and disable this rule for that site.
| Rule ID | crawl/sitemap-domain |
| Category | Crawlability |
| Scope | Site-wide |
| Severity | error |
| Weight | 8/10 |
Enable / disable
Disable this rule
[rules]
disable = ["crawl/sitemap-domain"]Disable all Crawlability rules
[rules]
disable = ["crawl/*"]Enable only this rule
[rules]
enable = ["crawl/sitemap-domain"]enable replaces the default ["*"], so this is the only rule selected. Leave disable out: a rule that matches any disable pattern is skipped even when enable names it. Only an enabled setting under a rule’s own [rule_options] table overrides both lists.
Related rules
- crawl/sitemap-valid: the structural checks over the same files.
- crawl/sitemap-4xx: entries that resolve to an error rather than to another host.
- crawl/canonical-chain: canonical tags pointing somewhere other than the page itself.
- links/https-downgrade: internal references that keep the wrong scheme.
Crawlability findings ship in every audit next to the SEO, performance and agent experience rules. See The Screaming Frog alternative for agents for how an agent works through a report.
References
- Sitemaps FAQs, including cross-submission, Google Search Central
- Sitemaps overview, Google Search Central
Check your site
Run squirrel audit https://example.com and open the Crawlability section of the report. Every cross-domain entry is listed with the host it points at. Signed-out local audits need no account and cost nothing. Signed-in audits spend credits.