
Taxonomy Rationalization in a CMS Migration: Deciding Which Legacy Tags Survive
The tag list comes out of the legacy CMS in the third week of discovery. It runs to several thousand values. Nobody in the room recognizes most of them, the marketing lead recognizes maybe forty, and a large share have been applied to exactly one entry, once, by someone who left the company years ago. Nothing on the project plan says what happens next, because the plan assumed tags were data that moves.
Taxonomy rationalization decides which legacy values survive, which merge, which become structured fields, and which are retired. It belongs in discovery, before the content model is fixed. A headless CMS may be able to store much of the legacy vocabulary, but carrying it across unchanged undermines the structured content, reuse, and cross-channel delivery the migration is meant to enable. eight25 applies this content-first discipline to enterprise replatforming, including NetApp’s migration from Tridion to Contentstack.
Your New Platform Has a Term Ceiling, and Your Estate May Already Be Over It
Long-lived CMS estates often accumulate tags through decentralized creation, inconsistent naming, imported vocabularies, and governance that weakened over time. That can happen in AEM, Drupal, WordPress, or a headless CMS; the architecture alone does not prevent it. The difference in a well-designed headless implementation is that taxonomy becomes an explicit part of the structured content model and API contract, with platform limits and downstream uses that must be understood before migration.
| Constraint | Contentful | Contentstack |
|---|---|---|
| Vocabulary container | Up to 20 concept schemes | Multiple taxonomies can be created within a stack; confirm plan-specific allowances |
| Vocabulary size | Up to 6,000 concepts per organization and 2,000 per scheme | Confirm the current term allowance for the selected plan |
| Hierarchy depth | Up to 5 levels | Hierarchical terms are supported; confirm the current maximum depth |
| Assignments on one | 50 concepts | Up to 25 terms |
| Content-model integration | Taxonomy is applied to entries and can be scoped with content-type validations | A taxonomy field can reference multiple taxonomies |
Read hierarchy depth, per-entry allowances, and content-model integration before looking only at total term capacity. A six-level product hierarchy, for example, exceeds Contentful’s published five-level limit. In Contentstack, one taxonomy field can reference multiple taxonomies, so Industry, Product Line, and Buyer Role do not necessarily require separate fields. These are content-model decisions rather than minor configuration details: inexpensive to resolve in discovery and disruptive to revisit after implementation begins.
Some estates should skip this entirely. A single-market site with a few hundred used tags and no faceted listings can carry the set across and tidy up after launch. At that size the exercise costs more than it returns. The calculation flips the moment a second market arrives, a listing starts filtering on tag values, or a search index begins reading those values as entity signals.
Count the Tags Before You Count the Pages
Most programs build the page inventory first and start the legacy tag audit weeks later, by which point the content model is half designed. Run both audits off the same crawl. Tag decisions constrain the content model, and the model is what everything after it gets built on.
| Audit field | What it captures | Why it drives the disposition |
|---|---|---|
| Term string, verbatim | The raw legacy value, unnormalized | Near duplicates are only visible before cleanup |
| Applied count | Live entries currently carrying the term | Single-use terms are usually the bulk of the list |
| Last applied date | Most recent application | Long inactivity makes a term a retirement candidate, subject to seasonal, legal, regulatory, and audience-specific exceptions |
| Claiming owner | Named person or team, or blank | Blank is the field that does the work |
| Downstream use | Facet, navigation, feed, search, personalization, permissions, integration, or no known use | A term with no confirmed consumer is a retirement candidate, but downstream systems must be checked first |
Use both a live-site crawl and a CMS export, then reconcile them. The export shows what the CMS contains; the crawl shows what is publicly rendering, while neither source alone reveals every dependency. On NetApp’s Tridion estate, eight25’s URL-level audit reduced an initial estimate of 40,000 pages to roughly 12,000 in the working inventory; the site ultimately launched with approximately 14,000 pages across ten languages.
Frequency data alone will retire terms that serve a small but high-value audience, which is how a compliance or investor-relations vocabulary disappears in a migration nobody thought touched it. Subject matter expert interviews produce the opposite failure, because everyone defends their own terms. Use frequency to build the retire list and interviews to defend the exceptions, in that order.
Taxonomy Rationalization Has Four Dispositions, Not Two
Teams frame this as keep or kill and stall, because most terms are neither. There are four dispositions, and the third one is where migrations lose time.
| Disposition | When it applies | What it costs |
|---|---|---|
| Keep | Term is used, owned, and renders on a surface | One mapping row |
| Merge | Several strings mean the same thing, such as Financial Services, FinServ, and Fin Services | One mapping row, plus a redirect if the facet URL is indexed |
| Promote to field | The value is an attribute, not a topic: Gated, Region, Fiscal Year, Product Line | A content model change, so it must land before modeling closes |
| Retire | Unused, unowned, or already covered by a field | A redirect or a deliberate 404 on any indexed facet URL |
Promote to field is the disposition that breaks schedules. Legacy estates routinely use free-text tags to carry structured attributes because the old platform gave editors nowhere else to put them. Each one belongs on the new content type as a typed field, which puts it inside content modeling, and content modeling is a gated phase. Finding six of them after that gate closes means reopening it.
Retirement is not always the taxonomy team’s decision alone. If a term generates an indexed facet URL with rankings, traffic, or inbound links, its disposition must be reviewed with the SEO owner. The correct outcome may be to keep the term, merge it into a surviving category, redirect the URL to an equivalent destination, or deliberately remove it when no relevant replacement exists.
Who Owns the Cull, and What Happens to the Terms Nobody Claims
The failure here is almost never technical. It happens in the review cycle. The tag list goes to twelve stakeholders in a spreadsheet. Four replies. The migration team keeps everything, because keeping is the safe default when nobody has said otherwise, and the new platform launches with the legacy mess re-encoded inside a governed structure. That is the worst available outcome: all the constraints of a controlled vocabulary and none of the benefits.
| Role | Decision they own | Default if they stay silent |
|---|---|---|
| Taxonomy owner, one named person | Approves the final scheme | Project lead decides and records it |
| Scheme owner, per vocabulary | Defends terms inside their scheme | Terms in that scheme retire |
| SEO lead | Any term with an indexed facet URL | Term is kept and mapped, redirect required |
| Editors | Flag missing terms during UAT | No new terms accepted after the freeze |
For unclaimed terms, the working default should normally be retired rather than kept. Before that default is applied, the migration team should screen for legal, regulatory, SEO, localization, analytics, personalization, and integration dependencies. Publishing the default, exceptions, accountable owner, and claim deadline turns silence into a governed decision instead of an indefinite deferral.
In eight25’s content-first migration approach, pages are classified by disposition, content type, and business purpose before the destination model is finalized. Taxonomy rationalization applies the same decision discipline to terms. Running the page inventory and taxonomy audit together does not make the work trivial, but it reduces duplicate discovery and exposes content-model dependencies earlier.
A thirty-day claim window is aggressive for an organization whose content governance meets quarterly. Match it to the cadence you actually have, publish the closing date, and hold one line: the window cannot run past the content modeling gate, because promote-to-field decisions have to be inside it.
Auto-Tagging Closes the Gap, Up to a Point
After the cull, thousands of entries need terms from a scheme that did not exist when they were written. Somebody has to apply them. That is the line item programs discover rather than budget.
Auto-tagging results vary by taxonomy, content quality, field type, model, and confidence threshold, so a universal accuracy percentage is not useful for planning. Contentful provides AI-powered taxonomy assignment that suggests concepts from an existing taxonomy for an editor to review and assign. Treat that capability as assisted classification rather than evidence that governance or human validation can be removed.
Classification risk varies by field. Structural values such as format or language are usually easier to validate than interpretive values such as topic, industry, or buyer role. If the selected auto-tagging tool exposes confidence scores, set review rules by field and business risk rather than applying one global threshold.
| Field type | Typical classification risk | Recommended review posture |
|---|---|---|
| Structural: content type, format, gated status | Lower when the value is explicit in the source record | Validate against rules and spot-check a representative sample |
| Derivable: region, language, referenced product | Lower when an authoritative source field already exists | Reconcile with the source field rather than asking AI to infer the value |
| Interpretive: topic, buyer role, industry | Higher because the classification depends on meaning and business context | Use human review based on traffic, compliance exposure, and the consequences of a wrong assignment |
Assignment against a controlled vocabulary requires that vocabulary to be defined first. Corpus analysis can help identify candidate terms, synonyms, and gaps, but it should inform the taxonomy rather than approve it automatically. Otherwise, inconsistent source language can be reproduced in the new structure instead of rationalized.
What Keeps a Rationalized Taxonomy From Growing Back
A controlled vocabulary stops an editor in market nine inventing a term on a Friday afternoon, but only if the sanctioned path is faster than the workaround.
- Keep term creation out of the entry editor. Both platforms put it in a separate administrative interface. Leave it there, and grant it to a small named group, not to every content admin by role.
- Give the request path a stated turnaround. A market that needs a term and hears nothing for six weeks will overload an existing term instead. That is worse than an unsanctioned new term, because a new term shows up in the audit and a misapplied one does not.
- Review on usage, not opinion. Each quarter, pull every term applied fewer than a set number of times since the last review and send it to its scheme owner with a retirement recommendation attached. Keeping a term should take effort. Retiring one should be the default.
A locked global vocabulary suits a centrally controlled brand with consistent portfolios. Markets that genuinely sell different things to different buyers need local extensions, and denying them produces the same rogue behavior that produces rogue microsites. Most failures we see are not a wrong choice between the two models. They are an organization operating the second while its governance deck describes the first.
Frequently Asked Questions
Audit them before the content model is finalized, then assign each term one of four dispositions: keep, merge into a surviving term, promote to a structured field, or retire. Build the inventory from both a live-site crawl and a CMS export, reconcile the differences, and record usage, ownership, downstream consumers, and last-applied date. Treat unclaimed terms as retirement candidates after dependency checks. Promote-to-field decisions are especially time-sensitive because they change the destination content model.
Contentful currently documents up to 6,000 concepts, 2,000 concepts per concept scheme, 20 schemes, five hierarchy levels, and 50 assigned concepts per entry. Contentstack documents a maximum of 25 selected terms per entry and allows multiple taxonomies to be referenced through a taxonomy field. Because Contentstack entitlements and product limits can change, confirm taxonomy count, total terms, and maximum depth against the current plan and implementation documentation before fixing the migration model.
Before, and during discovery rather than build. Rationalizing after launch means migrating every legacy term into a governed structure, then unpicking it while editors are already applying those terms and facet URLs are already indexed. The one case for deferring is a small single-market estate with a few hundred used tags and no faceted listings, where the exercise costs more than it returns.
Yes, once the target taxonomy has been defined. AI can suggest or apply candidate terms, but results depend on the content, taxonomy, model, and type of classification. Validate structural fields against authoritative data and require stronger review for interpretive or high-risk fields. If the tooling provides confidence scores, configure review rules by field rather than relying on one global threshold. Auto-tagging does not remove the need to design and govern the taxonomy.
Business owners approve the taxonomy; the migration partner should structure and drive the work. Subject matter experts defend specialized terms, while SEO, legal, regional, and technical owners review the dependencies relevant to them. The partner should produce the reconciled inventory, disposition framework, mapping table, content-model recommendations, auto-tagging rules where applicable, and redirect requirements. Ask prospective partners for a redacted mapping example or a detailed walkthrough of a previous taxonomy workstream, not only a sitemap.
Planning a CMS Migration Where Taxonomy Rationalization Has Not Been Scoped?
The tag list is often examined after the page inventory, even though its structure can change the content model, filtering experience, search behavior, redirects, and migration effort. Before scope is fixed, audit the legacy vocabulary alongside the content estate and reconcile both against the destination model. eight25 includes this work in content-first migration discovery, producing a documented taxonomy disposition and mapping table that the client retains regardless of who completes the implementation.