52 passed
30 failed
AI Readiness
Bot access, structured data, llms.txt, and content accessibility for AI/LLM crawlers.
39grade F
Bot Discoverability 30pt
50%
Structured Data 25pt
33%
LLM Communication 25pt
33%
Content Accessibility 15pt
50%
Cross-Signal Readiness 5pt
0%
Priority Fixes
11
critical
Page content is readable without running JavaScript: Only 39 word(s) of text came through before any JavaScript runs -- bots and assistants that don't execute JS (most AI crawlers, many scrapers) see essentially a blank page, not the content a visitor sees in a browser.
Jump to fix →
critical
Target keyword "real one-on-one conversations" appears in the body at all: "real one-on-one conversations" was not found anywhere in the body text -- the page may not actually be about this term, or the phrasing doesn't match how it's written on the page.
Jump to fix →
critical
Strict-Transport-Security (HSTS) header present: Not present.
Jump to fix →
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
sitemap.xml exists and is well-formed: Found and looks like a valid sitemap.
Jump to fix →
important
Navigation signal present (breadcrumbs or SiteNavigationElement schema): No breadcrumb markup or SiteNavigationElement schema found.
Jump to fix →
important
llms.txt is well-structured (H1 title, section headers, entity links): H1 title: False; 0 section header(s); 0 markdown link(s).
Jump to fix →
important
Target keyword appears in the title tag: Title: "The Brand Guy — Richard Sauerman"
Jump to fix →
important
Target keyword appears in the H1: H1: "Stop building brands. Start being one."
Jump to fix →
important
Clickjacking protection (X-Frame-Options or CSP frame-ancestors): Not present.
Jump to fix →
TEC
Technical
79
URL
URL Structure
100
CON
URL Consolidation
100
REL
Search Relevance
83
VAL
Validation
100
PRS
Search Presentation
100
IDX
Index Control
85
TPL
Template Structure
33
IMG
Images
N/A
TAX
Taxonomy
50
RDB
Readability
100
BOT
AI Readiness: Bot Discoverability
75
SCH
AI Readiness: Structured Data
50
LLM
AI Readiness: LLM Communication
50
ACC
AI Readiness: Content Accessibility
40
XSG
AI Readiness: Cross-Signal Readiness
0
KWD
Keyword Optimization
29
SEC
Security Headers
30
LNK
Link Health
86
AST
Performance & Assets
100
3PI
Third-Party Impact
100
CXN
Connection Timing
100
BOT AI Readiness: Bot Discoverability 75%
FAIL
advisory
robots.txt has bot-specific rules (deliberate AI-crawler policy)
Only a blanket 'User-agent: *' rule (or none) found -- no evidence of a per-bot policy.
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)
ACC AI Readiness: Content Accessibility 40%
FAIL
critical
Page content is readable without running JavaScript
Only 39 word(s) of text came through before any JavaScript runs -- bots and assistants that don't execute JS (most AI crawlers, many scrapers) see essentially a blank page, not the content a visitor sees in a browser.
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 0%
FAIL
advisory
Bot access, structured data, llms.txt, and SSR content all align
At least one of bot access / structured data / llms.txt / SSR content is missing.
LLM AI Readiness: LLM Communication 50%
FAIL
important
llms.txt is well-structured (H1 title, section headers, entity links)
H1 title: False; 0 section header(s); 0 markdown link(s).
FAIL
advisory
llms.txt states a use/license policy
No license/usage-policy language found.
PASS
critical
llms.txt present
Found.
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', 'Person'].
CXN Connection Timing 100%
PASS
advisory
Connection chain (DNS + TCP + TLS) is fast (<=200ms)
DNS 1.8ms + TCP 1.4ms + TLS 74.4ms = 77.6ms before the first byte was requested.
IMG Images N/A
IDX Index Control 85%
FAIL
important
sitemap.xml exists and is well-formed
Found and looks like a valid sitemap.
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: / Disallow: /admin/ Sitemap: https://the-brand-guy.com/sitemap-index.xml
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 29%
FAIL
critical
Target keyword "real one-on-one conversations" appears in the body at all
"real one-on-one conversations" was not found anywhere in the body text -- the page may not actually be about this term, or the phrasing doesn't match how it's written on the page.
FAIL
advisory
Keyword density for "real one-on-one conversations" is in the classic 3-5% range
"real one-on-one conversations" appears 0 time(s) across 39 words (~0.0% 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 title tag
Title: "The Brand Guy — Richard Sauerman"
FAIL
important
Target keyword appears in the H1
H1: "Stop building brands. Start being one."
FAIL
advisory
Target keyword appears in the meta description
Meta description: "Richard Sauerman — Global Top 30 Brand Guru, #7 in 2026. Keynotes, brand consulting, and the BIP Model™. Branding is now a leadership matter, not a marketing one."
FAIL
advisory
Target keyword appears in the first paragraph
First paragraph: "Strip away the job title and the performance. What’s left? It starts the way it always
has for Richard: real, one-on-one conversations, what he call..."
PASS
important
Keyword density for "real one-on-one conversations" stays under the stuffing-risk threshold (<8%)
~0.0% 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
No phrase among the top 5 unigrams/bigrams/trigrams is stuffed (>8% density)
All clear -- highest density among top phrases is 7.7%.
Evidence
1-gram "conversations": 2x (5.13%) 1-gram "discovery": 1x (2.56%) 1-gram "actually": 1x (2.56%) 1-gram "strip": 1x (2.56%) 1-gram "away": 1x (2.56%) 2-gram "01 discovery": 1x (5.13%) 2-gram "strip away": 1x (5.13%) 2-gram "job title": 1x (5.13%) 2-gram "s left": 1x (5.13%) 2-gram "richard real": 1x (5.13%) 3-gram "actually are strip": 1x (7.69%) 3-gram "away the job": 1x (7.69%) 3-gram "performance what s": 1x (7.69%) 3-gram "left it starts": 1x (7.69%) 3-gram "starts the way": 1x (7.69%)
LNK Link Health 86%
FAIL
advisory
External link density is reasonable (<=5 per 1000 words)
5 external link(s) across 39 words (128.2 per 1000 words). Heuristic threshold, not an official standard.
PASS
important
No links with empty anchor text (and no aria-label)
0 of 44 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
5 external vs. 39 internal. Heuristic, not an official standard -- flags the unusual case where citations outnumber your own internal linking.
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 10
Checked 10 of 22 unique link(s) (sample, not exhaustive). None broken.
AST Performance & Assets 100%
PASS
important
Total page weight is reasonable (<=2 MB)
34 request(s) totaling 1245.6 KB across 3 domain(s).
Evidence
Weight by domain: the-brand-guy.com: 1162.1 KB (32 req) challenges.cloudflare.com: 80.5 KB (1 req) analytics.novastrategic.co: 2.9 KB (1 req) Weight by content type: Image: 1078.3 KB (86.6%) Script: 88.6 KB (7.1%) HTML: 44.6 KB (3.6%) Stylesheet: 34.2 KB (2.7%)
PASS
advisory
Total requests kept reasonable (<=50)
34 total request(s) discovered from static HTML (script/link/img/iframe/source tags).
Evidence
File request log: 200 HTML 44.6 KB https://the-brand-guy.com/ 200 Script 80.5 KB https://challenges.cloudflare.com/turnstile/v0/api.js 200 Script 2.9 KB https://analytics.novastrategic.co/js/script.js 200 Script 1.2 KB https://the-brand-guy.com/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js 200 Script 3.9 KB https://the-brand-guy.com/assets/analytics.js 200 Image 169.7 KB https://the-brand-guy.com/_astro/richard-about.BpIDLJyn_ZnijUg.webp 200 Image 24.2 KB https://the-brand-guy.com/img/gurus-2026.webp 200 Image 78.1 KB https://the-brand-guy.com/_astro/richard-arms.Cu2dZW0B_Z2qzXcz.webp 200 Image 78.2 KB https://the-brand-guy.com/_astro/richard-consulting-hero.DnhdEYFB_Z11HiCb.webp 200 Image 60.2 KB https://the-brand-guy.com/_astro/richard-audience.BmJSsCeS_tVplJ.webp 200 Image 122.9 KB https://the-brand-guy.com/_astro/richard-stage-magic.BknQxo8v_ZEHDBp.webp 200 Image 104.6 KB https://the-brand-guy.com/img/richard-story.webp 200 Image 47.1 KB https://the-brand-guy.com/logos/logo-sunnyfield.png 200 Image 17.4 KB https://the-brand-guy.com/logos/logo-rspca.svg 200 Image 11.5 KB https://the-brand-guy.com/logos/logo-qbe.svg 200 Image 3.0 KB https://the-brand-guy.com/logos/logo-csiro.svg 200 Image 10.5 KB https://the-brand-guy.com/logos/logo-commonwealth-bank.svg 200 Image 17.0 KB https://the-brand-guy.com/logos/logo-amp.svg 200 Image 1.4 KB https://the-brand-guy.com/logos/logo-pwc.svg 200 Image 4.7 KB https://the-brand-guy.com/logos/logo-nab.svg 200 Image 9.6 KB https://the-brand-guy.com/logos/logo-american-express.svg 200 Image 9.4 KB https://the-brand-guy.com/logos/logo-newscorp.svg 200 Image 25.8 KB https://the-brand-guy.com/logos/logo-nestle.svg 200 Image 7.0 KB https://the-brand-guy.com/logos/logo-munchener-ruck.svg 200 Image 5.0 KB https://the-brand-guy.com/logos/logo-coca-cola.svg 200 Image 3.1 KB https://the-brand-guy.com/logos/logo-microsoft.svg 200 Image 2.8 KB https://the-brand-guy.com/logos/logo-foxtel.svg 200 Image 153.8 KB https://the-brand-guy.com/img/richard-contact.jpg 200 Image 3.0 KB https://the-brand-guy.com/favicon-32.png 200 Image 1.7 KB https://the-brand-guy.com/favicon-16.png 200 Image 25.7 KB https://the-brand-guy.com/favicon-192.png 200 Image 80.9 KB https://the-brand-guy.com/favicon-512.png 200 Stylesheet 22.2 KB https://the-brand-guy.com/_astro/about.BlupgPML.css 200 Stylesheet 12.0 KB https://the-brand-guy.com/_astro/index.CoyoAzmO.css
PASS
advisory
Server supports HTTP/2 or later (via ALPN)
ALPN negotiated: h2
RDB Readability 100%
PASS
advisory
Flesch Reading Ease is reasonably accessible (>=50)
Score 69.3 (Fairly Easy). 12.7 avg words/sentence across 3 sentences (38 words).
PRS Search Presentation 100%
PASS
important
Meta description length is ~120-165 characters
162 characters: "Richard Sauerman — Global Top 30 Brand Guru, #7 in 2026. Keynotes, brand consulting, and the BIP Model™. Branding is now a leadership matter, not a marketing one."
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: "Stop building brands.Start being one." | Title: "The Brand Guy — Richard Sauerman"
PASS
important
Title tag length is 10-60 characters
32 characters: "The Brand Guy — Richard Sauerman"
PASS
critical
Exactly one H1 on the page
Found 1 H1 element(s): ['Stop building brands.Start being one.']
SEC Security Headers 30%
FAIL
critical
Strict-Transport-Security (HSTS) header present
Not present.
FAIL
important
Clickjacking protection (X-Frame-Options or CSP frame-ancestors)
Not present.
FAIL
advisory
Content-Security-Policy header present
Not present.
FAIL
advisory
Permissions-Policy header present
Not present.
PASS
important
X-Content-Type-Options: nosniff present
nosniff
PASS
advisory
Referrer-Policy header present
strict-origin-when-cross-origin
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 79%
FAIL
advisory
Privacy Policy link present on the page
No link matching "privacy" found on this page.
FAIL
advisory
Terms of Service link present on the page
No link matching "terms" found on this page.
FAIL
advisory
Cookie Policy link present on the page
No link matching "cookie" found on this page.
PASS
important
No unnecessary redirect chain
Loaded directly, no redirects.
Evidence
https://the-brand-guy.com/
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=0, must-revalidate
PASS
advisory
Favicon <link> tag present
Found: /favicon-32.png
PASS
advisory
DMARC record present
v=DMARC1; p=none;
PASS
advisory
SPF record present
v=spf1 include:spf.sendinblue.com mx ~all
TPL Template Structure 33%
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://the-brand-guy.com/"},
{"@type": "ListItem", "position": 2, "name": "Blog", "item": "https://the-brand-guy.com/blog"},
{"@type": "ListItem", "position": 3, "name": "The Brand Guy — Richard Sauerman", "item": "https://the-brand-guy.com/"}
]
}
</script>
FAIL
advisory
Author and published/updated date present
<time> tag found: False; author marker found: False
FAIL
advisory
3-7 contextual internal links in article body
0 internal link(s) found in article body.
FAIL
advisory
Heading levels don't skip (e.g. H1 straight to H3)
H1:1 H2:9 H3:13 H4:3 H5:0 H6:0 -- skips found: H2->H4
FAIL
advisory
Article has substantial content (>=300 words)
39 words in the article body.
PASS
critical
Page-appropriate JSON-LD schema present (e.g. Organization/WebSite/Product)
Found types: ['Organization', 'Person']
PASS
advisory
First paragraph has enough substance (>=30 words)
30 words: "Strip away the job title and the performance. What’s left? It starts the way it always
has for Richard: real, one-on-one conversations, what he call..."
3PI Third-Party Impact 100%
PASS
advisory
Third-party categories kept to a reasonable number (<=5)
1 third-party category detected across 2 domain(s): Other third-party.
Evidence
Other third-party: analytics.novastrategic.co, challenges.cloudflare.com
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://the-brand-guy.com/
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.
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
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://the-brand-guy.com/.
Apply each fix directly in the page template/source, without changing unrelated content or design.
1. [Critical] Page content is readable without running JavaScript
Issue: Only 39 word(s) of text came through before any JavaScript runs -- bots and assistants that don't execute JS (most AI crawlers, many scrapers) see essentially a blank page, not the content a visitor sees in a browser.
2. [Critical] Target keyword "real one-on-one conversations" appears in the body at all
Issue: "real one-on-one conversations" was not found anywhere in the body text -- the page may not actually be about this term, or the phrasing doesn't match how it's written on the page.
3. [Critical] Strict-Transport-Security (HSTS) header present
Issue: Not present.
4. [Important] Breadcrumb navigation present in HTML
Issue: No breadcrumb markup found.
5. [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://the-brand-guy.com/"},
{"@type": "ListItem", "position": 2, "name": "Blog", "item": "https://the-brand-guy.com/blog"},
{"@type": "ListItem", "position": 3, "name": "The Brand Guy — Richard Sauerman", "item": "https://the-brand-guy.com/"}
]
}
</script>
6. [Important] sitemap.xml exists and is well-formed
Issue: Found and looks like a valid sitemap.
7. [Important] Navigation signal present (breadcrumbs or SiteNavigationElement schema)
Issue: No breadcrumb markup or SiteNavigationElement schema found.
8. [Important] llms.txt is well-structured (H1 title, section headers, entity links)
Issue: H1 title: False; 0 section header(s); 0 markdown link(s).
9. [Important] Target keyword appears in the title tag
Issue: Title: "The Brand Guy — Richard Sauerman"
10. [Important] Target keyword appears in the H1
Issue: H1: "Stop building brands. Start being one."
11. [Important] Clickjacking protection (X-Frame-Options or CSP frame-ancestors)
Issue: Not present.
12. [Advisory] H1 and title tag share topical keywords
Issue: Word overlap ratio: 0%. H1: "Stop building brands.Start being one." | Title: "The Brand Guy — Richard Sauerman"
13. [Advisory] Author and published/updated date present
Issue: <time> tag found: False; author marker found: False
14. [Advisory] 3-7 contextual internal links in article body
Issue: 0 internal link(s) found in article body.
15. [Advisory] URL or breadcrumb trail suggests a distinct category
Issue: no breadcrumb trail found; path is a flat slug (no category segment).
16. [Advisory] Heading levels don't skip (e.g. H1 straight to H3)
Issue: H1:1 H2:9 H3:13 H4:3 H5:0 H6:0 -- skips found: H2->H4
17. [Advisory] Article has substantial content (>=300 words)
Issue: 39 words in the article body.
18. [Advisory] robots.txt has bot-specific rules (deliberate AI-crawler policy)
Issue: Only a blanket 'User-agent: *' rule (or none) found -- no evidence of a per-bot policy.
19. [Advisory] At least one rich schema type present (FAQPage, HowTo, Product, etc.)
Issue: Rich types found: none.
20. [Advisory] llms.txt states a use/license policy
Issue: No license/usage-policy language found.
21. [Advisory] Bot access, structured data, llms.txt, and SSR content all align
Issue: At least one of bot access / structured data / llms.txt / SSR content is missing.
22. [Advisory] Keyword density for "real one-on-one conversations" is in the classic 3-5% range
Issue: "real one-on-one conversations" appears 0 time(s) across 39 words (~0.0% 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).
23. [Advisory] Target keyword appears in the meta description
Issue: Meta description: "Richard Sauerman — Global Top 30 Brand Guru, #7 in 2026. Keynotes, brand consulting, and the BIP Model™. Branding is now a leadership matter, not a marketing one."
24. [Advisory] Target keyword appears in the first paragraph
Issue: First paragraph: "Strip away the job title and the performance. What’s left? It starts the way it always
has for Richard: real, one-on-one conversations, what he call..."
25. [Advisory] Content-Security-Policy header present
Issue: Not present.
26. [Advisory] Permissions-Policy header present
Issue: Not present.
27. [Advisory] Privacy Policy link present on the page
Issue: No link matching "privacy" found on this page.
28. [Advisory] Terms of Service link present on the page
Issue: No link matching "terms" found on this page.
29. [Advisory] Cookie Policy link present on the page
Issue: No link matching "cookie" found on this page.
30. [Advisory] External link density is reasonable (<=5 per 1000 words)
Issue: 5 external link(s) across 39 words (128.2 per 1000 words). Heuristic threshold, not an official standard.
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.