Cal.com’s open booking pages leak its authority to spam that Google has indexed.
cal.com/[username] booking namespace is neither robots-blocked nor noindexed, so spam pages stay indexed on Cal.com’s own domain and dilute its authority. Second, editorial metadata is thin at the template level: 211 pages share one generic meta description and 43 carry no H1 in the crawled HTML. Both are template-level fixes.The crawl produced five findings, none critical: two high, three medium.
The open booking namespace leaks authority to foreign spam.
cal.com/[username] user booking pages are not in the sitemap, not robots-blocked, and not noindexed: robots.txt disallows only a handful of app paths (/sandbox, /api, /settings, /settings/my-account). So unclaimed/abused pages get discovered via external links and indexed on Cal.com’s own domain: e.g. /hl718 (foreign gossip, 1,055 visits/mo), /the-hell-trotter, /ghostboardfullstorythai. That bloats the index, wastes crawl budget, and dilutes authority.
noindex (opt-in to index once a profile is verified/active), and submit removal for the known foreign-spam URLs. Keep active customer booking pages indexable via an allowlist signal.Editorial metadata is missing or generic sitewide.
The crawl found template-level metadata gaps across the editorial set:
- 211 pages share one generic meta description (“A fully customizable scheduling software for individuals, businesses…”).
- 43 pages carry no H1 in the crawled HTML: the blog set.
meta description and one <h1> per post in the CMS template.Title tags are systematically too long.
Median indexable title = 101 characters; 958 of 1,028 (93%) exceed 60 chars, with several 150–172 (release-notes and guide titles): truncated in search results.
383 pages emit more than one H1.
37% of crawled pages emit more than one <h1>, diluting the primary-heading signal.
<h1> per template; demote secondary hero headings to <h2>.The sitemap submits test and staging URLs for indexing.
The sitemap includes junk: /test, /demo-2, /test-folder/compliance-2, /archived/enterprise-2, /blog/test-2-8-15-23.
The action plan runs in priority order.
| # | Action | Priority | Unlocks | Effort |
|---|---|---|---|---|
| 1 | Noindex unclaimed booking pages + remove foreign spam. Opt-in indexing on profile verification. | High | Recovered crawl budget; stops authority dilution | Medium |
| 2 | Author unique title + meta + single H1 per post. Template-level, ≤60-char titles. | High | Click-through + clean SERP snippets across 200+ pages | Low (template) |
| 3 | Enforce one H1 per page. | Medium | Cleaner heading signal sitewide | Low |
| 4 | Prune test/archived URLs from the sitemap. | Low | Crawl-signal hygiene | Low |
Five things already work.
- 97% clean 200s: 1,029 of 1,060; only 6 404s and 26 redirects (25×308, 1×301)
- Indexability correct: 1,028 indexable; no accidental noindex on money pages
- Low error rate + fast delivery across the marketing site
- Canonical + redirect handling is otherwise consistent
- AI-scheduling page exists:
/aiis a real, indexable page
curl re-check; nothing is inferred. The cal.com/[username] booking namespace was excluded from the crawl (effectively infinite) and quantified separately from indexed-page data.