The exact document a clinic receives from our free audit. Published in full so an association can judge the work before recommending anything.
Each check returns pass (full points), warn (half) or fail (zero). Business identity and machine readability are weighted most heavily, because they decide whether a site appears at all.
| Group | Checks | Max points |
|---|---|---|
| Foundations | 5 checks | 20 points |
| Machine readability | 3 checks | 24 points |
| Business identity | 3 checks | 24 points |
| Quotable by AI | 2 checks | 14 points |
| Conversion path | 3 checks | 9 points |
| On-page basics | 3 checks | 9 points |
| Total | 19 | 100 |
| # | Group / check | Result | Evidence from the live page | What to change |
|---|---|---|---|---|
| 1 | HTTPS on every page Foundations · weight 4 | PASS | Final URL: https://www.praktijkfcg.eu/ | — |
| 2 | Mobile viewport declared Foundations · weight 4 | PASS | <meta name="viewport"> present | — |
| 3 | Canonical URL set Foundations · weight 4 | PASS | canonical = https://www.praktijkfcg.eu/ | — |
| 4 | Page is indexable (no noindex) Foundations · weight 4 | PASS | noindex directive not found | — |
| 5 | HTML page weight under control Foundations · weight 4 | PASS | HTML weight 112,328 bytes (threshold: pass <300KB, warn <600KB) | — |
| 6 | gzip / brotli compression Machine readability · weight 8 | FAIL | Content-Encoding: none | Enable gzip or brotli on the server. |
| 7 | Structured data (JSON-LD) present Machine readability · weight 8 | PASS | 1 valid JSON-LD block(s); types: BreadcrumbList, EntryPoint, ImageObject, ListItem, Organization, PropertyValueSpecification, ReadAction, SearchAction, WebPage, WebSite | — |
| 8 | Page language declared & matches market Machine readability · weight 8 | WARN | lang="en-US" — does not match the Dutch market | Set lang to the language of the market served. |
| 9 | Business entity in schema (not just WebSite) Business identity · weight 8 | PASS | business entity types in schema: organization | — |
| 10 | NAP inside schema Business identity · weight 8 | WARN | NAP inside schema: name=True address=False telephone=False | Put name, street address and phone inside the structured data. |
| 11 | Physical street address visible Business identity · weight 8 | PASS | visible street address: found (postcode/street pattern) | — |
| 12 | FAQ / Service schema present Quotable by AI · weight 7 | FAIL | FAQ/Service schema types: none | Add FAQPage or Service structured data so an assistant has facts to quote. |
| 13 | Therapy context in extractable text Quotable by AI · weight 7 | WARN | 90 therapy/service terms, 1 h2/h3 headings | Describe services under real headings, in words an assistant can extract. |
| 14 | Phone or email visible Conversion path · weight 3 | PASS | phone/email in page: found | — |
| 15 | Phone clickable (tel:) Conversion path · weight 3 | PASS | 7 tel: link(s) | — |
| 16 | Book-now CTA present Conversion path · weight 3 | PASS | 7 booking terms, book-now link present | — |
| 17 | Title tag present, sensible length On-page basics · weight 3 | PASS | title (26 chars): Home - Praktijk Fangcaogen | — |
| 18 | Meta description present On-page basics · weight 3 | FAIL | meta description: 0 chars | Add a meta description of at least 50 characters. |
| 19 | Exactly one H1 + image alt text On-page basics · weight 3 | FAIL | 5 H1; 8/25 images with alt text | Use exactly one H1 and give every image an alt attribute. |
Ordered by weight, not by cosmetics — these are the items that decide whether the practice appears in a search result or an AI answer at all.
The free check is self-service: ainal.info/site-check.html. The full method, including the real score distribution across nine Dutch practices, is at ainal.info/methodology.html. The second sample report shows what changes when the defects are fixed.