The start: a clone that was wrong in every sentence
FleetMe Ltd hires out vans, pickups, tippers, Lutons, dropsides, crew cabs and company cars to businesses across England and Wales, from a base in Warrington. It owns the vehicles. When a customer signs, FleetMe is the other name on the agreement.
That sounds like a small detail. It is the whole build.
FleetMe’s sibling business, Fast Track Leasing, is an introducer: it finds the customer and passes them to a funder. We had already built Fast Track’s site, it works, and the obvious move was to start FleetMe from a copy of it. So we did. That turned out to be the hard part rather than the easy one.
Every line of introducer wording was wrong for a lessor, and wrong in a way that find-and-replace could not fix. “We’ll find you the best deal” is not a phrase you can search and swap when the truth is now “we own the van and we’ll confirm the rate in writing”. The legal relationship underneath the words had changed, so the words had to be rewritten, page by page, with a list of things a lessor must never say about itself.
Then the sharper edge. A limited company or LLP can take business contract hire over 24 to 60 months. An individual, and that includes a sole trader, cannot be offered the same agreement, because of a consumer-credit rule that turns on whether an agreement is capable of running beyond a set period. So sole traders get short-term hire with a hard ceiling on the term, and it is a different product with a different name.
The site therefore has to run two products that look identical to a visitor and are legally distinct, and keep them apart everywhere: copy, page titles, form logic and the machine-readable layer. With four weeks to launch.
The middle: what we actually built
1. Draw the legal line first, then build on it
Before any page was written, the two products were separated: who each one is for, what it can be called, what term it can run to, and which words are banned on which pages. Every page, form step and schema block was then built against that split rather than tidied up afterwards.
The homepage says what FleetMe is in the first screen. It is a lessor. There is no “we compare” and no “we’ll find you”, because neither is true.
2. Keep one URL that says “leasing”, and let the page correct the reader
People search for “sole trader van leasing”. Almost none of them search for “sole trader van hire, three to twenty-four months”. So the sole-trader page keeps “leasing” in its address, because that is the door people actually walk through.
Then the page puts them right. The heading says “van rental for sole traders”. The first sentence says what a sole trader gets is hire, not a lease, and explains why: contract hire is for limited companies and LLPs, and incorporating is what opens it up. The product is never described as a lease, the term ceiling is stated plainly, and the visitor knows where they stand before the form does.
That is the judgement call in one page: rank for the words people use, then tell them the truth once they arrive.
3. Put the range on the page, not in a PDF
A lessor’s stock is its argument. The site carries a live stock list driven from a single vehicle catalogue, so the deals list, the individual model pages and the search index are all reading the same file and cannot disagree with each other.
Around the catalogue sit the pages that win the specific searches: a page each for Luton, tipper, dropside, crew cab and pickup, and a page for each courier network people drive for. Someone looking for a Luton on business contract hire, or a van to run a parcel route, lands on a page about exactly that.
Site search covers the lot. If you already know the model, you type it and you are there.
4. Ask one question first, then the rest
The homepage hero asks one thing: how many vehicles do you need? One tap, and the enquiry has started.
The rest of the form reshapes itself around that answer. A single van for a sole trader and a mixed fleet for a limited company are different conversations, so the steps that follow are conditional rather than one long list everybody has to wade through. A progress bar shows where you are. Cloudflare Turnstile sits on the final step, so the sales inbox is protected without anyone squinting at traffic lights.
This is also where the legal split gets enforced for the last time. The form knows which product a sole trader can be offered, and it does not offer the other one.
5. Answer both ways, and keep the evidence
When an enquiry lands, two emails go out at once. The customer gets a branded acknowledgement so they know it arrived. The sales inbox gets an instant notification with everything the form captured, and that email is the working record the team acts on.
The part that matters legally is what is written into that record. UK GDPR expects you to be able to demonstrate consent, not just claim it, so each enquiry carries the exact consent wording the person agreed to, a timestamp for the consent itself, the IP address and browser it came from, and the retention period. The wording is looked up on the server from a version number rather than trusted from the browser, because evidence a visitor could have edited is not evidence.
No new system to learn. A team this size runs on an inbox, so the inbox got made trustworthy.
6. Be readable by machines as well as people
Alongside the pages a person sees, the site publishes an llms.txt and an llms-full.txt, a knowledge bundle, and a markdown twin of every key page. When an AI assistant is asked who supplies vans on business contract hire, it has clean text to read and quote instead of a rendered page to guess at.
Every page also opens with a direct answer to the question it is about. That opening line is what gets lifted.
7. Measure it properly, but only with permission
GA4 runs through Google Tag Manager, gated by Consent Mode v2 in advanced mode: the tags load, but nothing personal is stored until the visitor agrees.
Attribution gets the same treatment. Google, Meta and Microsoft click identifiers, gclid, gbraid, wbraid, fbclid and msclkid, plus UTMs, are persisted in a first-party cookie for 90 days, and only after marketing consent. Someone who clicks an ad on Monday, reads three van pages, and enquires the following week still gets credited to the click, without a single cookie set before they said yes.
8. Ship it locked down and fast
Astro 5 and Tailwind 4, rendered to static HTML and served from Cloudflare Pages. Time to first byte on the live site measured between 0.13 and 0.18 seconds. There is no server to wait for.
Security headers went out with the first deploy rather than after an audit: a Content Security Policy that allows only the origins the site actually uses, HSTS, a Permissions-Policy and a cross-origin opener policy. Over 300 images, all commercially licensed, sit behind that.
The end: what it left them with
- Live in three weeks, against a four-week deadline. First commit 1 September, last 22 September.
- 135 indexable pages, each with its own answer to a real search.
- Two products kept legally apart in the copy, the titles, the form and the structured data.
- An enquiry journey that starts from one tap and is protected by Turnstile at the end.
- Email automation both ways, with consent evidence written into every record.
- A machine-readable layer so assistants can quote the site accurately.
- Consent-gated tracking with 90-day attribution, and security headers in place from day one.
What it has not left them with yet is a results section. The site launched this month, and we would rather show you the build than invent the numbers. When the enquiries have been coming in long enough to mean something, they will go here.
If you own the vehicles, sign the agreements and need a website that says so correctly, tell us what you need and Harry will come back to you personally. It is the same approach we bring to the whole automotive and vehicle-rental sector, and to FleetMe’s sibling, Fast Track Leasing: get the legal position right first, make enquiring effortless, and build the site so it can grow.