One Tab to Understand All Your Content

Content editors shouldn't need five different modules with five different UIs to understand how their content is performing. Analyze puts SEO data, readability scores, AI insights, link health, and traffic stats in a single tab: consistent, scannable, and actionable.

Analyze tab summary showing 8 active analyzers with gauges for Brand Voice, Sentiments, SEO, and AIO scores alongside tables for Search Console, Broken Links, and PostHog metrics

You need Analyze if

How It Works

Analyze adds an "Analyze" tab to every content entity. Enable the analysis plugins you want per content type, and editors immediately see summary gauges and tables, with full reports one click deeper. No custom theme work, no per-module configuration UIs to learn.

Content Analysis settings page with card grid layout showing 9 analyzers that can be toggled per content type

What Plugs Into It

Modules marked with * ship inside the Analyze project
Module What It Shows Key Metrics
Basic Content Info* Fundamental content stats Word count, Image count
Node Statistics* Traffic from Drupal's statistics module Total views, Today's views
Google Analytics* GA data per page Page views, Views per user, Bounce rate
Search Console Google Search performance per page Clicks, Impressions, CTR, Position
PostHog Analytics Product analytics per page Pageviews, Visitors, Bounce rate, Conversions
Broken Links Link health for every page Healthy %, broken count, status codes
AI Brand Voice Brand alignment scoring Voice alignment (-1.0 to +1.0)
AI Sentiments Multi-dimensional content tone Trust, Objectivity, Audience, Reading level
AI Marketing Audit Content marketing effectiveness Usability, Actionability, Business value
AI Security Audit Sensitive data leak detection PII risk, Credentials exposure
SEO Analysis Traditional SEO scoring 12 checks: title, meta, headings, alt text, links, Schema.org
AI Optimization Analysis AI answer engine readiness 8 checks: headings, JSON-LD, semantic HTML, FAQ patterns

Getting Started

  1. Enable the Analyze module and any analysis submodules you want
  2. Go to Configuration > Content > Analyze Settings and toggle which analyzers run on which content types
  3. Open any content entity and click the Analyze tab. Your data is there

Drush CLI & AI Agent Support

Analyze batch processing interface showing analyzer selection checkboxes, content type filter, and progress indicator for running analysis across multiple content items

AI Coding Assistant Integration

The Analyze module includes a built-in Agent Skills file that teaches AI coding assistants how to run content analysis through natural language. Run drush analyze:setup-ai to enable, then ask naturally:

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

For Developers: Build Your Own Analyzer

Create a plugin in src/Plugin/Analyze/, extend AnalyzePluginBase, implement renderSummary() and renderFullReport(). The framework handles routing, tabs, access control, and per-content-type configuration. See the included example plugin for a working reference.

Two display components are available: analyze_gauge for spectrum-based scores and analyze_table for key-value metrics.

Analyze is included in DXPR CMS, a Drupal distribution that ships the full Analyze suite alongside DXPR Builder and DXPR Theme so content teams can start auditing content quality out of the box.

FAQ

How many analyzers can I enable at once?

All of them. Each analyzer can be toggled independently per content type on the settings page, so you can enable only the ones you need or turn them all on. The Analyze tab groups every enabled analyzer's output into a single summary view with gauges and tables, and full reports are one click deeper.

Do all analyzers require an AI provider?

No. Several analyzers are fully deterministic and run without any AI provider: Basic Content Info, Node Statistics, Google Analytics, Search Console, PostHog Analytics, Broken Links, and SEO Analysis. Only the AI-prefixed analyzers (Brand Voice, Sentiments, Marketing Audit, Security Audit) and AI Optimization Analysis require an LLM provider via the AI module.

Does Analyze work with custom entity types?

Yes. Analyze works with any content entity type in Drupal, not just nodes. The settings page lets you configure which analyzers run on which entity types, so you can analyse taxonomy terms, media items, commerce products, or any other content entity your site defines.

Can I build my own analyzer plugin?

Yes. Create a plugin class in src/Plugin/Analyze/, extend AnalyzePluginBase, and implement renderSummary() and renderFullReport(). The framework handles routing, tab placement, access control, and per-content-type configuration automatically.

Two display components are available: analyze_gauge for spectrum-based scores and analyze_table for key-value metrics. See the included example plugin for a working reference.

How do I run analysis across all content at once?

Use the batch processing feature from the admin UI or run drush analyze:batch from the command line. You can filter by analyzer, content type, and entity count. The batch system handles rate-limit backoff for AI-powered analyzers automatically, so large sites can process thousands of entities without hitting provider limits.

Related modules

Analyze plugins: these modules register @Analyze plugins that appear in the Analyze tab:

Data sources used by bundled submodules: