Unified Content Analysis Framework for Drupal

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.

Core Features

Compatible Analysis Modules

Modules marked with an asterisk (*) are included in the Analyze project
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

Problem Addressed

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.

User Experience

  1. Up to three key metrics are shown on the main "Analyze" tab using tables and gauges.
  2. Full reports can be displayed in secondary tabs or sitewide dashboards.
  3. This ensures critical data is accessible, with deeper insights available when needed.

Setup

After enabling the module on the Extend page as usual:

  1. Navigate to Configuration > System > Analyze Settings.
  2. Enable desired analysis features for specific content types by toggling the available options (e.g., Basic Content, Google Analytics, Node Statistics).
  3. Once configured, the "Analyze" tab will appear on entity pages, displaying metrics and reports.

For example:

Example configuration: Example configuration for Analyze module on nodes and social post custom entities

Creating a custom plugin to display information

1. File Structure

my_module/ ├── my_module.info.yml ├── src/ │ └── Plugin/ │ └── Analyze/ │ └── MyAnalyzer.php

2. Example Plugin

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%', ], ]; } } ?>

3. Display Components

Developers can integrate these components to display their analysis on the "Analyze" tab. Configuration and UI are implemented by extending modules.