The Challenge
A B2B agency whose buyers (HR directors, brokers, people turning 65) research for weeks before calling, increasingly by asking an assistant for a shortlist. The site had entity and Service schema from earlier work, but no FAQ markup, no AI crawler policy, no llms.txt, and a speed layer that served desktop visitors an optimized page while mobile visitors, including Google’s smartphone crawler, got an unoptimized one with 3.9 MB of hero images. The August batch scan read 58; the corrected September baseline was 61, after we fixed two false alarms in our own scanner (SVG coordinates counted as phone numbers, and InsuranceAgency missing from its list of accepted local business types).
The Work
FAQ markup on the questions the agency actually fields, a robots.txt allow-list for the search agents, a physical llms.txt, entity details aligned across the site and profiles, and the rendering fix: hero PNGs converted to WebP at a 94 percent size cut with dimensions preserved so every existing srcset stayed valid. One host-level cache purge, then the speed layer was left alone to re-warm; purging repeatedly would have reset the working desktop variants.
The Result
100 out of 100 on the verification scan the same day, every check passing, and 100 again on the re-check a week later. The mobile speed-layer problem itself remains a hosting ticket; the fix here was making sure the page the crawler receives carries the text and markup regardless.