The robots.txt your sitemap can't escape
Cheap SEO mistake to discover late: a pre-launch Disallow: / placeholder, silently still on, nullifies every sitemap you ship after it.
The Hospedaje landing — the cold-outreach funnel for the €79/mo Hospedaje bundle — went live a few weeks ago at hospedaje.io. Google Search Console was verified, the page was clean, copy was tight, and… analytics stayed empty. No impressions, no clicks, no nothing.
I went looking for the sitemap. There wasn't one — /sitemap.xml returned a 404. So I added one, three URLs, one per culture (/es, /en, /nl) with the right hreflang cross-references and x-default = es. The pattern matches the Hospido landing already in production; the test pipeline covers it end-to-end. Done.
Then I checked the robots.txt. It read:
User-agent: *
Disallow: /
That's a pre-launch placeholder I'd added months ago and completely forgotten. The line Disallow: / tells every search engine: don't crawl anything on this domain. Doesn't matter how good the sitemap is — Googlebot fetches the sitemap, sees that line, and walks away. The two had been silently fighting each other since launch, and the robots.txt was winning.
So the actual fix wasn't adding a sitemap. It was unblocking the robots.txt:
User-agent: *
Allow: /
Sitemap: https://hospedaje.io/sitemap.xml
Both ship in the same release. Splitting them would mean either change lands alone and delivers nothing — sitemap-without-allow gets ignored; allow-without-sitemap leaves discovery to GSC's manual queue only. They're one change.
The lesson I want to bottle for future me: every time you ship a landing page or a tools subdomain, the very first post-launch ritual is curl -s https://your-domain.com/robots.txt. If you see Disallow: /, you have not gone live yet — you have a private staging page on a public DNS record. The sitemap, the canonical links, the structured data, the OG tags — none of it matters until robots.txt agrees you exist.
Same fix happened last week on tools.visitalasalpujarras.es — different cause (the robots.txt was just missing, returning 404), same one-line dent in SEO. Three brand surfaces now ship the same Allow: / + Sitemap: triplet. If a fourth lands, that pattern is moving into the shared Astro template.
If you're running a Spanish hospitality property and want to skip the trial-and-error stack — booking + SES check-in + a working brochure site that's actually crawlable — that's what Hospedaje does. Fifteen-minute call. Doña Concha was first; you can be second.