Ghost SEO Audit — For the Publication-Heavy Stack
Ghost-aware audit checks the gaps editorial sites tend to leave open.
Ghost is built for publishers and ships with strong SEO defaults: clean URLs, BlogPosting schema, structured RSS, AMP support. What it doesn't ship is FAQ schema, comprehensive entity markup, or AI-bot allow-listing in robots.txt. SEOGrade catches what Ghost doesn't auto-handle, especially for publication sites that depend on AI engines citing their content.
Common SEO issues on Ghost sites
Member-only posts indexed by Google despite being paywalled
Ghost's member-only posts return a teaser to crawlers but the full URL stays indexed. Without explicit noindex on member posts, you can index thin teaser content.
No FAQPage schema even when posts contain Q&A
Ghost emits Article schema automatically but doesn't detect Q&A patterns within posts. Manually adding FAQPage JSON-LD is required for AI extraction.
Tag pages with thin descriptions
Tag archive pages render the tag name and a list of posts. Without writing a custom tag description (in Ghost admin), they're often <100 words and rank poorly.
AMP version diverging from canonical
Ghost ships AMP versions of posts by default. If you're customizing the canonical version's content (extra widgets, embeds), AMP may differ — causing canonical confusion.
Default robots.txt doesn't explicitly allow AI bots
Ghost's default robots.txt covers Googlebot well but doesn't have explicit Allow directives for GPTBot, ClaudeBot, PerplexityBot.
How to fix them
Set member-only posts to noindex
In Ghost admin → Settings → Code Injection → Site Header. Use a script that detects member-only post pages and injects <meta name='robots' content='noindex,follow'>.
Add FAQPage JSON-LD to posts with Q&A blocks
Use a Ghost custom integration or per-post code injection to emit FAQPage JSON-LD when the post contains a Q&A section.
Write tag descriptions in admin
Tags → [tag] → Description. Write 200-400 words explaining the topic. Helps tag pages rank for category-level queries.
Audit AMP vs canonical content match
Use Google's AMP test on each post. If content differs, either disable AMP (Settings → Labs → AMP) or remove the diverging widgets from the canonical version.
Customize robots.txt via Ghost integration
Ghost doesn't expose robots.txt directly, but you can edit /content/robots.txt in self-hosted setups or use a Ghost integration. Add explicit Allow for major AI bots.
Audit your Ghost site free in 60 seconds
Real 9-category audit. No signup, no credit card. Get your overall grade and the three highest-severity issues — then upgrade for every finding plus the exact fix for Ghost.