concretecontractorspringhill.com scored 79/100 on the website scan.
Decent
concretecontractorspringhill.com · Scanned 2026-09-27
47 passed6 warnings5 failed
- Technical SEO & indexability17/20 of 20 points
- On-page SEO & content18/20 of 20 points
- AI search / AEO / GEO readiness20/30 of 30 points
- Local SEO & entity signals8/10 of 10 points
- Performance & mobile10/10 of 10 points
- Trust / E-E-A-T / reputation1/5 of 5 points
- Conversion & lead generation5/5 of 5 points
Why AI search is 30 of the 100 points
Google is sending fewer people to websites. When it answers with an AI Overview, the top-ranked page gets 58% fewer clicks (Ahrefs, 300,000 keywords, December 2025), and 68% of Google searches now end without a click at all (SparkToro, January–April 2026). The answer comes more and more from Google's AI, ChatGPT, Gemini and Perplexity, and they name the businesses whose sites they can read and quote. That is what this part of the scan measures, so it carries the most points.
What to fix first
-
✗
llms.txt +6 points
/llms.txt returns a web page, not a text file — the site answers unknown paths with its home page, so there is no llms.txt and no real 404 either.
What we’d do: Every site ships an llms.txt written from its facts, and unknown paths return 404.
-
!
FAQPage schema +3 points
The page asks and answers 7 questions but carries no FAQPage schema, so the engines have to find them on their own.
What we’d do: The FAQ's questions and answers go into FAQPage schema, built from the same text so the two always match.
-
✗
Reviews on the page +3 points
No reviews, rating or testimonials on the home page — the proof visitors look for first.
What we’d do: The live Google rating, count and newest reviews on every page.
-
✗
Social share cards +2 points
No Open Graph or Twitter card tags. A share in Messages, LinkedIn, Facebook or Slack shows a bare link.
What we’d do: Every page carries og:title, og:image, twitter:card and twitter:image, with a real picture.
-
✗
Linked to its profiles +2 points
Nothing ties this site to the business's profiles elsewhere: no sameAs in the schema, and no link to a Google Business Profile, Facebook or Yelp page. Those links are how the engines tell this business from others with a similar name.
What we’d do: The business node's sameAs lists every real profile — the Google Business Profile first, then Facebook, Yelp, BBB and the trade's own directories — and the footer links to them.
Every check, by category (70 checks)
Technical SEO & indexability 17 of 20 points
-
✗
Missing pages return 404
A made-up URL returns 200 with a page. These soft 404s get crawled and indexed as real pages and waste the crawl on nothing.
What we’d do: Missing routes return a real 404 with a helpful page.
-
!
HSTS header
No Strict-Transport-Security header. Browsers still use HTTPS, but a first visit typed without it can be intercepted.
What we’d do: HSTS with a one-year max-age on every response.
-
!
Security headers
Missing: Content-Security-Policy, frame protection (X-Frame-Options or CSP frame-ancestors).
What we’d do: Content-Security-Policy, X-Content-Type-Options, frame protection and Referrer-Policy on every response.
-
!
www and apex agree
Both www.concretecontractorspringhill.com and concretecontractorspringhill.com serve the site. Two copies split links and signals; one should redirect to the other.
What we’d do: One host — www or apex — and a 301 from the other.
-
•
Sitemap dates
The sitemap carries no lastmod dates. Search engines then decide for themselves when to recrawl.
-
✓
Indexable by search engines
No noindex on the page or in the headers, and robots.txt lets Googlebot in.
-
✓
HTTPS certificate
Valid until 2026-12-21, issued by Google Trust Services, on concretecontractorspringhill.com and www.concretecontractorspringhill.com.
-
✓
Canonical URL
Canonical is https://concretecontractorspringhill.com/.
-
✓
Mixed content
Every script, stylesheet, image, frame and form on the page is loaded over HTTPS.
-
✓
Sitemap
Sitemap at https://concretecontractorspringhill.com/sitemap-index.xml — an index of 1 sitemap.
-
✓
HTTP redirects to HTTPS
http:// redirects (301) to https://concretecontractorspringhill.com/.
-
✓
Language declared
<html lang="en">.
-
✓
Redirect chain
The URL answers directly, with no redirect.
-
✓
robots.txt
robots.txt is served (1 group, 1 sitemap line).
-
✓
Sitemap named in robots.txt
robots.txt names the sitemap: https://concretecontractorspringhill.com/sitemap-index.xml.
-
✓
Lighthouse SEO score
Lighthouse SEO 100/100.
-
✓
Lighthouse best practices
Lighthouse best practices 100/100.
On-page SEO & content 18 of 20 points
-
✗
Social share cards
No Open Graph or Twitter card tags. A share in Messages, LinkedIn, Facebook or Slack shows a bare link.
What we’d do: Every page carries og:title, og:image, twitter:card and twitter:image, with a real picture.
-
•
Image alt text
No <img> tags in the HTML.
-
•
Share image loads
Skipped — no og:image to fetch.
-
•
Pages read
Read with the home page: service page https://concretecontractorspringhill.com/services/concrete-driveways/.
-
✓
Page title
“Concrete Contractor, Driveways & Patios | Spring Hill, TN” — 57 characters, inside the 30–60 Google shows in full.
-
✓
Meta description
150 characters — fills the space Google shows without being cut.
-
✓
Single H1
One H1: “Concrete Contractor in Spring Hill, TN”.
-
✓
Readable content in the HTML
2,308 words of readable text in the HTML.
-
✓
Titles across the site
Each page read has its own title of 30–60 characters.
-
✓
Pages that repeat each other
The pages read share few sentences: at most 4 of 48 (8%) between the service and home pages.
-
✓
Favicon
A favicon is linked — it shows in the tab and beside the site in Google's results.
-
✓
Title and H1 differ
The title and the H1 are different, each doing its own job.
-
✓
Descriptions across the site
Each page read has its own description of 120–160 characters.
AI search / AEO / GEO readiness 20 of 30 points
-
✗
llms.txt
/llms.txt returns a web page, not a text file — the site answers unknown paths with its home page, so there is no llms.txt and no real 404 either.
What we’d do: Every site ships an llms.txt written from its facts, and unknown paths return 404.
-
!
FAQPage schema
The page asks and answers 7 questions but carries no FAQPage schema, so the engines have to find them on their own.
What we’d do: The FAQ's questions and answers go into FAQPage schema, built from the same text so the two always match.
-
!
FAQs on the inner pages
the service page answers questions without FAQPage schema.
What we’d do: Every service, area and post page carries its own researched questions — the ones people ask about that subject — visible and in FAQPage schema.
-
•
FAQ questions visible on the page
Skipped — no FAQ schema to compare.
-
•
Freshness dates in schema
No dateModified or datePublished in the schema. Not expected on every home page; a freshness date helps the engines trust the page is current.
-
•
Speakable specification
No speakable specification. Google's speakable is a news-only beta, so this is noted, not scored.
-
✓
Questions answered on the page
11 questions asked and answered on the pages read (7 on the home page, 4 on the service page) — the shape an AI answer is lifted from.
-
✓
Readable without JavaScript
The page's 2,308 words are in the HTML the server sends, so a crawler that runs no JavaScript reads them.
-
✓
AI answers may quote the page
Nothing on the page stops an answer engine from quoting it: no nosnippet, max-snippet limit, noarchive or noai.
-
✓
JSON-LD present and valid
4 schema types: LocalBusiness, PostalAddress, City, OpeningHoursSpecification.
-
✓
Extractable structure
Structure an engine can lift: 15 H2s, 21 H3s, 30 list items, 7 question headings.
-
✓
AI crawlers allowed
robots.txt lets every answer engine in: GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-SearchBot, Claude-User and the rest. GPTBot, ClaudeBot, OAI-SearchBot and PerplexityBot each get the home page from the edge, as a browser does.
Local SEO & entity signals 8 of 10 points
-
✗
Linked to its profiles
Nothing ties this site to the business's profiles elsewhere: no sameAs in the schema, and no link to a Google Business Profile, Facebook or Yelp page. Those links are how the engines tell this business from others with a similar name.
What we’d do: The business node's sameAs lists every real profile — the Google Business Profile first, then Facebook, Yelp, BBB and the trade's own directories — and the footer links to them.
-
✓
Business entity schema
LocalBusiness schema names the business.
-
✓
Business schema completeness
The business node carries name, url, telephone, address, areaServed, openingHours.
-
✓
Address and phone on the page
The phone ((931) 378-6491) and where the business is (4001 Parkfield Loop) are on the page as text, and the phone matches the schema's.
-
✓
Service area stated
The page says where the business works.
Performance & mobile 10 of 10 points
-
•
Interaction to Next Paint (INP)
No real-user INP yet — Google reports it once a page has enough visitors on Chrome. It measures how quickly the page reacts to a tap.
-
•
Image hygiene
No raster images on the page.
-
✓
Mobile viewport
The viewport meta tag is set for phones.
-
✓
Mobile PageSpeed score
Lighthouse mobile performance 94/100 (measured 2026-09-27). Google's own bands: 90 and up is good, 50–89 needs improvement.
-
✓
Largest Contentful Paint (LCP)
Largest Contentful Paint 2.4 s in the lab (no real-user data yet; lab runs vary, so we pass up to 4 s).
-
✓
Cumulative Layout Shift (CLS)
Cumulative Layout Shift 0.00 (lab). Google's thresholds: 0.1 good, 0.25 poor.
-
✓
Lighthouse accessibility score
Lighthouse accessibility 96/100.
-
✓
Pinch-to-zoom allowed
Pinch-to-zoom is allowed.
-
✓
No fixed-width overflow
No inline widths of 400px or more that would push past a phone screen.
-
✓
Time to first byte
First byte in 91 ms from our server.
-
✓
HTML weight
About 8 KB compressed (23 KB of HTML).
-
✓
Compression
Responses are compressed (br).
-
✓
HTTP/2 or HTTP/3
HTTP/2 negotiated, HTTP/3 advertised.
-
✓
What would speed it up most
Nothing large left to fix. PageSpeed's remaining suggestions: Render-blocking requests (about 0.8 s).
Trust / E-E-A-T / reputation 1 of 5 points
-
✗
Reviews on the page
No reviews, rating or testimonials on the home page — the proof visitors look for first.
What we’d do: The live Google rating, count and newest reviews on every page.
-
!
Trust signals
Only licensed, insured — a visitor comparing three sites wants license, insurance, guarantee and years stated plainly.
What we’d do: License number, insurance, warranty and founding year on every page, and in the schema.
-
•
Article schema on the post
No post found in the sitemap to check.
-
•
A named person
No named person on the home page. Not expected here — the About or team page is where a Person node belongs, with the name Google can tie to reviews and articles.
Conversion & lead generation 5 of 5 points
-
•
Chat or text option
No chat or text option. Not a fault, but a share of visitors will not call; an assistant that answers in seconds, day and night, is the cheapest lead a site can add.
-
✓
Tappable phone number
6 tel: links — the number dials from a phone.
-
✓
Contact form
1 form on the home page.
-
✓
Call to action in the first screen
A phone link, a form or a quote button appears in the top of the page.
-
✓
Analytics installed
Measured by Cloudflare Web Analytics.
Read with the home page: service page concretecontractorspringhill.com/services/concrete-driveways/
Want these fixed?
Every fix above is part of the work Zorva Labs does. Tell us the business and what you want from the site, and a written, priced proposal comes back in one business day.
We can fix every issue on concretecontractorspringhill.com.
Zorva Labs builds, hosts and grows websites for businesses across the United States — including the fixes flagged above. Every engagement is priced to the project, with a written proposal in one business day.