Install

Works with Drupal: ^10.3 || ^11

Using Composer to manage Drupal site dependencies

Alternative installation files

Download tar.gz 85.94 KB
MD5: 97d9b33859711229b043acfd15f6c37c
SHA-1: 1f42a65bedd16eb9b34ad7846eab70b9d3ef56a7
SHA-256: 5dcc96b1eb1a6b29d1964aef40b8bdd5a52056db3a163aa3034be106930c2225
Download zip 108.27 KB
MD5: d8699a7c4af27e27b8ba3feaca97a876
SHA-1: 6f606dfae039cc56fb57d2a4c745a7ef357c6580
SHA-256: c54d73838d481e7a54c59a1f9438ee8d2a8866d1e4129946aca664bb1aaf3192

Release notes

This release adds Generative Engine Optimization (GEO) capabilities alongside existing SEO analysis. The module is renamed to AI SEO/GEO Analyzer to reflect the expanded scope.

New features

GEO analysis support

  • Module renamed from "AI SEO Analyzer" to "AI SEO/GEO Analyzer" throughout (name, description, menus, permissions, page titles).
  • System prompt updated: the AI now audits both traditional SEO and GEO signals — AI citability, E-E-A-T, structured data for AI extraction, and agentic search readiness.
  • Full SEO Analysis report extended with a new Section 13: GEO Optimization / AI Mode covering AI citability assessment, E-E-A-T authority signals, structured data for AI extraction (Speakable, FAQPage, dateModified), and agentic search readiness recommendations.
  • Schema.org Markup report extended with a new Section 5: Speakable Schema & AI Extraction Signals covering SpeakableSpecification, sameAs for entity disambiguation, freshness signals, and about/mentions properties.

Two new report types

  • AI Citability — evaluates how likely content is to be cited by AI-powered search systems.
  • Agentic Search Readiness — audits content for discoverability by Google information agents and other background AI agents.

Streaming analysis

  • Analysis results now stream live to the browser via Server-Sent Events (SSE) — the report renders word-by-word as the AI responds, replacing the previous blank spinner. A built-in markdown renderer displays the report progressively with no external dependencies.
  • Two new SSE endpoints: one for saved nodes (/ai-seo/stream/{node}) and one for draft content (/ai-seo/stream-draft), both CSRF-protected.
  • A queue worker (AiSeoAnalysisWorker) is included for background processing.

Node edit form integration

  • A new AI SEO Analysis panel appears in the node edit form sidebar (requires view seo reports permission).
  • View latest report button opens the most recent saved report in a modal dialog without leaving the edit form.
  • Analyze draft button analyzes the current unsaved form content and shows the result in a modal — not persisted to report history.
  • Run full SEO analysis after saving checkbox triggers a full analysis immediately after save.
  • Inline per-field analysis buttons — a small "SEO/GEO ✦" button appears next to each text field on node edit forms. Clicking it streams a focused AI analysis for that specific field (title, body, meta description, summary, or any other text field) in a modal without leaving the page. Works with CKEditor 5 and fields inside Paragraph sub-forms. Can be enabled in module configuration.

Improved AI output formatting

  • A structured output format block is appended to every prompt, enforcing consistent ##/### headings, bold labels, single-level bullet lists, score formatting, before/after rewrite examples, and a ## Priority Actions closing section.

Safe prompt auto-update infrastructure

  • New default_prompt_hash field on ReportType entities records the MD5 of the shipped default prompt. Future update hooks can detect whether a prompt has been customised and skip auto-updates safely, logging a warning instead of overwriting.
  • New permission administer ai seo settings for managing report type entities separately from general module administration.

Bug fixes

  • Fixed incorrect permission name in routing, preventing access to analysis routes (#3569854).
  • Fixed custom prompt no longer being applied during analysis (#3511850).
  • Fixed translation being skipped due to a disallowed <div> tag in a translatable string (#3561817).
  • Fixed substr() offset bugs in code-block stripping (off-by-one errors); also handles ```html fenced blocks.
  • Draft analyses no longer persist to the report database.
  • PHP 8.4 compatibility: explicit ?Type nullable syntax on all affected method signatures.
  • ViewReportController cleaned up: inline styles replaced with CSS classes, Markup::create() used for safe HTML output.

Database updates

Run drush updb after updating.

  • ai_seo_update_10310 — Creates the ai_citability and agentic_readiness report types. Updates the full and schema_org_markup default prompts only when the stored prompt still matches the original shipped default; customised prompts are left untouched and a warning is logged.
  • ai_seo_update_10311 — Backfills default_prompt_hash on all existing report type entities to enable safe auto-updates going forward.
Created by: j-vee
Created on: 27 May 2026 at 09:04 UTC
Last updated: 27 May 2026 at 09:04 UTC
Bug fixes
New features
Insecure

Other releases