Technical SEO Checker
This skill performs comprehensive technical SEO audits to identify issues that may prevent search engines from properly crawling, indexing, and ranking your site.
When to Use This Skill
- Launching a new website
- Diagnosing ranking drops
- Pre-migration SEO audits
- Regular technical health checks
- Identifying crawl and index issues
- Improving site performance
- Fixing Core Web Vitals issues
What This Skill Does
- Crawlability Audit: Checks robots.txt, sitemaps, crawl issues
- Indexability Review: Analyzes index status and blockers
- Site Speed Analysis: Evaluates Core Web Vitals and performance
- Mobile-Friendliness: Checks mobile optimization
- Security Check: Reviews HTTPS and security headers
- Structured Data Audit: Validates schema markup
- URL Structure Analysis: Reviews URL patterns and redirects
- International SEO: Checks hreflang and localization
How to Use
Full Technical Audit
Perform a technical SEO audit for [URL/domain]
Specific Issue Check
Check Core Web Vitals for [URL]
Audit crawlability and indexability for [domain]
Pre-Migration Audit
Technical SEO checklist for migrating [old domain] to [new domain]
Data Sources
See CONNECTORS.md for tool category placeholders.
With ~~web crawler + ~~page speed tool + ~~CDN connected:
Claude can automatically crawl the entire site structure via ~~web crawler, pull Core Web Vitals and performance metrics from ~~page speed tool, analyze caching headers from ~~CDN, and fetch mobile-friendliness data. This enables comprehensive automated technical audits.
With manual data only:
Ask the user to provide:
- Site URL(s) to audit
- PageSpeed Insights screenshots or reports
- robots.txt file content
- sitemap.xml URL or file
Proceed with the full audit using provided data. Note in the output which findings are from automated crawl vs. manual review.
Instructions
When a user requests a technical SEO audit:
Audit Crawlability
## Crawlability Analysis
### Robots.txt Review
**URL**: [domain]/robots.txt
**Status**: [Found/Not Found/Error]
**Current Content**:
[robots.txt content]
| Check | Status | Notes |
|-------|--------|-------|
| File exists | ✅/❌ | [notes] |
| Valid syntax | ✅/⚠️/❌ | [errors found] |
| Sitemap declared | ✅/❌ | [sitemap URL] |
| Important pages blocked | ✅/⚠️/❌ | [blocked paths] |
| Assets blocked | ✅/⚠️/❌ | [CSS/JS blocked?] |
| Correct user-agents | ✅/⚠️/❌ | [notes] |
**Issues Found**:
- [Issue 1]
- [Issue 2]
**Recommended robots.txt**:
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /private/
Sitemap: https://example.com/sitemap.xml
---
### XML Sitemap Review
**Sitemap URL**: [URL]
**Status**: [Found/Not Found/Error]
| Check | Status | Notes |
|-------|--------|-------|
| Sitemap exists | ✅/❌ | [notes] |
| Valid XML format | ✅/⚠️/❌ | [errors] |
| In robots.txt | ✅/❌ | [notes] |
| Submitted to ~~search console | ✅/⚠️/❌ | [notes] |
| URLs count | [X] | [appropriate?] |
| Only indexable URLs | ✅/⚠️/❌ | [notes] |
| Includes priority | ✅/⚠️ | [notes] |
| Includes lastmod | ✅/⚠️ | [accurate?] |
**Issues Found**:
- [Issue 1]
---
### Crawl Budget Analysis
| Factor | Status | Impact |
|--------|--------|--------|
| Crawl errors | [X] errors | [Low/Med/High] |
| Duplicate content | [X] pages | [Low/Med/High] |
| Thin content | [X] pages | [Low/Med/High] |
| Redirect chains | [X] found | [Low/Med/High] |
| Orphan pages | [X] found | [Low/Med/High] |
**Crawlability Score**: [X]/10
Audit Indexability
## Indexability Analysis
### Index Status Overview
| Metric | Count | Notes |
|--------|-------|-------|
| Pages in sitemap | [X] | |
| Pages indexed | [X] | [source: site: search] |
| Index coverage ratio | [X]% | [good if >90%] |
### Index Blockers Check
| Blocker Type | Found | Pages Affected |
|--------------|-------|----------------|
| noindex meta tag | [X] | [list or "none"] |
| noindex X-Robots | [X] | [list or "none"] |
| Robots.txt blocked | [X] | [list or "none"] |
| Canonical to other | [X] | [list or "none"] |
| 4xx/5xx errors | [X] | [list or "none"] |
| Redirect loops | [X] | [list or "none"] |
### Canonical Tags Audit
| Check | Status | Notes |
|-------|--------|-------|
| Canonicals present | ✅/⚠️/❌ | [X]% of pages |
| Self-referencing | ✅/⚠️/❌ | [notes] |
| Consistent (HTTP/HTTPS) | ✅/⚠️/❌ | [notes] |
| Consistent (www/non-www) | ✅/⚠️/❌ | [notes] |
| No conflicting signals | ✅/⚠️/❌ | [notes] |
### Duplicate Content Issues
| Issue Type | Count | Examples |
|------------|-------|----------|
| Exact duplicates | [X] | [URLs] |
| Near duplicates | [X] | [URLs] |
| Parameter duplicates | [X] | [URLs] |
| WWW/non-WWW | [X] | [notes] |
| HTTP/HTTPS | [X] | [notes] |
**Indexability Score**: [X]/10
Audit Site Speed & Core Web Vitals
## Performance Analysis
### Core Web Vitals
| Metric | Mobile | Desktop | Target | Status |
|--------|--------|---------|--------|--------|
| LCP (Largest Contentful Paint) | [X]s | [X]s | <2.5s | ✅/⚠️/❌ |
| FID (First Input Delay) | [X]ms | [X]ms | <100ms | ✅/⚠️/❌ |
| CLS (Cumulative Layout Shift) | [X] | [X] | <0.1 | ✅/⚠️/❌ |
| INP (Interaction to Next Paint) | [X]ms | [X]ms | <200ms | ✅/⚠️/❌ |
### Additional Performance Metrics
| Metric | Value | Status |
|--------|-------|--------|
| Time to First Byte (TTFB) | [X]ms | ✅/⚠️/❌ |
| First Contentful Paint (FCP) | [X]s | ✅/⚠️/❌ |
| Speed Index | [X] | ✅/⚠️/❌ |
| Total Blocking Time | [X]ms | ✅/⚠️/❌ |
| Page Size | [X]MB | ✅/⚠️/❌ |
| Requests | [X] | ✅/⚠️/❌ |
### Performance Issues
**LCP Issues**:
- [Issue]: [Impact] - [Solution]
- [Issue]: [Impact] - [Solution]
**CLS Issues**:
- [Issue]: [Impact] - [Solution]
**Resource Loading**:
| Resource Type | Count | Size | Issues |
|---------------|-------|------|--------|
| Images | [X] | [X]MB | [notes] |
| JavaScript | [X] | [X]MB | [notes] |
| CSS | [X] | [X]KB | [notes] |
| Fonts | [X] | [X]KB | [notes] |
### Optimization Recommendations
**High Impact**:
1. [Recommendation] - Est. improvement: [X]s
2. [Recommendation] - Est. improvement: [X]s
**Medium Impact**:
1. [Recommendation]
2. [Recommendation]
**Performance Score**: [X]/10
Audit Mobile-Friendliness
## Mobile Optimization Analysis
### Mobile-Friendly Test
| Check | Status | Notes |
|-------|--------|-------|
| Mobile-friendly overall | ✅/❌ | [notes] |
| Viewport configured | ✅/❌ | [viewport tag] |
| Text readable | ✅/⚠️/❌ | Font size: [X]px |
| Tap targets sized | ✅/⚠️/❌ | [notes] |
| Content fits viewport | ✅/❌ | [notes] |
| No horizontal scroll | ✅/❌ | [notes] |
### Responsive Design Check
| Element | Desktop | Mobile | Issues |
|---------|---------|--------|--------|
| Navigation | [status] | [status] | [notes] |
| Images | [status] | [status] | [notes] |
| Forms | [status] | [status] | [notes] |
| Tables | [status] | [status] | [notes] |
| Videos | [status] | [status] | [notes] |
### Mobile-First Indexing
| Check | Status | Notes |
|-------|--------|-------|
| Mobile version has all content | ✅/⚠️/❌ | [notes] |
| Mobile has same structured data | ✅/⚠️/❌ | [notes] |
| Mobile has same meta tags | ✅/⚠️/❌ | [notes] |
| Mobile images have alt text | ✅/⚠️/❌ | [notes] |
**Mobile Score**: [X]/10
Audit Security & HTTPS
## Security Analysis
### HTTPS Status
| Check | Status | Notes |
|-------|--------|-------|
| SSL certificate valid | ✅/❌ | Expires: [date] |
| HTTPS enforced | ✅/❌ | [redirects properly?] |
| Mixed content | ✅/⚠️/❌ | [X] issues |
| HSTS enabled | ✅/⚠️ | [notes] |
| Certificate chain | ✅/⚠️/❌ | [notes] |
### Security Headers
| Header | Present | Value | Recommended |
|--------|---------|-------|-------------|
| Content-Security-Policy | ✅/❌ | [value] | [recommendation] |
| X-Frame-Options | ✅/❌ | [value] | DENY or SAMEORIGIN |
| X-Content-Type-Options | ✅/❌ | [value] | nosniff |
| X-XSS-Protection | ✅/❌ | [value] | 1; mode=block |
| Referrer-Policy | ✅/❌ | [value] | [recommendation] |
**Security Score**: [X]/10
Audit URL Structure
## URL Structure Analysis
### URL Pattern Review
| Check | Status | Notes |
|-------|--------|-------|
| HTTPS URLs | ✅/⚠️/❌ | [X]% HTTPS |
| Lowercase URLs | ✅/⚠️/❌ | [notes] |
| No special characters | ✅/⚠️/❌ | [notes] |
| Readable/descriptive | ✅/⚠️/❌ | [notes] |
| Appropriate length | ✅/⚠️/❌ | Avg: [X] chars |
| Keywords in URLs | ✅/⚠️/❌ | [notes] |
| Consistent structure | ✅/⚠️/❌ | [notes] |
### URL Issues Found
| Issue Type | Count | Examples |
|------------|-------|----------|
| Dynamic parameters | [X] | [URLs] |
| Session IDs in URLs | [X] | [URLs] |
| Uppercase characters | [X] | [URLs] |
| Special characters | [X] | [URLs] |
| Very long URLs (>100) | [X] | [URLs] |
### Redirect Analysis
| Check | Status | Notes |
|-------|--------|-------|
| Redirect chains | [X] found | [max chain length] |
| Redirect loops | [X] found | [URLs] |
| 302 → 301 needed | [X] found | [URLs] |
| Broken redirects | [X] found | [URLs] |
**URL Score**: [X]/10
Audit Structured Data
CORE-EEAT alignment: Schema markup quality maps to O05 (Schema Markup) in the CORE-EEAT benchmark. See content-quality-auditor for full content quality audit.
## Structured Data Analysis
### Schema Markup Found
| Schema Type | Pages | Valid | Errors |
|-------------|-------|-------|--------|
| [Type 1] | [X] | ✅/❌ | [errors] |
| [Type 2] | [X] | ✅/❌ | [errors] |
### Validation Results
**Errors**:
- [Error 1]: [affected pages] - [solution]
- [Error 2]: [affected pages] - [solution]
**Warnings**:
- [Warning 1]: [notes]
### Missing Schema Opportunities
| Page Type | Current Schema | Recommended |
|-----------|----------------|-------------|
| Blog posts | [current] | Article + FAQ |
| Products | [current] | Product + Review |
| Homepage | [current] | Organization |
**Structured Data Score**: [X]/10
Audit International SEO (if applicable)
## International SEO Analysis
### Hreflang Implementation
| Check | Status | Notes |
|-------|--------|-------|
| Hreflang tags present | ✅/❌ | [notes] |
| Self-referencing | ✅/⚠️/❌ | [notes] |
| Return tags present | ✅/⚠️/❌ | [notes] |
| Valid language codes | ✅/⚠️/❌ | [notes] |
| x-default tag | ✅/⚠️ | [notes] |
### Language/Region Targeting
| Language | URL | Hreflang | Status |
|----------|-----|----------|--------|
| [en-US] | [URL] | [tag] | ✅/⚠️/❌ |
| [es-ES] | [URL] | [tag] | ✅/⚠️/❌ |
**International Score**: [X]/10
Generate Technical Audit Summary
# Technical SEO Audit Report
**Domain**: [domain]
**Audit Date**: [date]
**Pages Analyzed**: [X]
## Overall Technical Health: [X]/100
Score Breakdown:
████████░░ Crawlability: 8/10
███████░░░ Indexability: 7/10
█████░░░░░ Performance: 5/10
████████░░ Mobile: 8/10
█████████░ Security: 9/10
██████░░░░ URL Structure: 6/10
█████░░░░░ Structured Data: 5/10
## Critical Issues (Fix Immediately)
1. **[Issue]**: [Impact]
- Affected: [pages/scope]
- Solution: [specific fix]
- Priority: 🔴 Critical
2. **[Issue]**: [Impact]
- Affected: [pages/scope]
- Solution: [specific fix]
- Priority: 🔴 Critical
## High Priority Issues
1. **[Issue]**: [Solution]
2. **[Issue]**: [Solution]
## Medium Priority Issues
1. **[Issue]**: [Solution]
2. **[Issue]**: [Solution]
## Quick Wins
These can be fixed quickly for immediate improvement:
1. [Quick fix 1]
2. [Quick fix 2]
3. [Quick fix 3]
## Implementation Roadmap
### Week 1: Critical Fixes
- [ ] [Task 1]
- [ ] [Task 2]
### Week 2-3: High Priority
- [ ] [Task 1]
- [ ] [Task 2]
### Week 4+: Optimization
- [ ] [Task 1]
- [ ] [Task 2]
## Monitoring Recommendations
Set up alerts for:
- Core Web Vitals drops
- Crawl error spikes
- Index coverage changes
- Security issues
Validation Checkpoints
Input Validation
Output Validation
Example
User: "Check the technical SEO of cloudhosting.com"
Output:
# Technical SEO Audit Report
**Domain**: cloudhosting.com
**Audit Date**: 2024-09-15
**Pages Analyzed**: 312
## Crawlability Analysis
### Robots.txt Review
**URL**: cloudhosting.com/robots.txt
**Status**: Found
| Check | Status | Notes |
|-------|--------|-------|
| File exists | ✅ | 200 response |
| Valid syntax | ⚠️ | Wildcard pattern `Disallow: /*?` too aggressive — blocks faceted pages |
| Sitemap declared | ❌ | No Sitemap directive in robots.txt |
| Important pages blocked | ⚠️ | /pricing/ blocked by `Disallow: /pricing` rule |
| Assets blocked | ✅ | CSS/JS accessible |
**Issues Found**:
- Sitemap URL not declared in robots.txt
- `/pricing/` inadvertently blocked — high-value commercial page
### XML Sitemap Review
**Sitemap URL**: cloudhosting.com/sitemap.xml
**Status**: Found (not referenced in robots.txt)
| Check | Status | Notes |
|-------|--------|-------|
| Sitemap exists | ✅ | Valid XML, 287 URLs |
| Only indexable URLs | ❌ | 23 noindex URLs included |
| Includes lastmod | ⚠️ | All dates set to 2023-01-01 — not accurate |
**Crawlability Score**: 5/10
## Performance Analysis
### Core Web Vitals
| Metric | Mobile | Desktop | Target | Status |
|--------|--------|---------|--------|--------|
| LCP (Largest Contentful Paint) | 4.8s | 2.1s | <2.5s | ❌ Mobile / ✅ Desktop |
| FID (First Input Delay) | 45ms | 12ms | <100ms | ✅ / ✅ |
| CLS (Cumulative Layout Shift) | 0.24 | 0.08 | <0.1 | ❌ Mobile / ✅ Desktop |
| INP (Interaction to Next Paint) | 380ms | 140ms | <200ms | ❌ Mobile / ✅ Desktop |
### Additional Performance Metrics
| Metric | Value | Status |
|--------|-------|--------|
| Time to First Byte (TTFB) | 1,240ms | ❌ |
| Page Size | 3.8MB | ❌ |
| Requests | 94 | ⚠️ |
**LCP Issues**:
- Uncompressed hero image (2.4MB PNG): Convert to WebP, est. save 1.9MB
- No CDN detected: TTFB 1,240ms from origin server
**CLS Issues**:
- Ad banner at top of page injects without reserved height (0.18 shift contribution)
**Performance Score**: 3/10
## Security Analysis
### HTTPS Status
| Check | Status | Notes |
|-------|--------|-------|
| SSL certificate valid | ✅ | Expires: 2025-03-22 |
| HTTPS enforced | ⚠️ | http://cloudhosting.com returns 200 instead of 301 redirect |
| Mixed content | ❌ | 7 images loaded over HTTP on /features/ page |
| HSTS enabled | ❌ | Header not present |
**Security Score**: 5/10
## Structured Data Analysis
### Schema Markup Found
| Schema Type | Pages | Valid | Errors |
|-------------|-------|-------|--------|
| Organization | 1 (homepage) | ✅ | None |
| Article | 0 | — | Missing on 48 blog posts |
| Product | 0 | — | Missing on 5 plan pages |
| FAQ | 0 | — | Missing on 12 pages with FAQ content |
**Structured Data Score**: 3/10
## Overall Technical Health: 42/100
Score Breakdown:
█████░░░░░ Crawlability: 5/10
██████░░░░ Indexability: 6/10
███░░░░░░░ Performance: 3/10
██████░░░░ Mobile: 6/10
█████░░░░░ Security: 5/10
██████░░░░ URL Structure: 6/10
███░░░░░░░ Structured Data: 3/10
## Priority Issues
### 🔴 Critical (Fix Immediately)
1. **Mobile LCP 4.8s (target <2.5s)** — Compress hero image to WebP (est. save 1.9MB) and implement a CDN to reduce TTFB from 1,240ms to <400ms.
### 🟡 Important (Fix Soon)
2. **HTTP not redirecting to HTTPS** — Add 301 redirect from http:// to https:// and enable HSTS header. 7 mixed-content images on /features/ need URL updates.
### 🟢 Minor (Optimize)
3. **No Article/FAQ schema on blog posts** — Add Article schema to 48 blog posts and FAQ schema to 12 FAQ pages for rich result eligibility.
Technical SEO Checklist
### Crawlability
- [ ] robots.txt is valid and not blocking important content
- [ ] XML sitemap exists and is submitted to ~~search console
- [ ] No crawl errors in ~~search console
- [ ] No redirect chains or loops
### Indexability
- [ ] Important pages are indexable
- [ ] Canonical tags are correct
- [ ] No duplicate content issues
- [ ] Pagination is handled correctly
### Performance
- [ ] Core Web Vitals pass
- [ ] Page speed under 3 seconds
- [ ] Images are optimized
- [ ] JS/CSS are minified
### Mobile
- [ ] Mobile-friendly test passes
- [ ] Viewport is configured
- [ ] Touch elements are properly sized
### Security
- [ ] HTTPS is enforced
- [ ] SSL certificate is valid
- [ ] No mixed content
- [ ] Security headers present
### Structure
- [ ] URLs are clean and descriptive
- [ ] Site architecture is logical
- [ ] Internal linking is strong
Tips for Success
- Prioritize by impact - Fix critical issues first
- Monitor continuously - Use ~~search console alerts
- Test changes - Verify fixes work before deploying widely
- Document everything - Track changes for troubleshooting
- Regular audits - Schedule quarterly technical reviews
Technical SEO Severity Framework
Issue Classification
| Severity |
Impact Description |
Examples |
Response Time |
| Critical |
Prevents indexation or causes site-wide issues |
Robots.txt blocking site, noindex on key pages, site-wide 500 errors |
Same day |
| High |
Significantly impacts rankings or user experience |
Slow page speed, missing hreflang, duplicate content, redirect chains |
Within 1 week |
| Medium |
Affects specific pages or has moderate impact |
Missing schema, suboptimal canonicals, thin content pages |
Within 1 month |
| Low |
Minor optimization opportunities |
Image compression, minor CLS issues, non-essential schema missing |
Next quarter |
Technical Debt Prioritization Matrix
| Factor |
Weight |
Assessment |
| Pages affected |
30% |
Site-wide > Section > Single page |
| Revenue impact |
25% |
Revenue pages > Blog > Utility pages |
| Fix difficulty |
20% |
Config change < Template change < Code rewrite |
| Competitive impact |
15% |
Competitors passing you > parity > you ahead |
| Crawl budget waste |
10% |
High waste > Moderate > Minimal |
Core Web Vitals Optimization Quick Reference
LCP (Largest Contentful Paint) Optimization
| Root Cause |
Detection |
Fix |
| Large hero image |
PageSpeed Insights |
Serve WebP, resize to container, add loading="lazy" |
| Render-blocking CSS/JS |
DevTools Coverage |
Defer non-critical, inline critical CSS |
| Slow server response |
TTFB >800ms |
CDN, server-side caching, upgrade hosting |
| Third-party scripts |
DevTools Network |
Defer/async, use facade pattern |
CLS (Cumulative Layout Shift) Optimization
| Root Cause |
Detection |
Fix |
| Images without dimensions |
DevTools |
Add explicit width/height attributes |
| Ads/embeds without reserved space |
Visual inspection |
Set min-height on containers |
| Web fonts causing FOUT |
DevTools |
font-display: swap + preload fonts |
| Dynamic content injection |
Visual inspection |
Reserve space with CSS |
INP (Interaction to Next Paint) Optimization
| Root Cause |
Detection |
Fix |
| Long JavaScript tasks |
DevTools Performance |
Break into smaller tasks, use requestIdleCallback |
| Heavy event handlers |
DevTools |
Debounce/throttle, use passive listeners |
| Main thread blocking |
DevTools |
Web workers for heavy computation |
Reference Materials
Related Skills
1---2name: technical-seo-checker-73description: Use when the user asks to "technical SEO audit", "check page speed", "crawl issues", "Core Web Vitals", "site indexing problems", "my site is slow", "Google cannot crawl my site", "mobile issues", or "indexing problems". Performs technical SEO audits covering site speed, crawlability, indexability, mobile-friendliness, security, and structured data. Identifies technical issues preventing optimal search performance. For content and heading element issues, see on-page-seo-auditor. For link architecture, see internal-linking-optimizer.4license: Apache-2.05---67# Technical SEO Checker89This skill performs comprehensive technical SEO audits to identify issues that may prevent search engines from properly crawling, indexing, and ranking your site.1011## When to Use This Skill1213- Launching a new website14- Diagnosing ranking drops15- Pre-migration SEO audits16- Regular technical health checks17- Identifying crawl and index issues18- Improving site performance19- Fixing Core Web Vitals issues2021## What This Skill Does22231. **Crawlability Audit**: Checks robots.txt, sitemaps, crawl issues242. **Indexability Review**: Analyzes index status and blockers253. **Site Speed Analysis**: Evaluates Core Web Vitals and performance264. **Mobile-Friendliness**: Checks mobile optimization275. **Security Check**: Reviews HTTPS and security headers286. **Structured Data Audit**: Validates schema markup297. **URL Structure Analysis**: Reviews URL patterns and redirects308. **International SEO**: Checks hreflang and localization3132## How to Use3334### Full Technical Audit3536```37Perform a technical SEO audit for [URL/domain]38```3940### Specific Issue Check4142```43Check Core Web Vitals for [URL]44```4546```47Audit crawlability and indexability for [domain]48```4950### Pre-Migration Audit5152```53Technical SEO checklist for migrating [old domain] to [new domain]54```5556## Data Sources5758> See [CONNECTORS.md](../../CONNECTORS.md) for tool category placeholders.5960**With ~~web crawler + ~~page speed tool + ~~CDN connected:**61Claude can automatically crawl the entire site structure via ~~web crawler, pull Core Web Vitals and performance metrics from ~~page speed tool, analyze caching headers from ~~CDN, and fetch mobile-friendliness data. This enables comprehensive automated technical audits.6263**With manual data only:**64Ask the user to provide:651. Site URL(s) to audit662. PageSpeed Insights screenshots or reports673. robots.txt file content684. sitemap.xml URL or file6970Proceed with the full audit using provided data. Note in the output which findings are from automated crawl vs. manual review.7172## Instructions7374When a user requests a technical SEO audit:75761. **Audit Crawlability**7778 ```markdown79 ## Crawlability Analysis80 81 ### Robots.txt Review82 83 **URL**: [domain]/robots.txt84 **Status**: [Found/Not Found/Error]85 86 **Current Content**:87 ```88 [robots.txt content]89 ```90 91 | Check | Status | Notes |92 |-------|--------|-------|93 | File exists | ✅/❌ | [notes] |94 | Valid syntax | ✅/⚠️/❌ | [errors found] |95 | Sitemap declared | ✅/❌ | [sitemap URL] |96 | Important pages blocked | ✅/⚠️/❌ | [blocked paths] |97 | Assets blocked | ✅/⚠️/❌ | [CSS/JS blocked?] |98 | Correct user-agents | ✅/⚠️/❌ | [notes] |99 100 **Issues Found**:101 - [Issue 1]102 - [Issue 2]103 104 **Recommended robots.txt**:105 ```106 User-agent: *107 Allow: /108 Disallow: /admin/109 Disallow: /private/110 111 Sitemap: https://example.com/sitemap.xml112 ```113 114 ---115 116 ### XML Sitemap Review117 118 **Sitemap URL**: [URL]119 **Status**: [Found/Not Found/Error]120 121 | Check | Status | Notes |122 |-------|--------|-------|123 | Sitemap exists | ✅/❌ | [notes] |124 | Valid XML format | ✅/⚠️/❌ | [errors] |125 | In robots.txt | ✅/❌ | [notes] |126 | Submitted to ~~search console | ✅/⚠️/❌ | [notes] |127 | URLs count | [X] | [appropriate?] |128 | Only indexable URLs | ✅/⚠️/❌ | [notes] |129 | Includes priority | ✅/⚠️ | [notes] |130 | Includes lastmod | ✅/⚠️ | [accurate?] |131 132 **Issues Found**:133 - [Issue 1]134 135 ---136 137 ### Crawl Budget Analysis138 139 | Factor | Status | Impact |140 |--------|--------|--------|141 | Crawl errors | [X] errors | [Low/Med/High] |142 | Duplicate content | [X] pages | [Low/Med/High] |143 | Thin content | [X] pages | [Low/Med/High] |144 | Redirect chains | [X] found | [Low/Med/High] |145 | Orphan pages | [X] found | [Low/Med/High] |146 147 **Crawlability Score**: [X]/10148 ```1491502. **Audit Indexability**151152 ```markdown153 ## Indexability Analysis154 155 ### Index Status Overview156 157 | Metric | Count | Notes |158 |--------|-------|-------|159 | Pages in sitemap | [X] | |160 | Pages indexed | [X] | [source: site: search] |161 | Index coverage ratio | [X]% | [good if >90%] |162 163 ### Index Blockers Check164 165 | Blocker Type | Found | Pages Affected |166 |--------------|-------|----------------|167 | noindex meta tag | [X] | [list or "none"] |168 | noindex X-Robots | [X] | [list or "none"] |169 | Robots.txt blocked | [X] | [list or "none"] |170 | Canonical to other | [X] | [list or "none"] |171 | 4xx/5xx errors | [X] | [list or "none"] |172 | Redirect loops | [X] | [list or "none"] |173 174 ### Canonical Tags Audit175 176 | Check | Status | Notes |177 |-------|--------|-------|178 | Canonicals present | ✅/⚠️/❌ | [X]% of pages |179 | Self-referencing | ✅/⚠️/❌ | [notes] |180 | Consistent (HTTP/HTTPS) | ✅/⚠️/❌ | [notes] |181 | Consistent (www/non-www) | ✅/⚠️/❌ | [notes] |182 | No conflicting signals | ✅/⚠️/❌ | [notes] |183 184 ### Duplicate Content Issues185 186 | Issue Type | Count | Examples |187 |------------|-------|----------|188 | Exact duplicates | [X] | [URLs] |189 | Near duplicates | [X] | [URLs] |190 | Parameter duplicates | [X] | [URLs] |191 | WWW/non-WWW | [X] | [notes] |192 | HTTP/HTTPS | [X] | [notes] |193 194 **Indexability Score**: [X]/10195 ```1961973. **Audit Site Speed & Core Web Vitals**198199 ```markdown200 ## Performance Analysis201 202 ### Core Web Vitals203 204 | Metric | Mobile | Desktop | Target | Status |205 |--------|--------|---------|--------|--------|206 | LCP (Largest Contentful Paint) | [X]s | [X]s | <2.5s | ✅/⚠️/❌ |207 | FID (First Input Delay) | [X]ms | [X]ms | <100ms | ✅/⚠️/❌ |208 | CLS (Cumulative Layout Shift) | [X] | [X] | <0.1 | ✅/⚠️/❌ |209 | INP (Interaction to Next Paint) | [X]ms | [X]ms | <200ms | ✅/⚠️/❌ |210 211 ### Additional Performance Metrics212 213 | Metric | Value | Status |214 |--------|-------|--------|215 | Time to First Byte (TTFB) | [X]ms | ✅/⚠️/❌ |216 | First Contentful Paint (FCP) | [X]s | ✅/⚠️/❌ |217 | Speed Index | [X] | ✅/⚠️/❌ |218 | Total Blocking Time | [X]ms | ✅/⚠️/❌ |219 | Page Size | [X]MB | ✅/⚠️/❌ |220 | Requests | [X] | ✅/⚠️/❌ |221 222 ### Performance Issues223 224 **LCP Issues**:225 - [Issue]: [Impact] - [Solution]226 - [Issue]: [Impact] - [Solution]227 228 **CLS Issues**:229 - [Issue]: [Impact] - [Solution]230 231 **Resource Loading**:232 | Resource Type | Count | Size | Issues |233 |---------------|-------|------|--------|234 | Images | [X] | [X]MB | [notes] |235 | JavaScript | [X] | [X]MB | [notes] |236 | CSS | [X] | [X]KB | [notes] |237 | Fonts | [X] | [X]KB | [notes] |238 239 ### Optimization Recommendations240 241 **High Impact**:242 1. [Recommendation] - Est. improvement: [X]s243 2. [Recommendation] - Est. improvement: [X]s244 245 **Medium Impact**:246 1. [Recommendation]247 2. [Recommendation]248 249 **Performance Score**: [X]/10250 ```2512524. **Audit Mobile-Friendliness**253254 ```markdown255 ## Mobile Optimization Analysis256 257 ### Mobile-Friendly Test258 259 | Check | Status | Notes |260 |-------|--------|-------|261 | Mobile-friendly overall | ✅/❌ | [notes] |262 | Viewport configured | ✅/❌ | [viewport tag] |263 | Text readable | ✅/⚠️/❌ | Font size: [X]px |264 | Tap targets sized | ✅/⚠️/❌ | [notes] |265 | Content fits viewport | ✅/❌ | [notes] |266 | No horizontal scroll | ✅/❌ | [notes] |267 268 ### Responsive Design Check269 270 | Element | Desktop | Mobile | Issues |271 |---------|---------|--------|--------|272 | Navigation | [status] | [status] | [notes] |273 | Images | [status] | [status] | [notes] |274 | Forms | [status] | [status] | [notes] |275 | Tables | [status] | [status] | [notes] |276 | Videos | [status] | [status] | [notes] |277 278 ### Mobile-First Indexing279 280 | Check | Status | Notes |281 |-------|--------|-------|282 | Mobile version has all content | ✅/⚠️/❌ | [notes] |283 | Mobile has same structured data | ✅/⚠️/❌ | [notes] |284 | Mobile has same meta tags | ✅/⚠️/❌ | [notes] |285 | Mobile images have alt text | ✅/⚠️/❌ | [notes] |286 287 **Mobile Score**: [X]/10288 ```2892905. **Audit Security & HTTPS**291292 ```markdown293 ## Security Analysis294 295 ### HTTPS Status296 297 | Check | Status | Notes |298 |-------|--------|-------|299 | SSL certificate valid | ✅/❌ | Expires: [date] |300 | HTTPS enforced | ✅/❌ | [redirects properly?] |301 | Mixed content | ✅/⚠️/❌ | [X] issues |302 | HSTS enabled | ✅/⚠️ | [notes] |303 | Certificate chain | ✅/⚠️/❌ | [notes] |304 305 ### Security Headers306 307 | Header | Present | Value | Recommended |308 |--------|---------|-------|-------------|309 | Content-Security-Policy | ✅/❌ | [value] | [recommendation] |310 | X-Frame-Options | ✅/❌ | [value] | DENY or SAMEORIGIN |311 | X-Content-Type-Options | ✅/❌ | [value] | nosniff |312 | X-XSS-Protection | ✅/❌ | [value] | 1; mode=block |313 | Referrer-Policy | ✅/❌ | [value] | [recommendation] |314 315 **Security Score**: [X]/10316 ```3173186. **Audit URL Structure**319320 ```markdown321 ## URL Structure Analysis322 323 ### URL Pattern Review324 325 | Check | Status | Notes |326 |-------|--------|-------|327 | HTTPS URLs | ✅/⚠️/❌ | [X]% HTTPS |328 | Lowercase URLs | ✅/⚠️/❌ | [notes] |329 | No special characters | ✅/⚠️/❌ | [notes] |330 | Readable/descriptive | ✅/⚠️/❌ | [notes] |331 | Appropriate length | ✅/⚠️/❌ | Avg: [X] chars |332 | Keywords in URLs | ✅/⚠️/❌ | [notes] |333 | Consistent structure | ✅/⚠️/❌ | [notes] |334 335 ### URL Issues Found336 337 | Issue Type | Count | Examples |338 |------------|-------|----------|339 | Dynamic parameters | [X] | [URLs] |340 | Session IDs in URLs | [X] | [URLs] |341 | Uppercase characters | [X] | [URLs] |342 | Special characters | [X] | [URLs] |343 | Very long URLs (>100) | [X] | [URLs] |344 345 ### Redirect Analysis346 347 | Check | Status | Notes |348 |-------|--------|-------|349 | Redirect chains | [X] found | [max chain length] |350 | Redirect loops | [X] found | [URLs] |351 | 302 → 301 needed | [X] found | [URLs] |352 | Broken redirects | [X] found | [URLs] |353 354 **URL Score**: [X]/10355 ```3563577. **Audit Structured Data**358359 > **CORE-EEAT alignment**: Schema markup quality maps to O05 (Schema Markup) in the CORE-EEAT benchmark. See [content-quality-auditor](../../cross-cutting/content-quality-auditor/) for full content quality audit.360361 ```markdown362 ## Structured Data Analysis363 364 ### Schema Markup Found365 366 | Schema Type | Pages | Valid | Errors |367 |-------------|-------|-------|--------|368 | [Type 1] | [X] | ✅/❌ | [errors] |369 | [Type 2] | [X] | ✅/❌ | [errors] |370 371 ### Validation Results372 373 **Errors**:374 - [Error 1]: [affected pages] - [solution]375 - [Error 2]: [affected pages] - [solution]376 377 **Warnings**:378 - [Warning 1]: [notes]379 380 ### Missing Schema Opportunities381 382 | Page Type | Current Schema | Recommended |383 |-----------|----------------|-------------|384 | Blog posts | [current] | Article + FAQ |385 | Products | [current] | Product + Review |386 | Homepage | [current] | Organization |387 388 **Structured Data Score**: [X]/10389 ```3903918. **Audit International SEO (if applicable)**392393 ```markdown394 ## International SEO Analysis395 396 ### Hreflang Implementation397 398 | Check | Status | Notes |399 |-------|--------|-------|400 | Hreflang tags present | ✅/❌ | [notes] |401 | Self-referencing | ✅/⚠️/❌ | [notes] |402 | Return tags present | ✅/⚠️/❌ | [notes] |403 | Valid language codes | ✅/⚠️/❌ | [notes] |404 | x-default tag | ✅/⚠️ | [notes] |405 406 ### Language/Region Targeting407 408 | Language | URL | Hreflang | Status |409 |----------|-----|----------|--------|410 | [en-US] | [URL] | [tag] | ✅/⚠️/❌ |411 | [es-ES] | [URL] | [tag] | ✅/⚠️/❌ |412 413 **International Score**: [X]/10414 ```4154169. **Generate Technical Audit Summary**417418 ```markdown419 # Technical SEO Audit Report420 421 **Domain**: [domain]422 **Audit Date**: [date]423 **Pages Analyzed**: [X]424 425 ## Overall Technical Health: [X]/100426 427 ```428 Score Breakdown:429 ████████░░ Crawlability: 8/10430 ███████░░░ Indexability: 7/10431 █████░░░░░ Performance: 5/10432 ████████░░ Mobile: 8/10433 █████████░ Security: 9/10434 ██████░░░░ URL Structure: 6/10435 █████░░░░░ Structured Data: 5/10436 ```437 438 ## Critical Issues (Fix Immediately)439 440 1. **[Issue]**: [Impact] 441 - Affected: [pages/scope]442 - Solution: [specific fix]443 - Priority: 🔴 Critical444 445 2. **[Issue]**: [Impact]446 - Affected: [pages/scope]447 - Solution: [specific fix]448 - Priority: 🔴 Critical449 450 ## High Priority Issues451 452 1. **[Issue]**: [Solution]453 2. **[Issue]**: [Solution]454 455 ## Medium Priority Issues456 457 1. **[Issue]**: [Solution]458 2. **[Issue]**: [Solution]459 460 ## Quick Wins461 462 These can be fixed quickly for immediate improvement:463 464 1. [Quick fix 1]465 2. [Quick fix 2]466 3. [Quick fix 3]467 468 ## Implementation Roadmap469 470 ### Week 1: Critical Fixes471 - [ ] [Task 1]472 - [ ] [Task 2]473 474 ### Week 2-3: High Priority475 - [ ] [Task 1]476 - [ ] [Task 2]477 478 ### Week 4+: Optimization479 - [ ] [Task 1]480 - [ ] [Task 2]481 482 ## Monitoring Recommendations483484 Set up alerts for:485 - Core Web Vitals drops486 - Crawl error spikes487 - Index coverage changes488 - Security issues489 ```490491## Validation Checkpoints492493### Input Validation494- [ ] Site URL or domain clearly specified495- [ ] Access to technical data (robots.txt, sitemap, or crawl results)496- [ ] Performance metrics available (via ~~page speed tool or screenshots)497498### Output Validation499- [ ] Every recommendation cites specific data points (not generic advice)500- [ ] All issues include affected URLs or page counts501- [ ] Performance metrics include actual numbers with units (seconds, KB, etc.)502- [ ] Source of each data point clearly stated (~~web crawler data, ~~page speed tool, user-provided, or estimated)503504## Example505506**User**: "Check the technical SEO of cloudhosting.com"507508**Output**:509510```markdown511# Technical SEO Audit Report512513**Domain**: cloudhosting.com514**Audit Date**: 2024-09-15515**Pages Analyzed**: 312516517## Crawlability Analysis518519### Robots.txt Review520521**URL**: cloudhosting.com/robots.txt522**Status**: Found523524| Check | Status | Notes |525|-------|--------|-------|526| File exists | ✅ | 200 response |527| Valid syntax | ⚠️ | Wildcard pattern `Disallow: /*?` too aggressive — blocks faceted pages |528| Sitemap declared | ❌ | No Sitemap directive in robots.txt |529| Important pages blocked | ⚠️ | /pricing/ blocked by `Disallow: /pricing` rule |530| Assets blocked | ✅ | CSS/JS accessible |531532**Issues Found**:533- Sitemap URL not declared in robots.txt534- `/pricing/` inadvertently blocked — high-value commercial page535536### XML Sitemap Review537538**Sitemap URL**: cloudhosting.com/sitemap.xml539**Status**: Found (not referenced in robots.txt)540541| Check | Status | Notes |542|-------|--------|-------|543| Sitemap exists | ✅ | Valid XML, 287 URLs |544| Only indexable URLs | ❌ | 23 noindex URLs included |545| Includes lastmod | ⚠️ | All dates set to 2023-01-01 — not accurate |546547**Crawlability Score**: 5/10548549## Performance Analysis550551### Core Web Vitals552553| Metric | Mobile | Desktop | Target | Status |554|--------|--------|---------|--------|--------|555| LCP (Largest Contentful Paint) | 4.8s | 2.1s | <2.5s | ❌ Mobile / ✅ Desktop |556| FID (First Input Delay) | 45ms | 12ms | <100ms | ✅ / ✅ |557| CLS (Cumulative Layout Shift) | 0.24 | 0.08 | <0.1 | ❌ Mobile / ✅ Desktop |558| INP (Interaction to Next Paint) | 380ms | 140ms | <200ms | ❌ Mobile / ✅ Desktop |559560### Additional Performance Metrics561562| Metric | Value | Status |563|--------|-------|--------|564| Time to First Byte (TTFB) | 1,240ms | ❌ |565| Page Size | 3.8MB | ❌ |566| Requests | 94 | ⚠️ |567568**LCP Issues**:569- Uncompressed hero image (2.4MB PNG): Convert to WebP, est. save 1.9MB570- No CDN detected: TTFB 1,240ms from origin server571572**CLS Issues**:573- Ad banner at top of page injects without reserved height (0.18 shift contribution)574575**Performance Score**: 3/10576577## Security Analysis578579### HTTPS Status580581| Check | Status | Notes |582|-------|--------|-------|583| SSL certificate valid | ✅ | Expires: 2025-03-22 |584| HTTPS enforced | ⚠️ | http://cloudhosting.com returns 200 instead of 301 redirect |585| Mixed content | ❌ | 7 images loaded over HTTP on /features/ page |586| HSTS enabled | ❌ | Header not present |587588**Security Score**: 5/10589590## Structured Data Analysis591592### Schema Markup Found593594| Schema Type | Pages | Valid | Errors |595|-------------|-------|-------|--------|596| Organization | 1 (homepage) | ✅ | None |597| Article | 0 | — | Missing on 48 blog posts |598| Product | 0 | — | Missing on 5 plan pages |599| FAQ | 0 | — | Missing on 12 pages with FAQ content |600601**Structured Data Score**: 3/10602603## Overall Technical Health: 42/100604605```606Score Breakdown:607█████░░░░░ Crawlability: 5/10608██████░░░░ Indexability: 6/10609███░░░░░░░ Performance: 3/10610██████░░░░ Mobile: 6/10611█████░░░░░ Security: 5/10612██████░░░░ URL Structure: 6/10613███░░░░░░░ Structured Data: 3/10614```615616## Priority Issues617618### 🔴 Critical (Fix Immediately)6191. **Mobile LCP 4.8s (target <2.5s)** — Compress hero image to WebP (est. save 1.9MB) and implement a CDN to reduce TTFB from 1,240ms to <400ms.620621### 🟡 Important (Fix Soon)6222. **HTTP not redirecting to HTTPS** — Add 301 redirect from http:// to https:// and enable HSTS header. 7 mixed-content images on /features/ need URL updates.623624### 🟢 Minor (Optimize)6253. **No Article/FAQ schema on blog posts** — Add Article schema to 48 blog posts and FAQ schema to 12 FAQ pages for rich result eligibility.626```627628## Technical SEO Checklist629630```markdown631### Crawlability632- [ ] robots.txt is valid and not blocking important content633- [ ] XML sitemap exists and is submitted to ~~search console634- [ ] No crawl errors in ~~search console635- [ ] No redirect chains or loops636637### Indexability 638- [ ] Important pages are indexable639- [ ] Canonical tags are correct640- [ ] No duplicate content issues641- [ ] Pagination is handled correctly642643### Performance644- [ ] Core Web Vitals pass645- [ ] Page speed under 3 seconds646- [ ] Images are optimized647- [ ] JS/CSS are minified648649### Mobile650- [ ] Mobile-friendly test passes651- [ ] Viewport is configured652- [ ] Touch elements are properly sized653654### Security655- [ ] HTTPS is enforced656- [ ] SSL certificate is valid657- [ ] No mixed content658- [ ] Security headers present659660### Structure661- [ ] URLs are clean and descriptive662- [ ] Site architecture is logical663- [ ] Internal linking is strong664```665666## Tips for Success6676681. **Prioritize by impact** - Fix critical issues first6692. **Monitor continuously** - Use ~~search console alerts6703. **Test changes** - Verify fixes work before deploying widely6714. **Document everything** - Track changes for troubleshooting6725. **Regular audits** - Schedule quarterly technical reviews673674## Technical SEO Severity Framework675676### Issue Classification677678| Severity | Impact Description | Examples | Response Time |679|----------|-------------------|---------|---------------|680| **Critical** | Prevents indexation or causes site-wide issues | Robots.txt blocking site, noindex on key pages, site-wide 500 errors | Same day |681| **High** | Significantly impacts rankings or user experience | Slow page speed, missing hreflang, duplicate content, redirect chains | Within 1 week |682| **Medium** | Affects specific pages or has moderate impact | Missing schema, suboptimal canonicals, thin content pages | Within 1 month |683| **Low** | Minor optimization opportunities | Image compression, minor CLS issues, non-essential schema missing | Next quarter |684685### Technical Debt Prioritization Matrix686687| Factor | Weight | Assessment |688|--------|--------|-----------|689| Pages affected | 30% | Site-wide > Section > Single page |690| Revenue impact | 25% | Revenue pages > Blog > Utility pages |691| Fix difficulty | 20% | Config change < Template change < Code rewrite |692| Competitive impact | 15% | Competitors passing you > parity > you ahead |693| Crawl budget waste | 10% | High waste > Moderate > Minimal |694695## Core Web Vitals Optimization Quick Reference696697### LCP (Largest Contentful Paint) Optimization698699| Root Cause | Detection | Fix |700|-----------|-----------|-----|701| Large hero image | PageSpeed Insights | Serve WebP, resize to container, add loading="lazy" |702| Render-blocking CSS/JS | DevTools Coverage | Defer non-critical, inline critical CSS |703| Slow server response | TTFB >800ms | CDN, server-side caching, upgrade hosting |704| Third-party scripts | DevTools Network | Defer/async, use facade pattern |705706### CLS (Cumulative Layout Shift) Optimization707708| Root Cause | Detection | Fix |709|-----------|-----------|-----|710| Images without dimensions | DevTools | Add explicit width/height attributes |711| Ads/embeds without reserved space | Visual inspection | Set min-height on containers |712| Web fonts causing FOUT | DevTools | font-display: swap + preload fonts |713| Dynamic content injection | Visual inspection | Reserve space with CSS |714715### INP (Interaction to Next Paint) Optimization716717| Root Cause | Detection | Fix |718|-----------|-----------|-----|719| Long JavaScript tasks | DevTools Performance | Break into smaller tasks, use requestIdleCallback |720| Heavy event handlers | DevTools | Debounce/throttle, use passive listeners |721| Main thread blocking | DevTools | Web workers for heavy computation |722723## Reference Materials724725- [robots.txt Reference](./references/robots-txt-reference.md) - Syntax guide, templates, common configurations726- [HTTP Status Codes](./references/http-status-codes.md) - SEO impact of each status code, redirect best practices727728## Related Skills729730- [on-page-seo-auditor](../on-page-seo-auditor/) — On-page SEO audit731- [schema-markup-generator](../../build/schema-markup-generator/) — Fix schema issues732- [performance-reporter](../../monitor/performance-reporter/) — Monitor improvements733- [internal-linking-optimizer](../internal-linking-optimizer/) — Fix link issues734- [alert-manager](../../monitor/alert-manager/) — Set up alerts for technical issues found735- [content-quality-auditor](../../cross-cutting/content-quality-auditor/) — Full 80-item CORE-EEAT audit736