SEO Analysis overview showing circular score gauge and check results grouped by severity
SEO Analysis detailed check results with diagnosis, recommendations, and action items

This project is not covered by Drupal’s security advisory policy.

This module is part of the Analyze ecosystem and included in DXPR CMS.

Your SEO Gaps Are Invisible Until Someone Checks

Missing alt text, empty meta descriptions, broken heading hierarchy, no structured data. These issues silently accumulate across hundreds of pages, and manual audits catch a fraction at best. This module scores every page against twelve SEO best practices, automatically, so you fix the gaps before search engines penalise them.

SEO Analysis full report showing overall SEO score gauge and individual check results with pass/fail status

You need SEO Analysis if

  • Your site has grown organically and pages were published without consistent SEO checks
  • Multiple content editors create pages with no shared SEO checklist
  • You want to prioritise SEO fixes across hundreds of pages without manually auditing each one
  • You need a baseline SEO score per page to track improvement over time

What You Get

  • SEO score per page

    Every content entity gets a percentage score across twelve checks, displayed as a visual gauge in the Analyze tab. Scores update automatically when content changes.

SEO Analysis gauge showing the overall SEO percentage score on a colour-coded scale

  • Progressive-disclosure full reports

    Checks are grouped by severity: needs attention, can be improved, and passed. Each failing check explains why it matters and gives an actionable recommendation, teaching SEO alongside scoring.

  • Twelve deterministic checks

    Title tag length, meta description, URL structure, heading hierarchy (H1 presence and nesting), image alt text coverage, content word count, internal and external link profile, canonical URL, Open Graph tags, and Schema.org structured data.

  • Optional AI-powered checks

    With an AI provider configured, two additional checks score keyword coherence (topic alignment and distribution) and readability (sentence complexity and reading level).

SEO Analysis detailed report showing individual checks grouped by severity with pass, improvement, and attention categories

  • Batch analysis for existing content

    Score hundreds of pages at once to find which content needs attention first. Results are cached with content-hash invalidation, so repeat views are instant and re-analysis only runs when content actually changes.

  • AI Coding Assistant Integration

    SEO analysis is available to AI coding assistants
    through the Analyze module's built-in
    Agent
    Skills
    file. Run
    drush analyze:setup-ai to enable, then ask
    naturally:

    • "Analyse SEO on all articles"
    • "Check heading hierarchy on the about page"
    • "Run SEO and brand voice analysis together"

    Compatible with Claude Code, Codex CLI, Gemini CLI,
    GitHub Copilot, Cursor, and other tools supporting the
    standard.

  • Site-wide SEO report

    A filterable Views report shows SEO scores across all content, sortable by score, content type, and date, so you can spot patterns and prioritise fixes.

Getting Started

  1. Enable the analyzer per content type at /admin/config/content/analyze-settings
  2. Configure which checks to run at /admin/config/analyze/seo
  3. Open any content entity's Analyze tab to see the score
  4. (Optional) Set up an AI provider at /admin/config/ai/providers for keyword and readability checks

Prefer a turnkey demo site?

Spin up DXPR CMS: Drupal pre-configured with DXPR Builder, DXPR Theme, the full Analyze suite including SEO Analysis, and security best practices out of the box.

Get DXPR CMS »

Additional requirements

This module requires:

Optional:

  • AI module with a configured chat provider (for keyword coherence and readability checks)

Analyze SEO is included in DXPR CMS, which ships the full Analyze suite pre-configured so marketing teams can start measuring SEO health immediately.

FAQ

Does SEO Analysis require an AI provider?

Twelve of fourteen checks are fully deterministic and run without any AI provider, covering title tags, meta descriptions, heading hierarchy, image alt text, URL structure, word count, link profile, canonical URLs, Open Graph tags, and structured data. Two optional checks (keyword coherence and readability) require a configured AI chat provider through the Drupal AI module.

How does the SEO scoring work?

Every content entity receives a percentage score across all enabled checks. Results are grouped by severity into three categories: needs attention, can be improved, and passed. Each failing check includes an explanation of why it matters and a specific recommendation for fixing it, so editors learn SEO best practices alongside scoring.

Does SEO Analysis work with all content types?

Yes. Enable the analyzer per content type at the Analyze settings page. Any fieldable content entity (nodes, custom entity types) that the Analyze module supports can be scored. Scores appear in the Analyze tab on each entity and in the site-wide SEO report.

Related Modules

Required dependencies; this module directly uses their APIs:

  • Analyze - Content analysis framework; this module extends AnalyzePluginBase and implements BatchableAnalyzerInterface
  • Views Color Scales - Colour-coded score display in the bundled SEO Views report

Optional integration:

  • AI - LLM provider layer; enables keyword coherence and readability checks

Sibling Analyze plugins:

Supporting organizations: 

Project information

Releases