Content Architecture Analysis

A content audit is a site review to see how content is structured and used.

Major content questions

How is the content structured?

How is the content used?

How is the content displayed?

Entities and bundles

In Drupal, content is implemented as entities, with Node being the class for common content types.

A bundle is an entity subtype, with it's own collection of fields.

There are some core entities to expect in every site: Content, Blocks, Users, Menu links, etc.

Other entities are provided by modules: IE Paragraphs.

Entity types are usually configured under Admin > Structure.

Entity Count provides a quick report with a count per entity type/bundle.

Questions

  • How many pieces of content per type?
  • What non-core entities exist?
  • How is the content related?

Fields

Field List Report: Admin > Reports > Field list

Basic list of fields, and where they are used in entities and views.

Questions

  • Keep or change existing field names?
  • What non-core fields exist?

Create content audit views

Create a content audit view, or add displays to the content admin view.

For each content type, create a display showing a table with all the fields.

Configure the displays as tabs on the content page.

Views can't do secondary tabs, try the Views Local Tasks module or create a *.links.task.yml file.

Try the Views Attachment Tabs module to automate the tabs setup.

Add summary text to the header to see a count of content per type.

Additional questions

  • What navigation structures does the content have?

Recommended Modules

Xray Audit

https://www.drupalarchitect.info/module/xray-audit

Provides reports that help inspect a site's content and structure.

Filter Format Audit

https://www.drupal.org/project/filter_format_audit

Get a report of the HTML in your content.

Entity Usage

https://www.drupal.org/project/entity_usage

How can you tell where a piece of content is displayed in the system?

The Entity Usage module can track where an entity is used in a reference field, and provides a tab with a listing.

This is an area where Drupal core is quite limited.

Content Model Documentation

https://www.drupal.org/project/content_model_documentation

Provides a few helpful reports.

Entity relationship diagrams with mermaid.js.

More modules

https://www.drupal.org/project/content_insights_report
Configurable reports, shows % of content per type.

https://www.drupal.org/project/content_type_audit
Count of content types, with filters.

https://www.drupal.org/project/entity_tracer
Explore entity reference fields.

https://www.drupal.org/project/content_audit
Generate content inventory.

https://www.drupal.org/project/data_count
Count of nodes and users.

https://www.drupal.org/project/entity_count
Count per entity/bundle.

https://www.drupal.org/project/entity_count_tokens
Tokens for entity/bundle counts.

https://www.drupal.org/project/entity_mesh
Graph entity links from rendered content.

https://www.drupal.org/project/entity_count_analyzer
Count of entities (core only out of the box).

https://www.drupal.org/project/broken_reference
Find broken entity references.

https://www.drupal.org/project/entity_reference_finder
Show reference fields in entity/bundle.

https://www.drupal.org/project/extra_siteinfo
Drush commands to get node/role/user counts.

https://www.drupal.org/project/node_usage
Block showing node counts.

https://www.drupal.org/project/structure_map
Entity structure reports.

https://www.drupal.org/project/paragraphs_report
Paragraph count reports.

https://www.drupal.org/project/paragraphs_usage
Paragraph usage reports.

Tags