AIRS — AI-Readiness Score
One number, six axes, fully open. The same engine that powers every Synelo audit — published here so any auditor can reproduce a score by hand.
The composite
AIRS is a weighted average of six axis-scores (each 0–100). Heaviest weights go to AI Readiness and Compliance Risk — the two categories nobody else measures, and the ones EU SMBs face hardest deadlines on in 2025–2027.
AIRS = round(
Performance × 0.20 +
Accessibility × 0.15 +
SEO Visibility × 0.10 +
AI Readiness × 0.25 +
Compliance Risk × 0.20 +
Security Hygiene × 0.10
)Each axis score is itself a weighted average of its checks. For PSI-anchored axes (Performance, Accessibility, SEO), the PSI category score is blended 70/30 with the check pass-rate so the AIRS axis stays correlated with Lighthouse but adds the EU-specific layer.
Score labels
| Range | Label |
|---|---|
0–39 | Critical exposure |
40–59 | Below median |
60–74 | Industry standard |
75–89 | Strong |
90–100 | Reference-grade |
Performance · weight 20%
PageSpeed Insights mobile run + CWV thresholds. Real users feel speed first; everything else is downstream.
lcp-goodLCP < 2.5sOptimise hero image, defer non-critical JS, enable a CDN.cls-goodCLS < 0.1Set explicit width/height on images and embeds; avoid late-injected ads above the fold.inp-goodINP < 200msReduce main-thread JavaScript; split long tasks; defer hydration.
Accessibility · weight 15%
PSI accessibility category + WCAG 2.2 AA / EAA-specific checks (text alternatives, contrast, focus visibility, target size).
image-altImages have alt textDescriptive alt text on every image; alt="" only for decorative.color-contrastColour contrast ≥ 4.5:1Raise text/background contrast to WCAG AA threshold.button-nameButtons have accessible namesaria-label or visible text on every interactive control.link-nameLinks have discernible textReplace "click here" with descriptive link copy.lang-attrHTML lang attribute set<html lang="…"> declares page language for assistive tech.
SEO Visibility · weight 10%
PSI SEO category + presence of structured data and social-graph metadata. AI search engines and traditional crawlers consume the same signals.
json-ldJSON-LD structured dataAdd Organization + WebSite + WebPage JSON-LD on the homepage.og-metaOpen Graph metadataog:title, og:description, og:image, og:url.twitter-cardTwitter card metadatatwitter:card, twitter:title, twitter:image.canonicalCanonical URL declared<link rel="canonical" href="…"> to prevent duplicate-content penalties.
AI Readiness · weight 25%
Whether AI bots (GPTBot, ClaudeBot, PerplexityBot) and AI search engines can read, summarise, and recommend this site. The single biggest growth lever for 2025-2027 — and the differentiator AIRS is built around.
robots-allow-aiAI bots allowed in robots.txtRemove Disallow: / for GPTBot / ClaudeBot / PerplexityBot / Google-Extended. AI engines that can't crawl you can't cite you.llms-txt/llms.txt manifest publishedPublish /llms.txt summarising your site's purpose, key URLs, and content hierarchy for LLM context. See anthropic.com/llms-txt.json-ldJSON-LD schema (AI-readable)AI summarisers consume JSON-LD as primary signal — add Organization, Service, Product, FAQPage where relevant.og-metaOpen Graph (AI summarisers)AI search results lean on og:title / description heavily — these are your "snippet" in the AI era.semantic-htmlSemantic HTML structureReplace <div> soup with <header>, <nav>, <main>, <article>, <section>. AI crawlers extract structure, not styles.sitemapSitemap discoverableReference sitemap in robots.txt: "Sitemap: https://…/sitemap.xml".
Compliance Risk · weight 20%
EU regulatory exposure: AI Act (Art. 50 transparency), EAA (28 Jun 2025 effective), NIS2 (transposed Oct 2024), GDPR (cookie + privacy).
ai-act-transparencyAI Act Art. 50 transparency (if AI features used)Add visible "Powered by AI" / "AI-generated" notices near every AI-driven surface.eaa-accessibilityEAA-grade accessibility (WCAG 2.2 AA)Address all WCAG AA failures listed in the Accessibility axis.nis2-security-txtNIS2 — incident contact publishedPublish /.well-known/security.txt with contact + policy URL (RFC 9116).gdpr-cookieGDPR / ePrivacy cookie consentCompliant consent layer (Cookiebot, Iubenda, Usercentrics).privacy-policyPrivacy policy linkedFooter link to /privacy or /datenschutz.imprintImprint / legal notice (TMG §5)/imprint or /impressum is mandatory in DE/AT for commercial sites.
Security Hygiene · weight 10%
Response-header analysis: HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy. Cheap to ship; signals operational maturity.
hstsHSTS headerStrict-Transport-Security: max-age=31536000; includeSubDomains.cspContent-Security-PolicyWhitelist trusted script/style origins; prevents XSS escalations.x-frame-optionsX-Frame-Options (clickjacking)X-Frame-Options: DENY (or use CSP frame-ancestors).x-content-type-optionsX-Content-Type-OptionsX-Content-Type-Options: nosniff.referrer-policyReferrer-PolicyReferrer-Policy: strict-origin-when-cross-origin.permissions-policyPermissions-PolicyLock down camera, mic, geolocation by default.
What AIRS does NOT measure
- Conversion rate. Even a score of 100 won't save bad copy or weak product–market fit. AIRS measures technical foundation; conversion is a separate audit.
- Brand quality. A reference-grade score on a Comic-Sans landing page is still a reference-grade score. Visual design is intentionally out of scope.
- Backend reliability. AIRS is an external audit — uptime, database integrity, billing logic are not observable from the homepage.
- Industry-specific compliance beyond EU AI Act / EAA / NIS2 / GDPR. HIPAA, PCI-DSS, SOC 2 etc. are domain-specific and require dedicated audits.
Disputing a score
If you believe a check returned a false negative (e.g. you have a CSP but our parser missed it), email audits@synelostudio.com with the URL and the failing check ID. We rerun the audit and update the spec if our detection logic was wrong.