The Hill Times is Canada’s politics-and-government newspaper, published from Ottawa since 1989. It covers Parliament, the public service, lobbying, and political journalism in the way only a paper that lives in the federal capital can — with reporters in the room, subscribers who actually run the country, and an institutional memory of every government since Mulroney. This engagement was the Drupal-to-WordPress® migration of the paper, done together with the publisher’s internal team, and the brag goes to two specific pieces of craft.
The URLs had to keep working
The Hill Times had been on Drupal for years. That meant tens of thousands of articles, every one of them with a Drupal-shaped URL, and every one of them indexed by Google, cited in other journalism, bookmarked in policy-shop research files, and pulled into House of Commons committee documents as references. A migration that broke those URLs would have broken every external link to every article the paper had ever published. For a newspaper of record, that is the kind of breakage that is not really recoverable.
So we treated URL preservation as a non-negotiable. Every legacy URL pattern was mapped to its new WordPress equivalent. The Drupal path aliases were extracted and re-created as WordPress rewrites, the canonical news article URLs were preserved exactly, the tag and author and category archives were mapped pattern-for-pattern, and the long tail of older URL formats (the ones from Drupal versions before the current one) was caught by fallback rules. After launch, a reconciliation pass walked the most-linked URLs and confirmed each one still resolved to the same article it had previously resolved to. The search-engine rankings were the live test: a botched URL migration shows up as a traffic cliff inside 48 hours. There was no cliff.
The paying subscribers had to keep paying
The other piece was the membership system. The Hill Times is a paid publication. Readers pay for access, the access is the business, and the subscriber list is the asset. The Drupal stack had a membership system that had grown into the shape the paper needed over many years. The new stack was WordPress + Stripe.
A naive migration would have asked every existing subscriber to re-enter their payment details and re-subscribe. That would have lost a meaningful percentage of the subscriber base before launch week was out, not because anyone meant to cancel but because re-entering a credit card is the kind of friction that turns “I’ll do that later” into “I never did that.” So that was the requirement: existing subscribers had to be migrated to Stripe without being asked to lift a finger.
The work was the kind of work nobody notices when it goes well. Subscriber records were migrated to Stripe as customer objects, with the existing payment methods tokenised and attached. Subscription state, including plan, billing cycle, renewal date, and status, was preserved so that nobody was double-charged and nobody skipped a charge. The comp accounts (staff, journalists, board members, the ones that never went through billing at all) were migrated as WordPress users with the right capabilities and kept out of the Stripe flow entirely. Webhook plumbing handled the lifecycle events from launch day onward: renewals, payment failures, cancellations, plan changes. Customer service got a clean toolset for looking up a subscriber and seeing what was actually true for that account.
What the readers saw
Nothing. That was the point. The article they bookmarked still loaded at the same URL. The subscription they were paying for still worked. The credit card on file was still on file, the login still logged them in, and the daily routine of reading the Hill Times continued without anyone noticing that the platform underneath it had changed entirely. A migration of this size is judged by what the reader does not notice, and on this engagement the readers noticed nothing.
- Platform: WordPress, Stripe, custom migration tooling
- The migration: Drupal → WordPress with full URL preservation, plus full paid-subscriber migration to Stripe with payment methods intact
- Client: The Hill Times, Ottawa
- Team: Done together with the Hill Times’ internal team
- Period: 2011
- Sister property: Parliament Now was migrated to WordPress as part of the same engagement
Where this pattern transfers
Any paid-content publication doing a CMS replatform has this same job. Trade publications, industry analyst sites, academic journals, local-news publishers behind a paywall, and membership-based community sites all share the same two non-negotiables. Every legacy URL has to keep working, because the link economy is what the publication runs on. Every existing subscriber has to be migrated without being asked to re-enter their billing details, because the subscriber base is the actual asset. The technology choices flow from those two requirements. WordPress and Stripe were the right answers for this engagement because they made the two non-negotiables achievable, not because they had been picked first and the requirements built around them.
Product names referenced on this page — including WordPress — are trademarks or registered trademarks of their respective owners. Training offered here is independent and is not affiliated with, endorsed by, or sponsored by any of these companies.