The WordPress GEO Checklist: 15 Steps to AI Visibility
A step-by-step checklist for WordPress site owners who want their content cited by AI search engines. Ordered from quickest wins to deeper work.
Quick Wins (Under 30 Minutes)
☐ 1. Create an llms.txt File
Place a plain Markdown file at yoursite.com/llms.txt that lists your 10–20 most important pages with one-line descriptions.
Time: 10 minutes
Impact: High — AI systems use this as a discovery shortcut
How: SSH to your server, create the file in WordPress root. Or install Zitably and use the built-in editor.
☐ 2. Check Your Heading Structure
Open any page in your browser, right-click → Inspect, and search for <h1>, <h2>, <h3>. You should see:
- Exactly one H1 per page
- H2s for main sections
- H3s for subsections
- No skipped levels (H1 → H3 without H2)
Time: 5 minutes per page
Impact: Medium — clean hierarchy enables better chunk extraction
☐ 3. Verify Schema.org Is Present
Check yoursite.com/any-page → View Source → search for application/ld+json. If nothing shows up, you have no structured data.
Time: 2 minutes to check
Impact: High — pages with schema get cited 3.2× more often
☐ 4. Test Content Without JavaScript
Disable JavaScript in your browser and visit your pages. Can you read the content? If not, AI crawlers can't either (most don't execute JS).
Time: 5 minutes
Impact: Critical — no JS = no content for many AI crawlers
☐ 5. Check robots.txt for AI Bot Rules
Visit yoursite.com/robots.txt. Are you accidentally blocking AI crawlers?
# These block AI visibility:
User-agent: GPTBot
Disallow: /
# Only add these if you intentionally want to block training
Time: 2 minutes
Impact: Critical — blocking bots = zero AI visibility
Structural Work (1–3 Hours)
☐ 6. Add Direct Answers to Section Openings
For each major section (H2), ensure the first sentence directly answers the question the heading implies. Don't build up to the answer — lead with it.
Time: 15 minutes per page
Impact: High — improves Answerability score significantly
☐ 7. Convert Prose Data into Tables and Lists
Find paragraphs that contain comparisons, specifications, or multiple data points. Convert them to <table> elements or <ul>/<ol> lists.
Time: 20 minutes per page
Impact: High — tables and lists are extraction-optimized
☐ 8. Increase Fact Density
Review your top 10 pages. For each, count concrete facts (numbers, names, dates) per 500 words. Target: 12+.
Replace every vague claim with a specific, verifiable statement.
Time: 30–60 minutes per page
Impact: Very high — 3.4× citation increase above threshold
☐ 9. Add FAQ Sections to Key Pages
Add 3–5 frequently asked questions at the bottom of your top pages. Use proper FAQ format:
<h2>Frequently Asked Questions</h2>
<h3>What is [topic]?</h3>
<p>[Direct, factual answer in 2-3 sentences]</p>
Time: 20 minutes per page
Impact: High — FAQ format maps directly to how users query AI
☐ 10. Implement Article Schema on Blog Posts
Add JSON-LD with @type: Article, including headline, datePublished, dateModified, author, and publisher.
Time: 30 minutes (or install Zitably for automatic generation)
Impact: Medium-high — establishes authorship and freshness signals
Technical Implementation (3+ Hours)
☐ 11. Enable Markdown Content Negotiation
Serve Markdown when AI agents send Accept: text/markdown. This reduces token consumption by 80% and increases context fit.
Time: 2–4 hours (manual) or 5 minutes (install Zitably)
Impact: Very high — Cloudflare measured 80% token reduction = better AI extraction
☐ 12. Add Alternate Link Headers
In your HTML <head>, add a link to the Markdown variant for discovery:
<link rel="alternate" type="text/markdown" href="/blog/my-post" />
Time: 30 minutes (theme modification)
Impact: Medium — helps AI agents discover the Markdown format
☐ 13. Install AI Bot Detection
Track which AI crawlers visit your site, which pages they read, and how often. You can't optimize what you don't measure.
Time: 5 minutes (install Zitably) or 2–4 hours (custom implementation)
Impact: Foundational — informs all optimization decisions
☐ 14. Set Up a Content Refresh Schedule
AI citation rates decline after 13 weeks without an update. Create a schedule:
- Update
dateModifiedin Schema.org - Refresh statistics and data points
- Add new developments or context
Time: Ongoing (30 minutes per page per quarter)
Impact: High — freshness is a ranking signal for AI citations
☐ 15. Register WordPress 7.0 Abilities (If Applicable)
If you're on WordPress 7.0+, your content can be callable by AI agents — not just readable. Install the MCP adapter and register content abilities.
Time: 30 minutes
Impact: High on 7.0+ — opens the agentic channel
Priority Matrix
| Step | Impact | Effort | Do First? |
|---|---|---|---|
| 1. llms.txt | High | Low | ✅ |
| 3. Schema.org | High | Low | ✅ |
| 5. robots.txt check | Critical | Low | ✅ |
| 6. Direct answers | High | Medium | ✅ |
| 8. Fact density | Very high | Medium | ✅ |
| 11. Content negotiation | Very high | Medium-high | ✅ |
| 4. JS-free content check | Critical | Low | ✅ |
Start with the low-effort, high-impact items. Most sites can improve their GEO score by 20–30 points in a single afternoon.
Measuring Progress
Run your Zitably Score before and after implementing these changes. The 7-axis breakdown shows exactly which improvements moved which numbers. Track over time to see citation trends.
Check all 15 boxes faster with Zitably — automated scoring, Markdown serving, Schema.org, llms.txt, and bot detection in one plugin. Install free →