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 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.
| 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 |
drush analyze:batch. Filter by analyzer,
content type, and entity count.drush analyze:setup-ai to install skill
files.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.
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.
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.
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.
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.
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.
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.
Analyze plugins: these modules register @Analyze plugins that appear in the Analyze tab:
Data sources used by bundled submodules: