WordPress.org

Plugin Directory

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

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

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.

New in 2.0 — run it from your AI assistant (MCP). AISA ships its own MCP server: connect
Claude, ChatGPT or any other MCP client to your site and ask in plain language — “which pages are
missing a meta description?”, “audit the pricing page”, “what does my llms.txt say?”. The free
plugin gives the assistant nine tools that read your SEO; AISA Premium adds the nine that write
it. You sign in with a WordPress Application Password, every tool checks that user’s
capabilities, and one switch in Settings turns it all off. The full list is below, under
MCP: run your SEO from an AI assistant.

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.

Any editor — the block editor (Gutenberg), the Classic editor and Elementor. The panel reads the
page you are actually editing in all three. In the block editor “Describe with AISA” also sits on the
image toolbar and next to the Alternative text field, where alt text belongs.

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.

MCP: run your SEO from an AI assistant

AISA speaks MCP (Model Context Protocol), the standard that lets an AI assistant use tools on
your behalf. Connect Claude, ChatGPT or any other MCP client to your site and ask in plain
language: “which pages are missing a meta description?”, “audit the pricing page”, “what does my
llms.txt say?”. The assistant calls AISA, AISA answers with the real data of your site.

The MCP server is built into the plugin at /wp-json/aisa/v1/mcp: no extra plugin and no
external service in between. AISA also registers its tools with the WordPress Abilities API
(WordPress 6.9+), so the official MCP Adapter and any other Abilities-aware plugin see them too.
You sign in with a WordPress Application Password, every tool checks the capabilities of that
user, and one switch in Settings turns the whole thing off.

In this free plugin — nine tools that read, none that write:

  • Get SEO status — the SEO title, meta description, focus keyphrase and slug of a page, the
    SEO plugin in use and the language detected.
  • Audit a page — every on-page check with its outcome, optionally on the page as it is
    actually served to visitors.
  • Get llms.txt — the document your site serves to AI answer engines, and how much of your
    content already carries an AI Search Context.
  • Get the Brand Context — what the business does, its audience, tone of voice and the terms
    that must never be translated.
  • Get business details — the facts you entered in GEO Local: name, address, phone, opening
    hours, areas served.
  • Diagnostics — how AISA is set up: versions, SEO plugin and mode, which AI providers are
    configured (names only, never the keys).
  • Get the site overview — how many public pages you have, how many search engines can index
    and why the others can’t, which ones have an AI Search Context, what your sitemap lists.
  • List the pages — every public page with its indexability and the reason, filterable by type,
    language, status and AI Search Context.
  • Find pages by topic — the pages whose AI Search Context covers a topic.

Your assistant can inspect, compare and report on the whole site. It cannot change anything.

With AISA Premium — nine more tools, the ones that write:

  • Optimize a page — keyphrase, SEO title, meta description and AI Search Context, written
    through your SEO plugin in the language of the page.
  • Auto-fix a page — repairs the failing checks of the audit. Changing the URL slug or the
    page content is off unless you ask for it.
  • Optimize many pages — a background job that returns at once, with a tool to follow its
    progress, read the outcome of every item and stop what is still queued.
  • Set the Brand Context and the business details, describe images (alt text and title), check and repair
    internal links
    , scan AI visibility (does an AI engine cite you, and who does it cite
    instead).

Tools that generate text use the AI provider and the API keys you configured in AISA, and their
cost shows up in the usage log like any other operation. The assistant you connect is a separate
service with its own terms: what it reads from your site is sent to it, as with any MCP client.

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.
  • MCP tools that write — the free plugin lets an AI assistant read and audit your site;
    Premium adds the nine tools that optimize, fix and run background jobs (see MCP above).

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, ChatGPT, Anthropic, Claude, Google, DeepSeek, Mistral, xAI and Z.ai are trademarks of their respective owners. Model Context Protocol (MCP) is an open protocol; AISA implements it and is not affiliated with its maintainers.

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

Model catalog (our own service, read only):
Model catalog: once a day the plugin downloads a public JSON price list from aiseoassistant.net (no site data is sent, only an HTTP GET). Provider model lists are fetched from the provider you configured, with your own key.
Terms: https://aiseoassistant.io/terms/ — Privacy: https://aiseoassistant.io/privacy/

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

Screenshots

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

September 22, 2026
I've been testing AISA – AI SEO & GEO Assistant and, so far, I'm really impressed with what it offers. One of the things I appreciate most is the number of useful features already available in the free version. It goes beyond a traditional SEO plugin by integrating AI-oriented tools, Q&A features and functionalities designed for the way search is evolving with AI and generative engines. The interface is quite intuitive, and there are several tools that can help improve and optimize website content without having to install multiple separate plugins. I'm still exploring all of its features, but my experience so far has been very positive. It's definitely an interesting solution for anyone working with WordPress, SEO and AI-driven content optimization. Looking forward to seeing how the plugin continues to evolve. Great work, Paolo!
Read all 2 reviews

Contributors & Developers

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

Contributors

“AISA — AI SEO & GEO Assistant with MCP: Alt Text for Accessibility (WCAG), Meta, Schema, Brand Voice — Your Own API Keys” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “AISA — AI SEO & GEO Assistant with MCP: Alt Text for Accessibility (WCAG), Meta, Schema, Brand Voice — Your Own API Keys” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

2.0.4

  • New: “Pages & indexing” in the SEO Doctor – every public page with whether search engines can index it and why not when they can’t: noindex on the page, noindex set for the whole content type in your SEO plugin, site hidden, shop service pages, canonical pointing elsewhere. It also shows which pages have an AI Search Context and which are in your llms.txt. Read only, nothing is downloaded. Works with Yoast SEO, Rank Math, All in One SEO, SEOPress or no SEO plugin
  • New: see what your SEO plugin’s sitemap lists and where it does not add up (for example a content type in the sitemap that is set to noindex). AISA never changes your SEO plugin’s settings
  • New: without an SEO plugin, choose which content types and taxonomies the WordPress sitemap lists, and keep noindex pages out of it. “Copy settings from” Yoast SEO, Rank Math, All in One SEO or SEOPress keeps the same sitemap after a switch, with a preview of the differences. Nothing changes until you save
  • New: AI Context Index (off by default) – /ai-context.json and /ai-context.md list your indexable pages with their AI Search Context, linked from your llms.txt. It is an AISA format, not a Google feature: it does not make search engines or AI assistants cite you
  • New: three read-only MCP tools – get the site overview, list the pages, find pages by topic
  • Fixed: when AISA writes llms.txt as a physical file, the file is now updated right away after a change instead of at the next page load
  • Fixed: an AI Search Context saved on a single line (“Topics: … Context: …”) no longer mixes the summary into the topics
  • Fixed: OpenAI turns off gpt-image-1 on 23 October 2026, which the SEO Consultant used for featured images. It now uses gpt-image-2.5-flare, OpenAI’s recommended replacement, with the same size and quality and a lower price
  • Fixed: Google is turning down Gemini 3.6 Flash and 3.7 Flash. Gemini 3.8 Flash takes their place at the same price, and sites that had chosen 3.6 or 3.7 switch to it automatically
  • Fixed: the GEO Radar check with Gemini still used gemini-2.0-flash, which Google turned off on 1 June 2026. It now uses the Gemini model chosen in the settings
  • Fixed: OpenAI GPT-6 models returned an error because they need different request parameters. AISA now sends the right ones
  • Changed: OpenAI retires GPT-5 Nano on 11 December 2026. Sites that use it switch to GPT-6 Luna, the cheapest OpenAI option in the list, which costs slightly more than Nano
  • Changed: Perplexity presets follow Perplexity’s current official mapping, so Sonar Pro no longer uses a preset that cost about 2.7 times more
  • Improved: corrected some model descriptions and prices in the provider settings

2.0.3

  • Fixed: in the Classic editor, the readability result was saved with a beacon request whose text/plain body is rejected by firewalls running the OWASP Core Rule Set (ModSecurity, Imunify360 and many hosting WAFs). On some servers two saves were enough to ban the editor’s IP address for hours. It is now sent as a normal JSON request

2.0.2

  • Fixed: on a multilingual site, a post assigned to the wrong language (for example Arabic or Korean text marked as English) now gets its SEO in the language of its text, and Chinese, Japanese and Korean titles and descriptions are measured with suitable lengths
  • Fixed: a page holding only the Q&A block was read as empty on the second pass of a generation
  • Improved: generated SEO titles use the available room (about 48-58 characters out of 60) instead of stopping around 45, and titles or descriptions containing years or numbers that the page does not state are discarded
  • Improved: a focus keyphrase is never a single word, and pages built with shortcodes (WPBakery) and WooCommerce products are read through their real text, short description and categories
  • Fixed: “Regenerate with AI” on a conflicting focus keyphrase (cannibalization) in SEO Doctor now picks a different phrase from the page text instead of the same one, and every generation avoids a focus keyphrase already used by another page in the same language
  • Fixed: on a site moved from Yoast, Rank Math or SEOPress without an SEO plugin active, the AISA tab in the Elementor editor showed empty SEO fields although the classic editor showed them – it now reads the same values
  • Fixed: the live SEO preview on the front end showed and counted the SEO title with its variables (%%sitename%%…) instead of the text visitors see, so a title over 60 characters could look fine
  • New: the users sitemap of WordPress is hidden by default, so author usernames are no longer listed for anyone to read (Settings Sitemap & Robots)
  • New: after moving from Yoast, Rank Math or SEOPress, the old sitemap addresses keep working – sitemap_index.xml and sitemaps.xml answer with the WordPress sitemap, and old section sitemaps redirect to the matching one, so Search Console needs no change
  • New: llms.txt leaves out cart, checkout, account, login and search pages by default, and a “Set automatically” button picks the home page, the pages in your menus and the Q&A pages
  • New: “Clarity”, a readability panel in the block editor, the Classic editor and Elementor – an overall score with a traffic light, the Gulpease index for Italian or Flesch for English, and nine checks (long sentences, long paragraphs, long text without subheadings, passive voice, transition words, repeated sentence openings, length, sentence variety) with the sentences to look at. It updates as you write, in your browser: nothing is sent to an AI provider and it costs nothing
  • New: five audience profiles set the readability pass marks – one for the whole site in Settings, one per post in the Clarity panel. The readability check of the page audit uses the same pass mark
  • New: a sortable “Readability” column in the content lists, next to the SEO score, filled in when a post is saved
  • Changed: internal link suggestions now read the text of the page – pages and posts your text mentions come first, each with its reason (“mentioned in your text”, “same category/tag”, “related topic”) and the anchor as written in the page. Pages without categories or tags get suggestions too, and links already on the page (Elementor included) are not proposed again
  • Changed: Auto SEO Fix marks the failing checks that need your hand (“to fix by hand”) and enables only the buttons that can fix something; after Fix SEO or Fix Content it reports what was fixed, what is left to you and what could not be fixed. A fix counts as done only when the audit confirms it, and a failing readability check links to the Clarity panel
  • Changed: SEO titles start with a capital letter, unless they begin with a name from the “do not translate” glossary or a word such as iPhone or eBay
  • Fixed: AI errors in the editor (generation, Fix SEO, Fix Content, H1 fix, Q&A) are recorded in the Error log with their cause – never the page text or the AI answer – and strings that look like API keys are masked in every log line
  • Fixed: generated Q&A sets no longer repeat a question, or a question already in the set; questions you write and save yourself are never removed
  • Fixed: SEO titles and descriptions of categories and tags now reach the page with the free version of All in One SEO, and without an SEO plugin on themes that print the title the old way (wp_title)
  • Fixed: with the free version of SEOPress, which publishes JSON-LD only on the home page, AISA now adds the structured data of pages and posts (web page, breadcrumb, main image, article and author)
  • Fixed: the Elementor backup saved before a content fix is stored intact, “Restore Elementor content” refuses a damaged backup instead of writing broken data, and the page shows the new text right after a fix
  • Fixed: on Classic pages that mix plain paragraphs and HTML, Fix Content now edits the first paragraph visitors actually see; Fix Content and the H1 fix save a revision before changing the text
  • New in the Premium component: “Split long sentences” in the Clarity panel proposes how to split the longest sentences, keeps numbers, names and links as they are, and changes nothing until you tick the proposals and apply them
  • Fixed: the live check “the SEO title is the one served to visitors” now resolves the variables of your SEO plugin (All in One SEO, Rank Math, SEOPress) before comparing – pages that were right were reported as wrong
  • Fixed: site names with “&” or an apostrophe no longer appear as “&” or “'” in llms.txt and in the schema
  • Fixed: the MCP diagnostics report the real tier (free, premium or cloud) and whether the Premium component is installed and active with its licence status; “fix_available” says “ready” when the write abilities are available on the site. A notice appears when the Premium component is installed but the licence is not active
  • Changed: “Area served” in llms.txt and in the schema now comes only from GEO Local – the market text of the Brand Context (often written by AI) is no longer published as a fact. The SEO Doctor tells you when the field is empty. An area served found by “Set this up with AI” is proposed unticked
  • New: the page audit measures readability on the prose of the page (Gulpease for Italian, Flesch for English) and lists the longest sentences to split. It appears only when it can be measured: scores of pages with long sentences may drop a few points
  • New: the audit and the SEO Doctor report hand-written JSON-LD in the content that uses the same @id as your Organization, adds a second FAQPage or is not valid JSON
  • New: opening hours and coordinates are added to the Organization your SEO plugin publishes when its type is a local business; changing “Business type (schema)” in GEO Local now changes the published type too
  • New: MCP ability “Get business details” (read only)
  • Changed: the Italian translation follows the WordPress Italian glossary – “clic” and “fai clic”, “predefinito”, on/off only as switch labels, “e” instead of “&”, “homepage”, “scheda”, “modulo”, “importazione” – and the plugin description is translated

2.0.1

  • Fixed: SEO title length is now measured as the page shows it with every SEO plugin – with Rank Math, SEOPress and All in One SEO the site name variable was not counted (or counted as text), so titles over 60 characters were reported as fine and could be generated. The site name is measured in the language of the page, with the separator set in your SEO plugin, and a final check drops the site name rather than going over 60
  • Fixed: regenerating SEO no longer changes the focus keyphrase just to be different (in one case it was translated into another language): a new keyphrase must come from the page content, and the SEO title always contains it
  • Fixed: on pages built with Elementor (or another page builder) whose text is not in the classic content field, One-Click, bulk, background jobs, MCP, the Doctor’s fixes and auto-SEO on publish now read the real page text – before, the AI saw only the page title and could invent titles and keyphrases. Text in Elementor HTML widgets is read too
  • Fixed: names in the “do not translate” glossary are no longer added to titles and keyphrases that are not about them, and generated SEO titles no longer end with an invented brand suffix
  • Changed: the package ships the Spanish, German and French interface translations again, next to Italian – sites in those languages no longer fall back to English while the official language packs are being translated
  • Fixed: removing a duplicated site name from a generated title no longer cuts the last word – with a site called “Art”, “Consulenza per lo Smart” stays as it is; a site name of one word at the end of a sentence is never removed
  • Fixed: saving a Q&A set never drops questions any more – every pair you save is kept
  • Fixed: a Q&A pair that arrives with an empty or unknown status is saved as “To approve” instead of going online as approved
  • Fixed: background jobs started from the REST API or an AI assistant (MCP) keep the image mode (“alt” or “reset”) and the AI provider you chose, instead of falling back to automatic
  • Fixed: the status of background jobs is saved safely when several workers finish at the same time, and a job left “running” with nothing left to do closes by itself after 10 minutes
  • Changed: the built-in MCP endpoint answers notifications with “202 Accepted” and an empty body, as the MCP specification asks
  • Changed: on the SEO Schema & Template page the business card is now titled “SEO Schema: site info” instead of “Who this site is”, so it is clear the details feed the schema
  • Fixed: with an SEO plugin active, the schema analysis sent you to “Settings Social” to add your social profiles, but that tab was only shown without an SEO plugin. The Social & SEO tab is now available in every mode: the profiles, topics and authoritative profiles you set there are added to the Organization your SEO plugin publishes
  • Fixed: the schema analysis no longer asks you to add what your SEO plugin already publishes – with Yoast SEO, Rank Math or All in One SEO active, a property counts as present when it is in the published schema (for example the social profiles set in Yoast)
  • Changed: when the scan finds no social profile on the site, the message links straight to the tab where you add them

2.0.0

  • Added: every Q&A pair now has a status – Approved, To approve, To complete. Only approved pairs with an answer go on the page, into the FAQPage schema and into llms.txt. Generated pairs start as “To approve”; approve them one by one, all the complete ones at once (it follows the active filter, with Undo), or from the list of sets
  • Changed: AISA never writes a placeholder any more. When a fact is missing (address, opening hours, prices) the question is saved as “To complete”, the answer stays empty and the editor says what is missing, with a link to the field. After the update the FAQs already online stay online; the few that contained a placeholder move to “To complete” and their original text is kept
  • Added: a fact check on generated answers – opening hours, phone numbers and places that do not match your business details raise a warning on the row. A warning never blocks your own approval (“Approve anyway”); it only keeps the pair out of automatic and bulk approval
  • Fixed: with Yoast SEO, Rank Math or All in One SEO active the FAQ questions now enter the graph your SEO plugin publishes (one JSON-LD script, FAQPage linked to the page) – before, on a page that was itself an FAQ, nobody emitted them
  • Added: with an SEO plugin active AISA completes its Organization and WebSite nodes with your business details – legal name, VAT number, address, one phone per contact point, areas served as typed places, services, description. Only the fields you filled in: an empty field means no key, and values you set in the SEO plugin are never overwritten
  • Added: business details get a typed list of areas served, legal name, VAT number and a list of services, plus “Autofill with AI”, which reads your contact page and footer, proposes the values and saves nothing until you confirm
  • Added: the dedicated Q&A page gets a slug in its own language and, with Polylang or WPML, the language of its set and the link to its translations – existing Q&A pages without a language receive it once, on update. After creating the page AISA offers to add it to a menu or to an existing page. With a page builder the page is created with the shortcode
  • Fixed: the legacy [geo_qa] shortcode, left as raw text on sites that started with the old name, is rewritten to [aisa_qa] once on update (also inside Elementor), with a revision saved first; revisions themselves are never touched
  • Fixed: SEO titles no longer go over 60 characters because of the template suffix – the site name and separator are measured before generating, the AI gets the real budget, and when its text does not fit the title keeps the whole sentence and drops the site name instead of being cut in half. A site name written twice is removed
  • Added: SEO Doctor explains when titles are over 60 only because of the template suffix, and offers the free fix first (remove the site name with Find & Replace, with preview) instead of a paid regeneration
  • Changed: AI Vision works on the images actually placed in your content. SEO Doctor shows “N used in your content – M only in the media library” and asks, with the numbers and the estimated use for each choice, before touching the rest of the library; the image Batch asks the same question
  • Changed: SEO Doctor has a “Settings analysis” card with settings only, while findings about single contents – text in a language other than the one assigned to the post, AI Context in another language – come out of “Analyze all SEO” as groups. Language is reported only on long enough texts and only for languages the site actually has
  • Added: twelve deterministic audit checks, no AI involved – single H1, full brand name in the title, area served named in the text, headings with nothing under them, generic image ALT, site still declared in http, comments open on the home page, leftovers of another SEO plugin, Q&A page without internal links or without a language
  • Added: on the home page and on service pages at least two of the five title and description variants name the area you serve; the Location line of llms.txt is built from the typed list, and the saved llms.txt is refreshed when those details change
  • Fixed: an llms.txt you regenerated and saved without editing is no longer treated as a manual version, so AISA keeps it up to date; on update, a document nobody ever edited is recognised as generated
  • Fixed: a Q&A set in the Trash is no longer shown on the site; One-Click SEO reuses the existing Q&A set and FAQ page instead of creating a new pair on every run
  • Fixed: the 404 log no longer records the home page and the home page cannot be the source of a redirect; feeds and trackbacks no longer fill the log
  • Changed: the Q&A stylesheet is loaded only on pages that show a Q&A set
  • Changed: with AISA Cloud the first Q&A set of a site costs 1 credit, from the second one 5; the cost is always shown before you start
  • Added: “Automatically approve complete and verified questions”, a Premium option on the One-Click SEO page, off by default; it never approves questions to complete or rows with a warning
  • Fixed: opening One-Click SEO no longer floods the error log with “table doesn’t exist” database errors on sites using the free version of AIOSEO, and term SEO is now read in bulk instead of one query per term, so the page loads much faster on sites with many categories and tags
  • Fixed: while One-Click SEO is running, the numbers in the analysis table now go down as each item is completed, instead of freezing until the run ends on slow hosting
  • Fixed: the background optimization bar kept asking the server for its status every 6 seconds forever, even with nothing running — it now starts from the state printed by the page, polls fast only while a job is running, checks once a minute otherwise, and stops completely while the tab is in the background
  • Fixed: every content the One-Click report counts as an error now has one line in the error log with the real cause — before, the report could say “55 errors” while Utility said “No errors recorded”
  • Added: the error log tells you where each error came from (One-Click, Batch, Scheduler, Auto SEO), can be filtered by origin, keeps 300 lines instead of 100, and can be copied as text for a support request
  • Added: HTTP failures that only the browser sees (timeout, 504, 429) are recorded too, with the status and how long the request took
  • Added: contents optimized only in part (some fields generated, others not) are reported as a warning with the field list and the cause, instead of passing for a full success
  • Added: error messages now name the provider, the model and the HTTP status (“DeepSeek (deepseek-flash): HTTP 400 – Model Not Exist”, “timeout after 90 s”) instead of a generic “API error”
  • Added: when the AI provider slows down or times out, AISA lowers the number of parallel requests, waits, and retries each content up to twice; the report tells apart what was recovered on retry from what failed for good
  • Changed: the DeepSeek timeout goes from 45 to 90 seconds, which is what the provider really needs at peak hours
  • Fixed: the end-of-run report no longer congratulates you when contents failed – it says how many succeeded, how many failed, and lists every failed content with a link to edit it
  • Fixed: a manually saved llms.txt no longer silently freezes the file: badge with save date, “Back to automatic generation” that keeps your text as a backup, side-by-side comparison, on-demand link check and a SEO Doctor warning
  • Fixed: llms.txt link titles no longer contain HTML entities, link descriptions use only the Context part of the AI Context, and the sitemap link is the one of the active SEO plugin
  • Added: SEO Doctor “Settings analysis” card: entity name mismatch, settings still pointing to a development host; settings import rewrites development hosts
  • Added: option to keep the Google Business category out of llms.txt; notice in Social and Schema tabs when an SEO plugin produces the schema and social tags of the page
  • Fixed: with a valid license and the Premium component missing, the invitation to install it (activate / install / download) now appears on every AISA screen and in the setup wizard, also on the WordPress.org package; the download link points straight to the latest component zip
  • Fixed: a social image set on a single content now always wins over the featured image and the site default; with Yoast, Rank Math or SEOPress it is saved into their social fields as well; two clear modes in Settings Social
  • Added: AISA SEO Commander – AISA registers 13 abilities with the WordPress Abilities API (6.9+) and ships its own MCP server, so Claude, ChatGPT and any MCP client can read and improve the SEO of this site
  • Added: MCP endpoint built into the plugin at /wp-json/aisa/v1/mcp (JSON-RPC 2.0, no extra plugin required); with the official MCP Adapter installed AISA also registers a native server at /wp-json/aisa/mcp, where the tools keep their own names (aisa_audit_page, aisa_optimize_page and so on)
  • Added: five read-only abilities in the free plugin – aisa/get-seo-status, aisa/audit-page, aisa/get-llms, aisa/get-brand, aisa/diagnostics
  • Added: eight abilities that write, available with the Premium component – aisa/optimize-page, aisa/autofix-page, aisa/optimize-bulk, aisa/get-job, aisa/set-brand, aisa/media-alt, aisa/links-fix, aisa/geo-scan
  • Added: new REST routes under aisa/v1 – GET /audit/{id}, GET /variants/{id}, GET /brand, POST /autofix/{id}, POST /optimize/bulk, GET and DELETE /jobs/{id}, POST /llms/rebuild
  • Added: background jobs for volume work – ask once, get a job id, then poll progress and the per-item outcome instead of holding the request open; up to 200 contents per job, cancellable while still queued
  • Added: the content fix can now put the focus keyphrase into the H1 – Elementor heading, H1 in the content, WPBakery heading or the post title, whichever the page really uses – with a backup and a before/after report every time
  • Added: per-user rate limits on every ability – 60 calls a minute for reads, 10 for writes, 2 for bulk jobs and GEO scans
  • Added: “Abilities API & MCP” switch in Settings, API Keys tab, on by default, showing the live MCP endpoint, whether the MCP Adapter plugin is active and how many AISA abilities are registered; the AISA_ABILITIES constant in wp-config.php still overrides it

1.99.999.2

  • Added: activity registry with 171 business types (IT/EN) drives the entity type detection: weighted signals (Google Business category, Brand Context, site name, tagline, home H1/title), whole-word matching, negative aliases, confidence score with “to check” badge, physical-location rule for LocalBusiness subtypes
  • Changed: the SoftwareApplication schema is now decided by the site analysis (on only when the Brand Context describes software, plugins, apps or SaaS) and can be turned on/off from the SEO Doctor and the Schema page
  • Added: SEO Doctor offers the schema fixes in place (detect from site, social profiles, logo, hours, NAP footer, SoftwareApplication)
  • Changed: heating, plumbing, electrical and construction businesses are detected as HVACBusiness, Plumber, Electrician, GeneralContractor
  • Fixed: opening hours imported from Google Business (with invisible narrow spaces before AM/PM) were not recognised, so the LocalBusiness schema had no openingHours
  • Fixed: structured data is now a real JSON-LD graph, not just a title template: one @graph per page with stable @id (Organization/LocalBusiness/Person, WebSite, WebPage with subtype, BreadcrumbList, primary image, BlogPosting with author, FAQ, optional SoftwareApplication)
  • Added: Entity Profile as the single source of truth for the site identity (used by schema, llms.txt and the SEO Doctor), with automatic entity type detection
  • Fixed: no more duplicated schema nodes when Google Business is connected and an SEO plugin is active; with Yoast, Rank Math, AIOSEO or SEOPress active AISA only adds the nodes they do not emit
  • Added: page “SEO Schema & Template” with the “Who is this site” card, completeness score, one-click fixes (detect from site, social profiles, logo, hours) and optional NAP block in the footer
  • Fixed: opening hours in the LocalBusiness schema when Google Business is connected; Google hours format converted to schema.org syntax
  • Changed: SoftwareApplication settings are no longer exported/imported between sites

1.99.999

  • Changed: DeepSeek V4.1 Flash is the default DeepSeek model (id deepseek-flash) for text and Vision; the experimental vision model was retired by DeepSeek and vision is now native in the text model
  • Fixed: saved legacy DeepSeek model ids (deepseek-chat, deepseek-reasoner, deepseek-v4-flash, deepseek-v4-flash-vision-exp, deepseek-v4-pro) are mapped automatically, so image alt text keeps working
  • Changed: Token Tracker prices for DeepSeek updated to the new price list (input was overestimated by 47%)
  • Fixed: DeepSeek thinking mode is disabled for every DeepSeek model, avoiding empty responses

1.99.998

  • Changed: the Free version no longer limits AI generation to a quarter of your contents – every post, page and product can be optimized
  • Changed: Brand Context “Generate all” and Writing DNA “Learn my style” now cost 1 credit on AISA Cloud (one-time setup); long content generations (Q&A, content fixes, llms.txt, Consultant) stay at 5
  • Added: note that credit costs per request type may change over time, always shown before you click; credits in your balance are never reduced
  • Changed: credit top-ups now open the live store checkout

1.99.997

  • Added: AI image descriptions (alt text) now work on AISA Cloud too
  • Changed: on AISA Cloud every generation costs exactly 1 credit
  • Changed: long generations on AISA Cloud (Q&A sets, content fixes, llms.txt, Consultant articles, Writing DNA) cost 5 credits, shown before you click
  • Fixed: with DeepSeek, GLM or Mistral as your image provider the AI never actually looked at the image – the alt text was silently guessed from the file name instead
  • Changed: Cloud server model catalog refreshed (current GPT-5.6, Gemini 3.x, DeepSeek V4, Claude Haiku 4.5, Mistral Small 4)

1.99.996

  • Fixed: the llms.txt AI review now answers in the site’s primary language, even when the file carries a multilingual About block
  • Fixed: leftover Italian in the default interface, in the AI prompts and in the generated files – the plugin now speaks English out of the box everywhere (Italian and the other 11 languages come from the translations only). Q&A no longer answer with an Italian placeholder on English sites, the Redirects card shows /old-path and /new-path, the AI-generated robots.txt comments follow the site language, and the SEO Template preview uses neutral sample data.
  • Added: AISA Vision can describe new images while you upload them – alt text only or alt text and title, only when the alt text is empty, off by default; queued in the background with an hourly cap, a “Describe queued images now” button and a 24h status line in Settings > API Keys.
  • Added: SEO data transfer / sync, in Utility: move titles, meta descriptions and focus keyphrases between AISA and Yoast, Rank Math, All in One SEO or SEOPress, with a preview before anything is written, a backup first, a status line that tells you when the two sides are already aligned, and an alert when your SEO plugin cannot see the SEO AISA has already written.
  • Added: Q&A sets in the settings export, so they survive a plugin data cleanup, and come back with their dedicated page …