Audit Pillars — Complete Reference
All 24 SEO audit pillars evaluated by SEO CodeBase Auditor. Each pillar includes its scope, key checks, and which project types it applies to.
Pillar Overview
| # | Pillar | Applies To |
|---|---|---|
| 1 | On-Page SEO | All sites |
| 2 | Technical SEO | All sites |
| 3 | Performance SEO (Core Web Vitals) | All sites |
| 4 | URL Structure & Site Architecture | All sites |
| 5 | Mobile SEO | All sites |
| 6 | Image SEO | All sites |
| 7 | Semantic SEO & Content Optimization | Content-heavy sites |
| 8 | Internal Linking & Link Equity | All sites |
| 9 | XML Sitemap & Robots.txt | All sites |
| 10 | Social & Regional SEO | All sites |
| 11 | Security SEO | All sites |
| 12 | Accessibility (a11y) SEO | All sites |
| 13 | E-Commerce SEO | E-commerce only |
| 14 | Blog & Content SEO | Blog/content sites |
| 15 | JavaScript Framework SEO | Framework-detected sites |
| 16 | E-E-A-T Signals | Content-heavy, YMYL sites |
| 17 | Rich Results Eligibility | All sites |
| 18 | AI / SGE / LLM / Voice Search | All sites |
| 19 | CI/CD & Automation | All sites |
| 20 | Migration SEO | Sites undergoing migration |
| 21 | Content Pruning & Consolidation | Sites with 50+ pages |
| 22 | Third-Party Script Audit | All sites |
| 23 | Competitor SEO Analysis | All sites (requires competitor URLs) |
| 24 | Video & YouTube SEO | Sites with video embeds |
Pillar 1: On-Page SEO All Sites
Scope: Title tags, meta descriptions, heading hierarchy, anchor mechanics, viewport, charset, language, keyword cannibalization, CTR optimization, SERP snippet quality, structured content, table optimization, external links, keyword placement scoring.
Key Checks
- Title tag existence, 50-60 char length, front-loaded primary keyword, brand suffix, uniqueness
- Missing title tag detection (Critical finding)
- Short title tag remediation (<40 chars)
- Meta description existence, 150-160 char length, actionable copywriting, keyword inclusion
- Meta description A/B testing framework
- Exactly one
<h1>per page, sequential heading nesting (h2→h3→h4) - Non-descriptive anchor text ("click here", "read more")
- Viewport meta tag:
width=device-width, initial-scale=1 - Charset:
<meta charset="utf-8">as first meta tag - Language attribute:
<html lang="..."> - Title & H1 alignment (identical = thin content signal)
- Cross-page keyword cannibalization
- CTR optimization: power words, emotional triggers, numbers in titles
- SERP snippet quality: truncation risk, brand inclusion, CTA language
- Structured content layout: bullet lists, bolding, short paragraphs
- Table optimization for featured snippet eligibility
- External link quality: relevance, authority,
rel="noopener noreferrer" - Keyword placement scoring across 5 zones: title, H1, URL slug, first paragraph, H2
Keyword Placement Score
| Score | Rating |
|---|---|
| 5/5 | Optimal |
| 3-4/5 | Needs improvement |
| <3/5 | Critical keyword placement gap |
Pillar 2: Technical SEO All Sites
Scope: Indexability matrix, crawl budget, structured data, canonical routing, robots meta, staging detection, robots.txt, JavaScript SEO, render-blocking, HTML5 semantics, deprecated HTML, HTTP status codes, soft 404s, redirect loops, broken links, parameterized URLs, duplicate pages/metadata, infinite crawl traps, compression, caching, CDN, server response patterns.
Key Checks
- Indexability Matrix: For every URL: indexable / non-indexable / conflicting directives / blocked
- Crawl Budget Assessment: Wasted crawl on parameters, infinite spaces, low-value pages
- Structured Data Ecosystem: JSON-LD validation, missing types by project
- Canonical Routing: Correct preferred URL, no trailing/protocol/www mismatches
- Staging/Dev Detection: Publicly accessible staging URLs, leaked canonical/OG references
- Robots.txt Deep Audit: User-agent, Disallow, Allow, Sitemap, Crawl-delay
- JavaScript SEO: CSR detection, SSR/SSG fallback recommendations
- Render-Blocking Resources: CSS/JS in
<head>without defer/async - HTML5 Semantic Structure:
<header>,<nav>,<main>,<article>,<section> - Deprecated HTML:
<font>,<center>,<marquee>,bgcolor,align - HTTP Status Code Inventory: 200 on error pages, 302→301, 5xx, missing 404s
- Soft 404 Detection: 200 status with thin/404 messaging content
- Redirect Loop Detection: A→B→A loops, chains >3 hops
- Broken Links: Internal href verification against file system
- Duplicate Pages: WWW vs non-www, trailing slash, HTTP vs HTTPS, parameters
- Compression: gzip/brotli on HTML, CSS, JS, JSON, SVG, fonts
- CDN Analysis: Cloudflare, Akamai, Fastly, CloudFront detection
- Server Response: TTFB >500ms flagging, Server-Timing API
Pillar 3: Performance SEO (Core Web Vitals) All Sites
Scope: LCP, FCP, CLS, INP, TTFB, image optimization, CSS/JS minification, preconnect/preload/prefetch, font loading, unused CSS/JS, DOM size, mobile vs desktop splits, CWV priority scoring.
Core Web Vital Thresholds
| Metric | Good | Needs Improvement | Poor |
|---|---|---|---|
| LCP | ≤2.5s | 2.5-4.0s | >4.0s |
| FCP | ≤1.8s | 1.8-3.0s | >3.0s |
| CLS | ≤0.1 | 0.1-0.25 | >0.25 |
| INP | ≤200ms | 200-500ms | >500ms |
| TTFB | ≤800ms | 800-1800ms | >1800ms |
Key Checks
- LCP candidate image: no
loading="lazy", explicitwidth/height, preload with<link rel="preload"> - FCP: render-blocking CSS/JS, font-display strategy
- CLS: explicit dimensions on all images/iframes/embeds, reserved ad slots,
font-display: swap - INP: DOM size >1500 nodes, inline event handlers, long tasks >50ms
- TTFB: DNS, TLS, redirect chains, server processing
- Image below fold:
loading="lazy", WebP/AVIF format, compression - CSS/JS minification, bundling opportunities
- Preconnect for critical third-party origins
- Font loading:
font-display: swap, WOFF2, subset strategy - DOM complexity: >1500 nodes, >30 nesting levels
Pillar 4: URL Structure & Site Architecture All Sites
Scope: URL hierarchy, length, slugs, trailing slashes, WWW consistency, protocol, pagination, silo architecture, orphan pages, redirect chains.
Key Checks
- Logical hierarchy:
/category/productnot/p?id=123 - URL length flag: >75-100 characters
- Kebab-case slugs with target keywords, no underscores
- Slug Quality: keyword inclusion, stop word bloat, meaningfulness, length >5 words
- Trailing slash consistency
- WWW vs non-WWW canonical consistency
- HTTPS protocol enforcement
- Pagination:
rel="next"/rel="prev"or view-all canonical - Silo architecture: topical clustering and interlinking
- Orphan pages: files not linked from any page
http-equiv="refresh"redirect flagging
Pillar 5: Mobile SEO All Sites
Scope: Viewport configuration, responsive design, touch targets, font size, mobile structured data, interstitials.
Key Checks
- Viewport:
width=device-width, initial-scale=1— nouser-scalable=no - Responsive CSS: media queries or responsive framework
- Touch targets: ≥48×48 CSS pixels, ≥8px gap
- Font size: ≥16px body text (iOS zoom prevention)
- Structured data mobile rendering
- Full-screen overlay / intrusive interstitial detection
Pillar 6: Image SEO All Sites
Scope: Alt text, format, dimensions, responsive images, image sitemap, file names, lazy loading.
Key Checks
- Alt text: empty, missing, or purely decorative flagging
- Format: legacy (GIF, BMP, TIFF) → WebP/AVIF recommendation
- Explicit
widthandheighton all<img>tags <picture>orsrcsetfor large hero images- Image sitemap recommendation (>10 meaningful images)
- Descriptive, hyphenated file names (flag
IMG_001.jpg) loading="lazy"below fold, no lazy on LCP candidates
Pillar 7: Semantic SEO & Content Optimization Content-Heavy
Scope: Search intent mapping, query intent, keyword cannibalization, content depth, readability, keyword stuffing/density, semantic relationships, entity coverage, knowledge graph alignment, topical gaps, topic clustering, passage optimization, taxonomy quality, information gain, NLP readiness, content completeness, freshness, anchor text diversity.
Key Checks
- Intent mapping: informational, navigational, transactional, commercial, comparison, how-to, definitional
- Content depth thresholds: general 300w, e-commerce category 100w, blog 200w
- Readability: Flesch-Kincaid grade 8-10, Gunning Fog 12-14
- Keyword density: >3% = stuffing risk, <0.5% = insufficient relevance
- Semantic co-occurrence gaps (e.g., "vegan recipe" should include "plant-based", "dairy-free")
- Entity density: <3 entities per 100 words = insufficient
- Knowledge Graph alignment: use Google's entity labels
- Topical completeness score: 0-100% rubric
- Passage optimization: standalone ranking potential per section
- Information gain: flag pages with >70% content overlap
- Content freshness:
datePublished/dateModifiedsignals
Pillar 8: Internal Linking & Link Equity All Sites
Scope: Orphan pages, link depth, broken links, nofollow abuse, navigation structure, footer links, breadcrumbs, link equity silos.
Key Checks
- Orphan pages: zero internal links pointing to them
- Link depth: >3 clicks from home page for important content
- Broken internal links: href verification against file system
- Unnecessary
rel="nofollow"on internal links <nav>semantic element for main navigation- Footer links: important pages included, not just legal
- BreadcrumbList schema:
<ol>withitemscope/itemtype - Hub-and-spoke link equity distribution
Pillar 9: XML Sitemap & Robots.txt All Sites
Scope: Robots.txt existence/directives, sitemap structure/coverage, sitemap index, image/video sitemaps, IndexNow protocol, sitemap URL inventory analysis.
Key Checks
- Robots.txt: User-agent, Disallow, Allow, Sitemap, Crawl-delay validation
- Sitemap existence: namespace,
<lastmod>,<changefreq>,<priority> - Sitemap coverage: all indexable pages listed, non-indexable excluded
- Sitemap URL Inventory: Categorize every URL by type, detect low-value URL inflation, recommend cleanup
- Sitemap index for >50k URLs
- Image/video sitemap extensions when relevant
IndexNow Protocol
POST https://api.indexnow.org/IndexNow
Content-Type: application/json
{
"host": "www.example.com",
"key": "<your-key>",
"keyLocation": "https://www.example.com/<key>.txt",
"urlList": ["https://www.example.com/page1"]
}
Response codes:
200 (success), 400 (invalid), 403 (key invalid), 422 (URL mismatch), 429 (rate limited)Pillar 10: Social & Regional SEO All Sites
Scope: Open Graph, Twitter Cards, OG/Twitter quality, Local Business schema, NAP consistency, hreflang, geo-targeting, social share buttons.
OG/Twitter Quality Checks
og:imagedimensions: flag <1200×630px or >5MBog:titlevs<title>divergence: flag >50% character differencetwitter:cardtype:summaryvssummary_large_imageappropriatenessog:descriptionquality: flag identical to meta description or <50 chars
Regional Checks
- LocalBusiness schema:
address,telephone,openingHours,geo,areaServed - NAP consistency across all pages
- Hreflang: self-referencing, x-default, no contradictory targets
- Google Business Profile recommendations
Pillar 11: Security SEO All Sites
Scope: HTTPS enforcement, HSTS, mixed content, form security, external link security.
Key Checks
- All internal links, canonicals, OG URLs use
https:// - Mixed content:
http://resources onhttps://pages - Forms:
http://action URLs, missingnameattributes - External links without
rel="noopener noreferrer"
Pillar 12: Accessibility (a11y) SEO All Sites
Scope: ARIA landmarks, form labels, focus order, color contrast, skip navigation, video accessibility, empty interactive elements, document language.
Key Checks
- ARIA landmarks:
<header>,<nav>,<main>,<footer>,<aside> - Form labels:
<label>oraria-labelon all inputs - Focus order: no
tabindex>0 - Color contrast: WCAG AA 4.5:1 minimum
- Skip navigation link as first focusable element
<video>without<track>(captions)- Empty
<a>or<button>elements langattribute matches content language
Pillar 13: E-Commerce SEO E-Commerce Only
Scope: Product/Review schema, availability, pricing, category pages, faceted navigation, breadcrumbs, product images.
Key Checks
- Product schema:
name,description,offers,image,sku,brand,aggregateRating - Review schema:
author,reviewRating,itemReviewed - Availability:
in_stock,out_of_stock,preorder - Price format:
price,priceCurrency - Category page content: <100 words = thin
- Faceted navigation: filter/sort URL parameters →
noindex - BreadcrumbList schema on product/category pages
Pillar 14: Blog & Content SEO Blog/Content
Scope: Article/Author schema, blog listing, related content, category/tag SEO, reading time, TOC, freshness.
Key Checks
- Article schema:
headline,author,datePublished,dateModified,publisher,image - Person schema for author bio sections
- Paginated blog archive: canonical + prev/next
- Related posts with internal links
- Category/tag pages: thin/duplicate content →
noindex - Reading time indicator
- Anchor-linked table of contents for long-form
- Posts >1 year without
dateModified
Pillar 15: JavaScript Framework SEO Framework-Detected
15a: Next.js / Nuxt / Remix (SSR/SSG/ISR)
- Rendering strategy detection (SSR, SSG, ISR, CSR)
getStaticPropsvsgetServerSidePropsaudit- ISR
revalidatevalues - Framework-level meta API (
generateMetadata,useHead) next/image/nuxt-imgusagenext/link/<NuxtLink>for internal routesgetStaticPaths/ dynamic route coverage- Middleware / edge function crawlability
15b: SPA (React / Vue / Svelte / Angular)
- CSR detection: content requires JS execution
- Hash-based routing (
#/route) → non-crawlable - Route-level code splitting, bundle size >500KB
- Client-side meta injection (og:image missing from scrapers)
- Skeleton/loading state interference with rendering budget
15c: Static Site Generators (Astro / Eleventy / Hugo)
- Build output: fully rendered HTML without JS
- Partial hydration audit (Astro:
client:loadvsclient:idlevsclient:visible) - Content collection frontmatter schema consistency
Pillar 16: E-E-A-T Signals Content/YMYL
Scope: Experience, expertise, authoritativeness, trustworthiness — author attribution, About/Contact pages, trust page reachability, external citations, content credibility, reviews, YMYL compliance, reputation indicators, brand authority.
Two-Layer Trust Page Verification
- Exists — Page has substantive content (not placeholder)
- Reachable — Linked from navigation or within 2 clicks of homepage
Automated Contact Pathway Detection
- Dedicated Contact Page (highest trust)
- About Page with Contact Details
- Footer Contact Info
- Social Media Links Only (lowest — flag for local businesses)
Key Checks
- Experience signals: first-person pronouns + action verbs, original photos, dates/specifics
- Author bylines: full name, professional photo, credential disclosure, social links
- Author schema:
Personwithname,url,sameAs - About page: entity details, team credentials, expertise signals
- Contact page: verifiable address, email, phone
- External citations: .gov/.edu, peer-reviewed, industry standards
- Content credibility: date-appropriate references, cited sources, claims-to-evidence ratio
- Review/testimonial verification: Review schema, third-party platform integration
- YMYL compliance: credentials, disclaimers,
dateModifiedwithin 12 months - Brand consistency across title tags, copyright, schema, OG, NAP
Pillar 17: Rich Results Eligibility All Sites
Scope: Rich result opportunity mapping, required fields validation, publishing entity logo, carousel eligibility.
| Rich Result | Schema Required | Key Required Fields |
|---|---|---|
| Article | Article, NewsArticle, BlogPosting | headline, image, datePublished, author, publisher.logo |
| Product | Product | name, image, offers.price, offers.availability |
| Review Snippet | Review | itemReviewed, reviewRating.ratingValue, author |
| Recipe | Recipe | name, image, recipeIngredient, recipeInstructions |
| FAQ | FAQPage | mainEntity with Question + AcceptedAnswer |
| How-To | HowTo | name, step with Step + text |
| Local Business | LocalBusiness | name, address, telephone |
| BreadcrumbList | BreadcrumbList | itemListElement with ListItem |
| Sitelinks Search | WebSite | potentialAction + SearchAction |
| Video | VideoObject | name, description, thumbnailUrl, uploadDate |
| Event | Event | name, startDate, location/virtualLocation |
| Job Posting | JobPosting | title, description, datePosted, hiringOrganization |
| Course | Course | name, description, provider |
| Organization | Organization | name, logo (112×112px min), url, sameAs |
Pillar 18: AI / SGE / LLM / Voice Search Optimization All Sites
Scope: AI Overview readiness, llms.txt, conversational keywords, definitional content, structured Q&A, entity richness, brand as entity, voice search optimization, featured snippet targeting.
Key Checks
- AI Overview extraction: clear, concise answers early in content
llms.txtat root: site summary for LLM discoverability- Conversational long-tail question phrases
- Definitional paragraph blocks (first authoritative definition)
- FAQPage schema for Q&A content
- Entity density: <3 entities per 100 words = insufficient
- Brand represented as entity with
@idin schema - Voice search: standalone 30-50 word answers to likely queries
- Featured snippet formatting: paragraph, list, table snippets
- QA fragment structuring: H2/H3 question heading → 1-2 sentence answer → detail
Pillar 19: CI/CD & Automation All Sites
Scope: Pre-commit hooks, GitHub Actions, GitLab CI, Lighthouse CI, HTML proofer, scheduled audits, Slack/email alerts, deploy hooks, A/B SEO testing.
Pre-Commit Hook Checks
- HTML validation
- Meta tag presence on new/modified HTML
- Alt text verification on new images
- Internal link validity
- Schema syntax validation
GitHub Actions Workflow Triggers
- Push/PR to main/staging
- Generate
seo_audit_report.mdas artifact - Comment severity summary on PRs
- Fail pipeline on Critical issues
Pillar 20: Migration SEO Migration
Scope: URL mapping, redirect chains, canonical conflicts, protocol migration, domain change checklist, content fidelity, structured data migration, rollback readiness.
Domain Migration Checklist
- Update all internal links
- Update canonical URLs
- Update OG/Twitter URLs
- Update sitemap URLs
- Update robots.txt Sitemap directive
- Google Search Console change of address
- Maintain old URL infrastructure 6+ months
Pillar 21: Content Pruning & Consolidation 50+ Pages
Scope: Thin content, duplicate/near-duplicate, orphan content, low-value page types, consolidation strategy, crawl budget recovery, redirect cleanup, content hub restructuring.
| Action | When |
|---|---|
| Merge | Combine with stronger related page, 301 redirect weaker |
| Rewrite | Expand to minimum viability threshold |
| Remove | 410 Gone or noindex (no link equity) |
| Noindex | Keep for internal users, remove from index |
Pillar 22: Third-Party Script Audit All Sites
Scope: Script inventory, critical path impact, tag manager audit, chat widget impact, ad script impact, analytics, font loading, consent mode, performance budgets.
Key Checks
- Render-blocking detection (loaded in
<head>without defer/async) - GTM container position (must be in
<head>) - Chat widget: synchronous loading, >200KB bundles, CLS from injected nodes
- Ad scripts: layout shift without reserved slots, content-delaying load
- Third-party consolidation opportunities
- Consent Mode v2 async loading
- Script waterfall analysis
- Performance budget recommendation
Pillar 23: Competitor SEO Analysis All Sites
Scope: Competitor identification, content depth comparison, keyword positioning, semantic coverage, site architecture, internal linking, SERP feature analysis, schema adoption, technical benchmarking, UX patterns.
Output
| Competitor | Strengths | Weaknesses | Opportunities |
|---|---|---|---|
| Competitor A | Better entity coverage, richer schema | Slower page speed, weaker internal linking | Add entity coverage, maintain speed advantage |
Pillar 24: Video & YouTube SEO Video Sites
Scope: Video content inventory, VideoObject schema, YouTube embed best practices, transcripts/captions, title/description/tag optimization, thumbnails, video sitemaps, channel signals, accessibility, rich result eligibility, performance impact.
Key Checks
- VideoObject schema:
name,description,thumbnailUrl,uploadDate,duration - YouTube privacy mode:
youtube-nocookie.com loading="lazy"on off-screen video iframes- Explicit
width/heighton iframes (CLS prevention) - On-page transcripts for indexability
<track kind="captions">for self-hosted video- Custom thumbnails: 1280×720px with text overlay
- Video sitemap for 10+ videos
- No autoplay above the fold