Sample report
This is an example audit of a fictional store. Scan your own site to get a report like this for your URL.
Scan report
https://example-store.com
Scanned 6/23/2026, 2:32:00 PM
84
/ 100
Overall readiness
Strong agentic-web readiness
Grade B2 critical issues and 6 recommended fixes found.
AI-agent readiness
78/100
Content is server-rendered in the first response — Pass
Evidence: Product titles, prices, and descriptions are present in the initial HTML — an agent can read them without executing JavaScript.
Product structured data (JSON-LD) — Pass
Evidence: Valid schema.org/Product JSON-LD found on 18 of 18 sampled product pages, including name, price, and availability.
llms.txt / agents.md quality — Warning
Evidence: A /llms.txt is published but does not follow the convention — it has no "# " title line and no markdown links, so an agent cannot navigate from it.
Fix: Give your /llms.txt an `# H1` title, a `>` one-line summary, and markdown links to your key product and policy pages.
# example-store.com > Independent outdoor-gear store. Free shipping over $75. ## Catalog - /collections/tents: Backpacking and car-camping tents - /collections/sleeping-bags: Down and synthetic bags ## Policies - /pages/shipping: Shipping & delivery - /pages/returns: 30-day returnsOrganization structured data — Warning
Evidence: schema.org/Organization is present but missing "sameAs" social links and "contactPoint", so agents cannot reliably attribute or contact your brand.
Fix: Extend the Organization JSON-LD with sameAs and contactPoint fields.
{ "@context": "https://schema.org", "@type": "Organization", "name": "Example Store", "url": "https://example-store.com", "sameAs": [ "https://x.com/examplestore", "https://www.instagram.com/examplestore" ], "contactPoint": { "@type": "ContactPoint", "contactType": "customer support", "email": "[email protected]" } }Machine-readable metadata and canonical URLs — Pass
Evidence: Every sampled page declares a self-referencing canonical URL and a descriptive <title>.
SEO & crawlability
88/100
robots.txt present and valid — Pass
Evidence: robots.txt found and parses cleanly. AI crawlers (GPTBot, Google-Extended, ClaudeBot) are allowed.
sitemap.xml present and referenced — Pass
Evidence: sitemap.xml found with 412 URLs and referenced from robots.txt. Last-modified dates are present.
Unique meta descriptions — Warning
Evidence: 23 product pages share the same generic meta description ("Shop quality outdoor gear at Example Store."). Duplicate descriptions weaken snippets and AI summaries.
Fix: Generate a unique meta description per product from its key attributes.
OpenGraph tags — Pass
Evidence: og:title, og:description, og:image, and og:type are present on home, collection, and product templates.
Single, descriptive H1 per page — Pass
Evidence: Each sampled page has exactly one <h1> that matches the page intent.
Performance & accessibility
80/100
Largest Contentful Paint (LCP) — Pass
Evidence: Lab LCP is 1.9s on a simulated 4G connection — within the "good" threshold of 2.5s.
Cumulative Layout Shift (CLS) — Warning
Evidence: CLS is 0.14 — above the 0.1 "good" threshold. A hero banner and product images load without reserved dimensions.
Fix: Set explicit width and height (or aspect-ratio) on the hero and product images to reserve layout space.
<img src="/img/hero.jpg" width="1280" height="640" alt="Two hikers setting up a tent at dusk" />Images have descriptive alt text — Fail
Evidence: 41 of 96 sampled images have empty or missing alt attributes, including primary product photos. Screen-reader users and agents cannot identify them.
Fix: Add concise, descriptive alt text to every meaningful image; mark purely decorative images with alt="".
Color contrast (WCAG AA) — Pass
Evidence: Body and heading text meet the 4.5:1 contrast ratio. One muted footer link sits at 4.6:1 — passing but close.
Semantic landmarks — Pass
Evidence: <header>, <nav>, <main>, and <footer> landmarks are present and used consistently across templates.
Security
90/100
HTTPS with valid certificate — Pass
Evidence: Served over HTTPS with a valid certificate (expires in 67 days). HTTP requests 301-redirect to HTTPS.
HSTS enabled — Warning
Evidence: Strict-Transport-Security is present but max-age is only 86400 (1 day) and omits includeSubDomains.
Fix: Raise max-age to at least one year and include subdomains once you have verified HTTPS everywhere.
Strict-Transport-Security: max-age=31536000; includeSubDomains; preloadContent-Security-Policy header — Fail
Evidence: No Content-Security-Policy header was returned. Without a CSP the store is more exposed to cross-site scripting and content injection.
Fix: Add a Content-Security-Policy header, starting in report-only mode to find violations before enforcing.
Content-Security-Policy: default-src 'self'; img-src 'self' https: data:; script-src 'self'; object-src 'none'; frame-ancestors 'none'Baseline security headers — Pass
Evidence: X-Content-Type-Options: nosniff and Referrer-Policy: strict-origin-when-cross-origin are both set.
No mixed content — Pass
Evidence: All sub-resources (scripts, styles, images, fonts) load over HTTPS. No mixed-content warnings detected.
Critical issues
Fix these first
No Content-Security-Policy header
Security
The store returns no CSP header, leaving it more exposed to cross-site scripting and content injection on pages that handle customer data.
Primary product images missing alt text
Performance & accessibility
41 of 96 sampled images — including primary product photos — have empty or missing alt attributes, hurting accessibility and how agents identify your products.
Recommended fixes
Ranked by impact
Publish an llms.txt at the site rootAI-agent readinessHigh impactLow effort
Why: llms.txt gives AI assistants a curated map of your catalog and policies, so they cite and recommend the right pages instead of guessing.
Fix: Create /llms.txt summarizing your store and linking to your top collections and policy pages.
# example-store.com > Independent outdoor-gear store. Free shipping over $75. ## Catalog - /collections/tents: Backpacking and car-camping tents - /collections/sleeping-bags: Down and synthetic bags ## Policies - /pages/shipping: Shipping & delivery - /pages/returns: 30-day returnsAdd a Content-Security-Policy headerSecurityHigh impactMed effort
Why: A CSP is your strongest defense against cross-site scripting on pages that process customer and payment data.
Fix: Start with a report-only policy to surface violations, then tighten and enforce it.
Content-Security-Policy: default-src 'self'; img-src 'self' https: data:; script-src 'self'; object-src 'none'; frame-ancestors 'none'Add alt text to product imagesPerformance & accessibilityHigh impactMed effort
Why: Descriptive alt text makes products understandable to screen-reader users and to agents that rely on image semantics.
Fix: Backfill alt text from product titles and attributes, and require it for new uploads.
Write unique meta descriptions for productsSEO & crawlabilityMed impactMed effort
Why: Duplicate descriptions produce weak search snippets and bland AI summaries, lowering click-through.
Fix: Template a description per product from its key attributes (material, use case, key spec).
Reserve space for hero and product imagesPerformance & accessibilityMed impactLow effort
Why: Layout shifts during load hurt the CLS web vital and frustrate users who tap the wrong element.
Fix: Add explicit width/height or aspect-ratio to images so the browser reserves their space.
<img src="/img/hero.jpg" width="1280" height="640" alt="Two hikers setting up a tent at dusk" />Strengthen the HSTS policySecurityLow impactLow effort
Why: A one-day max-age barely protects returning visitors; a long max-age with subdomains locks HTTPS in.
Fix: Raise max-age to a year and add includeSubDomains once HTTPS is verified everywhere.
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload