Rebuilding organic acquisition for a freight forwarder after a botched replatform
Northwind Logistics lost most of its organic search visibility during a website replatform, and recovered it over fourteen months through technical remediation, a rebuilt information architecture and a content programme aimed at procurement decision-makers rather than general freight queries.

Measured outcomes
- Organic sessions to commercial pages
- +164%
- Month 14 against the pre-replatform baseline, not against the post-launch trough
- Indexed commercial pages
- 31 → 240
- After rendering and canonical remediation
- Organic-sourced qualified enquiries
- +118%
- CRM-attributed, first-touch organic, months 9 to 14
- AI assistant citation rate
- 6% → 34%
- Share of a 60-prompt panel naming Northwind, months 8 to 14
The situation
Northwind replatformed onto a JavaScript framework that rendered its service and lane pages client-side. Googlebot could reach the routes but received an empty shell on first pass, and the pages that did get indexed were competing with each other for the same terms.
The internal view was that the agency running paid search had underdelivered. The paid account was mediocre, but it was not the problem. Organic sessions to commercial pages had fallen sharply after the launch and nobody had connected the two events, because the analytics property had been rebuilt at the same time and the historical comparison was unavailable.
There was also a structural issue nobody had raised. The site described services the way the company was organised internally, by freight mode, while buyers searched by lane, commodity and compliance requirement.
What we did
Establish what actually broke, and when
We reconstructed the pre-launch baseline from Search Console's sixteen-month window and third-party visibility indices, then aligned it against the deployment log. That gave us a defensible before-and-after rather than an argument. The rendering failure was confirmed by fetching the templates as Googlebot and diffing the returned HTML against the browser DOM.
Fix rendering before touching content
Server-side rendering was restored for all commercial templates. Canonical logic was rewritten: the replatform had emitted a self-referencing canonical on every faceted URL, so filtered views were competing with the pages they filtered. Both changes shipped as engineering tickets with acceptance criteria, and were verified in staging against a crawl diff before release.
Restructure around how buyers search, not how the company is organised
We rebuilt the architecture around lane and commodity, with mode as a facet rather than a top-level split. This was the contentious part of the engagement, because it cut across how the sales team was structured. We ran it as a limited pilot on two lanes first and let the data settle the argument.
Publish for the procurement buyer, not the search volume
The content programme deliberately targeted lower-volume, higher-intent queries around customs documentation, dangerous goods handling and lane-specific transit expectations. These attract a fraction of the traffic of generic freight terms and convert at a different order of magnitude, because the person reading them has a shipment to move.
Extend to AI answer surfaces
Once the foundation held, we structured the compliance and documentation content as self-contained, attributable answers and built out the entity layer. We ran a monthly prompt panel across four assistants to measure whether Northwind was named for the questions its buyers were asking.
What we would do differently
The recovery took fourteen months, which was roughly twice what we estimated at the diagnostic. We underestimated how much of the architecture work depended on a sales reorganisation outside our control, and we should have flagged that dependency as a scheduling risk at proposal rather than at month four. The technical remediation itself performed close to forecast.
“The useful part was being told the paid agency was not our problem. That was not what we asked them to look at and it was not what we wanted to hear, but it was correct, and it saved us from firing a vendor over someone else's mistake.”