OUR SITE. THE SAME CHECKS.
trychad.ai
Search can find it.
Can an agent use it?
A transparent look at our own site: SEO, LLM readiness and agent discovery, with the findings left in.
Captured · 25-page sample · Provisional coverage
2 error rules · 14 warning rules
The grade includes severity caps. A high numeric score can still carry a lower grade.
What this score means ↓SEO ↗
174 rules · 35 with findings
7 not fully assessed02 / EXPLORELLM readiness ↗
72 rules · 18 with findings
7 not fully assessed03 / EXPLOREAgent discovery ↗
28 rules · 1 with findings
2 not fully assessedTHE EVIDENCE, NOT JUST A NUMBER
Open the checks.
240 rules recorded
3,164 observed check results
Every recorded check, including observations and checks that could not be assessed. These areas overlap and are not separate scores.
240 rules shown · findings first
Needs a fixFont Sizemobile/font-size
8 passing · 15 warnings · 2 failures · 0 not assessed · 0 not applicable
Guidance
Body text should be at least 16px for readability without zooming. Smaller fonts strain eyes on mobile. Use relative units (rem, em) for scalability. Test on actual devices. Google's mobile-friendly test flags font sizes under 12px. Line height should be at least 1.5 for readability.
4 inline font sizes below 12px detected
https://trychad.ai/can-ai-replace-a-marketing-agency/ ↗8 inline font sizes below 12px detected
https://trychad.ai/case-studies/ ↗70 inline font sizes below 16px (aim ≥16px for mobile readability)
https://trychad.ai/blog/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Needs attentionArticle Citability Signalsschema/article-citability
18 passing · 7 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
Valid Article schema gets you rich results; it does not make you quotable. An engine deciding whether to cite a page wants to know what it is about, where its claims came from, and where it sits. Add `citation` listing the sources behind your claims — this is the strongest information-gain signal and the clearest way to be treated as a source rather than a summary. Add `about` naming the primary entity so the topic is declared rather than inferred. Add `description` so the engine has your one-line summary instead of composing its own, plus `inLanguage` and `articleSection`. None of these are required for rich results, which is exactly why most sites lack them and why adding them is cheap differentiation.
Article schema is valid but thin for AI citation. Missing citation, about, articleSection. citation: where the claims come from — the strongest information-gain signal, and the one engines use to decide a page is a source rather than a summary. about: the primary entity, so an engine can tell what the page is a page about rather than inferring it from prose. articleSection: where it sits in the publication, which helps cluster related coverage.
https://trychad.ai/geo/hospitality/bars/ ↗Article schema is valid but thin for AI citation. Missing citation, about, articleSection. citation: where the claims come from — the strongest information-gain signal, and the one engines use to decide a page is a source rather than a summary. about: the primary entity, so an engine can tell what the page is a page about rather than inferring it from prose. articleSection: where it sits in the publication, which helps cluster related coverage.
https://trychad.ai/geo/financial-services/ ↗Article schema is valid but thin for AI citation. Missing citation, about, articleSection. citation: where the claims come from — the strongest information-gain signal, and the one engines use to decide a page is a source rather than a summary. about: the primary entity, so an engine can tell what the page is a page about rather than inferring it from prose. articleSection: where it sits in the publication, which helps cluster related coverage.
https://trychad.ai/can-ai-replace-a-marketing-agency/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Needs attentionArticle Schemaschema/article
23 passing · 1 warnings · 0 failures · 0 not assessed · 1 not applicable
Guidance
For each Article, NewsArticle or BlogPosting describing this page, provide a headline, a representative image, and authors as Person or Organization with name and url (or sameAs). Google lists no required Article properties. Add ISO dates for datePublished and dateModified when applicable; absent dates are reported without a penalty. Resolve author and image references to captured definitions. Related article cards do not supply this page's fields. This check inspects captured JSON-LD values; it does not establish image accessibility or rich-result eligibility.
This page reads as an article (long, dated, bylined) but declares no Article JSON-LD for itself — related articles do not describe this page
https://trychad.ai/changelog/ ↗Article schema has the inspected recommended fields.
https://trychad.ai/ai-marketing-operator/ ↗Article schema has the inspected recommended fields.
https://trychad.ai/geo/financial-services/ ↗
3 examples shown; 22 more check results are included in the counts above.
Needs attentionAuthor Infocontent/author-info
12 passing · 13 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
Author information supports E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness). Use Person schema to mark up authors with name, url, and credentials. Link to author bio pages. Display author names visibly on content. For YMYL topics (health, finance), include author qualifications. Consider using rel='author' links.
No author markup found (rel=author, Person schema, or itemprop=author)
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗No author markup found (rel=author, Person schema, or itemprop=author)
https://trychad.ai/book/ ↗No author markup found (rel=author, Person schema, or itemprop=author)
https://trychad.ai/case-studies/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Needs attentionBreadcrumb Schemaschema/breadcrumb
9 passing · 16 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
BreadcrumbList schema shows navigation path in search results. Structure: BreadcrumbList with itemListElement array of ListItem. Each ListItem needs position (1, 2, 3...), name, and item (URL). The last item (current page) doesn't need a URL. Breadcrumbs help users understand site structure and improve click-through rates.
No BreadcrumbList JSON-LD found
https://trychad.ai/about/ ↗No BreadcrumbList JSON-LD found
https://trychad.ai/blog/93-percent-zero-click-geo/ ↗No BreadcrumbList JSON-LD found
https://trychad.ai/pricing/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Needs attentionCaptured Entity Referencesschema/entity-dangling · Unscored
42 passing · 26 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
Review the referencing property and intended target. A definition elsewhere or outside the capture may be valid. If the target is meant to be described in this document, align its identifier and declaration. Unknown contexts, unsupported forms, omitted invalid blocks and traversal limits remain explicit partial observations. This check is unscored and does not prove an external link is broken.
Reference https://zerolayer.tech/#organization has no declaration among the supported nodes inspected in this captured document. External definitions and uncaptured inputs are unknown; this is not proof of a broken link.
https://trychad.ai/pricing/ ↗Reference https://trychad.ai/case-studies/arriba-safeswitch has no declaration among the supported nodes inspected in this captured document. External definitions and uncaptured inputs are unknown; this is not proof of a broken link.
https://trychad.ai/case-studies/arriba-safeswitch/ ↗Reference https://zerolayer.tech/#organization has no declaration among the supported nodes inspected in this captured document. External definitions and uncaptured inputs are unknown; this is not proof of a broken link.
https://trychad.ai/ai-built-websites/launch-checklist/ ↗
3 examples shown; 65 more check results are included in the counts above.
Needs attentionCitation Information Gaincontent/information-gain
23 passing · 2 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
A citation list that credits only other people's research means an AI engine can get everything this page offers directly from the sources it cites — there is no reason to quote this page instead of them. Where you reference outside research, also cite your own data, analysis, or first-hand reporting so the page contributes something the sources alone do not. If the page genuinely has no first-party angle, consider whether it needs to exist as a citable source at all, versus as a summary.
Article cites 1 source(s), all third-party — nothing here an engine cannot get from the original sources, so there is no reason to cite this page over them.
https://trychad.ai/case-studies/arriba-safeswitch/ ↗Article cites 1 source(s), all third-party — nothing here an engine cannot get from the original sources, so there is no reason to cite this page over them.
https://trychad.ai/claude-tag/for-marketing-teams/ ↗1 of 4 citation(s) are first-party
https://trychad.ai/blog/93-percent-zero-click-geo/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Needs attentionCitationseeat/citations
0 passing · 1 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
Citing authoritative sources builds credibility and supports E-E-A-T. Link to: government sites (.gov), educational institutions (.edu), peer-reviewed research, industry authorities. For health: cite NIH, CDC, WHO, medical journals. Include a sources/references section. Don't cite low-quality or unverified sources.
No links to authoritative sources (.gov, .edu, major research bodies) detected — consider citing sources for credibility
https://trychad.ai/ ↗
Needs attentionConsent Modeanalytics/consent-mode
0 passing · 25 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
Google Consent Mode v2 is required for Google Ads in the EU/EEA (March 2024). It allows Google tags to adjust behavior based on user consent. Implement with gtag('consent', 'default', {...}) before loading Google tags. Set ad_storage, analytics_storage, ad_user_data, and ad_personalization. Update on user consent.
Google tags detected but no Consent Mode v2 signals found — required for Google Ads in EU/EEA (March 2024)
https://trychad.ai/vibe-coding/affordable-marketing-for-startups/ ↗Google tags detected but no Consent Mode v2 signals found — required for Google Ads in EU/EEA (March 2024)
https://trychad.ai/alternatives/ ↗Google tags detected but no Consent Mode v2 signals found — required for Google Ads in EU/EEA (March 2024)
https://trychad.ai/changelog/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Needs attentionContent Security Policysecurity/csp
0 passing · 1 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
CSP prevents XSS attacks by restricting which resources can load. Start with a report-only policy to identify issues. Key directives: default-src 'self', script-src (avoid 'unsafe-inline'), img-src, style-src, frame-ancestors. Use nonces or hashes instead of 'unsafe-inline' for scripts. Test thoroughly as strict CSP can break functionality.
Missing Content-Security-Policy header
https://trychad.ai/ ↗
Needs attentionCookie Consentlegal/cookie-consent
1 passing · 24 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
Cookie consent is required under GDPR and ePrivacy regulations for EU users. Implement a consent banner that: allows users to accept/reject non-essential cookies, doesn't pre-check optional cookies, stores consent preferences, and blocks tracking cookies until consent. Use tools like CookieYes, OneTrust, or Cookiebot.
No cookie consent mechanism detected — required under GDPR/ePrivacy for EU users
https://trychad.ai/resources/answer-engine-optimization/ ↗No cookie consent mechanism detected — required under GDPR/ePrivacy for EU users
https://trychad.ai/marketing-agent-slack/ai-search-visibility/ ↗No cookie consent mechanism detected — required under GDPR/ePrivacy for EU users
https://trychad.ai/contact/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Needs attentionCritical Request Chainsperf/critical-request-chains
0 passing · 25 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
Critical request chains are sequences of dependent network requests that must complete before the page can render. Reduce chain depth by: 1) Inlining critical CSS instead of linking external files. 2) Adding async or defer to non-critical scripts. 3) Avoiding CSS @import — use <link> tags instead. 4) Using <link rel='preload'> for critical resources. 5) Reducing the number of render-blocking resources in <head>.
High render-blocking chain (~3 CSS + 11 JS blocking scripts)
https://trychad.ai/ ↗High render-blocking chain (~3 CSS + 12 JS blocking scripts)
https://trychad.ai/ai-built-websites/ ↗High render-blocking chain (~3 CSS + 12 JS blocking scripts)
https://trychad.ai/marketing-agent-slack/ai-search-visibility/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Needs attentionDOM Sizeperf/dom-size
23 passing · 2 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
A very large DOM slows layout, style recalculation and every subsequent interaction, and it is a common cause of poor responsiveness on mid-range phones. It usually comes from deeply nested wrappers or from rendering a long list all at once. Flatten unnecessary nesting and paginate or virtualise long lists.
Large DOM (~4998 elements)
https://trychad.ai/changelog/ ↗Large DOM (~2032 elements)
https://trychad.ai/blog/ ↗DOM ~815 elements
https://trychad.ai/resources/answer-engine-optimization/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Needs attentionDuplicate Entity Definitionsschema/duplicate-entity
24 passing · 1 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
Consumers of your structured data merge nodes that share an @id, so two definitions under the same @id with different values for the same field produce a contradiction — fix whichever is wrong, or split them under distinct @ids if they really are different things. Identical duplicate definitions should be emitted once and referenced by @id elsewhere. And for entities that should exist only once per site (Organization, WebSite, SoftwareApplication), give every instance a stable, shared @id so it is clear they are the same entity rather than several unrelated ones.
2 SoftwareApplication definitions include 1 without @id; add distinct stable IDs or reference the shared entity so consumers can tell whether they are the same thing.
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗No conflicting, redundant, or unkeyed singleton entity definitions found
https://trychad.ai/pricing/ ↗No conflicting, redundant, or unkeyed singleton entity definitions found
https://trychad.ai/ai-built-websites/launch-checklist/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Needs attentionEditorial Policyeeat/editorial-policy
0 passing · 1 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
Editorial policies demonstrate content quality standards and professionalism. Include: how content is created/reviewed, fact-checking process, correction policy, and editorial independence. For news sites, this is essential. For content sites, it builds trust and supports E-E-A-T. Link from footer or about page.
No editorial policy or content standards page detected — documenting your editorial process supports E-E-A-T
https://trychad.ai/ ↗
Needs attentionFAQ Schemaschema/faq
24 passing · 1 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
Google stopped showing FAQ rich results on 7 May 2026, so this is no longer about earning a search feature. It is worth doing anyway: FAQPage is the cleanest machine-readable statement that a block of text is a question and its answer, which is exactly the unit an AI assistant extracts when it answers someone and cites a source. Without it an engine has to infer those pairs out of prose and may get the boundaries wrong. Treat it as a second-order contributor rather than a lever — Google says no special markup is required for AI surfaces, and no markup rescues an answer the page does not actually give. Structure: FAQPage with a mainEntity array of Question items, each with name and an acceptedAnswer containing text. The questions and answers must be visible on the page. Use QAPage instead for user-submitted single-question pages such as forums.
Page has a Q&A section but no FAQPage JSON-LD — an answer engine has to infer the question and answer pairs out of prose instead of reading them
https://trychad.ai/vibe-coding/affordable-marketing-for-startups/ ↗FAQPage present with 5 questions
https://trychad.ai/ai-marketing-strategy/ ↗No Q&A section on this page — FAQPage not applicable
https://trychad.ai/book/ ↗
3 examples shown; 22 more check results are included in the counts above.
Needs attentionForm CAPTCHAsecurity/form-captcha
10 passing · 15 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
Add CAPTCHA protection (reCAPTCHA, Cloudflare Turnstile, hCaptcha, etc.) to public-facing forms to prevent spam and bot submissions. Contact forms, comment forms, newsletter signups, and registration forms are common targets for automated abuse. Modern CAPTCHA solutions like Turnstile offer invisible protection with minimal user friction.
1 of 1 form lack CAPTCHA or honeypot protection
https://trychad.ai/can-ai-replace-a-marketing-agency/ ↗1 of 1 form lack CAPTCHA or honeypot protection
https://trychad.ai/partners/apply/ ↗1 of 1 form lack CAPTCHA or honeypot protection
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Needs attentionGeo Meta Tagslocal/geo-meta
0 passing · 25 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
Geo meta tags (geo.position, geo.placename, geo.region, ICBM) are legacy: Google dropped support over a decade ago and no current search or AI engine is known to read them. Their absence is not worth acting on. Use LocalBusiness schema with a PostalAddress instead — that is what places a business today.
No geo meta tags (geo.position, geo.placename, geo.region, ICBM). These are legacy and no current search or AI engine is known to use them — LocalBusiness schema with a PostalAddress is what places a business today.
https://trychad.ai/resources/answer-engine-optimization/ ↗No geo meta tags (geo.position, geo.placename, geo.region, ICBM). These are legacy and no current search or AI engine is known to use them — LocalBusiness schema with a PostalAddress is what places a business today.
https://trychad.ai/ ↗No geo meta tags (geo.position, geo.placename, geo.region, ICBM). These are legacy and no current search or AI engine is known to use them — LocalBusiness schema with a PostalAddress is what places a business today.
https://trychad.ai/blog/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Needs attentionHeading Hierarchycontent/heading-hierarchy
7 passing · 18 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
Proper heading structure (H1 → H2 → H3) helps users and search engines understand your content organization. Skipping levels (H1 → H3) creates confusion. Use headings in sequential order without skipping levels. Each section should use the next heading level down. Think of headings as an outline—they should make sense when read alone. Avoid empty headings or using headings purely for styling.
Skipped heading levels: h2->h4
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗Skipped heading levels: h2->h4
https://trychad.ai/ai-marketing-strategy/ ↗Skipped heading levels: h2->h4
https://trychad.ai/marketing-agent-slack/ai-search-visibility/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Needs attentionHorizontal Scrollmobile/horizontal-scroll
19 passing · 6 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
Horizontal scrolling on mobile is a poor user experience and fails Google's mobile-friendly test. Common causes: fixed-width elements, images without max-width, wide tables. Use max-width: 100% on images, responsive tables, and avoid fixed pixel widths. Test on mobile devices.
overflow-x: scroll/auto detected — verify intentional
https://trychad.ai/ai-built-websites/ ↗overflow-x: scroll/auto detected — verify intentional
https://trychad.ai/book/ ↗overflow-x: scroll/auto detected — verify intentional
https://trychad.ai/claude-tag/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Needs attentionINP Optimization Hintsperf/inp-hints
0 passing · 25 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
INP measures responsiveness to user interactions. Improve by: 1) Minimize third-party scripts that block the main thread. 2) Use async/defer for non-critical scripts. 3) Break up long JavaScript tasks into smaller chunks. 4) Use web workers for heavy computations. 5) Implement code splitting to reduce initial bundle size. Consider using requestIdleCallback for non-urgent work.
29 inline scripts may block the main thread (INP risk)
https://trychad.ai/alternatives/ ↗27 inline scripts may block the main thread (INP risk)
https://trychad.ai/case-studies/arriba-safeswitch/ ↗25 inline scripts may block the main thread (INP risk)
https://trychad.ai/case-studies/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Needs attentionMeta Descriptioncore/meta-description
21 passing · 4 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
The description does not affect ranking, but it is the sales copy under your result and it decides whether anyone clicks. Without one, engines assemble a snippet from whatever text is nearest the match, which often reads as nonsense. Aim for 70-160 characters: shorter looks unfinished, longer is cut off. Write it for the person deciding whether to click, not for the crawler.
Description too long (176 chars, aim 70-160)
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗Description too long (162 chars, aim 70-160)
https://trychad.ai/can-ai-replace-a-marketing-agency/ ↗Description too long (234 chars, aim 70-160)
https://trychad.ai/ai-marketing-strategy/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Needs attentionMeta Titlecore/meta-title
20 passing · 5 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
The title is the strongest on-page signal you control and usually the first thing a person reads in a result. A missing one forces the engine to invent a title from your content, which it does badly. Under 30 characters wastes the space; over 60 gets truncated mid-phrase, so put the distinguishing words first. Every page needs its own — duplicated titles make pages compete with each other.
Title too short (21 characters, aim 30-60)
https://trychad.ai/book/ ↗Title too short (22 characters, aim 30-60)
https://trychad.ai/geo/hospitality/bars/ ↗Title too long (61 characters, aim 30-60)
https://trychad.ai/blog/93-percent-zero-click-geo/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Needs attentionNAP Consistencylocal/nap-consistency
0 passing · 1 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
NAP consistency is critical for local SEO. Your business name, address, and phone number should be identical everywhere - on your site and across all listings. Use schema.org LocalBusiness markup. Avoid abbreviations inconsistencies (St. vs Street). Include NAP in footer for site-wide visibility.
No phone numbers found on the site, so name/address/phone consistency could not be assessed. Not a finding in itself — if the business does publish a phone number, make sure it is identical everywhere it appears.
https://trychad.ai/ ↗
Needs attentionObserved Internal Link Sourceslinks/weak-internal-links · Unscored
9 passing · 6 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
Consider useful links from related content when only one captured source links to the page. Review uncaptured sources before drawing site-wide conclusions. Repeated links in one document count once, and no ideal inbound-link count or ranking loss is asserted.
Only one distinct captured document has an observed ordinary followable link to this page. Review useful additional internal links; uncaptured sources may contain them. This threshold is not a ranking requirement.
https://trychad.ai/ ↗Only one distinct captured document has an observed ordinary followable link to this page. Review useful additional internal links; uncaptured sources may contain them. This threshold is not a ranking requirement.
https://trychad.ai/ ↗Only one distinct captured document has an observed ordinary followable link to this page. Review useful additional internal links; uncaptured sources may contain them. This threshold is not a ranking requirement.
https://trychad.ai/ ↗
3 examples shown; 12 more check results are included in the counts above.
Needs attentionOrphan Pageslinks/orphan-pages · Unscored
0 passing · 1 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
A page nothing links to is reachable only by someone who already knows its URL. Search engines crawl it rarely, rank it poorly, and pass it none of the authority the rest of the site has earned — while the page itself looks perfect when you visit it directly, which is why this goes unnoticed. Link each page from somewhere relevant: a listing or index page, a related article, or the navigation. Where an index page is generated from a hand-maintained list, check that list against what is actually published; drift between the two is the usual cause.
9 captured pages have no internal link from any other captured page: https://trychad.ai/geo/financial-services/, https://trychad.ai/ai-marketing-strategy/, https://trychad.ai/can-ai-replace-a-marketing-agency/, https://trychad.ai/claude-tag/, https://trychad.ai/marketing-agent-slack/ai-search-visibility/, https://trychad.ai/partners/apply/, https://trychad.ai/resources/answer-engine-optimization/, https://trychad.ai/vibe-coding/affordable-marketing-for-startups/, https://trychad.ai/geo/hospitality/bars/. Only 25 of 178 sitemap URLs were captured, so links from the rest are unknown; unscored until a fuller crawl.
https://trychad.ai/ ↗
Needs attentionReading Levelcontent/reading-level
0 passing · 25 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
Content should match your target audience's reading level. For general audiences, aim for 6th-8th grade level (60-70 Flesch score). Use shorter sentences and simpler words. Break up long paragraphs. Use bullet points and headings. Technical content may have lower readability scores, which is acceptable for expert audiences.
Flesch score 52 — 10th-12th grade (fairly difficult) (aim for 60+)
https://trychad.ai/case-studies/ ↗Flesch score 55 — 10th-12th grade (fairly difficult) (aim for 60+)
https://trychad.ai/ai-built-websites/launch-checklist/ ↗Flesch score 42 — college level (difficult) (aim for 60+)
https://trychad.ai/vibe-coding/affordable-marketing-for-startups/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Needs attentionReview Captured Contextual Incoming Linkslinks/no-contextual-inbound · Unscored
14 passing · 1 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
Review the target and captured source examples. Where useful to readers, link from relevant page content using descriptive anchor text. Uncaptured pages may already contain contextual links; this observation does not establish ranking or AI citation loss. Zero observed inbound links remain owned by the orphan-page rule.
Observed incoming links to this page occur only in navigation or global header/footer chrome within captured sources. Review contextual links; uncaptured sources may contain them. No ranking or AI citation loss is established.
https://trychad.ai/ ↗An incoming link outside explicit navigation/global header/footer markup is present in captured sources; whole-site coverage is unknown.
https://trychad.ai/ ↗An incoming link outside explicit navigation/global header/footer markup is present in captured sources; whole-site coverage is unknown.
https://trychad.ai/ ↗
3 examples shown; 12 more check results are included in the counts above.
Needs attentionSchema Deprecated for Google Rich Resultsschema/deprecated-for-google
11 passing · 14 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
This is informational, not a defect: HowTo rich results ended in September 2023, and Google stopped showing FAQ rich results on 7 May 2026 (reporting was withdrawn in June 2026; Search Console API support ends in August 2026). The underlying markup is still valid and still helps other AI engines parse step-by-step and Q&A content when deciding what to cite. No action needed if being read by non-Google AI engines is part of your strategy — remove the markup only if Google rich results were its sole purpose.
FAQPage no longer produces Google rich results. Still consumed by other AI engines for parsing Q&A/how-to content — keep it only if that is deliberate.
https://trychad.ai/ai-marketing-operator/ ↗FAQPage no longer produces Google rich results. Still consumed by other AI engines for parsing Q&A/how-to content — keep it only if that is deliberate.
https://trychad.ai/ai-built-websites/ ↗FAQPage no longer produces Google rich results. Still consumed by other AI engines for parsing Q&A/how-to content — keep it only if that is deliberate.
https://trychad.ai/geo/financial-services/ ↗
3 examples shown; 22 more check results are included in the counts above.
Needs attentionSemantic Completenesscontent/semantic-completeness
12 passing · 13 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
Content rated 8.5/10 or higher for semantic completeness is 4.2x more likely to appear in an AI Overview, across 15,800 results analysed. Completeness means the page answers the question on its own, without the reader needing another source. Three things move it most. Put the direct answer in the first one or two sentences — an introduction that explains what the article will cover wastes the position an AI engine reads first. Cover the whole decision arc in your headings: what it is, why it matters, what the options are, what the trade-offs are, and what to do. And be specific: 'LCP must be below 2.5 seconds' is quotable, 'improve your page speed' is not, so name thresholds, figures and units wherever you can. A fourth factor, information gain — data or synthesis competitors do not have — is part of the published rubric but cannot be measured from a single page, so judge that one yourself.
Semantic completeness ~3/10, below the 8.5 threshold our research associates with 4.2x more AI Overview citations. decision arc incomplete — no heading covers what it is, why it matters, the options, the trade-offs, what to do; thin on specifics — 11 concrete figures in 19255 words; named thresholds and measurements are what get quoted. Information gain (new data competitors lack) is part of the published rubric but cannot be measured from a single page — assess it yourself.
https://trychad.ai/changelog/ ↗Semantic completeness ~3.8/10, below the 8.5 threshold our research associates with 4.2x more AI Overview citations. decision arc incomplete — no heading covers what it is, the options, the trade-offs, what to do; thin on specifics — 0 concrete figures in 1118 words; named thresholds and measurements are what get quoted. Information gain (new data competitors lack) is part of the published rubric but cannot be measured from a single page — assess it yourself.
https://trychad.ai/ai-built-websites/launch-checklist/ ↗Semantic completeness ~5.3/10, below the 8.5 threshold our research associates with 4.2x more AI Overview citations. decision arc incomplete — no heading covers what it is, why it matters, the trade-offs, what to do; thin on specifics — 3 concrete figures in 1305 words; named thresholds and measurements are what get quoted. Information gain (new data competitors lack) is part of the published rubric but cannot be measured from a single page — assess it yourself.
https://trychad.ai/claude-tag/for-marketing-teams/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Needs attentionService Area Pageslocal/service-area
0 passing · 1 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
Service area pages help rank for '[service] in [location]' searches. Create pages for each major city/area you serve. Include location-specific content, testimonials, and case studies. Use unique content - don't just swap city names. Add LocalBusiness schema with areaServed property.
No LocalBusiness areaServed schema or service-area page found
https://trychad.ai/ ↗
Needs attentionShare Buttonssocial/share-buttons
0 passing · 25 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
Social share buttons encourage content sharing and can drive traffic. Place them prominently on blog posts, articles, and shareable content. Include major platforms: Facebook, Twitter/X, LinkedIn. Consider sticky share bars for long content. Avoid too many buttons - 3-4 is optimal.
No social share buttons detected on this page
https://trychad.ai/ai-marketing-operator/ ↗No social share buttons detected on this page
https://trychad.ai/alternatives/ ↗No social share buttons detected on this page
https://trychad.ai/resources/answer-engine-optimization/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Needs attentionTap Targetsmobile/tap-targets
22 passing · 3 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
Touch targets (buttons, links) should be at least 44x44 CSS pixels with 8px spacing between them. This ensures users can tap accurately on mobile. Google's mobile-friendly test checks this. Use padding to increase tap area without changing visual size. Pay special attention to navigation links and form inputs.
3 clusters of 4+ adjacent interactive elements detected — tap targets may be too small/close
https://trychad.ai/geo/hospitality/bars/ ↗High interactive element count (95) — verify tap target sizing on mobile
https://trychad.ai/blog/ ↗7 clusters of 4+ adjacent interactive elements detected — tap targets may be too small/close
https://trychad.ai/changelog/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Needs attentionURL Stop Wordsurl/stop-words
22 passing · 3 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
Stop words (a, an, the, of, etc.) add length without SEO value. While not harmful, removing them makes URLs shorter and more focused. 'best-running-shoes' is better than 'the-best-running-shoes-for-you'. However, keep stop words if removing them makes the URL confusing or grammatically awkward.
URL slug contains stop word(s): for
https://trychad.ai/claude-tag/for-marketing-teams/ ↗URL slug contains stop word(s): a
https://trychad.ai/can-ai-replace-a-marketing-agency/ ↗URL slug contains stop word(s): for
https://trychad.ai/vibe-coding/affordable-marketing-for-startups/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Needs attentionWord Countcontent/word-count
22 passing · 3 warnings · 0 failures · 0 not assessed · 0 not applicable
Guidance
Under 300 words there is usually too little for a search engine to understand what the page is about, or for an AI engine to quote. Length is not the goal — a thin page is a symptom, not the disease. Ask whether the page answers a real question in full; if it does so in 200 words it may be fine, and if it does not, adding padding will not help. Merge genuinely thin pages into a stronger one rather than inflating them.
Thin content (237 words)
https://trychad.ai/partners/apply/ ↗Thin content (284 words)
https://trychad.ai/contact/ ↗Thin content (237 words)
https://trychad.ai/book/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedAccess Keysa11y/accesskeys · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Access keys provide keyboard shortcuts for elements. Duplicate access keys cause only one to work, confusing users. Ensure each accesskey value is unique. Consider whether access keys are necessary at all, as they can conflict with browser/OS shortcuts.
Rule disabled for this audit.
https://trychad.ai/contact/ ↗Rule disabled for this audit.
https://trychad.ai/ ↗Rule disabled for this audit.
https://trychad.ai/case-studies/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedAgent Answerabilityai-visibility/answerability · Unscored
0 passing · 0 warnings · 0 failures · 1 not assessed · 0 not applicable
How to assess it
For each question the site could not answer: put the answer in plain text on the page an agent would land on, make that page's Markdown representation include it, link the page from llms.txt with wording that matches the question, and make sure nothing on the path is a 404 or JavaScript-only. Then re-audit and record again: the pinned questions show whether the change worked.
Judgement task (settled-by caller): from the homepage text below ONLY, write 3–5 questions a prospective customer would ask: what the service is, whether it has a specific feature, which problem it solves. Pin them: `chad-audit questions --project-name <p> --crawl <crawl> --set questions.json` (a JSON array of strings). Then: Answer each question by reading the site as an agent would (pages and their Markdown; not llms.txt on this pass). For each: claim answered | partial | not_answered, with the page URL and an exact quote of at least 20 characters. For a miss, check whether llms.txt links the answering page and how it is worded, whether that page's Markdown exists and contains the answer, 404s on the way, and JavaScript-only content; write the fix. Record: `chad-audit record <crawl> --project-name <p> --file results.json` ({"model": "...", "verdicts": [{"question": "q1", "claim": "...", "url": "...", "quote": "...", "usedLlmsTxt": false, "diagnosis": "...", "fix": "..."}]}). chad-audit verifies each quote against the text this crawl captured.
https://trychad.ai/ ↗
Not fully assessedARIA Allowed Attributesa11y/aria-allowed-attr · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Some ARIA attributes are not appropriate for certain roles or elements. For example, role='presentation' should not have aria-label since it removes semantic meaning. Remove conflicting attributes or reconsider the element's role.
Rule disabled for this audit.
https://trychad.ai/changelog/ ↗Rule disabled for this audit.
https://trychad.ai/pricing/ ↗Rule disabled for this audit.
https://trychad.ai/case-studies/arriba-safeswitch/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedARIA Command Namea11y/aria-command-name · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Command elements (buttons, links, menu items) must have accessible names. Add text content, aria-label, aria-labelledby, or title attribute. For icon-only buttons, use aria-label to describe the action (e.g., aria-label='Close').
Rule disabled for this audit.
https://trychad.ai/ ↗Rule disabled for this audit.
https://trychad.ai/ai-built-websites/launch-checklist/ ↗Rule disabled for this audit.
https://trychad.ai/pricing/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedARIA Dialog Namea11y/aria-dialog-name · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Elements with role='dialog' or role='alertdialog' (and native <dialog>) must have an accessible name. Add aria-label with a descriptive label, or use aria-labelledby pointing to a visible heading inside the dialog. A title attribute also works but is less preferred. Without a name, screen reader users won't know the purpose of the dialog.
Rule disabled for this audit.
https://trychad.ai/claude-tag/ ↗Rule disabled for this audit.
https://trychad.ai/changelog/ ↗Rule disabled for this audit.
https://trychad.ai/resources/answer-engine-optimization/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedARIA Hidden Bodya11y/aria-hidden-body · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Never set aria-hidden='true' on the <body> element. This makes the entire page invisible to assistive technology. If you need to hide content when a modal is open, add aria-hidden to sibling elements of the modal, not to body.
Rule disabled for this audit.
https://trychad.ai/contact/ ↗Rule disabled for this audit.
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗Rule disabled for this audit.
https://trychad.ai/claude-tag/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedARIA Hidden Focusa11y/aria-hidden-focus · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Elements with aria-hidden='true' should not contain focusable content. When an element is hidden from assistive technology but still focusable, keyboard users can tab to it but screen reader users won't know what they're interacting with. Either remove aria-hidden or make children non-focusable with tabindex='-1'.
Rule disabled for this audit.
https://trychad.ai/alternatives/ ↗Rule disabled for this audit.
https://trychad.ai/vibe-coding/affordable-marketing-for-startups/ ↗Rule disabled for this audit.
https://trychad.ai/book/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedARIA Input Field Namea11y/aria-input-field-name · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
All input fields need accessible names. Best options: 1) Use <label for='inputId'>. 2) Use aria-label or aria-labelledby. 3) Wrap input in <label>. Placeholder alone is not sufficient as it disappears when typing.
Rule disabled for this audit.
https://trychad.ai/ai-built-websites/ ↗Rule disabled for this audit.
https://trychad.ai/alternatives/ ↗Rule disabled for this audit.
https://trychad.ai/about/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedARIA Meter Namea11y/aria-meter-name · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Meter elements must have accessible names to describe what they're measuring. Add aria-label, aria-labelledby, or an associated <label>. Example: <meter aria-label='Battery level' value='0.8'>80%</meter>
Rule disabled for this audit.
https://trychad.ai/contact/ ↗Rule disabled for this audit.
https://trychad.ai/partners/apply/ ↗Rule disabled for this audit.
https://trychad.ai/vibe-coding/affordable-marketing-for-startups/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedARIA Progressbar Namea11y/aria-progressbar-name · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Progressbar elements must have accessible names to describe what process is being tracked. Add aria-label, aria-labelledby, or an associated <label>. Example: <progress aria-label='Upload progress' value='50' max='100'>50%</progress>
Rule disabled for this audit.
https://trychad.ai/blog/ ↗Rule disabled for this audit.
https://trychad.ai/changelog/ ↗Rule disabled for this audit.
https://trychad.ai/geo/financial-services/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedARIA Required Attributesa11y/aria-required-attr · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Some ARIA roles require specific attributes to be present. For example, role='checkbox' requires aria-checked, role='slider' requires aria-valuenow. Add the missing required attributes with appropriate values.
Rule disabled for this audit.
https://trychad.ai/blog/93-percent-zero-click-geo/ ↗Rule disabled for this audit.
https://trychad.ai/can-ai-replace-a-marketing-agency/ ↗Rule disabled for this audit.
https://trychad.ai/case-studies/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedARIA Required Childrena11y/aria-required-children · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Some ARIA roles require specific child roles. For example, role='list' must contain role='listitem', role='menu' must contain menu items. Add the required child elements with appropriate roles.
Rule disabled for this audit.
https://trychad.ai/case-studies/arriba-safeswitch/ ↗Rule disabled for this audit.
https://trychad.ai/changelog/ ↗Rule disabled for this audit.
https://trychad.ai/ai-built-websites/launch-checklist/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedARIA Required Parenta11y/aria-required-parent · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Some ARIA roles must be contained within specific parent roles. For example, role='listitem' must be within role='list', role='option' must be within role='listbox'. Restructure your markup to ensure proper parent-child relationships.
Rule disabled for this audit.
https://trychad.ai/ ↗Rule disabled for this audit.
https://trychad.ai/about/ ↗Rule disabled for this audit.
https://trychad.ai/case-studies/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedARIA Texta11y/aria-text · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Elements with role='text' tell screen readers to treat the content as a single text string. If focusable elements (links, buttons, inputs) are nested inside, screen reader users cannot interact with them properly. Remove role='text' from the parent, or restructure so focusable elements are outside the role='text' container.
Rule disabled for this audit.
https://trychad.ai/about/ ↗Rule disabled for this audit.
https://trychad.ai/alternatives/ ↗Rule disabled for this audit.
https://trychad.ai/case-studies/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedARIA Toggle Field Namea11y/aria-toggle-field-name · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Toggle fields need accessible names to describe what they control. Use <label for='id'>, aria-label, aria-labelledby, or wrap in <label>. Example: <label><input type='checkbox'> Subscribe to newsletter</label>
Rule disabled for this audit.
https://trychad.ai/can-ai-replace-a-marketing-agency/ ↗Rule disabled for this audit.
https://trychad.ai/ai-built-websites/launch-checklist/ ↗Rule disabled for this audit.
https://trychad.ai/partners/apply/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedARIA Tooltip Namea11y/aria-tooltip-name · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Tooltip elements with role='tooltip' must have accessible content. The tooltip content serves as its accessible name. Ensure tooltips have text content or use aria-label for icon-based tooltips.
Rule disabled for this audit.
https://trychad.ai/pricing/ ↗Rule disabled for this audit.
https://trychad.ai/alternatives/ ↗Rule disabled for this audit.
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedARIA Treeitem Namea11y/aria-treeitem-name · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Treeitem elements must have accessible names. Add text content, aria-label, or aria-labelledby. The text content within the treeitem typically serves as its name.
Rule disabled for this audit.
https://trychad.ai/vibe-coding/affordable-marketing-for-startups/ ↗Rule disabled for this audit.
https://trychad.ai/pricing/ ↗Rule disabled for this audit.
https://trychad.ai/case-studies/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedARIA Valid Attribute Valuesa11y/aria-valid-attr-value · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Ensure ARIA attribute values match the expected type. Boolean attributes should be 'true' or 'false'. Enumerated attributes like aria-current have specific allowed values. Numeric attributes like aria-level must be numbers. Check the WAI-ARIA specification for valid values.
Rule disabled for this audit.
https://trychad.ai/blog/ ↗Rule disabled for this audit.
https://trychad.ai/blog/93-percent-zero-click-geo/ ↗Rule disabled for this audit.
https://trychad.ai/case-studies/arriba-safeswitch/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedARIA Valid Attributesa11y/aria-valid-attr · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Use only valid ARIA attribute names as defined in the WAI-ARIA specification. Common typos include 'aria-labeledby' (should be 'aria-labelledby'), 'aria-role' (should be 'role'), and 'aria-description' vs 'aria-describedby'. Consult MDN or the WAI-ARIA spec for the complete list of valid attributes.
Rule disabled for this audit.
https://trychad.ai/ai-built-websites/ ↗Rule disabled for this audit.
https://trychad.ai/contact/ ↗Rule disabled for this audit.
https://trychad.ai/pricing/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedARIA Valid Rolesa11y/aria-roles · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Use only valid ARIA role values as defined in the WAI-ARIA specification. Common mistakes include using made-up roles or misspelling valid roles. Roles are case-sensitive and must be lowercase. Multiple roles can be specified, separated by spaces, but the first valid role is used.
Rule disabled for this audit.
https://trychad.ai/marketing-agent-slack/ai-search-visibility/ ↗Rule disabled for this audit.
https://trychad.ai/resources/answer-engine-optimization/ ↗Rule disabled for this audit.
https://trychad.ai/blog/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedButton Namea11y/button-name · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Buttons must have accessible names. Options: 1) Add text content inside the button. 2) Use aria-label for icon buttons. 3) Use aria-labelledby to reference visible text. 4) Use title attribute (less preferred). For <input type='button'>, use the value attribute.
Rule disabled for this audit.
https://trychad.ai/blog/93-percent-zero-click-geo/ ↗Rule disabled for this audit.
https://trychad.ai/marketing-agent-slack/ai-search-visibility/ ↗Rule disabled for this audit.
https://trychad.ai/pricing/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedCanonical Form Reviewcore/canonical-form-drift · Unscored
4 passing · 0 warnings · 0 failures · 44 not assessed · 0 not applicable
How to assess it
Review whether sibling pages intentionally use different canonical preferences. Preserve meaningful query identities and legitimate conventions in separate sections. Align canonical preferences where unintended, then repeat the same captured cohort.
At least three captured sibling documents and a repeated canonical form are required to assess this cohort.
https://trychad.ai/ ↗At least three captured sibling documents and a repeated canonical form are required to assess this cohort.
https://trychad.ai/ ↗At least three captured sibling documents and a repeated canonical form are required to assess this cohort.
https://trychad.ai/ ↗
3 examples shown; 45 more check results are included in the counts above.
Not fully assessedCaptured Template Artifactscontent/placeholder-text · Unscored
72 passing · 0 warnings · 0 failures · 3 not assessed · 0 not applicable
How to assess it
Review the supplied excerpt in the named page and capture source. Replace unintended template output or render the value before publishing. Code examples, explicitly hidden content and templates are excluded, but captured text alone cannot establish author intent or browser visibility. A raw capture can differ from a hydrated browser view. This observation has no score penalty.
Template-like expressions could not be fully assessed in captured document prose.
https://trychad.ai/changelog/ ↗Literal HTML tags or encoded entities could not be fully assessed in captured document prose.
https://trychad.ai/changelog/ ↗Object-string artifacts could not be fully assessed in captured document prose.
https://trychad.ai/changelog/ ↗
3 examples shown; 72 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedColor Contrasta11y/color-contrast · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Text must have sufficient contrast with its background for readability. WCAG AA requires 4.5:1 for normal text and 3:1 for large text (18px+ or 14px+ bold). Use tools like WebAIM Contrast Checker to verify. Common issues: light gray text, text over images without overlay. Don't rely on color alone to convey information - add icons or text labels.
Rule disabled for this audit.
https://trychad.ai/about/ ↗Rule disabled for this audit.
https://trychad.ai/partners/apply/ ↗Rule disabled for this audit.
https://trychad.ai/changelog/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedDecision pages for your rivalscontent/decision-pages · Unscored
0 passing · 0 warnings · 0 failures · 1 not assessed · 0 not applicable
How to assess it
For each rival without a page, publish one that compares you with it honestly: a table of the features and prices a buyer decides on, prices with their source and checked date, a visible updated date, and an FAQ of the questions buyers ask when choosing between you. Add the missing elements to a page that has some of them.
No rivals are pinned for this project, so no decision pages can be looked for.
https://trychad.ai/ ↗
Not fully assessedDefinition List Itema11y/dlitem · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
The <dt> and <dd> elements must be contained within a <dl> (definition list). Move orphaned dt/dd elements inside a <dl> container.
Rule disabled for this audit.
https://trychad.ai/ai-built-websites/launch-checklist/ ↗Rule disabled for this audit.
https://trychad.ai/case-studies/arriba-safeswitch/ ↗Rule disabled for this audit.
https://trychad.ai/can-ai-replace-a-marketing-agency/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedDefinition List Structurea11y/definition-list · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Definition lists (<dl>) should only contain <dt> (term) and <dd> (description) elements as direct children. Optionally, they can be wrapped in <div> for styling. Do not put other elements like <p>, <span>, or <li> directly inside <dl>.
Rule disabled for this audit.
https://trychad.ai/ai-marketing-strategy/ ↗Rule disabled for this audit.
https://trychad.ai/claude-tag/ ↗Rule disabled for this audit.
https://trychad.ai/partners/apply/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedDeprecated ARIA Rolesa11y/aria-deprecated-role · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Avoid deprecated or abstract ARIA roles. Use the recommended alternatives. Abstract roles are never meant to be used directly - they're base types that other roles extend. Replace with specific, concrete roles.
Rule disabled for this audit.
https://trychad.ai/blog/ ↗Rule disabled for this audit.
https://trychad.ai/resources/answer-engine-optimization/ ↗Rule disabled for this audit.
https://trychad.ai/claude-tag/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedDuplicate ID Activea11y/duplicate-id-active · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Duplicate IDs on focusable elements (links, buttons, inputs) break keyboard navigation and label associations. Browsers only recognize the first element with a given ID, so labels, focus management, and ARIA references will target the wrong element. Ensure every focusable element with an id attribute has a unique value.
Rule disabled for this audit.
https://trychad.ai/resources/answer-engine-optimization/ ↗Rule disabled for this audit.
https://trychad.ai/ ↗Rule disabled for this audit.
https://trychad.ai/claude-tag/for-marketing-teams/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedDuplicate ID ARIAa11y/duplicate-id-aria · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
IDs referenced by ARIA attributes (aria-labelledby, aria-describedby, aria-controls, etc.) must be unique on the page. Duplicate IDs cause assistive technology to potentially reference the wrong element. Rename duplicate IDs to be unique.
Rule disabled for this audit.
https://trychad.ai/ai-built-websites/ ↗Rule disabled for this audit.
https://trychad.ai/resources/answer-engine-optimization/ ↗Rule disabled for this audit.
https://trychad.ai/alternatives/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedEmpty Headingsa11y/empty-heading · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Headings (h1-h6) must have text content for screen readers to announce. Empty headings create confusing navigation. Either add text content, use aria-label, or remove the empty heading element.
Rule disabled for this audit.
https://trychad.ai/about/ ↗Rule disabled for this audit.
https://trychad.ai/geo/financial-services/ ↗Rule disabled for this audit.
https://trychad.ai/blog/93-percent-zero-click-geo/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedFacts that need JavaScriptai-visibility/js-dependent-facts · Unscored
0 passing · 0 warnings · 0 failures · 1 not assessed · 0 not applicable
How to assess it
Put the real number in the HTML the server sends, and let a script animate it if you like. A reader that does not run scripts sees the zero or empty value.
Only one capture of each page exists (no browser render), so facts that appear only after JavaScript runs cannot be compared.
https://trychad.ai/ ↗
Not fully assessedFrame Titlea11y/frame-title · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
All iframes must have a title attribute describing their content. This helps screen reader users understand what the iframe contains. Example: <iframe src='video.html' title='Product demo video'>
Rule disabled for this audit.
https://trychad.ai/ai-marketing-strategy/ ↗Rule disabled for this audit.
https://trychad.ai/pricing/ ↗Rule disabled for this audit.
https://trychad.ai/changelog/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedHeading Ordera11y/heading-order · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Headings should follow a logical hierarchy without skipping levels. Screen reader users navigate by headings, so skipping from H1 to H3 is confusing. Correct order: H1 -> H2 -> H3 (not H1 -> H3). You can have multiple headings at the same level, and you can go back up (H3 -> H2 is fine). Think of headings as an outline - they should make sense when read alone.
Rule disabled for this audit.
https://trychad.ai/case-studies/arriba-safeswitch/ ↗Rule disabled for this audit.
https://trychad.ai/marketing-agent-slack/ai-search-visibility/ ↗Rule disabled for this audit.
https://trychad.ai/blog/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedHTML Lang Valida11y/html-lang-valid · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
The lang attribute on <html> should be a valid BCP 47 language tag. Use two-letter ISO 639-1 codes like 'en' for English, 'es' for Spanish, 'fr' for French. You can add region subtags like 'en-US' or 'en-GB'. This helps screen readers use correct pronunciation.
Rule disabled for this audit.
https://trychad.ai/blog/ ↗Rule disabled for this audit.
https://trychad.ai/ai-built-websites/ ↗Rule disabled for this audit.
https://trychad.ai/vibe-coding/affordable-marketing-for-startups/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedHTML XML Lang Mismatcha11y/html-xml-lang-mismatch · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
If both lang and xml:lang are present on the <html> element, they must have the same base language. Mismatches can cause screen readers to announce content in the wrong language. Typically, you only need lang for HTML5 documents.
Rule disabled for this audit.
https://trychad.ai/geo/financial-services/ ↗Rule disabled for this audit.
https://trychad.ai/alternatives/ ↗Rule disabled for this audit.
https://trychad.ai/marketing-agent-slack/ai-search-visibility/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedIdentical Links Same Purposea11y/identical-links-same-purpose · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Links with the same visible text should go to the same URL. When identical link text leads to different destinations, it confuses screen reader users who navigate by listing links. Make link text unique or more descriptive to differentiate destinations.
Rule disabled for this audit.
https://trychad.ai/book/ ↗Rule disabled for this audit.
https://trychad.ai/pricing/ ↗Rule disabled for this audit.
https://trychad.ai/claude-tag/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedInput Image Alta11y/input-image-alt · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Image inputs (input type='image') are submit buttons that use an image. They must have alt text describing the button's action. Example: <input type='image' src='submit.png' alt='Submit form'>
Rule disabled for this audit.
https://trychad.ai/ai-marketing-strategy/ ↗Rule disabled for this audit.
https://trychad.ai/about/ ↗Rule disabled for this audit.
https://trychad.ai/case-studies/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedLabel Content Name Mismatcha11y/label-content-name-mismatch · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
For controls with visible labels, the accessible name should contain the visible text. Voice control users say what they see - if the accessible name doesn't include the visible label, voice commands won't work. Example: A button showing 'Search' should not have aria-label='Find products'.
Rule disabled for this audit.
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗Rule disabled for this audit.
https://trychad.ai/alternatives/ ↗Rule disabled for this audit.
https://trychad.ai/ai-built-websites/launch-checklist/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedLink in Text Blocka11y/link-in-text-block · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Links within text blocks must be distinguishable by more than just color (for color-blind users). Use underlines, bold, borders, or other visual indicators. Exception: Links can rely on color alone if the contrast ratio between link and surrounding text is at least 3:1 and you provide additional cues on hover/focus.
Rule disabled for this audit.
https://trychad.ai/resources/answer-engine-optimization/ ↗Rule disabled for this audit.
https://trychad.ai/book/ ↗Rule disabled for this audit.
https://trychad.ai/case-studies/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedList Item Contexta11y/listitem · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
The <li> element must be contained within a <ul>, <ol>, or <menu> element. Orphaned list items lose their semantic meaning. Wrap them in an appropriate list container.
Rule disabled for this audit.
https://trychad.ai/ai-marketing-operator/ ↗Rule disabled for this audit.
https://trychad.ai/geo/hospitality/bars/ ↗Rule disabled for this audit.
https://trychad.ai/pricing/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedMeta Refresha11y/meta-refresh · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Avoid using <meta http-equiv='refresh'> for redirects or auto-refresh. They can disorient users, especially those using screen readers. Use server-side redirects (301/302) instead. If content must refresh, provide a user control and warn users beforehand.
Rule disabled for this audit.
https://trychad.ai/blog/ ↗Rule disabled for this audit.
https://trychad.ai/blog/93-percent-zero-click-geo/ ↗Rule disabled for this audit.
https://trychad.ai/case-studies/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedMultiple Labelsa11y/form-field-multiple-labels · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Form inputs should have only one associated label. Multiple labels can confuse assistive technology. If you need multiple text descriptions, use aria-describedby for supplementary text instead of multiple labels.
Rule disabled for this audit.
https://trychad.ai/ai-built-websites/launch-checklist/ ↗Rule disabled for this audit.
https://trychad.ai/resources/answer-engine-optimization/ ↗Rule disabled for this audit.
https://trychad.ai/can-ai-replace-a-marketing-agency/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedObject Alt Texta11y/object-alt · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Object elements need alternative content for when the embedded content can't be displayed or for assistive technology. Add content between <object> tags as fallback, or use aria-label/aria-labelledby.
Rule disabled for this audit.
https://trychad.ai/ ↗Rule disabled for this audit.
https://trychad.ai/alternatives/ ↗Rule disabled for this audit.
https://trychad.ai/about/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedOne Main Landmarka11y/landmark-one-main · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Each page should have exactly one <main> element or element with role='main'. This helps screen reader users quickly navigate to the primary content. Multiple main landmarks confuse navigation. Use <aside>, <nav>, or other landmarks for secondary content.
Rule disabled for this audit.
https://trychad.ai/ai-marketing-strategy/ ↗Rule disabled for this audit.
https://trychad.ai/case-studies/ ↗Rule disabled for this audit.
https://trychad.ai/alternatives/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedPossible Encoding Artifactscontent/mojibake · Unscored
48 passing · 0 warnings · 0 failures · 2 not assessed · 0 not applicable
How to assess it
Compare the captured excerpt with the original content and a browser response. Inspect response decoding and the publishing pipeline before changing text or encoding declarations. The audit retains decoded text, so a replacement character or charset declaration alone cannot establish where corruption occurred. Intentional examples can also contain these characters. This observation has no score penalty.
Replacement characters could not be fully assessed in captured document prose.
https://trychad.ai/changelog/ ↗Probable encoding artifacts could not be fully assessed in captured document prose.
https://trychad.ai/changelog/ ↗No replacement characters observed in the assessed captured document prose.
https://trychad.ai/case-studies/arriba-safeswitch/ ↗
3 examples shown; 47 more check results are included in the counts above.
Not fully assessedPossible Soft 404 in Captured Responsecrawl/soft-404 · Unscored
24 passing · 0 warnings · 0 failures · 1 not assessed · 0 not applicable
How to assess it
Review the requested URL, response status and captured error excerpt. If the resource is missing, return an appropriate 404 or 410 status. If it should exist, restore its content and investigate intermittent error responses. Compare the server response with the browser view and Search Console; no confirmation request is performed. Thin content or noindex alone does not trigger this observation.
Captured labels or content exceed the complete-text inspection bounds; no truncated-content verdict is produced.
https://trychad.ai/changelog/ ↗Captured success HTML does not meet the bounded error-template heuristic; this does not confirm resource existence or a search-engine classification.
https://trychad.ai/marketing-agent-slack/ai-search-visibility/ ↗Captured success HTML does not meet the bounded error-template heuristic; this does not confirm resource existence or a search-engine classification.
https://trychad.ai/pricing/ ↗
3 examples shown; 22 more check results are included in the counts above.
Not fully assessedPrivacy Policyeeat/privacy-policy · Unscored
0 passing · 0 warnings · 0 failures · 1 not assessed · 0 not applicable
How to assess it
A privacy policy is required by law in many jurisdictions (GDPR, CCPA) and signals trustworthiness. Link it from your footer on every page. Cover: what data you collect, how you use it, third-party sharing, user rights, and contact for privacy concerns. Keep it updated when practices change.
Privacy policy link found but its destination was not captured, so its content is unassessed. A crawl that includes it settles this.
https://trychad.ai/ ↗
Not fully assessedRedundant Image Alta11y/image-redundant-alt · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Image alt text should not start with 'image of', 'photo of', 'picture of', etc. Screen readers already announce that it's an image. Alt text should describe the content or function, not state the obvious. Also avoid duplicating adjacent text in the alt.
Rule disabled for this audit.
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗Rule disabled for this audit.
https://trychad.ai/ai-marketing-operator/ ↗Rule disabled for this audit.
https://trychad.ai/pricing/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedReview Captured Detail-Page Schema Coverageschema/template-coverage · Unscored
0 passing · 0 warnings · 0 failures · 1 not assessed · 0 not applicable
How to assess it
Review the target and named peer captures. Add schema only when it describes that page’s actual main content; review absent fields and repeated section headings only when they are applicable to the target. Article, product and software detail pages have separate cohorts. Global cart navigation and generic SaaS signals do not establish product applicability. Missing, partial, inconsistent or bounded-away inputs remain unknown. This observation has no score penalty and does not predict search rankings or AI citations.
1 captured inputs are missing, partial or inconsistent; their template coverage remains unknown.
https://trychad.ai/ ↗
Not fully assessedSelect Namea11y/select-name · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Select elements need accessible labels. Use <label for='selectId'>Label</label>, wrap in <label>, or use aria-label/aria-labelledby.
Rule disabled for this audit.
https://trychad.ai/geo/financial-services/ ↗Rule disabled for this audit.
https://trychad.ai/resources/answer-engine-optimization/ ↗Rule disabled for this audit.
https://trychad.ai/case-studies/arriba-safeswitch/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedSkip Linka11y/skip-link · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Skip links allow keyboard users to bypass repetitive navigation and jump directly to main content. Add a hidden link at the very beginning of your page: <a href='#main-content' class='skip-link'>Skip to main content</a>. Style it to become visible on focus. Ensure the target (#main-content) has tabindex='-1' if it's not naturally focusable. Alternative: use landmark roles like <main> which screen readers can navigate to directly.
Rule disabled for this audit.
https://trychad.ai/ai-marketing-operator/ ↗Rule disabled for this audit.
https://trychad.ai/case-studies/ ↗Rule disabled for this audit.
https://trychad.ai/vibe-coding/affordable-marketing-for-startups/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedTabindex Valuesa11y/tabindex · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Avoid positive tabindex values (1, 2, 3...) as they override natural tab order and confuse keyboard users. Use tabindex='0' to add elements to tab order, tabindex='-1' to make elements focusable via JavaScript only. Rely on natural document order for tab sequence.
Rule disabled for this audit.
https://trychad.ai/geo/financial-services/ ↗Rule disabled for this audit.
https://trychad.ai/blog/93-percent-zero-click-geo/ ↗Rule disabled for this audit.
https://trychad.ai/ai-built-websites/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedTable Cell Headersa11y/td-headers-attr · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
When using the headers attribute on <td> elements to associate cells with headers, ensure each id in the headers attribute matches an existing <th> element's id in the same table.
Rule disabled for this audit.
https://trychad.ai/blog/ ↗Rule disabled for this audit.
https://trychad.ai/blog/93-percent-zero-click-geo/ ↗Rule disabled for this audit.
https://trychad.ai/case-studies/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedTable Duplicate Namea11y/table-duplicate-name · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
When a page has multiple data tables, each should have a unique accessible name to help users distinguish between them. Use <caption>, aria-label, or aria-labelledby with unique text for each table.
Rule disabled for this audit.
https://trychad.ai/ ↗Rule disabled for this audit.
https://trychad.ai/book/ ↗Rule disabled for this audit.
https://trychad.ai/geo/financial-services/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedTH Has Data Cellsa11y/th-has-data-cells · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
Each <th> element should be associated with at least one <td> data cell in the same row or column. Orphaned header cells without data cells usually indicate the table is being misused for layout purposes. If the table is for layout, add role='presentation'. Otherwise, ensure every header has corresponding data cells.
Rule disabled for this audit.
https://trychad.ai/ai-built-websites/launch-checklist/ ↗Rule disabled for this audit.
https://trychad.ai/ai-built-websites/ ↗Rule disabled for this audit.
https://trychad.ai/ai-marketing-strategy/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Not fully assessedValid Lang Attributesa11y/valid-lang · Unscored
0 passing · 0 warnings · 0 failures · 25 not assessed · 0 not applicable
How to assess it
All lang attributes should use valid BCP 47 language tags. This includes lang attributes on any element, not just <html>. Use lang to mark up content in a different language from the page default.
Rule disabled for this audit.
https://trychad.ai/case-studies/ ↗Rule disabled for this audit.
https://trychad.ai/ai-marketing-strategy/ ↗Rule disabled for this audit.
https://trychad.ai/partners/apply/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Passing4XX Pages in Sitemapcrawl/sitemap-4xx
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No 4XX URLs found in sitemap
https://trychad.ai/ ↗
PassingAbout Pageeeat/about-page
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
About page found (339 words)
https://trychad.ai/ ↗
PassingAffiliate Disclosureeeat/affiliate-disclosure
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No obvious affiliate links detected — disclosure may not be required
https://trychad.ai/ ↗
PassingAgent Readabilityai-visibility/agent-readability · Unscored
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Raw HTML avoids the shell heuristic on all 25 assessed page(s).
https://trychad.ai/ ↗
PassingAI Crawler Shellai-visibility/crawler-shell
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Captured raw HTML contains 1118 words and does not match the shell heuristic.
https://trychad.ai/ai-built-websites/launch-checklist/ ↗Captured raw HTML contains 846 words and does not match the shell heuristic.
https://trychad.ai/ai-marketing-strategy/ ↗Captured raw HTML contains 1898 words and does not match the shell heuristic.
https://trychad.ai/ai-built-websites/ ↗
3 examples shown; 22 more check results are included in the counts above.
PassingAI Search Crawler Directivesai-visibility/crawler-directives
11 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
PerplexityBot (search): declared policy allowed. Surfaces and links sites in Perplexity search; not a foundation-model training crawler.
https://trychad.ai/ ↗Claude-SearchBot (search): declared policy allowed. Indexes content to improve Claude search responses.
https://trychad.ai/ ↗GPTBot (training): declared policy allowed. Collects content that may be used to train foundation models.
https://trychad.ai/ ↗
3 examples shown; 8 more check results are included in the counts above.
PassingAll Non-Indexed Pagescrawl/all-noindex-pages
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No noindex pages found
https://trychad.ai/ ↗
PassingAnalytics Trackinganalytics/gtm-present
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Google Tag Manager detected with noscript fallback
https://trychad.ai/ ↗Google Tag Manager detected with noscript fallback
https://trychad.ai/resources/answer-engine-optimization/ ↗Google Tag Manager detected with noscript fallback
https://trychad.ai/ai-marketing-strategy/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingAnchor Textlinks/anchor-text
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Anchor text is descriptive
https://trychad.ai/blog/93-percent-zero-click-geo/ ↗Anchor text is descriptive
https://trychad.ai/ai-marketing-strategy/ ↗Anchor text is descriptive
https://trychad.ai/pricing/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingArticle Identity Consistencyschema/article-identity
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No Article node — nothing to check identity against
https://trychad.ai/contact/ ↗No Article node — nothing to check identity against
https://trychad.ai/changelog/ ↗No Article node — nothing to check identity against
https://trychad.ai/book/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingAuthor Bylineseeat/author-byline
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Author bylines detected on 15 page(s)
https://trychad.ai/ ↗
PassingAuthor Expertiseeeat/author-expertise
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Author credentials or expertise signals detected on 10 page(s)
https://trychad.ai/ ↗
PassingBroken HTMLcontent/broken-html
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No obvious HTML structure anomalies detected
https://trychad.ai/ai-marketing-strategy/ ↗No obvious HTML structure anomalies detected
https://trychad.ai/ ↗No obvious HTML structure anomalies detected
https://trychad.ai/partners/apply/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingBroken Imagesimages/broken-images
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No broken images detected
https://trychad.ai/ ↗
PassingBroken Linkslinks/broken-links
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No broken external links found (2 more could not be checked — the target refused our request)
https://trychad.ai/ ↗
PassingBrowser-Required Auditsperf/browser-required
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Page has sufficient static content
https://trychad.ai/geo/financial-services/ ↗Page has sufficient static content
https://trychad.ai/vibe-coding/affordable-marketing-for-startups/ ↗Page has sufficient static content
https://trychad.ai/partners/apply/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingCache Headersperf/cache-headers
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Cache-Control: public, max-age=0, must-revalidate
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗Cache-Control: public, max-age=0, must-revalidate
https://trychad.ai/about/ ↗Cache-Control: public, max-age=0, must-revalidate
https://trychad.ai/resources/answer-engine-optimization/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingCanonical Chaincrawl/canonical-chain
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Canonical is self-referencing and direct
https://trychad.ai/marketing-agent-slack/ai-search-visibility/ ↗Canonical is self-referencing and direct
https://trychad.ai/resources/answer-engine-optimization/ ↗Canonical is self-referencing and direct
https://trychad.ai/ai-built-websites/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingCanonical Clusteringcrawl/canonical-cluster
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No pages canonicalise away from themselves
https://trychad.ai/ ↗
PassingCanonical Header Validationcore/canonical-header
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No Link header canonical (no conflict)
https://trychad.ai/partners/apply/ ↗No Link header canonical (no conflict)
https://trychad.ai/ai-built-websites/ ↗No Link header canonical (no conflict)
https://trychad.ai/alternatives/ ↗
3 examples shown; 22 more check results are included in the counts above.
PassingCanonical URLcore/canonical
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Canonical URL present
https://trychad.ai/ai-marketing-strategy/ ↗Canonical URL present
https://trychad.ai/ai-built-websites/launch-checklist/ ↗Canonical URL present
https://trychad.ai/vibe-coding/affordable-marketing-for-startups/ ↗
3 examples shown; 22 more check results are included in the counts above.
PassingCharsetcore/charset
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Charset declared
https://trychad.ai/blog/93-percent-zero-click-geo/ ↗Charset declared
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗Charset declared
https://trychad.ai/vibe-coding/affordable-marketing-for-startups/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingClaimed agent HTTP responseai-visibility/agent-response · Unscored
18 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Claimed ChatGPT-User HTTP experiment: successful HTML content observed. This does not reproduce verified vendor-IP access or establish indexing/citation effects. Sampled page: /about/.
https://trychad.ai/ ↗Claimed Claude-User HTTP experiment: successful HTML content observed. This does not reproduce verified vendor-IP access or establish indexing/citation effects. Sampled page: /about/.
https://trychad.ai/ ↗Claimed Claude-User HTTP experiment: successful HTML content observed. This does not reproduce verified vendor-IP access or establish indexing/citation effects. Sampled page: /geo/financial-services/.
https://trychad.ai/ ↗
3 examples shown; 15 more check results are included in the counts above.
PassingCLS Optimization Hintsperf/cls-hints
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
All media elements have explicit dimensions
https://trychad.ai/claude-tag/ ↗All media elements have explicit dimensions
https://trychad.ai/ ↗All media elements have explicit dimensions
https://trychad.ai/ai-marketing-strategy/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingCompressionperf/compression
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Compressed (br)
https://trychad.ai/changelog/ ↗Compressed (br)
https://trychad.ai/blog/93-percent-zero-click-geo/ ↗Compressed (br)
https://trychad.ai/ai-built-websites/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingContact Pageeeat/contact-page
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Contact page found with 2 contact methods (email, form)
https://trychad.ai/ ↗
PassingContent Dateseeat/content-dates
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Date signals found on 21/21 article-style pages
https://trychad.ai/ ↗
PassingContent Freshnesscontent/freshness
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Freshness signals: Last-Modified header, visible date in content
https://trychad.ai/pricing/ ↗Freshness signals: Last-Modified header, datePublished/dateModified schema, visible date in content
https://trychad.ai/ai-marketing-operator/ ↗Freshness signals: Last-Modified header, visible date in content
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingContent Landmarkcontent/landmark
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Content landmark present (<main>)
https://trychad.ai/case-studies/arriba-safeswitch/ ↗Content landmark present (<main>)
https://trychad.ai/resources/answer-engine-optimization/ ↗Content landmark present (<main>)
https://trychad.ai/case-studies/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingContradicting Robots Meta Tagscore/robots-multiple
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
At most one meta robots tag declared
https://trychad.ai/alternatives/ ↗At most one meta robots tag declared
https://trychad.ai/geo/hospitality/bars/ ↗At most one meta robots tag declared
https://trychad.ai/vibe-coding/affordable-marketing-for-startups/ ↗
3 examples shown; 22 more check results are included in the counts above.
PassingDisclaimerseeat/disclaimers
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No YMYL content detected — disclaimers may not be required
https://trychad.ai/ ↗
PassingDoctypecore/doctype
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
HTML5 doctype present
https://trychad.ai/ai-marketing-strategy/ ↗HTML5 doctype present
https://trychad.ai/pricing/ ↗HTML5 doctype present
https://trychad.ai/blog/93-percent-zero-click-geo/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingDuplicate Descriptioncontent/duplicate-description
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No duplicate descriptions
https://trychad.ai/ ↗
PassingDuplicate JavaScriptperf/duplicate-js
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No duplicate JavaScript sources detected
https://trychad.ai/ai-marketing-strategy/ ↗No duplicate JavaScript sources detected
https://trychad.ai/geo/financial-services/ ↗No duplicate JavaScript sources detected
https://trychad.ai/resources/answer-engine-optimization/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingDuplicate Titlecontent/duplicate-title
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No duplicate titles
https://trychad.ai/ ↗
PassingEntity Identityschema/entity-identity · Unscored
9 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No unexplained name differences for https://www.anthropic.com/#organization on 1 captured declaring pages. Captured aliases are accepted; this does not establish whole-website consistency.
https://trychad.ai/ ↗Captured address declarations for https://trychad.ai/#organization are matching after bounded normalization. This does not establish accuracy, exclusivity or whole-site consistency.
https://trychad.ai/ ↗No unexplained name differences for https://trychad.ai/#arriba on 1 captured declaring pages. Captured aliases are accepted; this does not establish whole-website consistency.
https://trychad.ai/ ↗
3 examples shown; 6 more check results are included in the counts above.
PassingExternal Link Securitysecurity/new-tab
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
All 2 target=_blank links have noopener/noreferrer
https://trychad.ai/contact/ ↗No target=_blank links found
https://trychad.ai/pricing/ ↗No target=_blank links found
https://trychad.ai/alternatives/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingExternal Linkslinks/external-links
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
1 external link (2% of all links)
https://trychad.ai/alternatives/ ↗1 external link (3% of all links)
https://trychad.ai/claude-tag/for-marketing-teams/ ↗1 external link (3% of all links)
https://trychad.ai/can-ai-replace-a-marketing-agency/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingFaviconcore/favicon
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Favicon link element present
https://trychad.ai/claude-tag/for-marketing-teams/ ↗Favicon link element present
https://trychad.ai/about/ ↗Favicon link element present
https://trychad.ai/geo/hospitality/bars/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingFigure Captionsimages/figure-figcaption
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No images on page
https://trychad.ai/ai-marketing-operator/ ↗No images on page
https://trychad.ai/geo/financial-services/ ↗No images on page
https://trychad.ai/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingFont Loadingperf/font-loading
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Font loading looks well-configured
https://trychad.ai/book/ ↗Font loading looks well-configured
https://trychad.ai/can-ai-replace-a-marketing-agency/ ↗Font loading looks well-configured
https://trychad.ai/geo/hospitality/bars/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingForm HTTPSsecurity/form-https
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No forms submit to insecure HTTP endpoints
https://trychad.ai/geo/financial-services/ ↗No forms submit to insecure HTTP endpoints
https://trychad.ai/changelog/ ↗No forms submit to insecure HTTP endpoints
https://trychad.ai/blog/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingH1 Tagcore/h1
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Exactly one H1
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗Exactly one H1
https://trychad.ai/about/ ↗Exactly one H1
https://trychad.ai/ai-built-websites/launch-checklist/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingHreflang Tagsi18n/hreflang
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No hreflang tags — single-language site (add if serving multiple languages/regions)
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗No hreflang tags — single-language site (add if serving multiple languages/regions)
https://trychad.ai/blog/ ↗No hreflang tags — single-language site (add if serving multiple languages/regions)
https://trychad.ai/geo/hospitality/bars/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingHSTS Headersecurity/hsts
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
HSTS header present
https://trychad.ai/ ↗
PassingHTTP/2perf/http2
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
HTTP version could not be determined from headers alone (use browser devtools to verify)
https://trychad.ai/ai-marketing-operator/ ↗HTTP version could not be determined from headers alone (use browser devtools to verify)
https://trychad.ai/can-ai-replace-a-marketing-agency/ ↗HTTP version could not be determined from headers alone (use browser devtools to verify)
https://trychad.ai/case-studies/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingHTTPSsecurity/https
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Served over HTTPS
https://trychad.ai/resources/answer-engine-optimization/ ↗Served over HTTPS
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗Served over HTTPS
https://trychad.ai/case-studies/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingHTTPS Downgradelinks/https-downgrade
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No insecure links
https://trychad.ai/case-studies/arriba-safeswitch/ ↗No insecure links
https://trychad.ai/claude-tag/ ↗No insecure links
https://trychad.ai/ai-built-websites/launch-checklist/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingImage Alt Textimages/alt-text
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No images
https://trychad.ai/geo/financial-services/ ↗No images
https://trychad.ai/ai-marketing-strategy/ ↗No images
https://trychad.ai/marketing-agent-slack/ai-search-visibility/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingImage Dimensionsimages/dimensions
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Images have explicit dimensions
https://trychad.ai/geo/hospitality/bars/ ↗Images have explicit dimensions
https://trychad.ai/contact/ ↗Images have explicit dimensions
https://trychad.ai/blog/93-percent-zero-click-geo/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingImage Filename Qualityimages/filename-quality
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No images on page
https://trychad.ai/alternatives/ ↗No images on page
https://trychad.ai/geo/hospitality/bars/ ↗No images on page
https://trychad.ai/vibe-coding/affordable-marketing-for-startups/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingImage Optimizationimages/optimized
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No images on page
https://trychad.ai/claude-tag/ ↗No images on page
https://trychad.ai/partners/apply/ ↗No images on page
https://trychad.ai/geo/financial-services/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingIndexability Checkcrawl/indexability
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Page is indexable
https://trychad.ai/geo/financial-services/ ↗Page is indexable
https://trychad.ai/ai-built-websites/launch-checklist/ ↗Page is indexable
https://trychad.ai/case-studies/arriba-safeswitch/ ↗
3 examples shown; 22 more check results are included in the counts above.
PassingIndexability Conflictscrawl/indexability-conflicts
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No indexability conflicts detected
https://trychad.ai/ ↗
PassingInline SVG Sizeimages/svg-inline
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No large inline SVGs detected
https://trychad.ai/case-studies/arriba-safeswitch/ ↗No large inline SVGs detected
https://trychad.ai/ai-built-websites/ ↗No large inline SVGs detected
https://trychad.ai/book/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingInternal Linkslinks/internal-links
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
29 internal links
https://trychad.ai/contact/ ↗34 internal links
https://trychad.ai/ai-marketing-operator/ ↗29 internal links
https://trychad.ai/blog/93-percent-zero-click-geo/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingInterstitialsmobile/interstitials
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No obvious intrusive interstitial markup detected
https://trychad.ai/marketing-agent-slack/ai-search-visibility/ ↗No obvious intrusive interstitial markup detected
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗No obvious intrusive interstitial markup detected
https://trychad.ai/case-studies/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingInvalid Linkslinks/invalid-links
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No invalid links found
https://trychad.ai/geo/hospitality/bars/ ↗No invalid links found
https://trychad.ai/can-ai-replace-a-marketing-agency/ ↗No invalid links found
https://trychad.ai/ai-marketing-strategy/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingJavaScript Redirectsperf/js-redirects
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No JS resources appear to redirect
https://trychad.ai/ ↗
PassingJS Librariesperf/js-libraries
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No known heavy libraries detected
https://trychad.ai/can-ai-replace-a-marketing-agency/ ↗No known heavy libraries detected
https://trychad.ai/geo/financial-services/ ↗No known heavy libraries detected
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingJSON-LD Validschema/json-ld-valid
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
1 JSON-LD blocks ()
https://trychad.ai/blog/ ↗2 JSON-LD blocks ()
https://trychad.ai/ai-marketing-strategy/ ↗1 JSON-LD blocks ()
https://trychad.ai/contact/ ↗
3 examples shown; 22 more check results are included in the counts above.
PassingLang Attributei18n/lang-attribute
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
lang="en-GB"
https://trychad.ai/claude-tag/ ↗lang="en-GB"
https://trychad.ai/ai-marketing-strategy/ ↗lang="en-GB"
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingLatest captured article opening reviewcontent/latest-article-review · Unscored
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
AI review sample — latest reliably dated captured article: ARRIBA: a SafeSwitch Case Study — Chad AI (https://trychad.ai/case-studies/arriba-safeswitch/), published 2026-11-04T00:00:00.000Z. Review this captured opening: does it answer the title's main question promptly, or delay it with generic preamble? Validate before suggesting a change. Similar openings elsewhere are a follow-up hypothesis, not a verified finding. 2 captured article records have unknown or conflicting publication dates; uncaptured articles are unassessed.
https://trychad.ai/ ↗
PassingLazy Loadingimages/lazy-loading
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Few images
https://trychad.ai/ai-built-websites/launch-checklist/ ↗Few images
https://trychad.ai/marketing-agent-slack/ai-search-visibility/ ↗Few images
https://trychad.ai/pricing/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingLazy Loading Above Foldperf/lazy-above-fold
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No lazy loading on likely above-fold images
https://trychad.ai/marketing-agent-slack/ai-search-visibility/ ↗No lazy loading on likely above-fold images
https://trychad.ai/claude-tag/ ↗No lazy loading on likely above-fold images
https://trychad.ai/ai-marketing-operator/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingLeaked Environment Variablessecurity/leaked-secrets
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No obvious leaked secrets
https://trychad.ai/pricing/ ↗No obvious leaked secrets
https://trychad.ai/ai-built-websites/launch-checklist/ ↗No obvious leaked secrets
https://trychad.ai/geo/hospitality/bars/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingLegacy JavaScriptperf/legacy-js
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No obvious legacy JS polyfills detected
https://trychad.ai/ai-built-websites/ ↗No obvious legacy JS polyfills detected
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗No obvious legacy JS polyfills detected
https://trychad.ai/can-ai-replace-a-marketing-agency/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →Passingllms.txtai-visibility/llms-txt
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
/llms.txt present and spec-shaped (15 sections, 178 links)
https://trychad.ai/ ↗
Passingllms.txt linksai-visibility/llms-txt-links · Unscored
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
20 of 20 same-site links in llms.txt resolve; 20 of 181 distinct links probed. File size 52.8 KiB. Hygiene for assistants that already read the site. Not shown to lift AI citations.
https://trychad.ai/ ↗
PassingMarkdown Alternateai-visibility/markdown-alternate
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
A markdown representation is advertised via rel="alternate" (https://trychad.ai/marketing-agent-slack/ai-search-visibility/index.md)
https://trychad.ai/marketing-agent-slack/ai-search-visibility/ ↗A markdown representation is advertised via rel="alternate" (https://trychad.ai/book/index.md)
https://trychad.ai/book/ ↗A markdown representation is advertised via rel="alternate" (https://trychad.ai/ai-built-websites/index.md)
https://trychad.ai/ai-built-websites/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingMeta Tags in Bodycontent/meta-in-body
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No misplaced meta tags in body
https://trychad.ai/alternatives/ ↗No misplaced meta tags in body
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗No misplaced meta tags in body
https://trychad.ai/pricing/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingMIME Type Validationcontent/mime-type
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Content-Type: text/html
https://trychad.ai/claude-tag/ ↗Content-Type: text/html
https://trychad.ai/ai-marketing-operator/ ↗Content-Type: text/html
https://trychad.ai/case-studies/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingMixed Contentsecurity/mixed-content
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No mixed content
https://trychad.ai/changelog/ ↗No mixed content
https://trychad.ai/can-ai-replace-a-marketing-agency/ ↗No mixed content
https://trychad.ai/ai-marketing-strategy/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingModern Image Formatsimages/modern-format
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No images on page
https://trychad.ai/partners/apply/ ↗No images on page
https://trychad.ai/book/ ↗No images on page
https://trychad.ai/case-studies/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingMultiple Canonical Tagscore/canonical-multiple
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
At most one canonical URL declared
https://trychad.ai/vibe-coding/affordable-marketing-for-startups/ ↗At most one canonical URL declared
https://trychad.ai/case-studies/ ↗At most one canonical URL declared
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗
3 examples shown; 22 more check results are included in the counts above.
PassingNofollow Internallinks/nofollow-internal
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No internal links with nofollow
https://trychad.ai/ai-built-websites/launch-checklist/ ↗No internal links with nofollow
https://trychad.ai/vibe-coding/affordable-marketing-for-startups/ ↗No internal links with nofollow
https://trychad.ai/pricing/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingNoindex in Sitemapcrawl/noindex-in-sitemap
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No noindexed pages found in sitemap
https://trychad.ai/ ↗
PassingNosnippet Directivecore/nosnippet
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No nosnippet directive — snippets allowed
https://trychad.ai/claude-tag/for-marketing-teams/ ↗No nosnippet directive — snippets allowed
https://trychad.ai/blog/93-percent-zero-click-geo/ ↗No nosnippet directive — snippets allowed
https://trychad.ai/ai-marketing-operator/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingNot Found Handlingai-visibility/not-found-handling
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Nonexistent paths return 404 with a navigable body (33 links)
https://trychad.ai/ ↗
PassingOffscreen Lazy Loadingimages/offscreen-lazy
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Too few images to assess offscreen lazy-loading
https://trychad.ai/partners/apply/ ↗Too few images to assess offscreen lazy-loading
https://trychad.ai/blog/93-percent-zero-click-geo/ ↗Too few images to assess offscreen lazy-loading
https://trychad.ai/vibe-coding/affordable-marketing-for-startups/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingOG Image Sizesocial/og-image-size
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
og:image size declared (1200x630)
https://trychad.ai/geo/financial-services/ ↗og:image size declared (1200x630)
https://trychad.ai/vibe-coding/affordable-marketing-for-startups/ ↗og:image size declared (1200x630)
https://trychad.ai/case-studies/arriba-safeswitch/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingOG URL Matchsocial/og-url-match
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
og:url matches canonical
https://trychad.ai/alternatives/ ↗og:url matches canonical
https://trychad.ai/ai-built-websites/ ↗og:url matches canonical
https://trychad.ai/changelog/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingOpen Graph Tagscore/og-tags
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Core Open Graph tags present
https://trychad.ai/book/ ↗Core Open Graph tags present
https://trychad.ai/claude-tag/for-marketing-teams/ ↗Core Open Graph tags present
https://trychad.ai/case-studies/arriba-safeswitch/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingOptional Markdown deliveryai-visibility/markdown-negotiation · Unscored
2 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
An agent reading this page gets nonempty Markdown via the .md path. Optional capability; content equivalence and AI consumption were not established. llms.txt lists this page.
https://trychad.ai/ ↗The Markdown twin matches the page's length (ratio 1.04). Hygiene for assistants that already read the site. Not shown to lift AI citations.
https://trychad.ai/ ↗
PassingOrganization Schemaschema/organization · Unscored
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Organization declaration in this captured page has name and url; these are recommended properties, not required properties.
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗Organization declaration in this captured page has name and url; these are recommended properties, not required properties.
https://trychad.ai/ai-built-websites/ ↗Organization declaration in this captured page has name and url; these are recommended properties, not required properties.
https://trychad.ai/ai-marketing-operator/ ↗
3 examples shown; 22 more check results are included in the counts above.
PassingPaginationcrawl/pagination
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No pagination signals detected
https://trychad.ai/contact/ ↗No pagination signals detected
https://trychad.ai/ai-built-websites/ ↗No pagination signals detected
https://trychad.ai/vibe-coding/affordable-marketing-for-startups/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingPermissions-Policysecurity/permissions-policy
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Permissions-Policy header present
https://trychad.ai/ ↗
PassingPhysical Addresseeat/physical-address
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Street address pattern detected
https://trychad.ai/ ↗
PassingPicture Element Validationimages/picture-element
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No <picture> elements on page
https://trychad.ai/changelog/ ↗No <picture> elements on page
https://trychad.ai/claude-tag/ ↗No <picture> elements on page
https://trychad.ai/contact/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingPreconnect Hintsperf/preconnect
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Preconnect/dns-prefetch hints cover all 1 third-party origin(s)
https://trychad.ai/can-ai-replace-a-marketing-agency/ ↗Preconnect/dns-prefetch hints cover all 1 third-party origin(s)
https://trychad.ai/marketing-agent-slack/ai-search-visibility/ ↗Preconnect/dns-prefetch hints cover all 1 third-party origin(s)
https://trychad.ai/blog/93-percent-zero-click-geo/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingPrivacy Policylegal/privacy-policy
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Privacy policy link found
https://trychad.ai/ ↗
PassingProduct Schemaschema/product
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Product schema present with required properties
https://trychad.ai/vibe-coding/affordable-marketing-for-startups/ ↗Product schema present with required properties
https://trychad.ai/claude-tag/ ↗Product schema present with required properties
https://trychad.ai/partners/apply/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingRedirect Chainscrawl/redirect-chain
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No redirect chains
https://trychad.ai/ ↗
PassingRedirect Chainslinks/redirect-chains
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No redirect chains detected
https://trychad.ai/ ↗
PassingReferrer-Policysecurity/referrer-policy
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Referrer-Policy header: strict-origin-when-cross-origin
https://trychad.ai/ ↗
PassingRender-Blocking Resourcesperf/render-blocking
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Few render-blocking resources
https://trychad.ai/ai-built-websites/launch-checklist/ ↗Few render-blocking resources
https://trychad.ai/ai-marketing-operator/ ↗Few render-blocking resources
https://trychad.ai/ai-built-websites/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingResponsive Imagesimages/srcset
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No images on page
https://trychad.ai/geo/financial-services/ ↗No images on page
https://trychad.ai/claude-tag/ ↗No images on page
https://trychad.ai/ai-built-websites/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingRobots Metacore/robots-meta
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Page is indexable
https://trychad.ai/ai-marketing-operator/ ↗Page is indexable
https://trychad.ai/claude-tag/ ↗Page is indexable
https://trychad.ai/case-studies/ ↗
3 examples shown; 22 more check results are included in the counts above.
PassingRobots Meta Conflictcrawl/robots-meta-conflict
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No robots meta conflicts detected
https://trychad.ai/ ↗
PassingRobots.txtcrawl/robots-txt
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
robots.txt present
https://trychad.ai/ ↗
PassingSampled resource deliveryperf/resource-delivery · Unscored
3 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Sampled asset delivery facts observed. Decoded bytes are not transfer bytes; no whole-site byte budget or compression benefit is inferred.
https://trychad.ai/ ↗Sampled asset delivery facts observed. Decoded bytes are not transfer bytes; no whole-site byte budget or compression benefit is inferred.
https://trychad.ai/ ↗Sampled asset delivery facts observed. Decoded bytes are not transfer bytes; no whole-site byte budget or compression benefit is inferred.
https://trychad.ai/ ↗
PassingSchema + Noindex Conflictcrawl/schema-noindex-conflict
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No schema+noindex conflicts detected
https://trychad.ai/ ↗
PassingSchema Content Mismatchschema/content-mismatch
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
All 2 FAQ answers are present in the page
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗No FAQPage answers to verify against the page
https://trychad.ai/blog/93-percent-zero-click-geo/ ↗No FAQPage answers to verify against the page
https://trychad.ai/alternatives/ ↗
3 examples shown; 22 more check results are included in the counts above.
PassingSite-wide AI Readabilityai-visibility/ssr-coverage
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
All 25 assessable raw response(s) avoid the shell heuristic.
https://trychad.ai/ ↗
PassingSitemap Coveragecrawl/sitemap-coverage
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
100% of indexable pages are in sitemap (25 pages)
https://trychad.ai/ ↗
PassingSitemap Domaincrawl/sitemap-domain
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
All sitemap URLs match the expected domain (trychad.ai)
https://trychad.ai/ ↗
PassingSitemap Existscrawl/sitemap-exists
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Valid sitemap found
https://trychad.ai/ ↗
PassingSitemap hygienecrawl/sitemap-hygiene · Unscored
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No empty child sitemaps, duplicate URLs across children, or single-timestamp lastmod values in the sitemaps read. Hygiene for assistants that already read the site. Not shown to lift AI citations.
https://trychad.ai/ ↗
PassingSitemap Validcrawl/sitemap-valid
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
All 1 sitemap(s) are valid
https://trychad.ai/ ↗
PassingSlug Keywordsurl/slug-keywords
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
URL slug appears descriptive (for-marketing-teams)
https://trychad.ai/claude-tag/for-marketing-teams/ ↗URL slug appears descriptive (arriba-safeswitch)
https://trychad.ai/case-studies/arriba-safeswitch/ ↗URL slug appears descriptive (launch-checklist)
https://trychad.ai/ai-built-websites/launch-checklist/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingSocial Profilessocial/social-profiles
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
1 social profile signal(s) detected (0 links, 1 sameAs)
https://trychad.ai/ai-marketing-operator/ ↗1 social profile signal(s) detected (0 links, 1 sameAs)
https://trychad.ai/marketing-agent-slack/ai-search-visibility/ ↗1 social profile signal(s) detected (0 links, 1 sameAs)
https://trychad.ai/book/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingSource Mapsperf/source-maps
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No exposed source maps detected in page HTML
https://trychad.ai/claude-tag/for-marketing-teams/ ↗No exposed source maps detected in page HTML
https://trychad.ai/can-ai-replace-a-marketing-agency/ ↗No exposed source maps detected in page HTML
https://trychad.ai/partners/apply/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingTel & Mailto Linkslinks/tel-mailto
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No tel: or mailto: links
https://trychad.ai/geo/financial-services/ ↗No tel: or mailto: links
https://trychad.ai/blog/93-percent-zero-click-geo/ ↗No tel: or mailto: links
https://trychad.ai/alternatives/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingTerms of Servicelegal/terms-of-service
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Terms of service link found
https://trychad.ai/resources/answer-engine-optimization/ ↗Terms of service link found
https://trychad.ai/ai-marketing-operator/ ↗Terms of service link found
https://trychad.ai/claude-tag/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingTerms of Serviceeeat/terms-of-service
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Terms of service link found
https://trychad.ai/ ↗
PassingThird-Party Cookiessecurity/third-party-cookies
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No third-party cookie risks detected
https://trychad.ai/blog/ ↗No third-party cookie risks detected
https://trychad.ai/ai-built-websites/ ↗No third-party cookie risks detected
https://trychad.ai/changelog/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingTime To First Byteperf/ttfb
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
TTFB 27ms
https://trychad.ai/can-ai-replace-a-marketing-agency/ ↗TTFB 33ms
https://trychad.ai/partners/apply/ ↗TTFB 47ms
https://trychad.ai/resources/answer-engine-optimization/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingTrailing Slashurl/trailing-slash
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Trailing slash consistent between URL and canonical
https://trychad.ai/book/ ↗Trailing slash consistent between URL and canonical
https://trychad.ai/geo/hospitality/bars/ ↗Trailing slash consistent between URL and canonical
https://trychad.ai/blog/93-percent-zero-click-geo/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingTrust Signalseeat/trust-signals
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
2 trust signal type(s) detected: testimonials/reviews text, social proof numbers
https://trychad.ai/ ↗
PassingTwitter Cardscore/twitter-cards
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Twitter Card (summary_large_image) with title+description
https://trychad.ai/book/ ↗Twitter Card (summary_large_image) with title+description
https://trychad.ai/case-studies/arriba-safeswitch/ ↗Twitter Card (summary_large_image) with title+description
https://trychad.ai/resources/answer-engine-optimization/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingUnrecognised third-party hostsanalytics/tech-candidates · Unscored
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
1 third-party host(s) loaded here are not recognised by any fingerprint. For each host decide what product it is and whether the site really integrates it (a leftover tag is not an integration). Report any worth recognising as a fingerprint: host, product, category.
https://trychad.ai/ ↗
PassingURL Hyphensurl/hyphens
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
URL uses hyphens (no underscores)
https://trychad.ai/blog/ ↗URL uses hyphens (no underscores)
https://trychad.ai/geo/hospitality/bars/ ↗URL uses hyphens (no underscores)
https://trychad.ai/claude-tag/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingURL Lengthurl/length
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
URL length 32
https://trychad.ai/case-studies/ ↗URL length 34
https://trychad.ai/partners/apply/ ↗URL length 37
https://trychad.ai/ai-built-websites/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingURL Lowercaseurl/lowercase
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
URL path is lowercase
https://trychad.ai/geo/financial-services/ ↗URL path is lowercase
https://trychad.ai/ai-built-websites/ ↗URL path is lowercase
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingURL Parametersurl/parameters
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No query parameters
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗No query parameters
https://trychad.ai/vibe-coding/affordable-marketing-for-startups/ ↗No query parameters
https://trychad.ai/book/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingURL Special Charactersurl/special-chars
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
URL path has no problematic characters
https://trychad.ai/case-studies/arriba-safeswitch/ ↗URL path has no problematic characters
https://trychad.ai/book/ ↗URL path has no problematic characters
https://trychad.ai/claude-tag/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingVideo Accessibilityvideo/video-accessible
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No <video> elements on page
https://trychad.ai/case-studies/arriba-safeswitch/ ↗No <video> elements on page
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗No <video> elements on page
https://trychad.ai/partners/apply/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingVideo Schemavideo/video-schema
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No video content detected on page
https://trychad.ai/ai-marketing-operator/ ↗No video content detected on page
https://trychad.ai/geo/hospitality/bars/ ↗No video content detected on page
https://trychad.ai/can-ai-replace-a-marketing-agency/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingVideo Schemaschema/video
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No video content on this page — VideoObject not applicable
https://trychad.ai/can-ai-replace-a-marketing-agency/ ↗No video content on this page — VideoObject not applicable
https://trychad.ai/ai-marketing-operator/ ↗No video content on this page — VideoObject not applicable
https://trychad.ai/claude-tag/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingVideo Thumbnailvideo/video-thumbnail
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No video content detected on page
https://trychad.ai/blog/ ↗No video content detected on page
https://trychad.ai/resources/answer-engine-optimization/ ↗No video content detected on page
https://trychad.ai/claude-tag/for-marketing-teams/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingViewport Metamobile/viewport
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Viewport meta present
https://trychad.ai/resources/answer-engine-optimization/ ↗Viewport meta present
https://trychad.ai/vibe-coding/affordable-marketing-for-startups/ ↗Viewport meta present
https://trychad.ai/claude-tag/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingViewport Zoommobile/viewport-zoom
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Viewport allows user zoom
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗Viewport allows user zoom
https://trychad.ai/partners/apply/ ↗Viewport allows user zoom
https://trychad.ai/pricing/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingWAF Challenge Pagescrawl/waf-challenge-pages
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No WAF-challenged pages detected
https://trychad.ai/ ↗
PassingWebSite Search Schemaschema/website-search
25 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
WebSite schema present — a SearchAction is not needed, the searchbox it fed is retired
https://trychad.ai/claude-tag/for-marketing-teams/ ↗WebSite schema present — a SearchAction is not needed, the searchbox it fed is retired
https://trychad.ai/alternatives/ ↗WebSite schema present — a SearchAction is not needed, the searchbox it fed is retired
https://trychad.ai/vibe-coding/affordable-marketing-for-startups/ ↗
3 examples shown; 22 more check results are included in the counts above.
Look up this check's recorded history →PassingX-Content-Type-Optionssecurity/x-content-type
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
X-Content-Type-Options: nosniff present
https://trychad.ai/ ↗
PassingX-Frame-Optionssecurity/x-frame-options
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
Clickjacking protection present
https://trychad.ai/ ↗
PassingYMYL Detectioneeat/ymyl-detection
1 passing · 0 warnings · 0 failures · 0 not assessed · 0 not applicable
No YMYL (Your Money or Your Life) content categories detected
https://trychad.ai/ ↗
Not applicableA2A Agent Cardai-visibility/a2a-agent-card · Unscored
0 passing · 0 warnings · 0 failures · 0 not assessed · 1 not applicable
No A2A agent card at /.well-known/agent-card.json (it answered HTTP 404). Optional; absence is neutral.
https://trychad.ai/ ↗
Not applicableAgent documents for developer sitesai-visibility/agent-docs · Unscored
0 passing · 0 warnings · 0 failures · 0 not assessed · 1 not applicable
No developer or API signal (API catalog, OAuth metadata, a service-desc link) and the site is not pinned as a developer site, so agent documents are not looked for.
https://trychad.ai/ ↗
Not applicableAPI Catalog (RFC 9727)ai-visibility/api-catalog · Unscored
0 passing · 0 warnings · 0 failures · 0 not assessed · 1 not applicable
No API catalog: /.well-known/api-catalog answered HTTP 404 and the homepage advertises none. Optional for a site without public APIs; absence is neutral.
https://trychad.ai/ ↗
Not applicableCaptured Rating Associationschema/rating-scope · Unscored
0 passing · 0 warnings · 0 failures · 0 not assessed · 25 not applicable
No AggregateRating declaration found in the supported captured JSON-LD.
https://trychad.ai/pricing/ ↗No AggregateRating declaration found in the supported captured JSON-LD.
https://trychad.ai/blog/93-percent-zero-click-geo/ ↗No AggregateRating declaration found in the supported captured JSON-LD.
https://trychad.ai/geo/hospitality/bars/ ↗
3 examples shown; 22 more check results are included in the counts above.
Not applicableContent Signals in robots.txtai-visibility/content-signals · Unscored
0 passing · 0 warnings · 0 failures · 0 not assessed · 1 not applicable
robots.txt declares no Content-Signal. Under the Content Signals Policy that neither grants nor restricts any use; optional.
https://trychad.ai/ ↗
Not applicableLCP Optimization Hintsperf/lcp-hints · Unscored
0 passing · 0 warnings · 0 failures · 0 not assessed · 25 not applicable
No eligible eager content-image candidate was identified in the captured DOM; LCP was not measured.
https://trychad.ai/ai-marketing-operator/ ↗No eligible eager content-image candidate was identified in the captured DOM; LCP was not measured.
https://trychad.ai/pricing/ ↗No eligible eager content-image candidate was identified in the captured DOM; LCP was not measured.
https://trychad.ai/marketing-agent-slack/ai-search-visibility/ ↗
3 examples shown; 22 more check results are included in the counts above.
Not applicableLocalBusiness Schemaschema/local-business · Unscored
0 passing · 0 warnings · 0 failures · 0 not assessed · 1 not applicable
No recognized LocalBusiness declaration found in the captured pages' inspected JSON-LD subset; the crawl does not establish that this business needs local-business markup.
https://trychad.ai/ ↗
Not applicableNear-identical templated pagescontent/templated-near-duplicates · Unscored
0 passing · 0 warnings · 0 failures · 0 not assessed · 1 not applicable
No group of 8 or more pages shares one URL template in the pages crawled.
https://trychad.ai/ ↗
Not applicableOAuth Authorization Server Metadata (RFC 8414)ai-visibility/oauth-server-metadata · Unscored
0 passing · 0 warnings · 0 failures · 0 not assessed · 1 not applicable
No OAuth authorization server metadata at /.well-known/oauth-authorization-server (it answered HTTP 404). Optional; absence is neutral.
https://trychad.ai/ ↗
Not applicableOAuth Protected Resource Metadata (RFC 9728)ai-visibility/oauth-resource-metadata · Unscored
0 passing · 0 warnings · 0 failures · 0 not assessed · 1 not applicable
No OAuth protected resource metadata at /.well-known/oauth-protected-resource (it answered HTTP 404). Optional; absence is neutral.
https://trychad.ai/ ↗
Not applicableReview Schemaschema/review · Unscored
0 passing · 0 warnings · 0 failures · 0 not assessed · 25 not applicable
No Review or AggregateRating declaration found in this captured document; review markup is not required on every page.
https://trychad.ai/alternatives/ahrefs-site-audit/ ↗No Review or AggregateRating declaration found in this captured document; review markup is not required on every page.
https://trychad.ai/changelog/ ↗No Review or AggregateRating declaration found in this captured document; review markup is not required on every page.
https://trychad.ai/case-studies/ ↗
3 examples shown; 22 more check results are included in the counts above.
READ THE SMALL PRINT
Readiness is a starting point.
Visibility is an outcome.
This is a saved, sampled technical audit of 25 pages captured on 2026-11-10. It is not a live status page or a whole-site certificate. Not checked, unsupported and unknown results never count as passing.
The headline score and grade come directly from chad-audit. The tabs group existing checks; they do not add weights or calculate new SEO, LLM or agent scores. Unscored observations stay unscored.
Discovery files and accessible content show capabilities. They do not prove that an AI assistant visited, cited or recommended this site. This scan includes no agent journey, prompt-injection evaluation, payment test or measured citation uplift.
Score model v9 · Catalogue d6e379ab11aa
Engine 4306a2a63e5f