LLM Technical Readiness
Crawler access, render speed, schema completeness, chunkability, and AI-era infrastructure — llms.txt, robots.txt AI directives, and bot-access policies.
| Bot | Owner | Status |
|---|---|---|
| GPTBot | OpenAI | Default allow |
| OAI-SearchBot | OpenAI | Default allow |
| ClaudeBot | Anthropic | Default allow |
| PerplexityBot | Perplexity | Default allow |
| Google-Extended | Default allow | |
| bingbot | Microsoft | Allowed · 1s delay |
No intentional AI crawler strategy — all bots operate under the default User-agent: * rule. No llms.txt file exists.
- LocalBusiness + Plumber dual @type
- Address, geo, telephone, openingHoursSpecification (24/7)
- 25 service offerings in hasOfferCatalog
- knowsAbout linking Wikipedia + Wikidata
- AggregateRating 4.8★ / 75 reviews embedded
- Employee entity (Chris Ford, Debbie Ford, Manager)
- Broken review dates: "0009-09-20" and "Invalid date" — Google may invalidate entire review schema
- No sameAs array on LocalBusiness
- BreadcrumbList positions start at 0 (should be 1)
- BreadcrumbList uses relative URLs instead of absolute
- WebPage description is generic national tagline
- Missing priceRange property
An Alibaba-scale analysis found that 1.13 billion pagesfailed to be indexed by AI crawlers because they relied on client-side JavaScript rendering. Roto-Rooter's Angular SSR setup avoids this trap, but the lesson is brutal at scale: if it's not in the initial HTML, it does not exist to AI.
Crawl log analysis shows GPTBot hits WordPress wp-json REST endpoints 1.6× more frequently than regular HTML pages. Structured JSON is preferred over rendered HTML — implication: serve a clean structured-data API endpoint alongside every key page.
LLMs read HTML comments that Google's crawler ignores. Developer notes like <!-- TODO: fix this hack --> end up in brand perception models. Audit and strip ALL HTML comments in production builds — they bleed into entity profiles.
Adding a sameAs array on LocalBusiness pointing to Wikipedia, Wikidata, and other authoritative entity sources is reported to "work really really well" for entity disambiguation. Roto-Rooter Sarasota currently has zero sameAs on the LocalBusiness block.
Google's NavBoost system uses a 13-month rolling Chrome User Experience window. A bad Core Web Vitals quarter follows the site for over a year. Bad performance compounds — fix it before it locks in.
The Sarasota location page ships 514 KB of HTML — 6-10× larger than a well-optimized local service page. Multiplied across 500+ franchise locations this is a measurable crawl budget burn. Inlined CSS and Angular component markup are the main offenders.
Two review entries render as "0009-09-20" and "Invalid date". Google's structured data validator will throw a hard error and may invalidate the entire AggregateRating block — meaning the 4.8★ rich snippet currently displaying could vanish overnight.
Good news: The site runs Angular with SSR (Angular Universal). All critical content — title, H1, meta description, phone number, address, 5 JSON-LD schema blocks, 108 internal links, and body content — is present in the initial HTML response. This is above-average infrastructure for a national franchise page and means AI crawlers do not need to execute JavaScript to reach content.
Bad news: The 514 KB HTML payload is ~10× larger than a well-optimized local service page. Bloat comes from inlined CSS, SVG assets, and Angular component markup. Multiplied across 500+ location pages, this is a significant crawl budget inefficiency.