Title: GEO Rank Optimizer &#8211; Generative Engine Optimization
Author: alexbarbosa
Published: <strong>June 23, 2026</strong>
Last modified: June 23, 2026

---

Search plugins

![](https://ps.w.org/geo-rank-optimizer/assets/banner-772x250.png?rev=3586189)

![](https://ps.w.org/geo-rank-optimizer/assets/icon-256x256.gif?rev=3583772)

# GEO Rank Optimizer – Generative Engine Optimization

 By [alexbarbosa](https://profiles.wordpress.org/alexbarbosa/)

[Download](https://downloads.wordpress.org/plugin/geo-rank-optimizer.3.9.19.zip)

 * [Details](https://wordpress.org/plugins/geo-rank-optimizer/#description)
 * [Reviews](https://wordpress.org/plugins/geo-rank-optimizer/#reviews)
 *  [Installation](https://wordpress.org/plugins/geo-rank-optimizer/#installation)
 * [Development](https://wordpress.org/plugins/geo-rank-optimizer/#developers)

 [Support](https://wordpress.org/support/plugin/geo-rank-optimizer/)

## Description

**Be Found and Cited by AI.**

For a long time, the goal was to master SEO and rank on Google. Now the game has
changed: with GEO (Generative Engine Optimization), your site can be found and cited
by AI models like ChatGPT, Claude, Gemini, Perplexity, and others.

**With the GEO Rank Optimizer plugin:**

 * Full GEO Diagnostics for each post based on 40 different criteria, with practical
   improvement recommendations.
 * AI Bot Tracker — monitor which AI bots are visiting your site, how often, and
   which pages they read.
 * Automatic generation of llm-full.txt, llms.txt, ai.txt, and robots.txt — the 
   files AI models read to understand your site.
 * AI bot access control via robots.txt.
 * Structured Schema Markup and Open Graph generation for posts.
 * Dashboard with your site’s average score, score history, and lists of your highest
   and lowest performing posts.
 * Dashboard export and public sharing.
 * Competitor analysis for AI visibility.

No complex setup required: install, activate, and your site starts speaking the 
language of AI.

**The future of search isn’t a link. It’s a citation.**

#### Analysis Categories

 1. **Generative Search** – Quick answers, FAQ structure, definitions
 2. **Structure** – Heading hierarchy, paragraphs, lists
 3. **Semantic** – Keywords, variations, named entities
 4. **Readability** – Flesch-Kincaid, active voice, transitions
 5. **Context** – Introduction, conclusion, internal/external links
 6. **Authority** – Author info, dates, sources cited
 7. **Technical Formatting** – Images, videos, tables, code blocks
 8. **Technical SEO** – Meta title, description, Open Graph, Schema

#### Why GEO Matters

Traditional SEO focuses on ranking in search results. GEO focuses on being **cited
by AI** in generative responses. As AI-powered search becomes more prevalent, optimizing
for AI understanding is crucial for visibility.

### External Services

#### Freemius (opt-in, licensing and upgrade flow)

This plugin uses the Freemius SDK to handle the optional account opt-in, license
activation, and the upgrade flow to the premium version. When you choose “Allow &
Continue” on the opt-in screen, basic environment and usage data (such as your site
URL, WordPress and PHP versions, and the active theme/plugin list) is sent to Freemius.
If you choose “Skip”, this data is not sent.

 * Service provider: Freemius, Inc.
 * Data sent: site URL and basic environment/usage data, only after you opt in
 * [Terms of Service](https://freemius.com/terms/)
 * [Privacy Policy](https://freemius.com/privacy/)

#### Competitor websites you analyze

The Competitor Analysis feature checks whether a competitor publishes AI/GEO optimization
files. When you enter a competitor URL and click “Analyze”, the plugin sends HTTP
requests from your server to that URL and to standard paths on the same domain (
such as /llms.txt, /ai.txt, /robots.txt and /.well-known/ files). Only the URL you
provide is contacted, and only when you trigger the analysis. No data from your 
own site is transmitted.

 * Data sent: an HTTP request to the competitor URL you enter (no data from your
   own site)
 * When: only on your explicit action (clicking “Analyze”)

## Screenshots

[⌊Guided onboarding to prepare your site for AI search⌉⌊Guided onboarding to prepare
your site for AI search⌉[

Guided onboarding to prepare your site for AI search

[⌊Dashboard with AI visibility and GEO Score overview⌉⌊Dashboard with AI visibility
and GEO Score overview⌉[

Dashboard with AI visibility and GEO Score overview

[⌊Post GEO diagnostics with score and optimization criteria⌉⌊Post GEO diagnostics
with score and optimization criteria⌉[

Post GEO diagnostics with score and optimization criteria

[⌊AI Bot Tracker for visits from AI assistants and crawlers⌉⌊AI Bot Tracker for 
visits from AI assistants and crawlers⌉[

AI Bot Tracker for visits from AI assistants and crawlers

[⌊Competitor analysis for GEO files and AI directives⌉⌊Competitor analysis for GEO
files and AI directives⌉[

Competitor analysis for GEO files and AI directives

[⌊Settings and AI file generation (llm-full.txt, llms.txt, ai.txt)⌉⌊Settings and
AI file generation (llm-full.txt, llms.txt, ai.txt)⌉[

Settings and AI file generation (llm-full.txt, llms.txt, ai.txt)

## Installation

 1. Upload the `geo-rank-optimizer` folder to the `/wp-content/plugins/` directory
 2. Activate the plugin through the ‘Plugins’ menu in WordPress
 3. Go to any post and look for the “GEO Score” metabox
 4. Click “Analyze” to get your content’s GEO score and recommendations

## FAQ

### What is GEO?

GEO stands for Generative Engine Optimization. It’s the practice of optimizing content
to be better understood, summarized, and cited by AI engines like ChatGPT, Google
AI Overview, Perplexity, and others.

### Does this plugin require Yoast SEO or other plugins?

No. GEO Rank Optimizer works completely independently without requiring any other
SEO plugins.

### How is the GEO Score calculated?

The score is calculated based on 40+ criteria across 8 categories, each with different
weights. Generative Search optimization has the highest weight as it directly impacts
AI citability.

### Will this plugin slow down my site?

No. The analysis runs only in the admin area when you click “Analyze”. It does not
affect frontend performance.

### What languages are supported?

English, Portuguese (Brazil), Spanish, French, and German.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“GEO Rank Optimizer – Generative Engine Optimization” is open source software. The
following people have contributed to this plugin.

Contributors

 *   [ alexbarbosa ](https://profiles.wordpress.org/alexbarbosa/)

[Translate “GEO Rank Optimizer – Generative Engine Optimization” into your language.](https://translate.wordpress.org/projects/wp-plugins/geo-rank-optimizer)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/geo-rank-optimizer/),
check out the [SVN repository](https://plugins.svn.wordpress.org/geo-rank-optimizer/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/geo-rank-optimizer/)
by [RSS](https://plugins.trac.wordpress.org/log/geo-rank-optimizer/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

For the complete version history, see CHANGELOG.md in the plugin directory.

#### 3.9.19

**Cleanup: free build no longer contains unused AI-provider code**
 * Removed the
dormant AI provider integration (API-key handling, connection test and external 
AI calls) that was not usable in the free version, so the free build makes no AI
service connections. The External Services section now accurately documents the 
Freemius opt-in and the competitor-URL fetching the free version performs. Added
an Upgrade Notice.

#### 3.9.18

**Maintenance: version sync**
 * Internal version bump to keep parity with the PRO
build. No functional changes in the free version.

#### 3.9.17

**Maintenance: version sync**
 * Internal version bump to keep parity with the PRO
build. No functional changes in the free version (the WooCommerce schema/diagnostic
is PRO-only).

#### 3.9.16

**Maintenance: version sync**
 * Internal version bump to keep parity with the PRO
build. No functional changes in the free version (the WooCommerce diagnostic is 
PRO-only).

#### 3.9.15

**Fix: post score no longer penalized for missing optional elements**
 * The Technical
Formatting criteria for code, videos, tables and blockquotes are now treated as 
not-applicable when the element is absent, instead of scoring 0. Posts without code/
tables/etc. are no longer penalized and no longer get the corresponding recommendations.
When the element is present, it is still scored as before.

#### 3.9.14

**Improvement: clearer post recommendations (cohesion vs. transition)**
 * The “
Few transition words” recommendation now describes what it actually measures — sequence/
example markers (first, next, for example, in summary) — instead of repeating the
logical-connective examples used by “Low textual cohesion”. The two no longer look
like duplicates. Updated across all locales.

#### 3.9.13

**Maintenance: version sync**
 * Internal version bump to keep parity with the PRO
build. No functional changes in the free version (the WooCommerce diagnostic is 
PRO-only).

#### 3.9.12

**Improvement: competitor re-analysis cooldown**
 * Reduced the re-analysis cooldown
from 1 hour to 30 seconds (it only guards against accidental rapid re-clicks against
external sites). * Your own domain is now exempt from the cooldown entirely, so 
re-analyzing your own site is always instant. Updated the wait message (seconds)
across all locales.

#### 3.9.11

**Fix: icon alignment in the Settings buttons**
 * The icons in the “Generate Now”,“
Delete” and “Add social profile” buttons are now vertically centered with their 
labels (and sized consistently). CSS-only change.

#### 3.9.10

**Fix: search icon alignment in the Analyze / Re-analyze buttons**
 * The magnifying-
glass icon is now vertically centered with the button label on the Competitors tab.
CSS-only change.

#### 3.9.9

**Maintenance: version sync**
 * Internal version bump to keep parity with the PRO
build. No functional changes in the free version.

#### 3.9.8

**Maintenance: version sync**
 * Internal version bump to keep parity with the PRO
build. No functional changes in the free version.

#### 3.9.7, 3.9.6, 3.9.5

**Fix: Diagnostics action buttons keep their pill shape in all states**

The “See Recommendations / Edit Post / View Post” anchors were distorted by wp-admin’s
native anchor styles across `:active` and `:focus` (square shape, then a blue ring,
then a red rectangular border). Added `:active`/`:focus` rules pinning the pill 
shape and switched the focus ring to `:focus-visible` (keyboard-only). CSS-only 
fix.

#### 3.9.4

**Fix: Competitors tab — Analyze and Delete buttons now work**

A nonce action name mismatch (introduced in v3.7.5 when admin JS was externalized)
made `check_ajax_referer()` fail silently in the `?tab=competitors` page. Nonce 
aligned with the handlers. Same fix applied to the step-6 onboarding auto-refresh,
which was failing for the same reason.

#### 3.9.3

**Defense-in-depth: explicit nonce check on bulk-action handler**

    ```
    GeoIaWpCore::handle_bulk_actions() now calls `check_admin_referer( 'bulk-posts' )` explicitly. WordPress core already verifies this nonce before dispatching the filter, but the explicit check makes the security contract visible to auditors and protects against future refactors. No functional change.
    ```

#### 3.9.2

**Plugin Check cleanup: zero errors, zero warnings**

    ```
    Tested up to bumped to 7.0. Changelog rewritten to fit the 5000-char limit (full history in `CHANGELOG.md`). All `foreach` loop variables in 8 admin templates renamed to the `$georankopt_*` prefix to satisfy `WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound`. Zero functional changes.
    ```

#### 3.9.1

**Fix: Save Settings button — icon and text now stay white in all states**

Corrected the CSS selector targeting (was using a legacy ID; now uses the actual`.
geo-save-config-btn` class). The dashicon and label remain white on the pink background
during base, hover, and `:disabled` (saving) states. Hover suppressed during save.
Same fix in FREE and PRO.

#### 3.9.0

**Fix: Save Settings button visual during saving state**

    ```
    :disabled rules added that preserve pink background and white text/icon (overriding the browser's `graytext` default). Hover effect suppressed while disabled. Consolidates several UI polish fixes since v3.8.0 (onboarding button "square flash", sidebar focus ring, Bot Tracker legend/disclaimer parity).
    ```

#### 3.8.9, 3.8.8, 3.8.7

UI polish: `:focus-visible` on sidebar tabs to hide blue ring after mouse click 
while preserving keyboard accessibility. FREE/PRO parity for Bot Tracker (User-Agent
disclaimer + “What each category means” 4-card legend in 5 locales).

#### 3.8.6

**Definitive fix: onboarding navigation buttons converted from `<a>` to `<button
>`**

Root cause of the “button turns square on click” glitch: anchors inherited wp-admin`:
active` styles (border-radius: 3px, reduced padding). Converting the 5 navigation
anchors to `<button type="button">` eliminates the issue entirely. The defensive
CSS `:active` rule remains as secondary safeguard.

#### 3.8.5, 3.8.4, 3.8.3, 3.8.2, 3.8.1

Iterative attempts to fix the onboarding button “square flash” via CSS specificity,
scoped overrides, and `:active` declarations. All superseded by the structural fix
in v3.8.6. v3.8.3 reverted earlier CSS changes that had inadvertently broken the
hover state.

#### 3.8.0

**Post-Google I/O 2026 release**

 * AI Bot Tracker: 6 new Google user-agents recognized (Google-Agent — Project Mariner
   equivalent of ChatGPT-User; Google-Read-Aloud; google-speakr; Storebot-Google;
   GoogleOther-Image; GoogleOther-Video).
 * `update_date` criterion now composite: 75% recency + 25% renderable `dateModified`
   in JSON-LD. Denominator unchanged (5 criteria in Authority).
 * PRO+WOO: UCP-ready WooCommerce schema (GTIN, hasMerchantReturnPolicy, OfferShippingDetails).`
   llms-shop.txt` gained a `UCP-Ready` header signal and per-product `GTIN:` line.

#### 3.7.5

**Resolves WP.org Plugin Review feedback (T5, 21 May 2026)**

 * All admin tab JavaScript moved to dedicated external files under `assets/js/admin/`,
   enqueued via `wp_register_script()` + `wp_enqueue_script()`. PHP data passed 
   via `wp_localize_script()`; translatable strings via `wp.i18n` API with `wp_set_script_translations()`.
 * `handle_public_share()` rewritten: `wp_verify_nonce()` is the first action after
   reading `$_GET['_wpnonce']`. Shareable-link `hash_equals()` is an explicit dual-
   factor fallback.
 * All `$geo_*` locals renamed to `$georankopt_*`. Deleted `includes/Helpers/GeoRankOptInlineScriptHelper.
   php`.

#### 3.7.4

Fix: Dashboard could show contradictory file-accessibility status for LLM files.
Now re-verifies after each generation/deletion; upgrade clears stale alerts.

#### 3.7.3

Resolves WP.org review T4: wp_enqueue for inline assets, ob_start refactored, menu
position, ABSPATH guards, all `geo_*` globals renamed to `georankopt_*`.

#### Earlier versions

For releases 3.5.0 through 3.7.2, see CHANGELOG.md in the plugin directory.

## Meta

 *  Version **3.9.19**
 *  Last updated **1 week ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.0**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [AI](https://wordpress.org/plugins/tags/ai/)[Generative Engine Optimization](https://wordpress.org/plugins/tags/generative-engine-optimization/)
   [geo](https://wordpress.org/plugins/tags/geo/)[LLM](https://wordpress.org/plugins/tags/llm/)
 *  [Advanced View](https://wordpress.org/plugins/geo-rank-optimizer/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/geo-rank-optimizer/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/geo-rank-optimizer/reviews/)

## Contributors

 *   [ alexbarbosa ](https://profiles.wordpress.org/alexbarbosa/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/geo-rank-optimizer/)