Title: AISA — AI SEO &amp; GEO Assistant: Alt Text for Accessibility (WCAG), Meta, Schema, Brand Voice — with Your Own AI API Keys
Author: InGenium Project by Paolo Chiesa
Published: <strong>August 30, 2026</strong>
Last modified: August 30, 2026

---

Search plugins

![](https://ps.w.org/aisa-ai-seo-geo-assistant/assets/banner-772x250.png?rev=3672580)

![](https://ps.w.org/aisa-ai-seo-geo-assistant/assets/icon-256x256.png?rev=3672580)

# AISA — AI SEO & GEO Assistant: Alt Text for Accessibility (WCAG), Meta, Schema, Brand Voice — with Your Own AI API Keys

 By [InGenium Project by Paolo Chiesa](https://profiles.wordpress.org/paolopiace/)

[Download](https://downloads.wordpress.org/plugin/aisa-ai-seo-geo-assistant.1.99.993.zip)

 * [Details](https://wordpress.org/plugins/aisa-ai-seo-geo-assistant/#description)
 * [Reviews](https://wordpress.org/plugins/aisa-ai-seo-geo-assistant/#reviews)
 *  [Installation](https://wordpress.org/plugins/aisa-ai-seo-geo-assistant/#installation)
 * [Development](https://wordpress.org/plugins/aisa-ai-seo-geo-assistant/#developers)

 [Support](https://wordpress.org/support/plugin/aisa-ai-seo-geo-assistant/)

## Description

You already have hundreds of pages online. Their SEO titles were written years ago,
half the
 meta descriptions are missing, and the product pages say whatever the 
importer put there. Fixing that by hand means opening every post, one at a time,
and you never get to the end of it.

AI SEO & GEO Assistant is a **data optimization engine** for content you have already
published.
 It reads a page — the real text, even when it was built with Elementor
or a page builder — and writes the SEO title, meta description, focus keyphrase,
slug and structured data that page should have had. It works inside the SEO plugin
you already use, or on its own if you have none.

You bring your **own** AI provider key. Your content goes to the provider you chose,
with your
 key, at your cost — a typical page costs a fraction of a cent. Nothing
is sent anywhere unless you press a button.

#### It works with your SEO plugin, not against it

**Integration mode** — AISA detects Yoast SEO, Rank Math, SEOPress or All in One
SEO and writes
 into their own fields, through a floating panel that sits next to
the editor. Your SEO plugin stays in charge of the output; AISA just fills it in
properly.

**Standalone mode** — no SEO plugin at all? AISA emits the title, meta description,
canonical and
 robots tags itself. The moment an SEO plugin becomes active it steps
back, so you never get two meta descriptions in the same page.

#### What it does

 * **Writes the SEO of a page in one call** — title, meta description, focus keyphrase,
   slug and
    AI context, generated together so they agree with each other, then 
   written into the fields of your SEO plugin.
 * **Audits the page and fixes what it finds** — keyphrase in the title, in the 
   URL, in the first
    paragraph, lengths, missing image ALT, outbound links. Each
   finding comes with a targeted fix, not a red dot and a shrug.
 * **Rewrites the content itself, when you ask it to** — with an explicit confirmation
   and a
    restore point, for Classic, Gutenberg, Elementor, WPBakery and Divi.
 * **Optimal schema (JSON-LD)** — proposes the structured data that actually suits
   each content
    type, and completes the WooCommerce Product schema (availability,
   condition, brand, GTIN) instead of emitting a second, competing one.
 * **llms.txt and AI Search Context** — publishes the file AI answer engines look
   for, and stores
    a short machine-readable summary of every page.
 * **Answers the questions people actually ask** — generates an FAQ set for a page
   and can create
    the FAQ page, with FAQPage schema.
 * **Site-wide SEO Doctor** — scans the whole site for missing, duplicated or oversized
   metadata,
    checks PageSpeed, Safe Browsing and Bing, and shows you exactly what
   it would change, before and after.
 * **Finds and repairs broken internal links** — and suggests related published 
   content to link
    to, with the anchor text.
 * **The plumbing, done properly** — breadcrumbs with BreadcrumbList schema, sitemap
   with IndexNow
    ping, 301 redirects and 404 handling, SEO for categories and tags,
   Local SEO through Google Business Profile.
 * **Brand Context** — teach it once what your business is, who it serves and how
   it talks;
    every generation uses it, so the output does not read like generic
   AI.
 * **Language fidelity** — the language is taken from the real text of the page,
   not from your
    site setting, and a “do not translate” glossary keeps product 
   names intact.
 * **Backup, restore, migrate** — SEO snapshots are plugin-agnostic, so restoring
   one under a
    different SEO plugin migrates your SEO data from Yoast to Rank Math,
   or the other way round.
 * **REST API** — authenticated `aisa/v1` endpoints, for headless setups and automation.

#### Your keys, your provider

OpenAI, Anthropic (Claude), Google Gemini, DeepSeek, GLM (Z.ai), xAI (Grok), Mistral
and
 Perplexity. Enable the ones you want, paste your keys, pick a model per task.
Costs are tracked per operation, so you always know what you spent.

If you would rather not deal with API keys at all, **AISA Cloud** is an optional
paid service
 with prepaid credits: your requests go through our server, which forwards
them to a provider. It is strictly opt-in — connect no account and nothing ever 
reaches us. See _External services_.

#### AISA Premium (a separate plugin, optional)

Everything above is in this plugin, unlimited and unlocked. There is no trial, no
quota and no
 countdown.

Some work, though, is bulk work: doing to nine hundred products what you just did
to one page.
 That lives in **AISA Premium**, a **separate companion plugin** you
download from our site and install like any other plugin. This plugin never downloads
or installs code on its own.

 * **One-Click SEO across the site** — pick what is missing, press once, and let
   it work through
    the queue in the background while you close the tab.
 * **Bulk SEO** — hundreds of posts or products in one run, with a cost estimate
   before it starts
    and a stop button while it runs.
 * **Image ALT in bulk with vision models** — descriptive ALT text for a whole media
   library.
 * **Multilingual SEO Rotation** — serve a different title and description over 
   time, coherently
    per language, deterministic server-side, no cloaking.
 * **Scheduled regeneration** — re-optimize what changed, every N days, with no 
   browser open.
 * **Applying SEO Doctor fixes in bulk** — the free version finds and previews everything;
   Premium
    applies it: cleanup, find and replace across the site, mass 301 redirects.
 * **SEO Consultant** — targeted searches you want to rank for, scanned and turned
   into concrete
    work on the pages you have.

Why people upgrade: the free plugin makes one page excellent in a couple of minutes.
Premium
 does that to the whole catalogue while you do something else — and at a
fraction of a cent per page, the arithmetic tends to make itself.

### Trademarks

AISA is an independent plugin by Ingenium Project. It is not affiliated with, endorsed
by, or sponsored by any of the products it interoperates with.

Yoast SEO is a trademark of Yoast BV. Rank Math is a trademark of Rank Math. SEOPress
is a trademark of Benjamin Denis. All in One SEO is a trademark of Awesome Motive,
Inc. WooCommerce and WordPress are trademarks of Automattic Inc. and the WordPress
Foundation respectively. Elementor is a trademark of Elementor Ltd. OpenAI, Anthropic,
Google, DeepSeek, Mistral, xAI and Z.ai are trademarks of their respective owners.

These names are used here only descriptively, to state which products this plugin
can work with.

### External services

This plugin connects to third-party services. Each call happens only when you configure
the related API key and trigger the corresponding action. No data is sent automatically
in the background without your action.

**AI text/vision providers (you choose, with your own API key):**
 When you run 
a generation, optimization, audit, Q&A or image-ALT action, the plugin sends the
relevant content of the selected post (e.g. title, excerpt or body text, and — for
image ALT — the image URL) plus your “brand context” settings to the provider you
enabled, in order to receive the generated SEO text. It is sent at the moment you
click the action.

 * OpenAI — Terms: https://openai.com/policies/terms-of-use — Privacy: https://openai.
   com/policies/privacy-policy
 * Anthropic (Claude) — Terms: https://www.anthropic.com/legal/consumer-terms — 
   Privacy: https://www.anthropic.com/legal/privacy
 * Google (Gemini) — Terms: https://ai.google.dev/gemini-api/terms — Privacy: https://
   policies.google.com/privacy
 * DeepSeek — Terms: https://cdn.deepseek.com/policies/en-US/deepseek-terms-of-use.
   html — Privacy: https://cdn.deepseek.com/policies/en-US/deepseek-privacy-policy.
   html
 * xAI (Grok) — Terms: https://x.ai/legal/terms-of-service — Privacy: https://x.
   ai/legal/privacy-policy
 * Mistral — Terms: https://mistral.ai/terms/ — Privacy: https://mistral.ai/terms/#
   privacy-policy
 * Perplexity (Sonar) — Terms: https://www.perplexity.ai/hub/legal/terms-of-service—
   Privacy: https://www.perplexity.ai/hub/legal/privacy-policy
 * GLM / Z.ai — Terms: https://chat.z.ai/legal-agreement/terms-of-service — Privacy:
   https://docs.z.ai/legal-agreement/privacy-policy

**AISA Cloud (optional — our own service, opt-in):**
 Only if you choose to connect
an AISA Cloud account instead of using your own API keys: the plugin sends your 
AI requests (the same post content described above) to our server at aiseoassistant.
net, which forwards them to an AI provider and manages your prepaid credit balance.
When you connect the account, your admin email address is sent to create/link the
account. Nothing is sent to our server unless you explicitly connect a Cloud account.
Terms: https://aiseoassistant.io/terms/ — Privacy: https://aiseoassistant.io/privacy/

**Lemon Squeezy (optional — premium license validation):**
 Only if you enter a 
premium license key: the plugin sends the license key and your site URL to the Lemon
Squeezy licensing API to activate/validate/deactivate the license. Sent when you
enter, re-check or remove a license key. Terms: https://www.lemonsqueezy.com/terms—
Privacy: https://www.lemonsqueezy.com/privacy

**Bing Webmaster API (optional — SEO Doctor):**
 Only if you connect your own free
Bing Webmaster API key: the plugin requests your site’s crawl issues report from
the Bing Webmaster API (ssl.bing.com). Your site URL and the API key are sent when
you connect the key or fetch the report. Terms: https://www.microsoft.com/en-us/
legal/terms-of-use — Privacy: https://privacy.microsoft.com/en-us/privacystatement

**Google PageSpeed Insights API (optional — SEO Doctor):**
 Only when you run the
performance check: the plugin sends your homepage URL (and your Google API key, 
if set) to the PageSpeed Insights API to measure performance and Core Web Vitals.
Terms: https://developers.google.com/terms — Privacy: https://policies.google.com/
privacy

**Google Safe Browsing API (optional — SEO Doctor):**
 Only when you run the safety
check (requires your own Google API key): the plugin sends your homepage URL to 
the Safe Browsing API to verify the site is not flagged as dangerous. Terms: https://
developers.google.com/terms — Privacy: https://policies.google.com/privacy

**Google Places API (optional — Local SEO feature):**
 Only if you use the “Local
SEO (Google Business Profile)” feature: the plugin sends your business name/search
query to the Google Places API to find and link your business and read its public
profile data. Sent when you search or sync your business. Terms: https://policies.
google.com/terms — Privacy: https://policies.google.com/privacy

**IndexNow (optional — standalone SEO feature):**
 Only if you enable IndexNow: 
when you publish or update content, the plugin submits the URL(s) to the IndexNow
endpoint so search engines (e.g. Bing) can recrawl. Sent on publish/update. About:
https://www.bing.com/indexnow — Privacy: https://privacy.microsoft.com/privacystatement

## Blocks

This plugin provides 1 block.

 *   Q&A / FAQ Shows a Q&A set as an accordion and emits FAQPage structured data,
   so search and AI answer engines can read the questions.

## Installation

 1. Upload the plugin to `/wp-content/plugins/ai-seo-geo-assistant` or install it from
    the Plugins screen.
 2. Activate it through the **Plugins** menu in WordPress.
 3. Open **AI SEO & GEO Assistant** and run the setup wizard.
 4. Add at least one AI provider API key (OpenAI, Claude, Gemini, DeepSeek or Perplexity).
 5. Open any post/page and use the floating panel (integration mode) or the AI SEO 
    block (standalone) to generate and apply SEO fields.

## FAQ

### Do I need an API key?

Yes, unless you use AISA Cloud. By default the plugin uses your own provider key,
so you control
 both the cost and where your content goes. You only enable the providers
you want. Alternatively you can connect an AISA Cloud account — an optional paid
service with prepaid credits — and skip API keys entirely.

### Does it work with Yoast, Rank Math, SEOPress or All in One SEO?

Yes, with all four. AISA detects the active one and writes into its fields, so your
SEO plugin
 keeps producing the output. With no SEO plugin active it works standalone
and emits the SEO tags itself, without ever duplicating them.

### Will it send my content somewhere without me knowing?

No. Content is sent only when you trigger an action — generate, optimize, audit —
either directly
 to the AI provider you configured with your own key, or through
AISA Cloud if you chose to connect an account. Nothing runs in the background on
its own. _External services_ lists every endpoint, what is sent, and when.

### How much does one optimization cost?

It depends on the provider and model you pick, but a typical page is a fraction 
of a cent. The
 plugin tracks what you spend per operation and shows an estimate
before long runs.

### Is anything in the free version locked, limited or time-limited?

No. Everything described above works, without quotas or expiry. The bulk and automation
features
 are not disabled here — their code is in a separate plugin, which you 
install only if you buy it.

### Does it work on a local site or a staging server?

Yes. It needs an outbound connection to your AI provider, nothing else — no license
check that
 fails offline, no domain lock on the free plugin.

### Will it overwrite the SEO I have already written?

Only what you ask it to. Generation shows you the result before applying it, bulk
operations let
 you choose which fields to touch, and there is a backup and restore
for SEO fields. Content rewriting asks for explicit confirmation and keeps a restore
point.

### Does it work with WooCommerce?

Yes. Product titles and descriptions are optimized like any other content, and the
Product
 JSON-LD is completed rather than duplicated: availability, item condition,
brand, GTIN and price validity are filled into the schema your store already emits.

### Does it work with WPML or Polylang?

Yes. The language of a page is detected from its actual content, so a page in English
gets
 English SEO even when the rest of your site is not. Categories and tags are
handled per language.

### Does it write my articles for me?

No, and that is deliberate. AISA optimizes content you already have: metadata, structure,
schema,
 alt text, internal links. It can rewrite a paragraph to fix a specific 
SEO problem, with your confirmation — it is not there to fill your blog with generated
articles.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“AISA — AI SEO & GEO Assistant: Alt Text for Accessibility (WCAG), Meta, Schema,
Brand Voice — with Your Own AI API Keys” is open source software. The following 
people have contributed to this plugin.

Contributors

 *   [ InGenium Project by Paolo Chiesa ](https://profiles.wordpress.org/paolopiace/)

[Translate “AISA — AI SEO & GEO Assistant: Alt Text for Accessibility (WCAG), Meta, Schema, Brand Voice — with Your Own AI API Keys” into your language.](https://translate.wordpress.org/projects/wp-plugins/aisa-ai-seo-geo-assistant)

### Interested in development?

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

## Changelog

#### 1.99.993

 * Fixed: the score sparkline on the dashboard rendered as a black rectangle — the
   escaping added in 1.99.989 was stripping the CSS class off the shape, and an 
   SVG shape without it defaults to a black fill. Gradients and a few other attributes
   were being removed the same way.
 * Added: the Premium component now updates itself, so you install it by hand once
   and never again.

#### 1.99.992

 * Fixed: with a valid license but the Premium component not installed, the button
   sent you to the pricing page — that is, it asked you to buy again. It now offers
   the download, with the steps to install it.
 * Changed: the plugin’s source strings are now English, so anyone can translate
   it from English on translate.wordpress.org. Existing translations were kept: 
   11 languages remain complete.
 * Added: the Q&A block declares its metadata, so it shows as “Q&A / FAQ” instead
   of a name derived from its slug.

#### 1.99.991

 * Added: Writing DNA is back — teach AISA how you write, and every generation follows
   your voice. It had been left out of this package by mistake.
 * Changed: the plugin now lists what it actually does on the directory: alt text
   for accessibility, metadata, schema, brand voice, and your own AI keys.
 * Fixed: the screenshot captions described two features that are not part of this
   package.

#### 1.99.990

 * Added: a Trademarks section to this readme — AISA is an independent product and
   the third-party names it mentions are used descriptively only.
 * Changed: the Q&A inline styles are now registered with the plugin version, so
   browsers pick up changes after an update.

#### 1.99.989

 * Security: creating a Q&A page now checks that you actually have permission to
   create pages, not just to edit the Q&A set.
 * Security: about twenty admin outputs (SVG icons, badges, score rings, sparklines,
   progress bars, SERP preview, breadcrumbs, Elementor dynamic tags) now go through
   wp_kses() with a suitable allow-list.
 * Changed: the JSON-LD blocks are printed with wp_print_inline_script_tag() instead
   of a raw echo.
 * Fixed: the robots.txt admin and AJAX paths are derived from admin_url(), so they
   are correct when wp-admin has been moved or WordPress lives in a subdirectory.

#### 1.99.988

 * Fixed: the plugin folder and the text domain now match in every package, which
   removes hundreds of spurious Plugin Check notices. Translations were already 
   loading correctly.
 * Fixed: multilingual scans (SEO Doctor, find & replace, link check) no longer 
   suppress WordPress filters — they use the WPML and Polylang APIs instead, and
   still cover every language.
 * Fixed: file moves use the WordPress filesystem API rather than rename() and unlink().
 * Fixed: a string with a placeholder was missing its translator comment, and “Tested
   up to” did not match between this readme and the plugin header.

#### 1.99.987

 * Changed: features that require the separate Premium companion (applying SEO Doctor
   fixes in bulk, mass find-and-replace, bulk 301 redirects, SEO Consultant) are
   no longer part of this package at all — their code ships with the companion plugin.
   The free plugin keeps the full site-wide analysis and previews.
 * Improved: combined (single-call) AI generation is now always on, so you spend
   fewer tokens with your own API key.
 * Security: sanitised the find/replace inputs of the SEO Doctor; hardened the Q&
   A custom CSS with wp_strip_all_tags(); added JSON_HEX_TAG to the LocalBusiness
   and breadcrumb JSON-LD; escaped the Elementor SEO widget output and the shortcode
   before/after text.
 * Fixed: the restore waiting screen no longer prints inline CSS — the stylesheet
   is enqueued.

#### 1.99.986

 * Changed: Perplexity now uses the new Agent API — the previous Sonar chat endpoint
   is only supported until 27 September 2026.
 * Fixed: the connection test for Perplexity, Grok and Mistral used a hardcoded 
   model instead of the one you configured.

#### 1.99.985

 * Added: DeepSeek Vision — image ALT text at a fraction of the cost of other providers.
 * Added: GLM (Z.ai) as an AI provider; its Flash models are free to use.
 * Improved: refreshed every provider’s model list and cost information (several
   were out of date).

#### 1.99.980

 * Improved: the One-Click token/credit estimate is now field-aware — it counts 
   what is actually missing per field instead of multiplying by every listed item(
   no more scary inflated totals on nearly-complete sites).
 * Improved: image runs now show an upfront duration estimate and an explicit “preparing
   safety backup” message; the progress bar completes at the end of the run and 
   the report lists the contents whose images failed (with edit links).
 * Fixed: failed image generations are now recorded in the error log (file name 
   and reason).

#### 1.99.979

 * New: “Reset & describe (from scratch)” mode for AISA Vision — in the Media Library,
   One-Click and Bulk: ignores the current (possibly wrong) title/caption and rewrites
   alt + title purely from what is visible.
 * New: image mode selector in One-Click and Bulk (automatic alt+title / alt only/
   reset & describe).
 * Improved: when rewriting an image title, the old title is no longer fed to the
   AI as context (wrong titles no longer self-perpetuate).
 * Improved: WooCommerce product association for image alt is now verified (featured
   image, gallery or product content) — a wrong post_parent can no longer force 
   a product name into every alt.
 * Changed: One-Click no longer pre-selects the Q&A set generation when a set already
   exists.
 * All bundled languages updated to 100% coverage.

#### 1.99.978

 * Fixed: restoring a large SEO backup could exhaust memory on WPML sites with many
   attachments (media duplication hooks are now suspended during restore).
 * Fixed: the One-Click SEO page could exhaust memory on very large sites (meta 
   cache pre-loading removed).
 * Fixed: the “needs SEO” menu badge could show a stale count for up to 6 hours 
   after restoring a backup.
 * Restore now shows a progress screen while running.
 * Excluded page-builder template post types (Dotstore WooCommerce Page Builder)
   from SEO counts.
 * All bundled languages updated to 100% coverage.

#### 1.99.866

 * Full internationalization pass: ~280 previously hardcoded UI strings (JS dialogs,
   status messages, provider/model labels, template designer) are now translatable.
 * All 12 bundled languages updated to 100% coverage (2060 strings each).

#### 1.99.865

 * Full disclosure pass: External services now lists every endpoint the plugin can
   reach (AI providers incl. xAI/Grok and Mistral, AISA Cloud, Lemon Squeezy license
   API).
 * Translations now load correctly on English sites (load_plugin_textdomain restored).
 * Security hardening: nonce added to a dashboard metrics endpoint, stricter escaping
   of Google Places data, hardened JSON-LD encoding.
 * Package cleanup: internal documents and design sources removed from the distribution.

#### 1.99.745

 * WordPress.org compliance pass (Plugin Check): output escaping, input sanitization
   and nonces, prepared SQL, i18n translator comments, asset versioning.
 * Added readme.txt and External services disclosure.
 * The GitHub auto-updater is no longer part of the free build (updates come from
   WordPress.org).

For the full development history see the changelog included with the plugin.

## Meta

 *  Version **1.99.993**
 *  Last updated **17 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.9 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 8.0 or higher **
 * Tags
 * [AI](https://wordpress.org/plugins/tags/ai/)[meta description](https://wordpress.org/plugins/tags/meta-description/)
   [schema](https://wordpress.org/plugins/tags/schema/)[seo](https://wordpress.org/plugins/tags/seo/)
   [structured data](https://wordpress.org/plugins/tags/structured-data/)
 *  [Advanced View](https://wordpress.org/plugins/aisa-ai-seo-geo-assistant/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/aisa-ai-seo-geo-assistant/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/aisa-ai-seo-geo-assistant/reviews/)

## Contributors

 *   [ InGenium Project by Paolo Chiesa ](https://profiles.wordpress.org/paolopiace/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/aisa-ai-seo-geo-assistant/)