70 passed
18 failed
AI Readiness
Bot access, structured data, llms.txt, and content accessibility for AI/LLM crawlers.
83grade B
Bot Discoverability 30pt
100%
Structured Data 25pt
33%
LLM Communication 25pt
100%
Content Accessibility 15pt
100%
Cross-Signal Readiness 5pt
100%
Priority Fixes
6
important
Breadcrumb navigation present in HTML: No breadcrumb markup found.
Jump to fix →
important
BreadcrumbList JSON-LD schema present: Not found in JSON-LD.
Jump to fix →
important
Images set width/height or aspect-ratio (prevents layout shift): 0/3 images have explicit dimensions.
Jump to fix →
important
Lazy-loading applied correctly (hero eager, rest lazy): first/hero image is lazy-loaded (can delay LCP)
Jump to fix →
important
Navigation signal present (breadcrumbs or SiteNavigationElement schema): No breadcrumb markup or SiteNavigationElement schema found.
Jump to fix →
important
Target keyword appears in the H1: H1: "Know the winners. Show the winners. Grow the winners."
Jump to fix →
TEC
Technical
77
URL
URL Structure
100
CON
URL Consolidation
100
REL
Search Relevance
83
VAL
Validation
100
PRS
Search Presentation
100
IDX
Index Control
100
TPL
Template Structure
62
IMG
Images
38
TAX
Taxonomy
50
RDB
Readability
0
BOT
AI Readiness: Bot Discoverability
100
SCH
AI Readiness: Structured Data
50
LLM
AI Readiness: LLM Communication
100
ACC
AI Readiness: Content Accessibility
100
XSG
AI Readiness: Cross-Signal Readiness
100
KWD
Keyword Optimization
67
SEC
Security Headers
100
LNK
Link Health
100
AST
Performance & Assets
100
3PI
Third-Party Impact
100
CXN
Connection Timing
100
BOT AI Readiness: Bot Discoverability 100%
PASS
critical
Major AI crawlers (GPTBot, ClaudeBot, PerplexityBot, etc.) aren't blocked
All known AI crawlers allowed.
Evidence
GPTBot: allowed -- OpenAI (training / ChatGPT search grounding) ChatGPT-User: allowed -- OpenAI (live browsing agent) OAI-SearchBot: allowed -- OpenAI (ChatGPT search index) ClaudeBot: allowed -- Anthropic (crawler) anthropic-ai: allowed -- Anthropic (legacy crawler token) Claude-User: allowed -- Anthropic (live browsing agent) PerplexityBot: allowed -- Perplexity (search index) Google-Extended: allowed -- Google (Gemini/AI Overviews training opt-out control) CCBot: allowed -- Common Crawl (feeds many third-party LLM training sets)
PASS
advisory
robots.txt has bot-specific rules (deliberate AI-crawler policy)
Found user-agent-specific block(s), not just a blanket '*' rule.
ACC AI Readiness: Content Accessibility 100%
PASS
critical
Page content is readable without running JavaScript
1768 word(s) of real content present before any JavaScript runs -- readable by crawlers that don't execute JS.
PASS
important
Title/description are well-formed enough for an AI summary to quote directly
Both well-formed -- safe for an assistant to lift verbatim into a citation or summary.
XSG AI Readiness: Cross-Signal Readiness 100%
PASS
advisory
Bot access, structured data, llms.txt, and SSR content all align
All four signals present together.
LLM AI Readiness: LLM Communication 100%
PASS
critical
llms.txt present
Found.
PASS
important
llms.txt is well-structured (H1 title, section headers, entity links)
H1 title: True; 3 section header(s); 12 markdown link(s).
PASS
advisory
llms.txt states a use/license policy
Mentions license/usage terms.
SCH AI Readiness: Structured Data 50%
FAIL
important
Navigation signal present (breadcrumbs or SiteNavigationElement schema)
No breadcrumb markup or SiteNavigationElement schema found.
FAIL
advisory
At least one rich schema type present (FAQPage, HowTo, Product, etc.)
Rich types found: none.
PASS
critical
Organization and/or Article JSON-LD present
Types found: ['Organization', 'WebSite'].
CXN Connection Timing 100%
PASS
advisory
Connection chain (DNS + TCP + TLS) is fast (<=200ms)
DNS 1.3ms + TCP 0.2ms + TLS 66.5ms = 68.0ms before the first byte was requested.
IMG Images 38%
FAIL
important
Images set width/height or aspect-ratio (prevents layout shift)
0/3 images have explicit dimensions.
Suggested fix
<img src="..." width="800" height="450" alt="...">
FAIL
advisory
Images use modern formats (WebP/AVIF)
0/3 images use WebP/AVIF.
FAIL
important
Lazy-loading applied correctly (hero eager, rest lazy)
first/hero image is lazy-loaded (can delay LCP)
Suggested fix
<!-- hero/first image: omit loading, or set loading="eager" --> <img src="hero.jpg" alt="..."> <!-- every other image: --> <img src="..." alt="..." loading="lazy">
PASS
critical
Every image has alt text
3/3 images have alt text.
IDX Index Control 100%
PASS
critical
Page is not marked noindex
No noindex directive.
PASS
critical
No unintended snippet/archive/preview restrictions
No nosnippet/noarchive/max-snippet:0/max-image-preview:none/max-video-preview:0 found.
PASS
critical
robots.txt reachable and does not block this page
HTTP 200
Evidence
User-agent: * Allow: / User-agent: GPTBot Allow: / User-agent: ChatGPT-User Allow: / User-agent: OAI-SearchBot Allow: / User-agent: ClaudeBot Allow: / User-agent: Claude-Web Allow: / User-agent: anthropic-ai Allow: / User-agent: PerplexityBot Allow: / User-agent: Perplexity-User Allow: / User-agent: Google-Extended Allow: / User-agent: Applebot-Extended Allow: / User-agent: Bytespider D
PASS
important
sitemap.xml exists and is well-formed
Found and looks like a valid sitemap.
PASS
advisory
llms.txt present (emerging AI-crawler convention)
HTTP 200
PASS
advisory
ai.txt present (emerging AI-crawler convention)
HTTP 200
KWD Keyword Optimization 67%
FAIL
advisory
Keyword density for "multivariate campaign engine" is in the classic 3-5% range
"multivariate campaign engine" appears 1 time(s) across 1768 words (~0.2% density). Treat this as a rough guideline, not a target to write toward -- natural, reader-first phrasing matters more than hitting an exact number (over-optimizing risks tripping Google's keyword-stuffing spam policy; too little risks the page not clearly signaling its topic).
FAIL
important
Target keyword appears in the H1
H1: "Know the winners. Show the winners. Grow the winners."
FAIL
advisory
Target keyword appears in the first paragraph
First paragraph: "Traqlyte is the transparent, APIâfirst engine for cohort assignment and outcome tracking across web, email, and ads. Shine a light on what actually converts, ..."
FAIL
advisory
At least one image alt attribute includes the target keyword
0/3 image alt attribute(s) contain "multivariate campaign engine".
PASS
critical
Target keyword "multivariate campaign engine" appears in the body at all
Found 1 occurrence(s).
PASS
important
Keyword density for "multivariate campaign engine" stays under the stuffing-risk threshold (<8%)
~0.2% density. Google's current spam policies explicitly list keyword stuffing (repeating a term or phrase unnaturally) as a violation -- well above the 3-5% rule-of-thumb range is a real ranking risk, not just a style issue.
PASS
important
Target keyword appears in the title tag
Title: "Traqlyte â Multivariate Campaign Engine & Lift Tracking"
PASS
advisory
Target keyword appears in the meta description
Meta description: "Traqlyte is the transparent, APIâfirst multivariate campaign engine. Assign cohorts, track outcomes, and analyze lift across web, email, and ads."
PASS
important
No phrase among the top 5 unigrams/bigrams/trigrams is stuffed (>8% density)
All clear -- highest density among top phrases is 1.2%.
Evidence
1-gram "traqlyte": 21x (1.19%) 1-gram "assignment": 18x (1.02%) 1-gram "outcome": 16x (0.90%) 1-gram "assign": 16x (0.90%) 1-gram "campaign": 15x (0.85%) 2-gram "assignment id": 8x (0.90%) 2-gram "user key": 6x (0.68%) 2-gram "full fractional": 6x (0.68%) 2-gram "fractional factorial": 5x (0.57%) 2-gram "campaign id": 5x (0.57%) 3-gram "fractional factorial designs": 4x (0.68%) 3-gram "full fractional factorial": 4x (0.68%) 3-gram "assignment id asg": 4x (0.68%) 3-gram "id asg 01h": 4x (0.68%) 3-gram "assignment and outcome": 3x (0.51%)
LNK Link Health 100%
PASS
important
No links with empty anchor text (and no aria-label)
0 of 8 navigable link(s) have no visible text, aria-label, or title (in-page anchors, mailto:, and tel: links excluded from this count).
PASS
advisory
External links don't outnumber internal links
1 external vs. 7 internal. Heuristic, not an official standard -- flags the unusual case where citations outnumber your own internal linking.
PASS
advisory
External link density is reasonable (<=5 per 1000 words)
1 external link(s) across 1768 words (0.6 per 1000 words). Heuristic threshold, not an official standard.
PASS
advisory
Affiliate/ad-network links carry rel="sponsored" or "nofollow"
No links to known affiliate/ad domains found -- heuristic list, not exhaustive.
PASS
important
No broken links in sample of 6
Checked 6 of 6 unique link(s) (sample, not exhaustive). None broken.
AST Performance & Assets 100%
PASS
important
Total page weight is reasonable (<=2 MB)
8 request(s) totaling 459.3 KB across 4 domain(s).
Evidence
Weight by domain: cdn.tailwindcss.com: 397.7 KB (1 req) traqlyte.ai: 46.0 KB (5 req) cdn.traqlyte.ai: 15.6 KB (1 req) fonts.googleapis.com: 0.0 KB (1 req) Weight by content type: Script: 416.9 KB (90.8%) HTML: 36.9 KB (8.0%) Image: 5.5 KB (1.2%) Stylesheet: 0.0 KB (0.0%)
PASS
advisory
Total requests kept reasonable (<=50)
8 total request(s) discovered from static HTML (script/link/img/iframe/source tags).
Evidence
File request log: 200 HTML 36.9 KB https://traqlyte.ai/ 200 Script 397.7 KB https://cdn.tailwindcss.com 200 Script 15.6 KB https://cdn.traqlyte.ai/t.js 200 Script 3.6 KB https://traqlyte.ai/next-post-widget.js 200 Image 1.8 KB https://traqlyte.ai/blog/img/ab-vs-multivariate-testing.svg 200 Image 1.9 KB https://traqlyte.ai/blog/img/never-edit-a-running-experiment.svg 200 Image 1.8 KB https://traqlyte.ai/blog/img/client-side-vs-server-side-vs-api-first.svg 200 Stylesheet 0.0 KB https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap
PASS
advisory
Server supports HTTP/2 or later (via ALPN)
ALPN negotiated: h2
RDB Readability 0%
FAIL
advisory
Flesch Reading Ease is reasonably accessible (>=50)
Score 42.4 (Difficult). 17.9 avg words/sentence across 97 sentences (1736 words).
PRS Search Presentation 100%
PASS
important
Meta description length is ~120-165 characters
147 characters: "Traqlyte is the transparent, APIâfirst multivariate campaign engine. Assign cohorts, track outcomes, and analyze lift across web, email, and ads."
PASS
important
Mandatory Open Graph tags present (title/description/image/url/type)
All 5 present.
PASS
advisory
twitter:card meta tag present
content="summary_large_image"
REL Search Relevance 83%
FAIL
advisory
H1 and title tag share topical keywords
Word overlap ratio: 0%. H1: "Know the winners. Show the winners.Grow the winners." | Title: "Traqlyte â Multivariate Campaign Engine & Lift Tracking"
PASS
important
Title tag length is 10-60 characters
57 characters: "Traqlyte â Multivariate Campaign Engine & Lift Tracking"
PASS
critical
Exactly one H1 on the page
Found 1 H1 element(s): ['Know the winners. Show the winners.Grow the winners.']
SEC Security Headers 100%
PASS
critical
Strict-Transport-Security (HSTS) header present
max-age=63072000; includeSubDomains
PASS
important
X-Content-Type-Options: nosniff present
nosniff
PASS
important
Clickjacking protection (X-Frame-Options or CSP frame-ancestors)
SAMEORIGIN | CSP frame-ancestors present.
PASS
advisory
Content-Security-Policy header present
Present.
PASS
advisory
Referrer-Policy header present
strict-origin-when-cross-origin
PASS
advisory
Permissions-Policy header present
geolocation=(), microphone=(), camera=(), payment=(), usb=()
TAX Taxonomy 50%
FAIL
advisory
URL or breadcrumb trail suggests a distinct category
no breadcrumb trail found; path is a flat slug (no category segment).
PASS
advisory
Tag count is reasonable (not over-tagged)
0 distinct tag link(s) found via /tag/ URL pattern -- 0 may mean no tags, or that this site tags posts using a different URL convention this check doesn't recognize.
TEC Technical 77%
FAIL
advisory
Cookie Policy link present on the page
No link matching "cookie" found on this page.
FAIL
advisory
Favicon <link> tag present
No <link rel="icon"> found -- browsers will still try /favicon.ico as a fallback, but an explicit tag is the reliable way to declare one.
Suggested fix
<link rel="icon" href="/favicon.ico">
FAIL
advisory
SPF record present
No SPF record found -- without one, receiving mail servers have no list of which servers are authorized to send mail as this domain.
Suggested fix
Add a DNS TXT record at traqlyte.ai: v=spf1 ~all (adjust to include your actual sending servers, e.g. include:_spf.google.com)
PASS
important
No unnecessary redirect chain
Loaded directly, no redirects.
Evidence
https://traqlyte.ai/
PASS
critical
Served over HTTPS
Scheme is 'https'.
PASS
important
Response served with gzip/brotli compression
Content-Encoding: gzip
PASS
advisory
Cache-Control or Expires header present
Cache-Control/Expires: public, max-age=3600
PASS
advisory
Privacy Policy link present on the page
Found.
PASS
advisory
Terms of Service link present on the page
Found.
TPL Template Structure 62%
FAIL
important
Breadcrumb navigation present in HTML
No breadcrumb markup found.
FAIL
important
BreadcrumbList JSON-LD schema present
Not found in JSON-LD.
Suggested fix
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{"@type": "ListItem", "position": 1, "name": "Home", "item": "https://traqlyte.ai/"},
{"@type": "ListItem", "position": 2, "name": "Blog", "item": "https://traqlyte.ai/blog"},
{"@type": "ListItem", "position": 3, "name": "Traqlyte â Multivariate Campaign Engine & Lift Tracking", "item": "https://traqlyte.ai/"}
]
}
</script>
FAIL
advisory
Author and published/updated date present
<time> tag found: False; author marker found: False
PASS
critical
Page-appropriate JSON-LD schema present (e.g. Organization/WebSite/Product)
Found types: ['Organization', 'WebSite']
PASS
advisory
First paragraph has enough substance (>=30 words)
30 words: "Traqlyte is the transparent, APIâfirst engine for cohort assignment and outcome tracking across web, email, and ads. Shine a light on what actually converts, ..."
PASS
advisory
3-7 contextual internal links in article body
7 internal link(s) found in article body.
PASS
advisory
Internal link anchor text is varied (not over-repeated)
Most common anchor text "blog" used 2/7 times.
PASS
advisory
Heading levels don't skip (e.g. H1 straight to H3)
H1:1 H2:9 H3:20 H4:0 H5:0 H6:0 -- no skipped levels.
PASS
advisory
Article has substantial content (>=300 words)
1768 words in the article body.
3PI Third-Party Impact 100%
PASS
advisory
Third-party categories kept to a reasonable number (<=5)
2 third-party categories detected across 3 domain(s): Fonts, Other third-party.
Evidence
Fonts: fonts.googleapis.com Other third-party: cdn.tailwindcss.com, cdn.traqlyte.ai
CON URL Consolidation 100%
PASS
critical
At most one <link rel="canonical"> tag
1 canonical tag found.
PASS
critical
Self-referencing canonical tag
Canonical matches the page's own URL.
Evidence
https://traqlyte.ai/
PASS
important
Canonical href is an absolute URL
Canonical href is absolute.
PASS
critical
Self-referencing canonical isn't also marked noindex
Self-referencing canonical and no noindex conflict.
PASS
advisory
Sitemap lists this page's canonical URL
Canonical URL https://traqlyte.ai/ found in sitemap.xml (12 URL(s) listed).
URL URL Structure 100%
PASS
important
URL slug has no date segment
Path: /
PASS
important
URL uses hyphens, not underscores
Path: /
PASS
advisory
URL path is shallow (<=4 segments)
Path depth: 0 segment(s) -- /
VAL Validation 100%
PASS
critical
At most one <title> tag
1 title tag found.
PASS
critical
At most one meta description tag
1 meta description tag found.
PASS
critical
Responsive viewport meta tag present
width=device-width, initial-scale=1.0
PASS
critical
Character encoding declared
Found.
PASS
critical
Title/meta description/canonical are inside <head>
All present head-level tags are actually inside <head>.
PASS
advisory
Lang attribute declared on <html>
Declared: en
PASS
important
No empty src/href attributes
0 <img> with empty src; 0 <a> with empty href.
Script for your agent
Paste into Claude Code, Cursor, or another coding agent to apply every fix below.
Fix the following on-page SEO issues on https://traqlyte.ai/.
Apply each fix directly in the page template/source, without changing unrelated content or design.
1. [Important] Breadcrumb navigation present in HTML
Issue: No breadcrumb markup found.
2. [Important] BreadcrumbList JSON-LD schema present
Issue: Not found in JSON-LD.
Fix:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{"@type": "ListItem", "position": 1, "name": "Home", "item": "https://traqlyte.ai/"},
{"@type": "ListItem", "position": 2, "name": "Blog", "item": "https://traqlyte.ai/blog"},
{"@type": "ListItem", "position": 3, "name": "Traqlyte â Multivariate Campaign Engine & Lift Tracking", "item": "https://traqlyte.ai/"}
]
}
</script>
3. [Important] Images set width/height or aspect-ratio (prevents layout shift)
Issue: 0/3 images have explicit dimensions.
Fix:
<img src="..." width="800" height="450" alt="...">
4. [Important] Lazy-loading applied correctly (hero eager, rest lazy)
Issue: first/hero image is lazy-loaded (can delay LCP)
Fix:
<!-- hero/first image: omit loading, or set loading="eager" -->
<img src="hero.jpg" alt="...">
<!-- every other image: -->
<img src="..." alt="..." loading="lazy">
5. [Important] Navigation signal present (breadcrumbs or SiteNavigationElement schema)
Issue: No breadcrumb markup or SiteNavigationElement schema found.
6. [Important] Target keyword appears in the H1
Issue: H1: "Know the winners. Show the winners. Grow the winners."
7. [Advisory] H1 and title tag share topical keywords
Issue: Word overlap ratio: 0%. H1: "Know the winners. Show the winners.Grow the winners." | Title: "Traqlyte â Multivariate Campaign Engine & Lift Tracking"
8. [Advisory] Author and published/updated date present
Issue: <time> tag found: False; author marker found: False
9. [Advisory] Images use modern formats (WebP/AVIF)
Issue: 0/3 images use WebP/AVIF.
10. [Advisory] URL or breadcrumb trail suggests a distinct category
Issue: no breadcrumb trail found; path is a flat slug (no category segment).
11. [Advisory] Flesch Reading Ease is reasonably accessible (>=50)
Issue: Score 42.4 (Difficult). 17.9 avg words/sentence across 97 sentences (1736 words).
12. [Advisory] At least one rich schema type present (FAQPage, HowTo, Product, etc.)
Issue: Rich types found: none.
13. [Advisory] Keyword density for "multivariate campaign engine" is in the classic 3-5% range
Issue: "multivariate campaign engine" appears 1 time(s) across 1768 words (~0.2% density). Treat this as a rough guideline, not a target to write toward -- natural, reader-first phrasing matters more than hitting an exact number (over-optimizing risks tripping Google's keyword-stuffing spam policy; too little risks the page not clearly signaling its topic).
14. [Advisory] Target keyword appears in the first paragraph
Issue: First paragraph: "Traqlyte is the transparent, APIâfirst engine for cohort assignment and outcome tracking across web, email, and ads. Shine a light on what actually converts, ..."
15. [Advisory] At least one image alt attribute includes the target keyword
Issue: 0/3 image alt attribute(s) contain "multivariate campaign engine".
16. [Advisory] Cookie Policy link present on the page
Issue: No link matching "cookie" found on this page.
17. [Advisory] Favicon <link> tag present
Issue: No <link rel="icon"> found -- browsers will still try /favicon.ico as a fallback, but an explicit tag is the reliable way to declare one.
Fix:
<link rel="icon" href="/favicon.ico">
18. [Advisory] SPF record present
Issue: No SPF record found -- without one, receiving mail servers have no list of which servers are authorized to send mail as this domain.
Fix:
Add a DNS TXT record at traqlyte.ai: v=spf1 ~all (adjust to include your actual sending servers, e.g. include:_spf.google.com)
Scope note: this report only covers checks that can be evaluated deterministically
from a single fetched page (URL structure, metadata, schema, image attributes, template structure).
It does not and cannot evaluate content quality, genuine expertise/trustworthiness signals, whether
publishing volume constitutes scaled content abuse, or site-wide taxonomy health. Those
require human judgment or a full-site crawl.