Website SEO Orchestrator v10.0
The SEO Orchestrator is a comprehensive diagnostic engine that analyzes over 70 data
points across the web portfolio, providing real-time insights with advanced visual reporting.
🎯 What's New in v10.0
- Security Headers: Checks 6 HTTP response headers (HSTS, CSP, X-Frame-Options,
X-Content-Type-Options, Referrer-Policy, Permissions-Policy)
- Hreflang Validation: Parses alternate language tags, validates self-referencing and
x-default
- llms.txt Quality Scoring: Analyzes structure (title, description, sections, links)
and scores 0-100
- AI Crawler Management: Checks
robots.txt management of 11 AI crawlers
(GPTBot, ClaudeBot, PerplexityBot, etc.)
- Redirect Chain Analysis: Follows 301/302 chains up to 5 hops, detects loops
- Enhanced Schema Validation: Validates required fields per schema type (Person,
Organization, Article, etc.)
- Enhanced Social Meta: OG Image penalty, OG URL vs Canonical consistency check
70+
Data Points
3
Score Categories
100
Max Score
Real-Time
Analysis
18
Engine Sections
WCAG AA
A11Y Standard
Key Features
- Live Crawling: Real-time analysis of published pages
- Category Breakdown: Scores divided into Content, Technical, and Structure
- Visual Dashboards: Color-coded cards with status indicators
- Inspector Mode: Deep-dive analysis with 4-panel tech metrics
- Export Functionality: Copy audit reports to clipboard
- Self-Audit Support: Can audit itself with recursion protection
How It Works
- Discovery: Auto-detects all project JSON files and core pages
- Crawling: Fetches pages with 2-second timeout
- Analysis: Runs 70+ checks across 18 engine sections
- Categorization: Assigns points to Content/Tech/Structure buckets
- Rating: Generates visual status badges (GOOD, EXCELLENT, etc.)
- Reporting: Displays in dashboard or detailed inspector view
Getting Started
Dashboard View
The main grid shows all auditable targets. Each card displays:
- Score: 0-100 with color coding (Cyan 90+, Green 80+, Orange 50+, Red <50)< /li>
- Status Dot: Green = online, Red = offline/timeout
- Page Name: Identifier (shows "(SELF)" if auditing the auditor)
- Type: PROJECT or CORE
💡 Self-Audit Support: The auditor can now audit itself! It uses recursion protection to
prevent infinite loops. The dashboard card will show "(SELF)" next to the seo-auditor project.
Score Interpretations
90-100 PERFECT
Gold Standard achieved. Outstanding technical execution.
80-89 EXCELLENT
Strong performance with minor optimization opportunities.
50-79 GOOD
Functional but requires attention to detail.
0-49 NEEDS WORK
Critical issues detected. Priority fixes required.
First Steps
- Scan Dashboard: Identify pages scoring below 80
- Click Card: Opens Inspector Mode for detailed analysis
- Review Categories: Check Content/Tech/Structure breakdowns
- Check Ratings: Look for POOR or WARN status badges
- Export Report: Use "COPY REPORT" button to save audit
- Fix Issues: Start with Critical (red) items
- Re-audit: Refresh to see improvements
Inspector Mode - Deep Dive Analysis
Click any dashboard card to enter Inspector Mode, which provides comprehensive visual reporting.
The hero section displays:
- Large Score Dial: 110px circle with color-coded border and glow effect
- Category Breakdown: Three stat boxes showing:
- CONTENT score (green) - Meta, keywords, word count
- TECHNICAL score (cyan) - Security, images, code quality
- STRUCTURE score (purple) - HTML5, headings, DOM depth
Score Distribution Example
Total Score: 87/100
• Content: 18 pts (meta tags, keywords, content depth)
• Technical: 42 pts (HTTPS, images, viewport, file integrity)
• Structure: 27 pts (H1, heading sequence, HTML5 landmarks)
2. Technical Deep Dive - 4-Panel System
Inspector Mode includes four color-coded panels with visual status ratings:
Panel 1: Page Intelligence OPTIMIZED / GOOD / WARN
/ POOR
- Word Count: Total visible text words
- Schema Objects: Number of JSON-LD structured data blocks
- Robots: Current robots meta directive
- Lang / Viewport: HTML language and viewport status (✔/❌)
- DOM Depth: Maximum nesting levels
Rating Logic:
- OPTIMIZED: 300+ words AND lang attribute set
- GOOD: Baseline requirements met
- WARN: <300 words OR missing schema OR no lang
- POOR: <100 words (thin content)
Panel 2: Social Graph PERFECT / EXCELLENT /
INCOMPLETE
- OG Title: Open Graph title (truncated preview)
- OG Image: Status indicator (❌ MISSING / ✔ FOUND)
- Twitter Card: Card type (summary, summary_large_image, etc.)
- Canonical: Canonical URL basename
Rating Logic:
- PERFECT: Both OG image AND OG title present
- EXCELLENT: Baseline OG tags present
- INCOMPLETE: Missing OG image or title
Panel 3: Semantic Hierarchy PERFECT / PLAUSIBLE /
WEAK
- H1 Header: Text of H1 (or ❌ MISSING in red)
- H2 Structure: Detected/None indicator
- Visual Map: Shows sequence like "H1 H2 H2 H3 H2 H3..."
Rating Logic:
- PLAUSIBLE: 4+ headings AND H1 present (rich structure)
- PERFECT: H1 exists + 2+ headings total
- WEAK: No H1 OR fewer than 2 headings
Panel 4: Accessibility & Assets ELITE / OPTIMIZED / NEEDS
WORK
- Image Alt Compliance: Ratio like "8 / 10 Optimized" (green if perfect, red if issues)
- Code/Text Ratio: Percentage of actual content vs markup
- Inline Styles: Count of style attributes found
Rating Logic:
- ELITE: Zero missing alts AND text ratio >15%
- OPTIMIZED: Zero bad images + ratio >10%
- NEEDS WORK: Missing alts OR ratio <10%
3. Audit Log - 3-Column Dynamic Grid
The audit log displays all check results in three color-coded columns:
| Column |
Color |
Badge |
Smart Layout |
| Critical |
Red border |
FAIL |
2-column grid if >8 items |
| Warnings |
Orange border |
WARN |
2-column grid if >8 items |
| Passed |
Green border |
OK |
2-column grid if >8 items |
4. Functional Context & Visualization
SSR Status Indicator
A new live status badge in the header instantly confirms rendering mode:
SSR ACTIVE
Server-Side Rendering detected. High-performance crawler layer is serving optimized
content.
STATIC HTML
Standard HTML delivery. Valid but lacks dynamic pre-rendering benefits.
Semantic Context Visualizer
A dedicated section below Performance Overview visualizes keyword alignment:
- Side-by-Side Comparison: Direct view of
<title> vs
<h1>.
- Synergy Check:
- GREEN Badge: Keywords found in both
(Synergy).
- RED
Strikethrough: Keywords missing from H1 (Disconnect).
Ultra-Deep Metrics Layer
The auditor now performs advanced "Gold Standard" checks usually found only in enterprise tools:
- Performance: Detects
DNS-Prefetch and Preconnect hints.
- Script Efficiency: Verifies
async / defer attributes on
scripts.
- Keyword Prominence: Confirms main keyword appears in the first 100 words.
- Iframe Safety: Audits all iframes for
title and
loading="lazy" attributes.
"The Hidden Layer" (Security & A11y)
The latest update adds passive detection for critical but often overlooked signals:
- Link Security: Ensures external links use
rel="noopener" to prevent
tabnabbing attacks.
- Privacy Defenses: Scans for exposed plaintext emails to prevent spam harvesting.
- Accessibility Signals: Checks for presence of
aria-* attributes or
role definitions.
- Mobile Polish: Verifies existence of
apple-touch-icon for iOS home
screens.
"Discovery Boost" (Indexing Signals)
Optimizations that improve how search engines present your content:
- Snippet Control: Checks for
max-image-preview:large to enable rich card
display in Google Discover.
- Content Age: looks for
article:published_time or date tags to
prove freshness.
- Syndication: Detects RSS/Atom feeds for content distribution.
- Localization: Confirms
og:locale is defined for regional targeting.
🎨 Adaptive Layout: When a column has more than 8 items, it automatically switches to a
2-column grid layout to save vertical space. On mobile, it reverts to single column.
4. Copy Report Feature
The "COPY REPORT" button in the top-right exports audit results as formatted text:
Exported Format
AUDIT REPORT: PROJECT_NAME
SCORE: 87/100
--------------------------------
[CRITICAL]
Missing H1 (-5)
[WARNINGS]
Title Length (12 chars) - Aim 50-60
No Schema
Lazy Alt Text (3)
[PASSED]
Indexable
Desc Length (155)
Canonical Set
...
The button animates on successful copy:
- Text changes to "COPIED!"
- Background turns green
- Reverts after 2 seconds
Navigation
- Back Button: Returns to dashboard (top-left)
- Direct Links: Inspector URL format:
?id=seo-auditor&inspect=project_name
- Core Pages: Use
&inspect=CORE:MISSION format
Scoring System
Category Breakdown
The scoring model follows a "Gold Standard" approach: every page starts with a perfect
100 Points.
Points are deducted for specific deviations, errors, and omissions. Deductions are categorized into three
areas to help visual debugging:
📝 CONTENT Health
• Title & Description presence
• Word count & text density
• Keyword handling
⚙️ TECHNICAL Health
• Crawlability & Indexing
• Security (HTTPS) & performance
• Mobile responsiveness
• Image optimization
🏗️ STRUCTURE Health
• H1 & Heading sequence
• Semantic HTML5 usage
• DOM depth & validity
📊 Score Calculation: Final Score = 100 - (Sum of all Penalties).
Category bars start at 100% and decrease as issues are found in that specific area.
Penalty Distribution (Deductions)
Crawlability (Critical Showstoppers)
- Blocked (noindex): -100 pts (Score resets to 0)
- Indexable: 0 deduction (Pass)
- Missing Title Tag: -10 pts
- Improper Title Length: -5 pts
- Missing Meta Description: -5 pts
- Improper Description Length: -2 pts
- Missing Canonical URL: -5 pts
Content Relevance
- Thin Content (<100 words): -5 pts
- Keyword/H1 Mismatch: -5 pts
- Low Text-to-HTML Ratio: No Penalty (Warn Only)
Structure & Schema
- Missing H1 Header: -5 pts
- Illogical Heading Order: -5 pts
- Missing Schema.org Data: -2 pts
- Missing Breadcrumb Schema: -2 pts
Assets & UX
- Images missing Alt Text: -3 pts
- No Favicon: 0 (Warn only)
Security & Links
- No Viewport (Not Mobile Friendly): -15 pts
- Mixed Content (HTTP): -10 pts
- Empty/Dead Links: -5 pts
- Unsafe _blank Links: -5 pts
Technical Hygiene
- Deep DOM Nesting (>20 levels): No Penalty (Warn Only)
- Excess Inline Styles: No Penalty (Warn Only)
- Generic Link Text: No Penalty (Warn Only)
- Short Links Without ARIA: No Penalty (Warn Only)
- Malformed HTML / Bracket Leaks: -30 pts
- Multi-DOCTYPE: -20 pts
- Nested HTML Tags: -20 pts
- Deprecated Tags: -10 pts
- Missing HSTS Header: -3 pts
- Missing CSP Header: -3 pts
- Missing X-Frame-Options: No Penalty (Warn Only)
- Missing X-Content-Type-Options: No Penalty (Warn Only)
- Missing Referrer-Policy: No Penalty (Warn Only)
- Missing Permissions-Policy: No Penalty (Warn Only)
Internationalization (v2.0)
- Missing Self-Referencing Hreflang: -3 pts
- Missing hreflang x-default: No Penalty (Warn Only)
Redirect & Social (v2.0)
- Redirect Loop Detected: -5 pts
- Long Redirect Chain (>2 hops): -5 pts
- Missing OG Image: -2 pts
- Schema Missing Required Fields: -2 pts
- OG URL differs from Canonical: No Penalty (Warn Only)
AI & Intelligence (v2.0)
- llms.txt Quality Score: Informational (0-100)
- AI Crawler Management: Informational (11 crawlers tracked)
File Integrity (Status Only)
- Source file found: + Verified Badge (No score impact)
- Missing source: + Warning Badge (No score impact)
Complete Check Reference
Every check explained with category assignment and penalty impact.
New in v10.0: Advanced Modules
- Security Headers Check: Validates 6 HTTP response headers (HSTS, CSP, X-Frame-Options,
X-Content-Type-Options, Referrer-Policy, Permissions-Policy) with HSTS max-age validation
- Hreflang Validation: Parses
<link rel="alternate" hreflang> tags,
checks for x-default and self-referencing
- llms.txt Quality Scoring: Parses title, blockquote description, sections, and markdown
links — scores 0-100 with structural analysis
- AI Crawler Management: Checks
robots.txt for 11 AI crawlers (GPTBot,
ChatGPT-User, ClaudeBot, PerplexityBot, Google-Extended, Applebot-Extended, Bytespider, CCBot,
anthropic-ai, FacebookBot, Amazonbot)
- Redirect Chain Tracer: Follows 301/302/308 chains up to 5 hops, detects redirect loops
- Enhanced Schema Validation: Validates required fields per schema type (Person→name/url,
Article→headline/author, Organization→name/url, etc.)
- Enhanced Social Meta: Missing OG Image now penalizes -2pts. OG URL vs Canonical
consistency check added
Previous Updates (v9.1)
- OG Title/Image Detection: Tracked separately with OK/WARN tags
- Twitter Card Validation: Checks for card type meta tag
- Generic Link Text: Detects vague anchors like "click here", "read more", "here"
- ARIA Link Accessibility: Flags short link text (<2 chars) without
aria-label
- DOM Integrity Safe: Confirms no bracket leaks, multi-DOCTYPE, or nested HTML
- AI Readiness: Checks for
llms.txt and Person schema
These generate informational tags but don't directly affect score:
| Check |
Tag Type |
Impact |
| OG Title Found |
OK |
Informational (social sharing quality) |
| OG Image Found |
OK |
Affects Social Graph rating panel |
| Twitter Card Set |
OK |
Informational |
| HTML Lang Set |
OK / ERR |
Critical for accessibility + Page Intel rating |
| DOM Integrity Safe |
OK |
Confirms no structural corruption |
💡 Visual Ratings Context: While these checks don't add points directly, they influence the
status badges (EXCELLENT, INCOMPLETE, etc.) shown in the 4-panel Tech Deep Dive.
Link Hygiene - Detailed Breakdown
The link quality engine provides granular feedback with individual issue counts:
- Empty Links:
href="#" or href="" — -5 pts
- Unsafe Links:
target="_blank" without rel="noopener" —
-5 pts
- Underscores: URLs with underscores (hyphens preferred) — No Penalty
- Generic Text: "click here", "read more", "here", "link", "more", "learn more", "see
more", "details", "this" — No Penalty
- No-Aria: Link text <2 chars without
aria-label — No
Penalty
Link Issues Messages
WARN: Empty/Dead Links (2)
WARN: Generic Link Text (3) - No Penalty
WARN: Short Links Without ARIA (1) - No Penalty
Scoring Impact:
- Zero issues across all 5 checks: No Penalty + "Link Hygiene Perfect" OK tag
- Empty/Dead Links: -5 pts
- Unsafe _blank Links: -5 pts
- Underscores, Generic Text, No-Aria: Warn only, no score impact
DevOps & Reliability Engineering
The Orchestrator powers a continuous monitoring infrastructure that runs alongside the main
site, providing real-time SEO health visibility across all pages.
2s
Crawl Timeout
13
Analysis Sections
50+
Checks Per Page
Auto
Discovery
Integrated Pipeline Features
The orchestrator integrates with the broader site infrastructure to provide comprehensive analysis:
- Auto-Discovery: Scans the
data/ directory for project JSON files and
dynamically builds the audit target list.
- Core Page Coverage: Audits all 5 core tabs (Mission, Projects, Skills, Photo, Bio)
alongside project pages.
- SSRF Protection: All crawl URLs are validated against a host whitelist and private IP
blacklist before fetching.
- Recursion Guard: Detects self-crawl via User-Agent string to prevent infinite loops.
🛡️ Security Architecture:
The isSafeUrl() function validates all crawl targets against private IP ranges (10.x,
172.16-31.x, 192.168.x) to prevent Server-Side Request Forgery (SSRF) attacks.
Asset Orchestration
Integration with the SEO Watermark Engine ensures that all images are optimized for both
user experience and crawler visibility.
Brightness-Probe Algorithm
Dynamically adjusts watermark contrast based on background luminescence to ensure WCAG AA
accessibility while maintaining brand subtlety.
CSP-Safe Rendering
All inspector views use zero inline styles — fully class-based CSS for Content Security Policy
compliance.
Frequently Asked Questions
New Features
What do the status badges mean?
These are visual ratings for the 4-panel Tech Deep Dive:
- Page Intelligence: OPTIMIZED (300+ words + lang) / GOOD / WARN (partial) / POOR
(<100 words)
- Social Graph: PERFECT (OG image + title) / EXCELLENT (baseline OG) / INCOMPLETE
(missing tags)
- Semantic Hierarchy: PLAUSIBLE (4+ headings + H1) / PERFECT (H1 + 2+ headings) / WEAK
(missing H1 or <2 headings)
- Accessibility: ELITE (zero missing alts + ratio >15%) / OPTIMIZED (good) / NEEDS
WORK (issues)
Clicking "COPY REPORT" exports audit results as formatted plaintext to your clipboard. The format includes:
- Page name and total score
- Three sections: [CRITICAL], [WARNINGS], [PASSED]
- All diagnostic messages grouped by severity
Perfect for sharing with team members or keeping audit records.
Why does the audit log sometimes show 2 columns?
The "smart layout" feature detects when a severity column (Critical, Warnings, or Passed) has more than 8
items. When this happens, it automatically switches to a 2-column grid to save vertical space. On mobile, it
reverts to single column for readability.
What's the difference between overall score and category scores?
Your overall score starts at 100 and decreases as penalties are applied. Category
scores show
the health of specific areas:
- Content: Meta tags, keywords, word count, text ratio
- Technical: Security, images, links, file integrity
- Structure: Headings, HTML5, DOM depth
This helps you identify which area needs the most improvement.
General
Can the auditor audit itself?
Yes! The auditor can analyze itself. It has built-in recursion protection:
- Detects crawler User-Agent
- Returns placeholder content instead of running full dashboard
- Dashboard shows "(SELF)" badge next to seo-auditor project
Why is Inspector Mode more accurate than Dashboard?
Dashboard uses 2-second timeouts for speed (analyzing multiple pages simultaneously). Inspector Mode allows
up to 8 seconds, ensuring complete page loading. Always trust Inspector scores for accuracy.
Extras are metadata extracted for visual display in Inspector Mode:
- OG Title, OG Image, Twitter Card
- Canonical URL, Robots directive
- HTML lang attribute, Viewport setting
- H1 texts (DOMNodeList for rendering)
These power the 4-panel Tech Deep Dive display.
Troubleshooting
Why does a page show WARN status but have a good score?
The visual status badges (GOOD, WARN, etc.) in the Tech Deep Dive are qualitative assessments of
specific areas, while the score is quantitative. A page might score 85/100 but still show
"INCOMPLETE" for Social Graph if OG image is missing—the score reflects overall performance, badges
highlight specific weaknesses.
The Copy Report feature requires:
- Modern browser with Clipboard API support
- HTTPS connection (or localhost)
- User permission for clipboard access (browser may prompt)
If it fails, manually select and copy the visible report content.
✅ Need More Help?
Inspector Mode provides detailed diagnostic messages for every check. Look at the 3-column Audit Log to see
exactly which items passed, warned, or failed.