GEO Optimizer v4.0.1
Plugin Documentation  ·  By Pixalab.ai
Official Documentation  ·  v4.0.1

GEO Optimizer
for WordPress

Optimize your content for the AI era — get cited by ChatGPT, Claude, Perplexity, and Google AI Overviews. The only WordPress plugin built for Generative Engine Optimization.

18
Features
2
AI Providers
30+
Settings
5
Schema Types
✨ Auto AI-Ready Writer ✍️ Create New Post ⚡ AutoPilot Mode 🏷️ JSON-LD Schema 📄 llms.txt Generator 🔍 GEO Audit
🤖
AI Providers
Claude + GPT-4o
⚡
AutoPilot
Daily / Weekly / Monthly
🏷️
Schema Types
Article · FAQ · Breadcrumb
📄
Standard
llms.txt Support
📋 Table of Contents

🌐What is GEO Optimizer?

GEO Optimizer is a WordPress plugin built for the new era of AI-driven search. Where traditional SEO targets Google's algorithm, Generative Engine Optimization (GEO) targets the large language models that power ChatGPT, Claude, Perplexity, and Google AI Overviews.

🎯
AI Citation Optimization
Structure your content so AI engines extract, quote, and cite it in answers to user queries.
🤖
Dual AI Provider
Works with both Anthropic Claude (claude-opus-5) and OpenAI ChatGPT (gpt-4o) — your choice.
⚡
Fully Automated
AutoPilot re-optimises your entire content library on a schedule without any manual effort.
🏷️
Structured Data
Auto-injects JSON-LD schemas: Article, Organization, Person, FAQPage, BreadcrumbList.
📄
llms.txt Support
Generates a machine-readable sitemap-for-AI that helps LLMs understand your site structure.
🔍
GEO Audit
Scores every post 0–100 for AI readiness and runs 7 site-wide technical health checks.
ℹ️
Who is this for?
Content creators, bloggers, and digital marketers who want their site to be cited by AI search engines. GEO Optimizer is the WordPress plugin equivalent of traditional SEO plugins — but built for the AI era.

⚙️Installation & Activation

GEO Optimizer is a standard WordPress plugin. Installation takes under 2 minutes and requires no coding.

1
Upload the Plugin
Go to WordPress Admin → Plugins → Add New → Upload Plugin. Upload the geo-optimizer.zip file and click Install Now.
2
Activate
Click Activate Plugin. The plugin sets up its default options. Nothing is written to your site root until you generate llms.txt yourself from the llms.txt screen.
3
Add Your API Key
Go to GEO Optimizer → Settings and enter your Anthropic or OpenAI API key to enable the AI Writer features.
4
Configure Brand Identity
Fill in your Author Name, Credentials, Bio, Site Description, and Brand Keywords. This data powers Schema markup and E-E-A-T trust signals.

System Requirements

RequirementMinimumRecommended
WordPress5.8+6.0+
PHP7.4+8.1+
MySQL5.6+8.0+
HTTPSRequired for API calls—
WP CronRequired for AutoPilotReal server cron preferred

🔑Settings

All plugin settings live under GEO Optimizer → Settings. The page is divided into three sections.

Section 1 — AI Writer API Key

AI Provider
Choose between Claude (Anthropic) and ChatGPT (OpenAI). Determines which AI engine powers the Writer and AutoPilot.
Dropdown
Anthropic API Key
Your key from console.anthropic.com. Used when provider is set to Claude. Format: sk-ant-…
Password field
OpenAI API Key
Your key from platform.openai.com. Used when provider is set to ChatGPT. Format: sk-…
Password field

Section 2 — Brand & Author Identity

Author Full Name
Used in the Person JSON-LD schema and as an E-E-A-T trust signal.
Text
Author Credentials
Short credential string (e.g. "PhD Marketing, 10+ years SEO"). Injected into Person schema.
Text
Author Bio
Full bio text. Used in Person schema's description field.
Textarea
Site / Brand Description
Factual description of what your site covers. Used in Organization schema.
Textarea
Brand / Topic Keywords
Comma-separated keywords that align the AI Writer output with your niche.
Textarea

Section 3 — Technical GEO Features

🏷️ Schema Markup (JSON-LD)
Injects Article, Organization & Person schema on all posts and pages.
Default ON
❓ FAQ Schema Auto-Detection
Scans headings ending in "?" and wraps them in FAQPage schema automatically.
Default ON
💡 Answer Capsule Shortcode
Enables the [geo_answer] shortcode for AI-extractable answer summaries.
Default ON
🔗 Breadcrumb Schema
Adds BreadcrumbList schema for improved content hierarchy signals.
Default ON
🤖 Allow AI Crawlers
Adds allow rules to robots.txt for GPTBot, ClaudeBot, PerplexityBot, Google-Extended, Applebot-Extended, and cohere-ai.
Default ON
📄 Generate llms.txt
Creates /llms.txt in the WordPress root listing your most important URLs for AI indexing.
Default OFF

✨Auto AI-Ready Writer

The AI Writer enhances your existing WordPress posts to be fully optimised for AI citation. It uses your selected AI provider to rewrite content, add structured elements, and score the result — all without leaving the WordPress admin.

How to Use

1
Select a Post
Browse or search the post list on the left panel. Each post shows its word count, modification date, AI Enhanced status, and GEO Score out of 100.
2
Choose Enhancements
Select which elements to add using the checkboxes: Answer Capsule, FAQ Section, Better Headings, Strong Intro, Freshness Note, Authority Signals. Only checked items will be added — unchecked items are explicitly excluded from the AI output.
3
Click "Auto Make AI-Ready"
The AI processes your post (up to 90 seconds). An animated loading indicator cycles through the processing steps while you wait.
4
Review the Enhanced Preview
A plain-text preview of the enhanced content appears (first 1,400 characters). Tags show exactly what was added. You can re-generate if needed.
5
Save to WordPress
Click "Save to WordPress" to overwrite the post content. The original is automatically backed up in post meta and can be restored at any time using the Revert button.

Enhancement Options

OptionWhat it addsPrompt instruction when OFF
💡 Answer CapsuleA [geo_answer] shortcode at the top with a 2-3 sentence direct answerExplicitly forbidden from output
❓ FAQ Section (5-7 Qs)H3 questions ending in "?" with paragraph answers at the bottomExplicitly forbidden from output
🏗️ Better HeadingsRewrites H2/H3 headings for AI clarityExisting headings preserved
📝 Strong IntroOpening paragraph that states the post's topic and audienceExisting intro preserved
📅 Freshness Note"Last Updated: [today's date]" inserted at the topNo date note added
🏆 Authority SignalsStatistics, expert references, or study citationsNo new statistics added

GEO Score Calculation

CriterionPoints
Post content is over 800 words+30
Post contains more than 2 FAQ-style questions ("?")+30
Post contains a [geo_answer] shortcode+40
Maximum score100

Revert to Original

Before overwriting a post, the plugin automatically backs up the original content to the post meta key _geo_opt_original_content. The Revert button restores this backup and removes all AI enhancement markers.

⚠️
Backup only stored once
The original backup is saved the first time a post is enhanced. Subsequent enhancements overwrite the AI content but the original backup is preserved.

✍️Create New Post

The Create New Post button on the Auto AI-Ready Writer page lets you generate a brand-new, fully AI-optimised blog post from scratch — just provide a keyword and the AI writes everything.

Workflow

1
Enter a Target Keyword
Type your target keyword or topic (e.g. "best WordPress SEO plugins 2025"). The AI will write a complete post targeting this term.
2
Select Enhancements
Choose which GEO elements to include in the new post. All 6 options are checked by default. Only selected items will appear in the generated content.
3
Generate with AI
The AI writes a post of at least 800 words including a compelling title, structured content, and all selected enhancements. The process takes 15–60 seconds.
4
Preview & Edit
The generated post is displayed in a rendered preview (formatted HTML). Switch to "Edit HTML" tab to modify the raw HTML content or title before publishing.
5
Publish or Save as Draft
Click Publish Post to make it live, or Save as Draft to review later. The post is created with _geo_enhanced = 1 meta and appears in Enhancement History.

Preview Mode

The preview panel has two tabs:

👁
Preview Tab (default)
Renders the HTML with proper formatting — headings, paragraphs, lists, and the [geo_answer] capsule displayed as a styled purple box.
✏️
Edit HTML Tab
Shows the raw HTML in a monospace textarea. Edits made here are reflected in the preview when switching back. Word count updates automatically.
💡
Re-generate anytime
Not happy with the result? Click Re-generate to run the AI again with the same keyword and options. The new content replaces the previous draft.

⚡AutoPilot

AutoPilot automatically re-optimises your existing posts on a configurable schedule (daily, weekly, or monthly) so your content stays AI-ready without any manual effort.

How AutoPilot Works

1
Schedule Fires
WordPress Cron triggers the geo_opt_autopilot_run hook on your configured interval (daily / weekly / monthly).
2
Posts Selected
Fetches up to the configured Posts Per Run limit. Only posts not modified within the age threshold (default 30 days) are selected. Ordered by oldest-modified first.
3
AI Enhancement
Each selected post is sent to the active AI provider using the same enhancement options configured on the AutoPilot settings page.
4
Saved & Logged
Enhanced content is saved back to the post. The run is recorded in the Run History log with status (Success / Partial / Error), post count, and details.
5
Email Digest Sent
A weekly summary email is sent to the configured address listing all runs, posts processed, and total enhanced post count.

AutoPilot Settings

SettingDescriptionDefault
Enable AutoPilotMaster on/off toggle. Enabling schedules the cron; disabling clears it.OFF
Run ScheduleHow often AutoPilot runs: Daily, Weekly, or Monthly.Weekly
Posts Per RunMaximum posts to enhance per run (1–50).5
Re-optimise Posts Older ThanOnly posts not modified in at least this many days are selected.30 days
Re-optimise Manually Enhanced PostsWhen OFF, posts already enhanced via the AI Writer are skipped to protect manual edits. When ON, all posts are eligible.OFF
Auto-refresh llms.txt on SaveRegenerates llms.txt automatically whenever a post is published or updated.ON
Send Weekly Report EmailSends a digest email every week summarising AutoPilot activity.ON
Report Email AddressWhere the weekly digest is sent.Admin email

Run Now Button

The sticky Run Now button at the top of the AutoPilot page triggers an immediate manual run. It bypasses:

The configured Posts Per Run limit is still respected.

💡
Use Run Now to test your setup
After configuring AutoPilot for the first time, click Run Now to verify your API key works and posts are being processed correctly before relying on the schedule.

Run History Log

Every run (scheduled or manual) is logged in the Run History table showing: timestamp, status (Success / Partial / Error), number of posts processed, post titles, and any error messages. The log retains the last 30 entries. Use the Clear Log button to reset it.


🏷️Schema Markup (JSON-LD)

GEO Optimizer automatically injects structured data in JSON-LD format into every page. This helps AI engines understand who you are, what your content is about, and how to attribute it.

Schema Types Injected

🏢
Organization
Site name, URL, and brand description. Injected on all pages.
👤
Person
Author name, credentials, and bio. Injected when Author Name is set in Settings.
📰
Article
Post title, published/modified dates, URL, author, publisher, and word count. Injected on single posts.
❓
FAQPage
Auto-extracted from headings ending in "?". Up to 10 Q&A pairs per post.

Conflict Avoidance

The meta description injection automatically detects and skips if Yoast SEO or Rank Math are active, preventing duplicate meta tags.


❓FAQ Schema Auto-Detection

The plugin automatically detects FAQ content in your posts and wraps it in valid FAQPage JSON-LD schema — no manual tagging required.

How Detection Works

The plugin scans your post content using this pattern:

// Finds: H2/H3/H4 headings ending with "?" followed by paragraph text
/<h[2-4][^>]*>(.*?\?)<\/h[2-4]>(.*?)(?=<h[2-4]|$)/si

It finds up to 10 FAQ pairs per post. Answers are trimmed to 500 characters for the schema output.

How to Write FAQ-Compatible Content

<h3>What is Generative Engine Optimization?</h3>
<p>GEO is the practice of optimizing content to be cited and referenced
by AI-powered search engines like ChatGPT and Perplexity.</p>
ℹ️
The heading must end with a question mark for FAQ schema to be generated. The AI Writer automatically formats FAQ sections this way when the FAQ option is selected.

💡Answer Capsule Shortcode

The [geo_answer] shortcode renders a highlighted summary box that AI engines can easily extract as a direct, citable answer to a query.

Basic Usage
[geo_answer label="Quick Answer"]Your 2-3 sentence direct answer here.[/geo_answer]
Custom Label
[geo_answer label="Key Takeaway"]This plugin increases AI citation rates by structuring content for LLMs.[/geo_answer]

Attributes

AttributeTypeDefaultDescription
labelString"Quick Answer"The heading text displayed at the top of the capsule box.

Output

The shortcode renders a purple-accented styled box with a 💡 icon and the label as a heading. The content inside is sanitized via wp_kses_post().

⚠️
The Answer Capsule shortcode only renders if the Answer Capsule Shortcode feature is enabled in Settings. If disabled, the shortcode output is suppressed.


🤖AI Crawler Access

GEO Optimizer modifies your robots.txt to explicitly allow the crawlers used by major AI platforms to index your content.

Bots Allowed

🟢
GPTBot
OpenAI's crawler powering ChatGPT.
🔵
ClaudeBot
Anthropic's crawler for Claude training.
🟣
PerplexityBot
Perplexity AI's web indexer.
🔴
Google-Extended
Google's crawler for AI Overview training.
⬜
Applebot-Extended
Apple Intelligence crawler.
🟡
cohere-ai
Cohere's web crawler.

robots.txt Output

User-agent: GPTBot
Allow: /

User-agent: ClaudeBot
Allow: /

User-agent: PerplexityBot
Allow: /

# … and so on for all 12 bots listed above

📄llms.txt Generator

llms.txt is an emerging standard — a markdown file placed in your site root that lists your most important URLs in a format designed for LLMs to consume during training and indexing.

What the Generated File Contains

SectionContent
HeaderSite name, domain, and generation timestamp
HomepageYour site's homepage URL
Pages10 most recent published WordPress pages
Posts20 most recent published WordPress posts
SitemapLink to your XML sitemap

Auto-refresh with AutoPilot

When Auto-refresh llms.txt on Save is enabled in AutoPilot settings, the file is regenerated automatically whenever any post or page is published or updated — keeping it always current.

Manual Refresh

Go to GEO Optimizer → llms.txt and click Generate / Refresh. The page also shows live stats: pages count, posts count, total URLs, and the current file contents.

ℹ️
The file is written to {ABSPATH}/llms.txt using the WordPress Filesystem API. It is publicly accessible at https://yoursite.com/llms.txt.

🔍GEO Audit

The GEO Audit page provides a detailed health check of your entire site's AI readiness — both technical configuration and per-post content scoring.

Technical Checks (7 checks)

CheckWhat it verifies
AI Bot Crawl Accessgeo_enable_robots_bots option is enabled
llms.txt Present{ABSPATH}/llms.txt file exists on disk
JSON-LD Schema Activegeo_enable_schema option is enabled
FAQ Schema Enabledgeo_enable_faq_schema option is enabled
Author CredentialsAuthor name is set in Settings
Anthropic API KeyAn Anthropic or OpenAI API key is configured
Bing Pinged Recentlygeo_bing_pinged option timestamp is recent

Post AI Readiness Score

Shows the GEO Score (0–100) for the 15 most recent posts based on word count, FAQ presence, and Answer Capsule usage.


🧩Shortcode Reference

[geo_answer]

ParameterValueDescription
labelAny stringBox heading. Default: "Quick Answer"
ContentHTML allowedThe answer text. Sanitized with wp_kses_post()
Full Example
[geo_answer label="Quick Answer"]WordPress is a free, open-source CMS powering over 43% of all websites globally. It offers themes, plugins, and a block editor for building any type of site.[/geo_answer]

Bing Sitemap Ping

On every post publish, the plugin automatically pings Bing's indexing endpoint with your sitemap URL. This is throttled to once per hour using a WordPress transient. Since ChatGPT uses Bing's web index, this helps ensure new content reaches AI search engines faster.


🤖AI Providers

GEO Optimizer supports two AI providers. You can switch between them in Settings at any time. All features — AI Writer, Create New Post, and AutoPilot — use the active provider.

Claude (Anthropic)
claude-opus-5
  • High-quality long-form writing
  • Strong instruction following
  • Excellent at structured content
  • API: api.anthropic.com/v1/messages
  • Key format: sk-ant-…
ChatGPT (OpenAI)
gpt-4o
  • Fast and widely supported
  • Strong factual accuracy
  • Consistent formatting
  • API: api.openai.com/v1/chat/completions
  • Key format: sk-…
ℹ️
API keys are stored in wp_options. All AI requests are made server-side via wp_remote_post() with a 90-second timeout. Keys are never exposed to the browser.

🗄️Database Options

Plugin Options (wp_options)

Option KeyTypeDescription
geo_anthropic_keyStringAnthropic API key
geo_openai_keyStringOpenAI API key
geo_ai_providerString"anthropic" or "openai"
geo_author_nameStringAuthor full name
geo_author_credentialsStringAuthor credential string
geo_author_bioStringAuthor bio (textarea)
geo_site_descriptionStringSite/brand description
geo_brand_keywordsStringComma-separated brand keywords
geo_enable_schema0/1Schema markup toggle
geo_enable_faq_schema0/1FAQ schema toggle
geo_enable_robots_bots0/1AI crawler access toggle
geo_enable_answer_capsules0/1Answer Capsule shortcode toggle
geo_enable_breadcrumbs0/1Breadcrumb schema toggle
geo_enable_llms_txt0/1llms.txt generation toggle
geo_bing_pingedTimestampLast Bing sitemap ping time
geo_autopilot_enabled0/1AutoPilot master toggle
geo_autopilot_scheduleString"daily" / "weekly" / "monthly"
geo_autopilot_post_limitIntegerMax posts per AutoPilot run
geo_autopilot_age_daysIntegerAge threshold in days
geo_autopilot_emailStringWeekly digest recipient
geo_autopilot_email_enabled0/1Weekly digest toggle
geo_autopilot_llms_refresh0/1Auto llms.txt refresh toggle
geo_autopilot_optionsJSONEnhancement options for AutoPilot runs
geo_autopilot_reoptimize_manual0/1Re-optimise manually enhanced posts
geo_autopilot_run_logArrayLast 30 AutoPilot run log entries

Post Meta Keys (wp_postmeta)

Meta KeyValueDescription
_geo_enhanced1Post has been AI enhanced
_geo_enhanced_dateMySQL datetimeWhen the post was last enhanced
_geo_opt_original_contentHTML stringOriginal post content backup (first enhance only)
_geo_autopilot1Post was enhanced by AutoPilot (not manually)

Transients

Transient KeyTTLDescription
geo_opt_bing_pinged1 hourThrottles Bing sitemap ping to once per hour

📋Changelog

4.0.1
Added OpenAI ChatGPT (gpt-4o) as a second AI provider alongside Anthropic Claude. Users can switch providers in Settings.
New
4.0.1
Added AutoPilot — scheduled automatic re-optimisation with daily/weekly/monthly cron, Run History log, weekly email digest, and auto llms.txt refresh.
New
4.0.1
Added Create New Post modal — generate a complete AI-optimised blog post from a keyword with rendered HTML preview and publish/draft workflow.
New
4.0.1
Fixed FAQ appearing when unchecked — the prompt now includes an explicit FORBIDDEN section listing all unchecked options to prevent AI from adding unsolicited content.
Fix
4.0.1
Fixed "Last Updated: [Insert Date]" — the actual current date (from date_i18n()) is now passed in the prompt, eliminating AI-generated placeholders.
Fix
4.0.1
Added Re-optimise Manually Enhanced Posts toggle in AutoPilot — defaults OFF to protect manual AI Writer edits from being overwritten by scheduled runs.
Improve
4.0.1
AutoPilot Run Now bypasses age threshold — manual runs process all posts regardless of modification date for easier testing.
Improve
4.0.1
Moved AutoPilot action buttons to a sticky top bar — Save Settings and Run Now are always visible regardless of scroll position.
Improve
4.0.0
Initial release — AI Writer, Schema Markup, FAQ Schema, Answer Capsule, Breadcrumbs, llms.txt, AI Crawler access, GEO Audit, Bing Ping.
New

💬Frequently Asked Questions

Does this conflict with Yoast SEO or Rank Math?

No. GEO Optimizer detects both plugins and skips meta description injection to avoid conflicts. Schema markup is additive and does not override Yoast or Rank Math schemas.

Will AutoPilot overwrite my manually edited posts?

No, by default. The Re-optimise Manually Enhanced Posts toggle is OFF, which means AutoPilot skips any post enhanced via the AI Writer. Enable it if you want all posts refreshed on schedule.

Can I restore a post after AI enhancement?

Yes. The original content is backed up in the _geo_opt_original_content post meta before the first enhancement. Click the Revert button on the AI Writer page to restore it at any time.

Why does Run Now process 0 posts?

Run Now bypasses the age threshold and manual-exclusion filters, so this should not normally happen. If it does, check that you have published posts and that your Posts Per Run limit is greater than 0.

Do I need both an Anthropic and OpenAI key?

No. You only need the key for whichever provider you select in Settings. The other field can be left blank.

Where is my API key stored?

API keys are stored in wp_options in your WordPress database. They are never logged, sent to external services (other than the AI API itself), or exposed to browser JavaScript.

What happens when I uninstall the plugin?

By default, only the plugin’s settings are removed — options, transients, scheduled cron jobs and the generated llms.txt file.

Your data is kept: the pre-AI backup of every enhanced post (_geo_opt_original_content), the enhancement metadata, and the citation-tracking table all survive. That means you can reinstall and still revert any post the AI rewrote.

If you genuinely want everything erased, switch on Settings → Data Retention → “Delete all data when the plugin is uninstalled” before deleting the plugin. That action is permanent and cannot be undone.

⚖️Credits & Third Party Licences

Chart.js 4.4.0

Used to render the activity graph on the Citation Tracker screen. The library is bundled with the plugin and served from your own site — no external requests are made to load it.

The MIT licence notice is retained in the distributed file.

GEO Optimizer

GEO Optimizer itself is released under the GNU General Public License v2.0 or later.

GEO Optimizer v4.0.1
By Pixalab.ai · GPL-2.0 License
Documentation generated April 2026