Checklist

All 28 checks, and the exact thresholds.

This is the complete list our scanner runs, published with the thresholds rather than described vaguely. Twenty-two are evaluated automatically against the live page. Six cannot honestly be automated and are done by hand. Copy it and run it yourself if you like.

Automated22 checks
By hand6 checks
Last reviewed13 September 2026

01 — Local signals

Local signals on the site

Six checks on whether the page tells Google what kind of local business this is and where it is. These are the ones that connect the website to the Business Profile, which is what fills the map pack.

  • 01Business schema published on the pageA LocalBusiness or Organization JSON-LD block. Generic page-level types like WebSite or BreadcrumbList do not count.Auto
  • 02Address or phone number visible in the pageReal text, not an image. Google cross-checks these against your listing.Auto
  • 03Phone number is tappable on mobileA tel: link. It turns a call into one tap on the device most local searches happen on.Auto
  • 04Map embedded on the siteA Google Maps embed on the page. If you publish business schema with no street address you are a service-area business, so this returns "checked by hand" rather than a flag.Auto
  • 05Opening hours published in markupHours in the structured data, not only as text in a footer image.Auto
  • 06Contact page linked from this pageA link containing contact, kontakt or contacteer — the three spellings that matter in Belgium.Auto

Page and markup

Eight checks on what a search engine reads first. The thresholds below are the actual numbers in our scanner, not rounded-off advice.

  • 07Page titlePresent, and between 15 and 62 characters. Longer gets truncated in results; shorter usually means it is not describing anything.Auto
  • 08Meta descriptionPresent, and between 70 and 165 characters. It does not affect ranking directly; it affects whether anyone clicks.Auto
  • 09Exactly one H1 headingOne, not zero and not six. It is the page's own statement of what it is about.Auto
  • 10Images carry alt textEvery img needs a non-empty alt attribute. Reported as a count, so you know how many.Auto
  • 11Open Graph tags for link previewsBoth og:title and og:image. Without them your link looks broken when shared on WhatsApp or LinkedIn.Auto
  • 12Language declared on the html elementA lang attribute. It matters more than usual in a bilingual market.Auto
  • 13Favicon declaredA rel="icon" link. Visible in search results on mobile, so its absence is a visible absence.Auto
  • 14HTML weightThe document itself under 250 KB, before images and scripts. Over that usually means something is being shipped that should not be.Auto

Technical

Eight checks on whether the page can be crawled and indexed at all. These are the ones where a single wrong line makes everything else irrelevant.

  • 15Page responds without errorAn HTTP status below 400 at the address entered, after redirects.Auto
  • 16Served over HTTPSChecked on the final URL after redirects, so a site that starts on http and upgrades passes.Auto
  • 17Canonical URL setA rel="canonical" link exists on the page.Auto
  • 18Canonical points at this pageIts host matches the host that actually served the page, ignoring www. A canonical pointing somewhere else tells Google to rank that instead.Auto
  • 19Mobile viewport declaredA viewport meta tag. Without it a phone renders the desktop layout scaled down.Auto
  • 20Robots directive allows indexingNo noindex in the robots meta tag. This is the check that catches a staging setting shipped to production.Auto
  • 21robots.txt present and allows crawlingFetched separately. A 404 flags; a 403 does not, because a server refusing us is not a finding about your site.Auto
  • 22Sitemap declared in robots.txtA Sitemap: line, so a crawler finds every page rather than only the ones it stumbles onto.Auto

A 403 on robots.txt is reported as "checked by hand", not as missing. The server refused us; that is a fact about us, not about your site.

Reviewed by hand

Six checks need Google's own data or a judgement call. They are shown greyed out during the live scan and filled in for the written report, which is why the report takes a day.

  • 23Google Business ProfileClaimed status, primary category, hours, photos.By hand
  • 24Review volume, recency and reply rateForty old reviews lose to eight recent ones.By hand
  • 25Name, address and phone consistencyAcross the directories that already list you, including the ones you did not create.By hand
  • 26Duplicate or competing listingsOld profiles splitting your reviews between two pins.By hand
  • 27Competitor positionsWho holds the map pack for your terms, and what they have that you do not.By hand
  • 28Core Web VitalsA real mobile performance audit, which takes longer than a live scan can honestly wait for.By hand

How to read a flag

Not every flag is a problem. The checks are calibrated for local businesses, so running them against a software product or a portfolio will flag the map embed, the opening hours and the contact page — all accurate, none of them real issues for that kind of site.

The three that are almost always worth acting on immediately, whatever the business: a noindex directive in production, a canonical pointing at another host, and a missing viewport. Each one of those can suppress a site entirely while everything else looks fine.

Start here

Run all 28 against your own page.

Twenty-two of them evaluate in a couple of seconds on the homepage, with the value that caused each result shown next to it. The other six come back in writing.

No call · no card · Brussels