Tag-like entry sections

Craft's entrification initiative encourages projects to convert tag groups into channel sections with php craft entrify/tags. After entrification, your “tags” are regular entries — each with a URL, body, drafts, and an author. Tidy Tags can surface those sections alongside native tag groups so the dashboard and duplicate scanner keep working in a world where tag groups have become entries.

Opting a section in

  1. Go to Settings → Plugins → Tidy Tags in the control panel.
  2. Under Tag-like sections, check every channel section that should be surfaced (typically the sections produced by entrify/tags).
  3. Save.

The section now appears on the Tidy Tags dashboard with an Entries badge and participates in duplicate scans across every site.

What you get

  • Dashboard row with total count and per-site counts, next to your native tag groups.
  • Group view with search, site filter, and per-site title columns so you can spot missing translations.
  • Within-source and cross-source duplicate clusters in the Duplicates tab, computed with the same Levenshtein threshold used for tags.
  • Swap relations — the safe primitive that re-points relations from one entry to another without touching the entries themselves. Replaces the merge button on entry-backed clusters and powers cross-source consolidation. See How swap works.
  • Inclusion in the editor “did you mean?” warning when the editor is in a tag field — an editor about to create a new England tag is told that England (Football) already exists as a Team and given a one-click link to open it.

What stays tag-only — and why

Entry-backed sources are read-only for destructive actions. Rename, merge, and delete stay tag-only on purpose:

  • Renaming an entry changes its title, slug, and (unless you've customized URI formats) the URL your visitors bookmark.
  • Entries carry bodies, drafts, revisions, authors, and related assets that Tidy Tags has no opinion about and shouldn't silently clobber.
  • Craft already ships a better editor for entries — the Entries index, drafts, revisions, Live Preview — so duplicating that surface here would be strictly worse.

For entry-backed duplicates, the Duplicates tab surfaces the clusters and offers Swap relations to consolidate them safely. After a swap, the orphaned source entries can be deleted from the Entries index once you've verified the result.

Editor “did you mean?” warnings

When an editor types a new tag into a Tags field, the duplicate warning checks the bound tag group and every configured tag-like entry section. Each match shows its source badge, any configured differentiator value, and links directly to the existing item — so editors are nudged toward reusing taxonomy that already exists somewhere in your install, not just inside the current tag group.

The warning honors per-source differentiator fields: a new England (Rugby) isn't flagged against an existing England (Football) if both sources have a sport differentiator. See Differentiator and display fields.

The hook is still tag-only on the editor side: the warning attaches to Craft's Tags field and does not appear next to entries fields, even when an entries field points at a configured tag-like section.

Driving the list from config

The settings screen writes to project config, which is usually all you need. If you'd rather manage the list per-environment — for instance, scanning extra sections in staging only — drop a config/tidytags.php file into your project. It's overlaid on top of the saved settings at request time:

<?php
// config/tidytags.php
return [
    'tagLikeSectionUids' => [
        'af2a1ee1-7a4b-4d9a-bc0b-6b3b5b9f3c8b', // articleTags
        'c4e1be83-7c18-47e3-b6aa-2b5d1b9a94d2', // productCategories
    ],
];

Use section UIDs (not IDs or handles) so the config file is stable across environments. A section's UID appears in its Settings → Sections URL, and is also stored in config/project/sections/<handle>.yaml.

Entrification at a glance

If you're new to entrification, the short version is: tag groups, category groups, and some user field types are being gently retired in favor of channel sections and entry relations. The php craft entrify/tags myTagGroupHandle console command automates the conversion of a tag group into a channel section, copying titles, slugs, and relations across for you. Tidy Tags supports both sides of that transition — native tag groups get the full toolset, entrified sources get read-only visibility.

More in Control Panel & Assets

Pairs well with Tidy Tags

Small changes to the control panel that editors notice on day one. Better filters, a real media library, sidebar fields, watermarks and uploads that don't time out.