188-URL Drupal Cleanup + Hreflang on Pantheon by Bree Sharp188-URL Drupal Cleanup + Hreflang on Pantheon by Bree Sharp

188-URL Drupal Cleanup + Hreflang on Pantheon

Bree Sharp

Bree Sharp

A subsidiary site of a global agribusiness brand was running on Drupal/Pantheon with 188 legacy URLs containing a deprecated subsection prefix that was bleeding into Google Search Console as duplicate content. The same site needed proper hreflang implementation for its international language variants and a hover-preview regression that exposed legacy URLs at the database level.
I scoped and shipped the work across multiple deploys: Dev → Test → Live on Pantheon for each phase. URL cleanup required regenerating the sitemap, which was itself blocked by a stale custom-module hook — unblocked by dropping a url_generators config override. Hreflang was implemented across all language variants with proper x-default fallback. The hover-preview fix required surgical multi-table DB rewrites because the legacy URLs were embedded in serialized link field data across field_button_link, field_learn_more_link, and field_link — each with different column conventions (_value vs _uri).
Stack: Drupal 9, Pantheon, multi-environment SSH + Drush, custom config overrides, direct DB migration scripts, RSA SSH key auth.
Outcome: 188 legacy URLs → 0. Hreflang validated across language variants and submitted via GSC. Hover-preview regression fully resolved. ~25 billable hours total across four scoped phases.
Tags: Drupal, Pantheon, technical SEO, hreflang, URL migration, multi-language, enterprise
Like this project

Posted May 10, 2026

Removed 188 legacy URLs from an enterprise Drupal/Pantheon site causing GSC duplicate-content bleed. Sitemap regen unblock, hreflang across language variants, plus surgical multi-table DB rewrites for hover-preview regression. ~25 hrs across 4 phases.