A90–100Built right. Search engines, AI assistants and every visitor can use it.
B80–89Solid basics with a few clear gaps that are quick to close.
C70–79Works, but generic or slow. Most small-business sites land here.
D60–69Several categories failing; visitors and search engines are both struggling.
Fbelow 60Several critical things are missing: HTTPS, a reachable contact, or content Google can read.

Overall grade = the plain average of the six category scores. No hand adjustment. If a score feels wrong, we fix the rubric, not the score.

The checklist

Every check, in plain English

Each check is worth 10 points and earns the share that is correct, to one decimal: 9 of 12 pages right is 7.5, a load time halfway between the full and zero marks is 5. A category's score is the percentage of its points earned. Checks that don't apply to a site are dropped and the category is rescaled. There are no hard caps: a critical failure costs what its own checks say it costs.

Rubric v1.3, 2026-10-30. Nearly every check is measured by software in a real browser: a keyboard walk, computed fonts and colours, phone layout, software versions against each publisher's current release. The few that need a human eye are marked, and a reviewer can only change a measured result by citing what they saw. Every scorecard prints the rubric version it was scored under.

Category 1 of 6 · 17 checks · 10 points each

SEO

Can Google find, read and trust the site? The basics that decide whether you show up at all.

  • #CheckWhat we look forPts
  • 1.1Title present and uniqueA title on every page, no two the same10
  • 1.2Title 30–65 charactersEach title between 30 and 65 characters10
  • 1.3Meta description present and uniqueA meta description on every page, no two the same10
  • 1.4Description 70–160 charactersEach description between 70 and 160 characters10
  • 1.5One real-text H1Exactly one real-text headline (H1) per page10
  • 1.6robots.txt present, not blockingA robots.txt that exists and doesn't shut Google out10
  • 1.7No noindex on real pagesNo page carrying a noindex tag10
  • 1.8sitemap.xml validA sitemap.xml that returns 200 and lists real URLs10
  • 1.9Sitemap listed in robots.txtThe sitemap named in robots.txt10
  • 1.10Self-referencing canonicalEach page's canonical tag points to itself on the live domain10
  • 1.11One host for www and bare domainwww and the bare domain land on one address10
  • 1.12Business name in HTML textThe business name as real text on every page10
  • 1.13Address or service area in HTML textAn address or service area as real text on every page10
  • 1.14One phone number in HTML textOne phone number as real text, the same on every page10
  • 1.15A page per core serviceEach core service has its own page with its own copy10
  • 1.16Viewport meta tagThe standard viewport tag for phones10
  • 1.17Content images have alt textContent images carry descriptive alt text10

Category 2 of 6 · 16 checks · 10 points each

AI Searchability

When someone asks ChatGPT or Google's AI who to call, can it read your site and describe you correctly?

  • #CheckWhat we look forPts
  • 2.1LocalBusiness schema presentLocalBusiness (or a subtype) structured data10
  • 2.2Schema fields completeName, service area, phone, website and hours in that data10
  • 2.3Content schema on pagesService, Product, FAQ or Review markup on the pages that have that content10
  • 2.4Schema parses without errorsEvery structured-data block parses cleanly10
  • 2.5Schema values match the pageStructured data matches the page: phone, business type, name10
  • 2.6Words readable without JavaScriptWords in the raw HTML before any script runs (150 = full)10
  • 2.7Says what you doPlain text says what the business does10
  • 2.8Says wherePlain text says where it works10
  • 2.9Says for whomPlain text says who it serves10
  • 2.10Says what it costsPlain text gives a price, a range, or 'free quote'10
  • 2.11Says how to contactPlain text gives a phone, email or form10
  • 2.12AI crawlers allowedGPTBot, ClaudeBot, PerplexityBot and Google-Extended allowed10
  • 2.13Q&A with direct answersAn FAQ or Q&A with direct one-paragraph answers10
  • 2.14Business schema in the raw HTMLBusiness structured data present before any script runs10
  • 2.15Contact details in the raw HTMLA phone, email or form present before any script runs10
  • 2.16Headline in the raw HTMLPages whose headline exists before any script runs10

Category 3 of 6 · 16 checks · 10 points each

ADA / Accessibility

Can everyone use the site, including people on screen readers or a keyboard? Graded to WCAG 2.1 AA, the same standard plaintiff firms test against.

  • #CheckWhat we look forPts
  • 3.1Lighthouse accessibility scoreGoogle Lighthouse accessibility score (100 = full, 50 = zero)10
  • 3.2Contrast failuresElements failing AA contrast (zero points at 10)10
  • 3.3Images with alt textImages with alt text10
  • 3.4Form fields with a labelForm fields with a real label, not just a placeholder10
  • 3.5Buttons and links with a nameButtons and icon links with an accessible name10
  • 3.6Keyboard reaches controlsShare of visible controls the Tab key reaches (50% = zero)10
  • 3.7Focus visible on stopsShare of Tab stops where focus is visible (50% = zero)10
  • 3.8No keyboard trapTab never gets stuck on one element10
  • 3.9Drop-down menus usable by keyboardDrop-down menu items reachable by keyboard10
  • 3.10Zoom allowedPinch-to-zoom not disabled10
  • 3.11Landmarks: lang, main, nav, skip linklang attribute, main, nav and a skip link10
  • 3.12Heading order without skipsPages whose headings step down without skipping (best practice)10
  • 3.13No autoplaying soundNo audio or video that autoplays with sound10
  • 3.14Moving content has a pause controlAnything that moves on its own has a pause or stop control10
  • 3.15No overlay widgetNo accessiBe or UserWay style overlay widget10
  • 3.16Call or contact action reachable by keyboardThe Tab key reaches the call link or the contact form's submit button10

Category 4 of 6 · 22 checks · 10 points each

Design

Does it look finished and professional on a phone and a desktop? Measured from the rendered page (fonts, colours, buttons, layout), with screenshots for the two items that need a human eye.

  • #CheckWhat we look forPts
  • 4.1No sideways scroll on a phonePage no wider than a 412 px phone screen (25% wider = zero)10
  • 4.2Nothing past the screen edgeElements that run past the phone screen edge (zero at 4)10
  • 4.3Tap targets meet the 24 px ruleTap targets at least 24 px or with 24 px of clear space (WCAG 2.5.8)10
  • 4.4No overlapping or clipped textClipped or overlapping text on a phone (zero at 4, reviewer)10
  • 4.5First-screen call to action on desktopA call, book, quote or contact action in the first desktop screen10
  • 4.6First screen says what the business isThe first screen names what the business is (reviewer)10
  • 4.7Typefaces beyond twoTypefaces in use beyond the second (zero at 3 extra)10
  • 4.8Button styles beyond twoButton styles beyond the second (zero at 4 extra)10
  • 4.9Accent colours beyond threeAccent colours beyond the third (zero at 3 extra)10
  • 4.10Body text size on a phoneMedian paragraph size on a phone (16 px = full, 12 px = zero)10
  • 4.11Line heightMedian line height (1.4 = full, 1.1 = zero)10
  • 4.12Desktop line lengthDesktop paragraph width in characters (90 = full, 140 = zero)10
  • 4.13Upscaled imagesImages shown larger than their real size (zero at 5)10
  • 4.14Stock-agency image sourcesImages from stock-photo agencies (zero at 3)10
  • 4.15A photo of this business on the homepageAt least one homepage photo of this business: team, premises, work or vehicles (reviewer)10
  • 4.16Crisp logoLogo is SVG or at least 1.5× its displayed size10
  • 4.17Current © year© year is the current year10
  • 4.18Reviews or testimonials presentReviews or testimonials on the site10
  • 4.19Google Business link or mapA Google Business Profile link or an embedded map10
  • 4.20Placeholder textPlaceholder text such as Lorem ipsum or Coming soon (zero at 2)10
  • 4.21No platform credit in the footerNo Wix / Squarespace / GoDaddy style credit in the footer10
  • 4.22First screen is not a slider or splash pageThe first screen is a still message, not an auto-rotating slider or a splash page10

No cap. A good-looking site is a good-looking site.

Category 5 of 6 · 17 checks · 10 points each

Usability & Efficiency

Can a visitor on a phone reach you in three seconds, and does the page load before they give up? Measured on a throttled mobile connection.

  • #CheckWhat we look forPts
  • 5.1Call to action in the first phone screenA call, book, quote or contact action in the first 412 × 915 phone screen10
  • 5.2Tap-to-call link up topThe phone number is a tap-to-call link in the header or first screen10
  • 5.3Contact form presentA contact form somewhere on the sampled pages10
  • 5.4Form handler verifiableThe form's handler is a known service, the CMS, the platform, or an endpoint that answers (never submit-tested)10
  • 5.5Form fields namedForm fields carry name attributes10
  • 5.6Form field countFields on the shortest contact form (6 = full, 12 = zero)10
  • 5.7Page weightHomepage transfer size (1.5 MB = full, 8 MB = zero)10
  • 5.8Largest imageLargest image transferred (300 KB = full, 2 MB = zero)10
  • 5.9Images in modern formatsImages served as WebP or AVIF10
  • 5.10LCPLargest Contentful Paint on a throttled phone (2.5 s = full, 10 s = zero)10
  • 5.11CLSCumulative Layout Shift (0.1 = full, 0.5 = zero)10
  • 5.12RequestsRequests to load the homepage (60 = full, 200 = zero)10
  • 5.13Third-party script originsThird-party script origins (6 = full, 20 = zero)10
  • 5.14Broken linksBroken internal links (zero at 5)10
  • 5.15Broken imagesBroken images (zero at 5)10
  • 5.16Console errorsJavaScript console errors on load (zero at 5)10
  • 5.17No popup covering the page on loadNothing covering more than 30% of the screen when the page opens10

Category 6 of 6 · 16 checks · 10 points each

Security

Is the site protected and up to date? Every check is passive: we read headers and public URLs only.

  • #CheckWhat we look forPts
  • 6.1Valid certificate on apex and wwwCertificate valid on both the bare domain and www10
  • 6.2Days to certificate expiryDays until the certificate expires (30 = full, 0 = zero)10
  • 6.3TLS 1.2+ onlyOnly TLS 1.2 or newer accepted10
  • 6.4http redirects to httpsBoth http:// addresses redirect to https://10
  • 6.5HSTS max-ageStrict-Transport-Security max-age in days (180 = full, host setting)10
  • 6.6Content-Security-Policy presentA Content-Security-Policy header (host setting)10
  • 6.7CSP not wide openThe policy isn't unsafe-inline plus * everywhere10
  • 6.8Protective headersX-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy (host settings)10
  • 6.9Mixed contenthttp:// assets on https pages (zero at 5)10
  • 6.10Outdated software componentsExposed components behind their publisher's current release or with a known CVE (zero at 3)10
  • 6.11Sensitive paths hiddenBackups, phpinfo, .DS_Store, upload listings, config backups and the WP user list all hidden10
  • 6.15/.git not publicThe /.git folder is not downloadable10
  • 6.16/.env not publicThe /.env file is not downloadable10
  • 6.12SPF recordAn SPF record on the domain10
  • 6.13DMARC recordA DMARC record on the domain10
  • 6.14DMARC policy quarantine or rejectDMARC policy set to quarantine or reject10

After the score

How we help you climb

01

Your roadmap, biggest wins first

Every missed check, ordered by the points it gets back, with what we saw and what to do. You can hand it to anyone, including whoever built the site.

02

We fix it, or rebuild it

Titles, structured data, accessibility, speed and security headers are routine for us. If the site is past saving, a standard small-business rebuild is $500, with hosting and care at $50 a month.

03

We re-run the same checks

After the work, the same 104 checks run again so you watch the score move. No promises about rankings. Nobody can honestly make those. We build what Google and AI assistants look for, and measure it.

Free scorecard

Want yours?

Send your website address. You'll get the same scorecard and roadmap: every check, the points you earned, and what to fix first. No charge, no obligation, and we never promise rankings.

Based in

Palm Coast, Florida