GEO Rank Optimizer – Generative Engine Optimization

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.

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

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

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.