The Analyze module provides a unified API framework that brings together diverse content analysis tools under a single, accessible interface, transforming how content editors understand and optimize their content.
Adds a consistent "Analyze" tab to all entities with canonical URLs, providing a central location for all content insights.
Offers a robust API for modules to integrate their analysis data, ensuring consistency across different analysis tools.
Includes linear gauge components and tables for intuitive spectrum-based data visualization.
| Name | Description | Key Metrics |
|---|---|---|
Analyze Basic Content Info* |
Provides fundamental content metrics. | Word count, Image count |
Analyze Google Analytics* |
Integrates Google Analytics data into content analysis. | Page views, Views per user, Bounce rate |
Analyze Node Statistics* |
Provides basic traffic statistics using Drupal's Statistics module. | Total page views, Today's views |
Analyze Plugin Example* |
A developer reference for creating custom analyzers and reports. | Custom metrics, Gauge, Table components |
AI Brand Voice Analysis |
Analyzes content for brand voice consistency. | Brand voice alignment score |
AI Sentiment Analysis |
Analyzes the sentiment of content using AI models. | Trust, Objectivity, Audience targeting, Reading level |
AI Content Marketing Audit |
Evaluates content against marketing best practices. | Usability, Knowledge level, Actionability, Business value |
AI Content Security Audit |
Identifies potential security risks in content. | PII disclosure, Credentials exposure, Risk scores |
Content analysis modules, such as Realtime SEO, Google Analytics Node Reports, and Editoria11y, often feature inconsistent UI designs. The Statistics module, formerly in core, lacks an accessible UI. These discrepancies make it difficult for content editors to use these tools effectively.
The Analyze module unifies these tools within the "Analyze" tab. Concise reports appear on the main tab, while more detailed reports are accessible via secondary tabs.
After enabling the module on the Extend page as usual:
For example:
my_module/
├── my_module.info.yml
├── src/
│ └── Plugin/
│ └── Analyze/
│ └── MyAnalyzer.php
See the full example for details. Here's a basic structure:
'analyze_table', '#table_title' => 'My Analysis', '#row_one' => ['label' => 'Metric One', 'data' => 'Value 1'], '#row_two' => ['label' => 'Metric Two', 'data' => 'Value 2'], ]; } public function renderFullReport(EntityInterface $entity): array { return [ '#type' => 'fieldset', '#title' => $this->t('Full Analysis'), 'gauge' => [ '#theme' => 'analyze_gauge', '#caption' => 'Performance Score', '#range_min_label' => 'Poor', '#range_max_label' => 'Excellent', '#value' => 75, '#display_value' => '75%', ], ]; } } ?>analyze_table for key metrics.analyze_gauge for spectrum-based data.Developers can integrate these components to display their analysis on the "Analyze" tab. Configuration and UI are implemented by extending modules.