I keep getting the same Derby brief. The business is real. The reviews are real. The site is a Wix, Squarespace, or WordPress theme with the logo dropped in and a stock hero of a desk. It looks finished. Google treats it like a flyer that never got a street.
That is not a branding problem. It is a URL problem. I wrote the engineering version in If it has no URL, search cannot find it. This is the Derby version: what happens when the “unique business” lives on a template Google has already seen ten thousand times.

Derby Cathedral. Photo: Michael D Beckwith / Pexels.
Google does not rank “a nice site”
Search does not walk down the Cathedral Quarter and decide you look professional. It fetches addresses. A homepage, a service, a location, a piece of proof — each of those is either a URL with its own title and copy, or it is decoration inside someone else’s layout.
A template is a shared skeleton. Thousands of businesses rent the same sections and the same “Home | Business Name” title pattern. You can change the colours. You have not changed the document. If electrician, emergency, and about are three tabs on one URL, you have one page. A competitor with three crawlable slugs has three.
I am not anti-Wix as a toy. I am anti treating a theme as a local SEO strategy. Wix, Squarespace, and a WordPress theme can all emit real URLs if you bother. Most Derby sites I am sent do not: a homepage, a contact form, and a gallery that never became a case study with an address.
Hashton Agency is a new studio in Nottinghamshire, run by me — Harry Ashton. I will not pretend I have a wall of Derby SME logos. What I do have is eleven-plus years of production engineering, live work you can open on proof, and the same crawl rules I apply to website design in Nottingham. Derby is in that service area. The test is the same.
What a template actually is
A template is not “cheap design”. It is a default information architecture. The vendor guessed a layout for a generic company. Your trade, your town, and the query a customer types from a van are not in that guess.
Typical failure modes, in the order I see them:
- One host fighting another. Preview domains,
wixsite.comleftovers, apex andwwwboth live, canonical pointing at the one nobody uses. Crawlers waste weeks. I covered host and canonical hygiene in the Nottingham post. - Services without slugs. “What we do” as a scrolling section. Plumbing, servicing, and commercial work share a URL. Google cannot cite a page that does not exist.
- Copy that could sit on any high street. “We are a friendly professional team passionate about excellence.” That sentence is not unique. It is not even local. It is wallpaper.
- JavaScript as the site. Content that only appears after a click, a slider, or a modal. You can see it. A crawler that fetched HTML got a shell. I have shipped that mistake. I have also had to undo it.
- Proof with no address. Reviews as screenshots. Projects as a lightbox. The work you are proud of has no
href. Search cannot quote it. Neither can a ChatGPT-style answer engine. - A Google Business Profile that tells a different story. Trading name, website URL, and category should match the site. Inventing a street or a phone to win the map pack is how you get copied into every directory as a lie. I will not do that.
None of that is fixed by buying a “SEO plugin” and stuffing “website design Derby” into a footer. The document has to be a document.
Uniqueness is not a colour palette
Derby businesses are not interchangeable. A fabricator in Pride Park, an accountant near the Cathedral Quarter, a clinic in Littleover — they do not share customers, language, or proof. A template forces them to share a page shape anyway.
Uniqueness, for search, means:
- A URL only you should own for that service in that place.
- Copy a competitor cannot paste without it being obviously yours — process, materials, who you work with, what you refuse.
- Internal links a parser can see. Footer and service pages should name related work with real anchors, not buttons that do nothing without JavaScript.
- Metadata that matches the tab. If the H1 is “Emergency boiler repair in Derby”, the title should not be “Home”.
That is the same rule as If it has no URL: if the thing you are proud of has no address, it does not exist in the index. A Wix homepage with a pretty parallax still fails that test if the services live in a carousel.

A page starts as a URL and a layout, not a theme. Photo: picjumbo.com / Pexels.
What a Derby business actually needs from a website
I will keep this boring on purpose. Boring is what ranks.
Pages with jobs. Homepage: who you help and what to do next. One URL per service you want to be found for. A location page that is not a keyword dump — Derby, and the towns you actually cover, written like a human. Proof as pages, not a modal grid. Contact that works with JavaScript off.
One honest host. Pick www or the apex. Make canonicals, sitemap, Open Graph, and schema agree. This site standardises on https://www.hashton.agency because that is where users already land. Mixed hosts are how you get duplicate-host noise for months.
Speed on a mid-range Android. Your customer is not on office fibre in a pitch meeting. They are in a van, on a phone, on the ring road. Core Web Vitals here are whether the page opens before they call the next result, not a Lighthouse screenshot.
Copy you can defend. Name the work. Name the place. Name the constraint. “We install X for Y around Derby and South Derbyshire” is a sentence. “Innovative solutions for all your needs” is a template leftover.
A profile that matches. Same trading name. Same website URL. Same phone once you publish one. Missing NAP is better than fake NAP. Citation sites will copy the lie forever.
A way to change it on a Tuesday. A brochure only the original freelancer can edit is a liability. I put marketing pages in the app and long articles in Postgres so a draft can sit unpublished, get a slug, and go live without a redesign. That is how this post ships: status draft until it should be public.
If you need the Nottingham-shaped version of that list, it is on website design Nottingham. The engineering is the same. The town in the copy is not.
A private-window test you can run tonight
Open your live URL in a private window. Disable JavaScript if you can.
- Can you still read the service you sell, the town you serve, and a way to contact you?
- View source. Search for
rel="canonical". Does it match the address bar after redirects? - Fetch
/sitemap.xml. Click three URLs. Do they 200? Do they look like the pages you thought you had? - Search the homepage HTML for Derby, or for the actual service name. If the only hit is a footer widget, you do not have a local page. You have a badge.
- Ask: if Google could only keep one URL from this site, would that URL be uniquely yours, or a theme with your logo?
If any of those fail, you do not have a website. You have a demo. I will run that list on a current URL if you email me or book a slot. You get the 404s, the host mismatches, and the pages that should exist and do not — without a pitch deck.
Custom is not a forty-page brochure
People hear “not a template” and imagine a twelve-week agency with mood boards. That is not the work I sell. Services are three lanes: a site that converts, an app if the business has outgrown forms, automation if admin is eating the week. Most Derby briefs are the first one.
Custom, here, means:
- The information architecture is yours. Service slugs match how customers search, not how a theme named the menu.
- The HTML is semantic. Headings, landmarks, and links a crawler can use.
- Performance is a build constraint, not a later invoice.
- You own the code. You are not renting a theme you cannot leave without starting again.
- I am the person writing it. No account manager, no junior after the pitch.
The stack on my side is Next.js, TypeScript, and Postgres when content needs drafts and slugs. I care about URLs, titles, and whether a page still works when the JavaScript fails.
Live examples are on proof — EO Charging, Thrive Learning, CodePrepped. Those are production systems, not East Midlands shopfronts. I will not dress them up as local case studies they are not. They are evidence I can ship software that holds up. Your Derby site still needs Derby copy.

A shopfront is unique on the street. The site behind it still needs its own URLs. Photo: Tom McCarten / Pexels.
What I will not do
I will not clone a Wix theme in Next.js and call it custom. If the IA is still one homepage and a contact form, the stack did not save you.
I will not buy a bag of Derby directory links. I will not stuff “best web designer Derby 2026” into a footer. I will not publish a fake phone number or a fake street so the map pack looks fuller. I will not write fifty words of “passionate about Derby” and call it a location page.
If you need a template launched this weekend, use the template. Be honest with yourself about what you bought: a presence, not a set of unique pages. When you are ready for the second thing, the work is structure, copy, and crawlable proof — not a new colour.
East Midlands, not a London pitch deck
I am based in Nottinghamshire. Service area is Derby, Nottingham, Hucknall, Mansfield, Newark, Leicester, and the rest of the East Midlands — plus remote when the work is software, not a shopfront photoshoot. You do not need a shopfront visit. You need someone who will open the current URL, say which pages are missing, and ship them.
If the brief is Nottingham-shaped, start on the Nottingham page or the local search notes. If the question is why a Wix site looks live and still is not you, start with the URL post, then send the domain.
Bring the current URL. I will tell you, in writing, whether you have unique pages or a template wearing a logo.