Taxonomy Operations

Taxonomy Operations is a modular toolkit for auditing and maintaining taxonomy quality in Drupal 10, 11 and 12.

The core module provides reports and safe cleanup with a hard dependency only on Taxonomy. Optional submodules add governance (action plans), portable import/export, and usage trends. Node and Paragraphs are soft dependencies detected at runtime.

Modular architecture

  • taxonomy_operations (core) — Insights dashboard, unused terms, top terms, similar-term detection, vocabulary/term overviews, Drush automation.
  • taxonomy_operations_governance — Action plans with review, approval, simulation, locks, audit, rollback and operation history.
  • taxonomy_operations_transfer — Portable import/export of terms (including field data).
  • taxonomy_operations_trends — Cron usage snapshots and per-term trend charts.

Enable only the features you need. Action plans are reserved for high-impact work (merges, imports, governed cleanups). Simple unused-term cleanup can run via confirm form + Batch API without governance.

Core features

Taxonomy Insights dashboard

  • Taxonomy Health Score.
  • Per-vocabulary metrics: total terms, unused terms, duplicate labels.
  • Recommendations and quick links to enabled tools.

Unused terms report and cleanup

  • Filter by vocabulary and term name; pagination and CSV export.
  • Dry-run by default.
  • With governance: creates a reviewable cleanup action plan.
  • Without governance: confirm form + Batch API delete.

Similar terms and merge

  • Groups near-duplicate labels by normalized similarity.
  • Suggests a canonical term from usage counts.
  • Impact preview for node/paragraph references (when those modules exist).
  • Optional per-bundle exclusions.
  • Creates a merge action plan (requires the governance submodule).

Vocabulary and term overviews

  • Vocabulary overview with usage, translations and operations.
  • Single-term overview page.
  • Filtered taxonomy overview form on vocabulary admin screens.

Top Terms

  • Most-used terms by content type (requires Node).
  • Filters and CSV export.

Governance submodule

  • Action plan list with filters, pagination and CSV export.
  • Lifecycle: pending → approved → running → completed / failed / cancelled (with retry).
  • Single or double approval; production can enforce stricter rules.
  • Real dry-run simulation with per-entity before/after diffs (no writes).
  • Integrity check before execute (target terms, replacements, referenced fields); aborts on drift.
  • Concurrency locks so two plans cannot touch the same tids/fields at once.
  • Per-item audit trail and estimated vs executed impact comparison.
  • Assisted rollback builds an inverse plan from audit rows (e.g. merge without delete).
  • Filterable operation history with timing metrics and CSV export.
  • Cron alerts for consecutive plan failures and rising unused-term ratios.
  • Long runs use Drupal Batch API with configurable chunk size and max operations per plan.

Transfer submodule

  • Portable vocabulary and term export (YAML/CSV-oriented transfer format).
  • Import analysis/preview, then an import action plan (requires governance to execute safely).
  • Stable import keys on terms for cross-site identity.
  • Cron-driven usage snapshots at configurable intervals.
  • Per-term trend chart and tabular history.

Permissions

Core: view reports.

Governance: view / create / approve / execute / simulate / rollback action plans; view operation history; administer settings.

Transfer: export terms; import terms.

Drush commands

  • drush taxonomy-operations:cleanup-unused — options: --vid, --dry-run
  • drush taxonomy-operations:similar-groups <vid> — options: --threshold, --min-size
  • drush taxonomy-operations:similar-merge <vid> — interactive; options: --threshold, --dry-run, --remove-merged

Main admin paths

  • /admin/reports/taxonomy — Insights dashboard
  • /admin/reports/taxonomy/unused-terms — Unused terms
  • /admin/reports/taxonomy/unused-terms/cleanup — Cleanup
  • /admin/reports/taxonomy/top-terms — Top terms
  • /admin/reports/taxonomy/action-plans — Action plans (governance)
  • /admin/reports/taxonomy/action-plans/{plan} — Review / simulate / audit
  • /admin/reports/taxonomy/history — Operation history (governance)
  • /admin/reports/taxonomy/trend/{tid} — Term trend (trends)
  • /admin/config/system/taxonomy-trend-settings — Settings
  • Vocabulary tabs: Overview, List Similar, Export, Import

Requirements

  • Drupal 10, 11 or 12
  • Taxonomy (core)
  • Optional: Node, Paragraphs
  • Optional submodules listed above

Operational notes

  • After updates: drush updb -y and drush cr.
  • Prefer dry-run before large cleanups or merges.
  • Use approve vs execute permissions for separation of duties.
  • No generic action-plan plugin API yet — plan types stay first-party until there is a real extension need.

Project information

Releases