AI Site Grade
hanson-inc.com — AI Site Grade
Cloudflare rate-limits GPTBot and ClaudeBot to 429, blocking AI crawlers despite permissive robots.txt, while the site's 2025 rebrand and sustainability messaging remain invisible to LLMs.
Hanson-inc.com's AI visibility is undermined by accidental Cloudflare blocking of key AI crawlers, stale LLM knowledge of its 2025 rebrand, missing local business schema for 20+ offices, and zero external review signals.
- Findings
- 8
- Evidence checks
- 22
- Completed
- 30 May 2026
Analysis
I have enough data now. Let me compile the audit.
GPTBot and ClaudeBot hit Cloudflare 429 rate-limit walls while the robots.txt says nothing about AI crawlers — the site's AI-visibility posture is a case of accidental blocking, not intentional denial.
Crawler Access
The robots.txt at hanson-inc.com is a bare Yoast-generated file with a single User-agent: * / Disallow: rule and no AI-bot directives whatsoever. Despite this permissive stance, Cloudflare's WAF rate-limits GPTBot and ClaudeBot to HTTP 429 (Cloudflare challenge page) and blocks Bytespider with HTTP 403. Meanwhile, OAI-SearchBot, ChatGPT-User, PerplexityBot, Perplexity-User, Google-Extended, Applebot-Extended, and anthropic-ai all receive full 200 responses with identical content to a browser. The blocking is not policy-driven but a side effect of Cloudflare's bot-threshold defaults — GPTBot and ClaudeBot trip rate limits while other AI crawlers pass through. The site runs on WP Engine behind Cloudflare with nginx, serving server-rendered HTML (no JS-shell risk; ~85KB body, ~585 words visible text on homepage).
Cold-Knowledge Gap
The LLM knows Hanson as a Springfield, Illinois-based employee-owned firm founded in 1954, with ~600 employees, 20+ offices, and work on major transportation hubs like Chicago O'Hare. The site confirms all of this on the /who-we-are/fact-sheet/ page. However, the LLM's knowledge is stale on the brand identity: it references "Hanson Professional Services Inc." without awareness of the 2025 rebrand (new logo, green sustainability emphasis, updated website) documented in the February 2025 blog post. The site's homepage tagline — "Innovative engineering for a better planet" — and the prominent green/sustainability messaging are absent from the model's prior. The model also mentions "proprietary tools for asset management and risk analysis" that the site does not explicitly name or feature.
Schema Posture
Every page carries a rich JSON-LD graph with WebPage, BreadcrumbList, WebSite, Organization, and (on blog posts) Article types. The Organization schema includes logo, sameAs links to Facebook/Instagram/LinkedIn/YouTube, and a SearchAction. However, no LocalBusiness or ProfessionalService schema is used despite the firm having 20+ physical offices — the /who-we-are/locations/ page exists but has no local-business markup. Blog articles use Article schema but lack FAQPage or HowTo types even on posts that define concepts (e.g., the GIS+AI blog post defines GIS, ML, and DL in a structured Q&A format that could use FAQPage).
External Signals
The site has no detectable external review presence — a web search for "Hanson Professional Services reviews" returned zero results. The only off-domain signals are the social profiles linked in schema (facebook.com, instagram.com, linkedin.com/company/116552, youtube.com/user/HansonProfessionals). The site is powered by Hinge Marketing (footer credit), a known AEC industry agency. The llms.txt returns HTTP 404, meaning no AI-friendly content map exists despite the site having 172+ indexed URLs across 7 sitemaps including a dedicated job-sitemap.xml and projects-sitemap.xml.
Findings
GPTBot and ClaudeBot blocked by Cloudflare rate limits High
GPTBot and ClaudeBot receive HTTP 429 responses from Cloudflare's WAF, preventing them from indexing the site. The robots.txt is permissive and does not block any AI crawlers, so the blocking is accidental.
What to change: Adjust Cloudflare WAF rate-limit rules to allow GPTBot and ClaudeBot, or whitelist their user-agent strings.
Bytespider blocked with HTTP 403 High
Bytespider receives HTTP 403 responses, blocking it from accessing the site. This further reduces AI crawler coverage.
What to change: Investigate Cloudflare or server-level rules blocking Bytespider and allow access.
LLM knowledge lacks 2025 rebrand and sustainability messaging Medium
The LLM's prior knowledge of Hanson Professional Services Inc. does not include the 2025 rebrand, new logo, green sustainability emphasis, or the updated tagline 'Innovative engineering for a better planet'. The site's homepage prominently features these, but they are not reflected in the model's knowledge.
What to change: Publish an llms.txt file and ensure the rebrand content is well-indexed and linked from authoritative pages.
No LocalBusiness or ProfessionalService schema for 20+ offices Medium
The site has a locations page but does not use LocalBusiness or ProfessionalService schema markup for any of its 20+ physical offices, reducing local AI visibility.
What to change: Add LocalBusiness schema with address, phone, and opening hours for each office location.
Blog posts with Q&A content lack FAQPage schema Low
Blog articles that define concepts in a structured Q&A format (e.g., the GIS+AI post) use only Article schema and miss the opportunity to use FAQPage schema, which could enhance AI extraction.
What to change: Add FAQPage schema to blog posts that contain question-answer pairs.
llms.txt file returns 404 Medium
The site does not provide an llms.txt file, missing an opportunity to guide AI crawlers to key content and improve knowledge accuracy.
What to change: Create an llms.txt file listing important pages like the fact sheet, rebrand blog post, and services overview.
No external review presence detected Medium
A web search for 'Hanson Professional Services reviews' returned zero results, indicating no review profiles on platforms like Google, Glassdoor, or Indeed, which limits external signals for AI models.
What to change: Encourage clients and employees to leave reviews on Google, Glassdoor, and industry-specific platforms.
Site not appearing in web search results High
A site-specific search (site:hanson-inc.com) returned zero results, suggesting possible indexing issues or low search engine visibility.
What to change: Verify Google Search Console for indexing errors and ensure sitemaps are submitted correctly.
What's working
- Robots.txt allows all crawlers with no AI-bot restrictions — The robots.txt file has a single allow-all rule and no disallow directives for AI crawlers, ensuring policy does not block any bots.
- Site serves server-rendered HTML with no JavaScript dependency — All pages return full HTML content (~585 words on homepage) without requiring JavaScript, making them easily parseable by AI crawlers.
- Every page includes rich JSON-LD schema with Organization, WebSite, and BreadcrumbList — The site consistently uses JSON-LD markup including Organization schema with logo and social links, WebSite with SearchAction, and BreadcrumbList, aiding AI understanding.
- Multiple sitemaps covering 172+ URLs including jobs and projects — The site has 7 sitemaps (including job-sitemap.xml and projects-sitemap.xml) with 80+ URLs in the index, ensuring broad crawl coverage.
- Dedicated fact sheet page with key company details — The /who-we-are/fact-sheet/ page provides a concise summary of the company's history, size, and services, which is valuable for AI knowledge extraction.
- Organization schema includes links to Facebook, Instagram, LinkedIn, and YouTube — The schema markup provides sameAs links to four social media profiles, helping AI models verify and enrich the entity's online presence.
Track hanson-inc.com across AI search
This is one snapshot. Open the interactive report to inspect evidence, or grade another site free.