Title: Innova GEO AI Indexer
Author: alessandroang
Published: <strong>15 juillet 2026</strong>
Last modified: 1 août 2026

---

Recherche d’extensions

![](https://ps.w.org/innova-geo-ai-indexer/assets/banner-772x250.png?rev=3608921)

![](https://ps.w.org/innova-geo-ai-indexer/assets/icon-256x256.png?rev=3608921)

# Innova GEO AI Indexer

 Par [alessandroang](https://profiles.wordpress.org/alessandroang/)

[Télécharger](https://downloads.wordpress.org/plugin/innova-geo-ai-indexer.3.3.2.zip)

 * [Détails](https://fr.wordpress.org/plugins/innova-geo-ai-indexer/#description)
 * [Avis](https://fr.wordpress.org/plugins/innova-geo-ai-indexer/#reviews)
 *  [Installation](https://fr.wordpress.org/plugins/innova-geo-ai-indexer/#installation)
 * [Développement](https://fr.wordpress.org/plugins/innova-geo-ai-indexer/#developers)

 [Support](https://wordpress.org/support/plugin/innova-geo-ai-indexer/)

## Description

**Innova GEO AI Indexer** adds the essential GEO fields and structures to WordPress
for optimizing content for Generative Search Engines (**ChatGPT, Claude, Gemini,
Perplexity, Mistral, Kimi**). It features single-field AI population using your 
own provider API keys (BYOK), multi-stack **Schema.org JSON-LD** output, and site-
level `llms.txt` file management.

Fully free with no account, no license, no subscription — you bring your own API
key and the plugin calls the provider directly. Nothing goes through geocite22.com.

#### What the free version does

 * **5 core Post-level GEO fields**: Quick Answer, FAQ, Direct Definition, Reading
   Time, Author Override.
 * **Multi-stack Schema.org JSON-LD**: Organization + BreadcrumbList + Article/BlogPosting/
   NewsArticle/HowTo/Product/Review/Recipe/Event + FAQPage (optional) — all within
   a single `@graph` in the `<head>`.
 * **Dynamic llms.txt**: Automatically generated with pillar content + contact email
   + topical clusters.
 * **AI generation via BYOK**: single-field ✨ Generate button next to each AI-generable
   field, using your own API key from any of the 5 supported providers (Anthropic
   Claude, OpenAI ChatGPT, Google Gemini, Mistral, Kimi/Moonshot). Native structured
   tool use per provider.
 * **Model auto-discovery**: click Test on a saved provider key and the plugin fetches
   the current list of available models from the provider’s own `/v1/models` endpoint.
   The Model field becomes an autocompleted dropdown — no need to remember exact
   model names as they change.
 * **User-friendly errors**: connection errors are translated to human-readable 
   suggestions (« Il provider è momentaneamente sovraccarico, riprova tra qualche
   secondo ») with the raw technical detail available on a `ⓘ` tooltip for debugging.
 * **API keys encrypted at-rest** using Sodium secretbox (derived from `AUTH_KEY`).
 * **AI generation audit log**: full tracking of generations in a dedicated DB table.
 * **Automatic reading time** calculation from post content (~200 words/min).
 * **Extendable**: exposes hooks that a Pro add-on (or your own code) can use to
   add fields, sections, post types, and features.

#### Not in the free version — Pro add-on

There is an optional **Innova GEO AI Indexer Pro** add-on plugin distributed separately
at [geocite22.com](https://geocite22.com) that adds — on top of everything the free
plugin does:

 * 9 additional GEO fields (Key Takeaways, Target Queries, Citation Sources, Key
   Statistics, Related Entities, Schema Type, Expertise Level, Last Fact Check, 
   ItemList Entries)
 * Multi-field generation in a single click (batch panel above the metabox)
 * Support for page builders (Elementor / Divi / Beaver Builder) — fetches the rendered
   HTML instead of `post_content`
 * Frontend display of GEO fields (auto-inject, shortcodes, Gutenberg blocks)
 * Custom post types support + per-post-type field selection matrix
 * Managed AI mode (no BYOK — credits included in the subscription)
 * Roadmap features: LLM citation monitoring, AI-generated cover images, batch generation
   on the archive, WPML/Polylang translations

The Pro is entirely optional. The free plugin is fully functional and does not degrade
in any way if the Pro is not installed.

#### Privacy & Third-Party Services

The free plugin communicates ONLY with the AI provider you configure — geocite22.
com is never contacted:

 * **Anthropic** (Claude) — [Terms of Service](https://www.anthropic.com/legal/consumer-terms)·
   [Privacy Policy](https://www.anthropic.com/legal/privacy) · endpoint `api.anthropic.
   com`
 * **OpenAI** (ChatGPT) — [Terms of Use](https://openai.com/policies/terms-of-use)·
   [Privacy Policy](https://openai.com/policies/privacy-policy) · endpoint `api.
   openai.com`
 * **Google Gemini** — [Terms of Service](https://policies.google.com/terms) · [Privacy Policy](https://policies.google.com/privacy)·
   endpoint `generativelanguage.googleapis.com`
 * **Mistral AI** — [Terms of Service](https://mistral.ai/terms) · [Privacy Policy](https://legal.mistral.ai/terms/privacy-policy)·
   endpoint `api.mistral.ai`
 * **Kimi / Moonshot AI** — [Terms of Service](https://www.moonshot.cn/terms) · 
   [Privacy Policy](https://www.moonshot.cn/privacy) · endpoint `api.moonshot.cn`

The plugin sends the post title + content + your prompt to the provider you selected,
and receives back the AI-generated field values. No data is sent anywhere else. 
Your API keys are stored encrypted (Sodium secretbox) in `wp_options` and never 
leave your site except as `Authorization` headers in the direct provider calls.

**IndexNow (optional, disabled by default)** — if you switch it on in **Settings
IndexNow**, publishing or updating a post whose Quick Answer is filled sends a notification
to the search endpoints you selected:

 * **Bing / Microsoft (IndexNow)** — [Terms of Use](https://www.indexnow.org/faq)·
   [Privacy Statement](https://privacy.microsoft.com/privacystatement) · endpoint`
   api.indexnow.org`
 * **Yandex** — [Terms](https://yandex.com/legal/rules/) · [Privacy Policy](https://yandex.com/legal/confidential/)·
   endpoint `yandex.com`
 * **Naver** — [Terms](https://policy.naver.com/rules/en/service.html) · [Privacy Policy](https://policy.naver.com/rules/en/privacy.html)·
   endpoint `searchadvisor.naver.com`
 * **Seznam** — [Terms](https://www.seznam.cz/reklama/cz/obsahovy-web/pravni-informace/)·
   endpoint `search.seznam.cz`

Each notification contains only the URL of the content, your site host and a randomly
generated verification key — never the post content. The key is published as a plain
text file at `https://your-site.com/{key}.txt`, as the IndexNow protocol requires.
Turning the feature off stops all outbound calls immediately.

#### Extension points

Filterable hooks for developers and the Pro add-on:

 * `innogai22_field_definitions` — add/remove GEO fields.
 * `innogai22_displayable_fields` — extend the list of publicly-displayable fields.
 * `innogai22_enabled_post_types` — extend the post types where the metabox appears.
 * `innogai22_schema_output` — modify JSON-LD payload before output.
 * `innogai22_tool_schema` — modify AI tool-use schema.
 * `innogai22_ai_providers` — register custom AI providers.
 * `innogai22_license_manager` — replace the null license manager (used by the Pro
   add-on).
 * `innogai22_indexnow_should_notify` — decide whether a saved post triggers an 
   IndexNow notification (default: only posts with a filled Quick Answer).
 * `innogai22_citation_density_config` — recalibrate the Citation Density weights,
   thresholds and bonus meta keys.
 * `innogai22_registered_geo_blocks` — add or modify the GEO blocks catalogue.
 * `innogai22_block_html` — replace the public markup of a GEO block. Receives `(
   string $html, string $blockName, array $attrs)`.

JavaScript filters (via `wp.hooks`, editor side):

 * `innogai22.citationDensity.suggestions` — append or replace the actionable suggestions
   in the Citability sidebar. Receives `(suggestions, analysis)`.
 * `innogai22.citationDensity.panels` — append panels to the Citability sidebar.
   Receives `(panels, analysis)`.
 * `innogai22_metabox_before_fields` — inject markup at the top of the metabox (
   used by the Pro for the multi-field panel).
 * `innogai22_settings_before_provider_section` / `innogai22_settings_before_locale_section`—
   inject Settings sections (used by the Pro for the advanced tabs).
 * `innogai22_dashboard_after_main_cards` — inject Dashboard widgets (used by the
   Pro for license status, credits, monitoring).
 * `innogai22_required_capability` — custom capability for plugin management.

## Captures d’écrans

[⌊License page.⌉⌊License page.⌉[

License page.

[⌊Dashboard with stats for the last 30 days via the chosen AI provider.⌉⌊Dashboard
with stats for the last 30 days via the chosen AI provider.⌉[

Dashboard with stats for the last 30 days via the chosen AI provider.

[⌊Organization data page.⌉⌊Organization data page.⌉[

Organization data page.

[⌊Metaboxes in CPTs.⌉⌊Metaboxes in CPTs.⌉[

Metaboxes in CPTs.

## Installation

 1. Upload the `innova-geo-ai-indexer` folder to `/wp-content/plugins/`, or install
    directly from the WordPress Plugin Directory.
 2. Activate the plugin through the WordPress **Plugins** menu.
 3. Ensure **pretty permalinks** are active (**Settings  Permalinks**  any option other
    than « Plain ») if you want the `/llms.txt` endpoint.
 4. Configure **Innova GEO AI Indexer  Dati sito** (Organization, publisher, topical
    clusters, pillar content for llms.txt).
 5. (Optional, for AI generation) Paste at least one provider API key in **Innova GEO
    AI Indexer  Impostazioni  API Keys**. Click **Test** to verify the key and load
    the model dropdown.
 6. On each post, fill the GEO fields manually or use the ✨ **Genera** button next
    to each AI-generable field.

## FAQ

### Do I need an account or license to use the plugin?

**No.** The plugin is fully functional out of the box: install, activate, and use.
To use the AI generation feature you need to paste your own API key from one of 
the supported providers in Settings  API Keys — free from us, you pay only the provider
at their standard rates.

### Which AI providers are supported?

Anthropic (Claude), OpenAI (ChatGPT), Google Gemini, Mistral, and Kimi (Moonshot).
The tool schema is automatically translated into each provider’s native format.

### Where are API keys stored?

In `wp_options` (`innogai22_providers`), encrypted with Sodium secretbox. The encryption
key is derived from your `AUTH_KEY` (SHA-256). If `AUTH_KEY` changes, saved keys
will become unreadable — this is by design (prevents credential theft on wp-config
leaks).

### Does the plugin work without JavaScript on the frontend?

Yes. The plugin does NOT inject JS into the frontend of client sites. The SEO/GEO
output is pure HTML + static JSON-LD in the `<head>`. The only JS is in the admin
area (metaboxes + settings).

### Why does /llms.txt return a 404?

Check: 1) Pretty permalinks are active; 2) The « Publish /llms.txt » toggle is active
in both Settings and Site Data; 3) Deactivate and reactivate the plugin to refresh
rewrite rules.

### I want more fields / features. Where’s the Pro?

At [geocite22.com](https://geocite22.com/pro). The Pro is a separate add-on plugin
that installs alongside the free one and extends it — it does not replace it. Your
existing setup and data are preserved.

### Can I support the development of the plugin?

Yes, thank you! The free plugin is and will remain free. If you’d like to contribute
to the open development, patch releases, and the evolution of AI integrations, either
grab the Pro (best support) or make a donation via Stripe: [Support Innova GEO AI Indexer](https://buy.stripe.com/8x29ATdg3cKU1qC4fV0kE00).

## Avis

Il n’y a aucun avis pour cette extension.

## Contributeurs/contributrices & développeurs/développeuses

« Innova GEO AI Indexer » est un logiciel libre. Les personnes suivantes ont contribué
à cette extension.

Contributeurs

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

[Traduisez « Innova GEO AI Indexer » dans votre langue.](https://translate.wordpress.org/projects/wp-plugins/innova-geo-ai-indexer)

### Le développement vous intéresse ?

[Parcourir le code](https://plugins.trac.wordpress.org/browser/innova-geo-ai-indexer/),
consulter le [SVN dépôt](https://plugins.svn.wordpress.org/innova-geo-ai-indexer/),
ou s’inscrire au [journal de développement](https://plugins.trac.wordpress.org/log/innova-geo-ai-indexer/)
par [RSS](https://plugins.trac.wordpress.org/log/innova-geo-ai-indexer/?limit=100&mode=stop_on_copy&format=rss).

## Journal des modifications

#### 3.3.2

 * The message shown while there is not enough content to score no longer assumes
   the page is empty. 3.3.1 said « write the content », but the threshold also applies
   at 30 or 45 words — to text that has been written. Telling someone who just finished
   a short page that they should write it is a defect, not help.
 * The panel now shows a word counter (`30 / 50 words`) with a progress bar, so 
   the threshold is visible instead of looking like a broken feature. It also answers
   the obvious question — how much is still missing — without anyone having to ask.

#### 3.3.1

 * Fix: an empty page showed a citability score of 50/100 with a green bar, as if
   half the work were already done. The penalties are calibrated on prose — « fewer
   than 3 numeric claims » and « no list or table » say nothing about text that 
   is not there yet. Below 50 words the panel now says there is not enough to analyse
   instead of showing a number that looks like information without being any.
 * The suggestions are hidden too while the content is that short: four lines telling
   you to add everything were noise covering the only thing to do, which is write.
 * The threshold lives with the other Citability settings and can be changed through`
   innogai22_citation_density_config`.

#### 3.3.0

 * **GEO blocks now tell you what is missing.** Each of the four GEO blocks gets
   a **« GEO · What’s missing »** panel in the block sidebar: a statistic without
   a source, a comparison with a single row, a procedure step with no description.
   The checks are deterministic — no AI call, no cost — and they point at the things
   that make the difference between structured data an assistant can quote and structured
   data it cannot verify.
 * Groundwork for image analysis: the AI provider layer now accepts images, with
   each provider receiving them in its own required format. Anthropic, OpenAI and
   Google Gemini are marked as image-capable; Mistral and Kimi are not, and a request
   carrying an image to them fails immediately with a clear message instead of silently
   producing a description of nothing.
 * Two extension points for add-ons, both declared in the plugin’s architecture 
   notes but never actually implemented: `innogai22_block_geo_hints` (PHP) and `
   innogai22.blockToolbar.controls` (JS).
 * Nothing changes if you do not use the GEO blocks. Existing AI generation is untouched:
   request payloads keep exactly the shape they had, and there is a regression test
   asserting it.

#### 3.2.0

 * **Citability score in the Classic Editor**: the 0-100 quotability score shipped
   in 3.1.0 was a Gutenberg sidebar, so it never appeared for anyone editing with
   the Classic Editor. It is now also a **GEO · Citability** metabox in the sidebar
   column of the classic post screen, with the same score, the same statistics and
   the same suggestions. It updates as you type in both the Visual and the Text 
   tab, and the Quick Answer bonus reads the GEO box live instead of the last save.
 * One score, two editors: the analysis engine moved to a shared file so Gutenberg
   and the Classic Editor cannot drift apart. A parity test asserts that the same
   content, given as blocks and as HTML, produces the same number.
 * **Page builders are told the truth**: on posts managed by Elementor, Divi, Beaver
   Builder, Bricks or WPBakery the real content lives in the builder’s own storage,
   not in the WordPress editor. The metabox now says so instead of showing a score
   computed on an almost-empty field — a wrong number looks like information, which
   is worse than no number.
 * Note: the 4 GEO blocks introduced in 3.1.0 remain Gutenberg-only. They are block
   editor components and have no Classic Editor equivalent.
 * New: two filters on `llms.txt` generation, for add-ons. `innogai22_llms_txt_pillars`
   receives the Pillar Content entries as structured data (`title`, `url`, `description`)
   and lets an add-on append its own — the plugin stays in charge of ordering, deduplication
   by URL, the 25-entry cap (raisable via `innogai22_llms_txt_pillars_max`) and 
   the markdown rendering. `innogai22_llms_txt_content` is the escape hatch on the
   final markdown, documented since 1.0 but never actually implemented.
 * Fix: the citability sidebar used `wp.editPost.PluginSidebar`, deprecated since
   WordPress 6.6 in favour of `wp.editor.PluginSidebar`. It now prefers the current
   API and falls back to the old one, so the sidebar keeps working on WordPress 
   6.4-6.5 and will not disappear when core drops the deprecated proxy.

#### 3.1.0

 * **IndexNow** (optional, off by default): publishing or updating a post whose 
   Quick Answer is filled notifies the search endpoints you selected (Bing, Yandex,
   Naver, Seznam). The verification key is generated on first activation and served
   at `https://your-site.com/{key}.txt`. The ping is non-blocking (0.5s timeout)
   so saving a post is never slowed down; a per-URL throttle avoids hammering the
   endpoints when you save the same post repeatedly. Log of the last 100 notifications,«
   Test connection » button, key regeneration.
 * **AI crawler control**: new **Settings  AI crawlers** panel with 18 known AI 
   crawlers (OpenAI, Anthropic, Google-Extended, Applebot-Extended, Perplexity, 
   Common Crawl, ByteDance, Meta, Mistral, Cohere, Diffbot, You.com and more). Each
   row states what blocking that crawler costs you. Everything is Allowed by default—
   blocking a crawler means leaving its data, which is the opposite of what this
   plugin is for. Live preview of the exact robots.txt block, plus a warning if 
   a physical robots.txt file is bypassing WordPress.
 * **Citability sidebar** in the block editor: a 0-100 score of how quotable your
   content is for an AI assistant, with statistics and actionable suggestions. The
   analysis is deterministic and entirely local — no AI call, no network request,
   your text never leaves the browser.
 * **4 new GEO blocks**: Definition (emits `DefinedTerm`), Statistic (emits `Claim`
   with its citation), Comparison (emits `ItemList` with `PropertyValue`) and Procedure(
   emits `ItemList` of `HowToStep`). Plus 3 ready-made block patterns. Compose semantic
   blocks, get correct JSON-LD without ever seeing schema.org.
 * **Improved JSON-LD entity graph**: three new nodes (`WebSite`, `WebPage`, `Person`)
   and stable cross-references between them. The author is now a `Person` node with
   a stable `@id` shared across posts, so fifty articles by the same byline read
   as fifty articles by the same person.
 * Fix: invalid schema.org types in the Related entities field no longer break JSON-
   LD validation. Entities saved as `Concept` (not a real schema.org type) made 
   the schema.org validator reject `Article.mentions`. Types are now normalised 
   on output — `Concept`, `Topic` and `Technology` become `DefinedTerm`, `Company`
   becomes `Organization`, and anything unrecognised falls back to `Thing`. Already-
   published content is fixed on the next page load, with no database migration.
 * Fix: the `@id` of the main article no longer changes when you change « Primary
   schema type » — it used to become `#howto` or `#blogposting`, which changed the
   identity of already-indexed content. It is now always `#article`.
 * Fix: `mainEntityOfPage` pointed at a node that did not exist in the graph. It
   now points at the new `WebPage` node.
 * Full English translation, including every string in the block editor.

#### 3.0.0

 * Freemium split: the plugin becomes the free « essentials » edition. 9 advanced
   fields (Key Takeaways, Target Queries, Citation Sources, Key Statistics, Related
   Entities, Schema Type, Expertise Level, Last Fact Check, ItemList Entries) move
   to the new **Innova GEO AI Indexer Pro** add-on distributed at geocite22.com.
   Data saved under those meta keys remains in the DB — if you later install the
   Pro, the fields reappear populated.
 * Free version = 5 core fields (Quick Answer, FAQ, Direct Definition, Reading Time,
   Author Override) + JSON-LD + llms.txt + single-field AI generation via BYOK.
 * Removed the « Post Types abilitati », « Campi GEO per post type » and « Visualizzazione
   frontend » sections from Settings — hardcoded to post + page + all 5 core fields
   always visible in the metabox. These configurability options move to the Pro 
   add-on.
 * Removed the « Licenza » and « Acquista » admin pages. The free plugin no longer
   talks to geocite22.com — it’s fully local and offline. A new **Versione PRO ⭐**
   page replaces them with a conversion funnel to the Pro add-on.
 * Removed the multi-field « Genera con AI » panel at the top of the metabox — the
   free plugin generates one field at a time via the ✨ button next to each AI-generable
   field. Multi-field batch generation moves to the Pro.
 * Removed the « Usa contenuto renderizzato » checkbox — page-builder-aware content
   fetching (Elementor / Divi / Beaver Builder) moves to the Pro.
 * Removed the `ManagedProvider`, `RemoteLicenseManager`, `CreditsTracker` internal
   classes. The free plugin is now pure BYOK.
 * New extension hooks for the Pro add-on: `innogai22_displayable_fields`, `innogai22_enabled_post_types`,`
   innogai22_license_manager`, `innogai22_metabox_before_fields`, `innogai22_settings_before_provider_section`,`
   innogai22_settings_before_locale_section`, `innogai22_dashboard_after_main_cards`.

#### 2.0.0

 * Rebrand to **Innova GEO AI Indexer** (previously « GEO Cite 22 ») to comply with
   the WordPress.org Plugin Review naming policy — the previous name was too similar
   to the existing « GeoCites » project. The backend SaaS at geocite22.com is unchanged
   and remains the partner service the plugin talks to.
 * Slug, text domain, folder and main file all aligned to `innova-geo-ai-indexer`.
 * License key format change: `GC22-XXXX-XXXX-XXXX`  `INNOGAI22-XXXX-XXXX-XXXX`.
   Existing license keys (issued before 2.0.0) are no longer accepted — request 
   a new key from the geocite22.com dashboard.
 * Consolidated internal identifiers on a single unique prefix: constants `INNOGAI22_*`,
   meta keys `_innogai22_*`, hook prefix `innogai22_`, DB tables `wp_innogai22_*`,
   JS globals `innogai22*`, CSS classes `.innogai22-*`, shortcodes `[innogai22_*]`.
   PHP namespace stays `Innovams\GeoAiIndexer22\` (already brand-tied via the vendor
   segment).
 * Security hardening: API keys arriving from the Settings and AJAX test endpoints
   are now explicitly sanitized with `sanitize_text_field()` before use (previously
   only trimmed — safe against tag/whitespace injection).
 * Documentation: new readme section listing third-party AI provider endpoints and
   links to each provider’s Terms/Privacy pages.
 * Upgrade path (no automatic migration in this release): uninstall any previous«
   GEO Cite 22 » plugin, install « Innova GEO AI Indexer » 2.0.0, and re-enter the
   new license key. Custom field values stored under the old `_gc22_*` / `_gai22_*`
   meta keys are NOT read by 2.0.0 — back-fill manually if needed.

#### 1.6.1

 * UX: on the Purchase admin page, the « Activate Premium » button is replaced with
   a « Coming Soon » label — Premium plans are temporarily not purchasable. The 
   webapp checkout blocks Premium attempts server-side too.

#### 1.6.0

 * New: public display of the GEO fields. Six fields (Quick Answer, Key Takeaways,
   FAQ, Direct Definition, Key Statistics, Citation Sources) can now also be shown
   to readers, not just emitted in the JSON-LD. Three complementary ways: automatic
   output in the post content (opt-in, per-field toggle and position in Settings«
   Frontend display »); shortcodes (`[innogai22_quick_answer]`, `[innogai22_faq]`,`[
   innogai22_key_takeaways]`, `[innogai22_direct_definition]`, `[innogai22_key_statistics]`,`[
   innogai22_citation_sources]`); and native Gutenberg blocks under the « Innova
   GEO AI Indexer » category. The FAQ uses a no-JavaScript <details> accordion. 
   A field placed manually via shortcode or block is not duplicated by the automatic
   output.

#### 1.5.1

 * Fix: « Generate with AI » failing with « the provider did not return a valid 
   tool_use », especially on Gemini and when generating many fields at once. The
   token budget was too low (2048): structured multi-field output — plus the internal«
   thinking » of Gemini 2.x models — got truncated before the tool call was emitted.
   Raised to 8192.
 * Fix: the Gemini error is no longer opaque — it now reports the real reason (finishReason
   MAX_TOKENS / MALFORMED_FUNCTION_CALL / safety block).
 * Fix: the « Primary Schema type » field was not saved when updating/publishing
   a post. The select sanitizer lowercased the value, discarding valid CamelCase
   options (Article, BlogPosting, HowTo, FAQPage).

#### 1.5.0

 * Security fix (important): removed the `INNOGAI22_MOCK_LICENSE` / `INNOGAI22_MOCK_TIER`/`
   INNOGAI22_MOCK_AI` constants entirely. Their `true` default meant any production
   install that did not redefine them in `wp-config.php` ran in mock mode, granting
   a fake Premium Unlimited license to every well-formed key. The plugin now always
   validates the license against the real geocite22.com server — there is no longer
   any way to enable development mode with a local `define()`.
 * Changed: development mode is now the `premium_unlimited` license tier. A dev 
   license issued by a geocite22.com admin unlocks unlimited credits/sites and makes«
   Generate with AI » return zero-cost mock payloads. It replaces both removed mock
   constants.
 * UX: Removed the technical « Mock license active » banner from the License admin
   page and the Mock diagnostics rows from the Support page.
 * UX: the « API Keys Provider AI » box (Settings) now shows Advanced licenses a
   link to a step-by-step guide for creating the provider API keys.
 * Compatibility: updated « Tested up to » flag to WordPress 7.0.

#### 1.4.6

 * UX: The Premium tier « Generate with AI » provider dropdown now lists only providers
   that the geocite22.com proxy actually has configured server-side (managed API
   keys with active budget). The license validation response now includes `available_managed_providers`,
   persisted in the license cache and consumed by the metabox. If the webapp temporarily
   has no managed key for a provider, that option disappears from the dropdown —
   no more failed AI calls due to a missing managed key surfacing only after the
   request. Backward compatible: legacy cached license states default to all 5 providers
   until the next refresh (~12h cron).

#### 1.4.5

 * UX: The « Generate with AI » provider dropdown on the post editor now lists only
   providers with a configured API key (Advanced/BYOK). Premium tier still shows
   all five providers (the proxy handles keys server-side). When no provider is 
   configured, the dropdown is replaced by a notice with a direct link to Settings,
   and the « Generate with AI » button is disabled. No more confusing « missing_api_key»
   errors after picking an unconfigured provider.

#### 1.4.4

 * Hardening: annotated the last 2 residual Plugin Check warnings on the GEO fields
   coverage query in `Support\ContentStats` (DirectQuery + NoCaching on a JOIN over
   wp_posts/wp_postmeta — live aggregate for the dashboard, no caching is useful
   here).

#### 1.4.3

 * Hardening (Plugin Check warnings cleanup): annotated direct $wpdb queries on 
   the plugin’s custom tables (innogai22_ai_log, innogai22_credits_log) and admin-
   only diagnostics with phpcs:ignore + motivation; explicit phpcs:ignore on $_POST
   arrays sanitized downstream and on read-only $_GET flash params; removed the 
   explicit load_plugin_textdomain() call (WP 4.6+ auto-loads translations from 
   the Domain Path header). composer.json is now included in the distribution zip
   to prevent the « missing composer.json » Plugin Check warning. No functional 
   changes for the user.

#### 1.4.2

 * Compatibility: Updated « Tested up to » flag to WordPress 6.9.
 * Hardening: Added translators: comments next to i18n calls with placeholders; 
   revised output escaping in multi-stack JSON-LD and llms.txt; SQL LIKE queries
   now use $wpdb->esc_like() with prepared statements; enum-only files now include
   the ABSPATH guard. No functional changes for the user — cleanup required by the
   official WordPress.org Plugin Check.

#### 1.4.1

 * Fix: The « Interface Language » setting now takes effect immediately. On WordPress
   6.7+, « just-in-time » translation loading bypasses the plugin_locale filter;
   added a second filter on load_textdomain_mofile that always intercepts the .mo
   path, regardless of how WP loads the domain.

#### 1.4.0

 * New: English translation for the plugin. The interface language automatically
   follows WordPress (Italian if WP is in Italian, English otherwise). You can force
   English or Italian from Settings  « Interface Language ».
 * New: AI generation now automatically detects the post language (compatible with
   multilingual plugins via the `innogai22_post_language` filter) and instructs 
   the model to respond in the same language.

#### 1.3.1

 * Added 4 screenshots to the plugin’s « View details » panel.
 * Added a link to support development (optional Stripe donation).

#### 1.3.0

 * Expanded JSON-LD coverage: Direct Definition becomes `description`, Key Takeaways
   are added to `abstract`, and Key Statistics appear as `Claim` alongside Cited
   Sources.
 * « Generate with AI » now always populates Related Entities and Cited Sources 
   with at least 3 relevant items.

#### 1.2.3

 * Fix: « × Remove » and « + Add » buttons in FAQ / Statistics / Sources / Entities
   lists now respond to clicks in all contexts, including the block editor.

#### 1.2.2

 * Fix: Repeater object rows (FAQ, Statistics, Cited Sources, Related Entities) 
   no longer expand to abnormal heights.

#### 1.2.1

 * Fix: « Generate with AI » on BYOK (Advanced) tiers now correctly populates metabox
   fields for all 5 supported providers (Anthropic, OpenAI, Gemini, Mistral, Kimi).

#### 1.2.0

 * New: 30-day Advanced Starter free trial upon registration at geocite22.com.
 * License panel and Dashboard show trial status and remaining days. Automatic downgrade
   to Base plan upon expiration without interruptions.

#### 1.1.0

 * The « Disconnect » button now notifies the geocite22.com server and immediately
   frees the plan slot in the user dashboard. Previously required a periodic cron
   job.

#### 1.0.0

First stable release. 14 post-level GEO fields, multi-stack JSON-LD in the `<head
>`, automatic `llms.txt` generation, multi-provider AI integration, three tiers (
Base / Advanced / Premium), AI generation audit log, and at-rest API key encryption.

## Méta

 *  Version **3.3.2**
 *  Dernière mise à jour **il y a 2 mois**
 *  Installations actives **Moins de 10**
 *  Version de WordPress ** 6.4 ou plus **
 *  Testé jusqu’à **7.0.7**
 *  Version de PHP ** 8.1 ou plus **
 *  Langue
 * [English (US)](https://wordpress.org/plugins/innova-geo-ai-indexer/)
 * Étiquettes
 * [AI](https://fr.wordpress.org/plugins/tags/ai/)[Generative Engine Optimization](https://fr.wordpress.org/plugins/tags/generative-engine-optimization/)
   [llms.txt](https://fr.wordpress.org/plugins/tags/llms-txt/)[schema](https://fr.wordpress.org/plugins/tags/schema/)
   [seo](https://fr.wordpress.org/plugins/tags/seo/)
 *  [Vue avancée](https://fr.wordpress.org/plugins/innova-geo-ai-indexer/advanced/)

## Évaluations

Aucun avis n’a encore été envoyé.

[Votre avis](https://wordpress.org/support/plugin/innova-geo-ai-indexer/reviews/#new-post)

[Tout voir](https://wordpress.org/support/plugin/innova-geo-ai-indexer/reviews/)

## Contributeurs

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

## Support

Quelque chose à dire ? Besoin d’aide ?

 [Voir le forum de support](https://wordpress.org/support/plugin/innova-geo-ai-indexer/)

## Faire un don

Souhaitez-vous soutenir l’avancement de cette extension ?

 [ Faire un don à cette extension ](https://buy.stripe.com/8x29ATdg3cKU1qC4fV0kE00)