com Computing Ltd Start a conversation
Case study

Lonsdale Commercials, WordPress to code they own

A van dealer in Cardiff. Off a platform they borrowed, onto a site they own.

The brief was one sentence: look at our old website and bring it up to date. What they got was a site they own outright, with nothing left to rent.

Lonsdale sell and build commercial vehicles out of Cardiff. Lutons, tippers, dropsides, box vans, and the bodies that go on them. The old site was WordPress with WooCommerce doing the job of a vehicle catalogue: a theme, a stack of plugins, and a hosting plan, each on somebody else's terms and somebody else's update schedule.

The new site is Astro. Plain files in a repository Lonsdale hold, compiled to static pages and hosted on Vercel. The staff add and retire stock through an admin I built for them. Their edits commit through the GitHub API and the site redeploys. Nobody at Lonsdale needs me to change a price, and nobody needs a plugin renewed.

It went live in June 2026. A WordPress site carries years of search rankings in pages a rebuild would normally throw away, and carrying them across is most of this write-up.

0
Landing pages, one per manufacturer and body type
0
Deleted vehicle pages restored at their old addresses
0
Impressions for the Luton page in its first month, from zero
0
Broken characters found in the spec sheets and fixed
§ 02

How it went, in order

The rebuild took weeks. Getting Google to see it the same way took months.

  1. 01

    The rebuild, off the platform

    WooCommerce is a shop, and a van dealer is not quite a shop. Every vehicle was a product and every size variant its own product page, which is a lot of plugin for stock that turns over. The new site is static, fast, and built around the two things a buyer wants: what is in stock, and what Lonsdale can build. There is no CMS to patch and no database to back up. The repository is the site.

    The admin was the part I cared most about, because a static site is only an improvement if the staff can still change it. It is a small private app that writes to the repository through the GitHub API, so a vehicle added on a Tuesday afternoon is live a couple of minutes later with no developer involved.

    Out: a site the staff run themselves and Lonsdale own outright, live since June 2026.

  2. 02

    What a WooCommerce site actually ranks for

    Not the homepage. WooCommerce publishes an archive page for every manufacturer and every body type, and a product page for every size variant, and each of those earns its own long tail of searches. A modern rebuild is tempted to replace the lot with one stock page and a filter. Google then merges every filtered view into a single result, and the rankings those pages held go with them, however good the new site is.

    So I pulled every old address that had earned a visit in the last year and decided what would happen to each one.

    Out: a list of several hundred URLs, and a plan for each: rebuild as a page, restore, or redirect.

  3. 03

    Landing pages, one per thing people search for

    Sixteen real pages, statically rendered, one for each manufacturer and one for each body type. Each has its own copy, its own filtered grid rendered on the server rather than in the browser, and a place in the navigation so Google can reach it without the sitemap. Not query strings. Query strings do not rank.

    Out: the Luton page went from nothing to 538 impressions in its first month and became the top page on the site, above the homepage.

  4. 04

    The old vehicle pages

    The old store had one page per size variant, and 155 of them had been cleared out in the tidy-up before the move. That is where a lot of the long tail actually lived. 136 came back at their original addresses as honest "no longer available, here is what we build" pages, because redirecting them to a category throws the specific away. Everything else got a redirect, more than five hundred rules in all.

    Two things worth knowing if you do this yourself. A redirect written when a page was deleted will quietly win over the page when you restore it, so the two lists have to be checked against each other. And Google revisits old addresses slowly, so a temporary sitemap of the old URLs pulls them back into the crawl queue and lets the redirects register.

    Out: every old address either lands on a page or arrives at the right new one.

  5. 05

    The bug nobody greps for

    Somewhere in the export from WordPress, smart quotes had been read as a DOS codepage and saved back as UTF-8. A 17" wheel was listed as 17ÔÇØ. Eighty of those, across 36 spec sheets, and nobody reports it because nobody reads every spec sheet.

    The fix round-trips every suspect sequence back through the codepage rather than replacing the one pattern I happened to notice, and it runs before every build. It repairs rather than fails, because the staff commit straight to production and a failing build would strand their edit with nobody watching.

    Out: clean spec sheets, and a guard that stays.

  6. 06

    Reading Search Console honestly

    Impressions are the number everyone watches and the easiest one to misread. A landing page that takes the category query replaces a dozen vehicle pages that each scraped a few impressions at a click-through rate of almost nothing, and on the impressions line that looks like standing still. Clicks and click-through rate are the numbers that mean something, so those are what I report to Lonsdale each month.

    Out: fewer, better impressions converting at a higher rate, and a client who knows which number to look at.

§ 03

What is still open

Search work is measured in months. This is where it stands.

Waiting on Google

  • Not every redirect has been recrawled yet. A redirect does nothing until Googlebot asks for the old address again, and old addresses sit in a slow queue. The temporary sitemap of them is helping. It comes down once they have all registered, because it is not content and should not be advertised as if it were.
  • Rankings take two to three months to settle after any move. The landing pages are climbing month on month. I report the slope, and I will keep reporting it until it flattens.

Known, and deliberately left

  • "Luton van" on its own is not a customer. The query is mostly people looking for a picture, and a page that ranks for it gets thousands of impressions and almost no clicks. I am not chasing it.
  • The admin commits straight to production. That is a feature for a small office and a risk for anyone bigger. The build repairs what it can and the repository keeps every version, which is enough here.
  • I still look after it. Stock changes, the odd content request, and a monthly look at Search Console. A dealer site is never finished while there are vans on the forecourt.
§ 04

In their words

Sent to me after the work was done, and published here with their permission. Unedited.

We had a fantastic experience working with Corey on our new website.

We asked Corey to take a look at our old website and bring it up to date, making it more relevant to today’s market and a better reflection of our business. He understood exactly what we wanted and did a brilliant job.

Corey was incredibly helpful throughout the whole process and was always happy to explain things, offer advice and answer any questions we had. His knowledge and professionalism really stood out, but what we appreciated most was how approachable and easy he was to work with.

We are absolutely delighted with the finished website. Corey took our ideas, added his own expertise and turned them into something that works really well for us.

We would have no hesitation whatsoever in recommending Corey. Great service, great knowledge and a great end result!

§ 05

Code you own, not a platform you borrow

Why this matters if you are on WordPress and thinking about moving.

A WordPress site is borrowed. The theme, the plugins, the hosting, each renewed on somebody else's terms. A site in a repository is yours, and any developer can pick it up.

Astro compiles to plain HTML. There is nothing to patch on a Tuesday night, no plugin that stops working at the next update, and no platform that can change its pricing under you. If I disappeared tomorrow, the repository is the whole site and the next developer starts from there.

The catch is the rankings. Every one a CMS site has lives in a page, and a rebuild that keeps the look and loses the pages loses them, however good the new site is. Planning for that costs an afternoon with the old site's search data. If you are moving off WordPress, Wix or Squarespace and somebody has told you the rankings will carry over, ask them which pages will still exist as pages. corey@comcomputing.im.