Web design and development
Websites built by people who have to make them rank afterwards.
Most sites are designed first and handed to an SEO later, once the structure is already set and every useful change has become expensive. We build the site and do the technical SEO, so those decisions get made while they are still cheap.
The difference
Design decisions are SEO decisions.
Not a slogan. These are the specific choices that get made during a build and are painful to reverse afterwards.
URL structure
Decided in week one, expensive to change in year two because by then every change needs a redirect and every redirect leaks a little equity. Getting this right at the start costs nothing.
Template hierarchy
Which templates exist, what each one outputs, and whether an archive can ever rank. Retrofitting a template that was never meant to be a landing page is most of the work in a typical SEO project.
Internal linking
Built into the templates deliberately rather than bolted on later as a 25 link block in the footer. We cut exactly that block down to five chosen links on one site, which is work that should never have been needed.
Rendering
Whether your content exists for a crawler that does not wait around. We server render by default, including interactive features. A geolocation search tool we built stays fully crawlable for that reason.
Schema
An entity graph designed once, properly, with @id relationships that resolve instead of colliding. Cheaper than untangling a graph that three plugins have been fighting over for four years.
Performance
A custom theme outputs the markup the page needs and nothing else. That is why it is fast, rather than being fast because six optimisation plugins are holding it together.
What gets built
What a build actually includes.
Always
- A custom theme, written rather than assembled from a page builder
- Responsive and mobile first, tested on real viewport sizes
- Custom post types, taxonomies and templates where the content needs them
- Accessible markup, proper labelling, ARIA roles and keyboard behaviour
- Structured data designed as one coherent graph
- Image pipeline with modern formats and correct sizing
- Caching set up, and more importantly set up to invalidate correctly
- A written handover, so you are never stuck with us
Where it varies
- Visual design. We can design the pages, work to your designer's files, or build around brand assets you already have
- Copy. We write SEO copy that reads human, or we build around yours
- Bespoke tools. Comparison tools, search features and calculators are built from scratch when a plugin will not do it properly
- Ecommerce. WooCommerce yes, Shopify to a point, and we will say if another developer suits it better
- Migrations. If there is an existing site, the redirect map and parity checks are their own piece of work
Recently built
A selection, measured on the live sites.
Part of the portfolio rather than all of it, and every figure below was taken from the running site rather than a case study written afterwards. Two are linked so you can check them yourself. The rest are in sectors where clients prefer not to be listed publicly, so those are described without naming them and we will introduce you on request. Several are recent, and a new site takes months to rank, so treat this as proof of how they are built rather than of what they have earned yet.
Flagship, DR 88
The site we own end to end
Nine hundred and eighty images on the landing view, every one carrying alt text, and it still paints in 260ms with not a single third party request on the page. This is where the case studies on this site come from: the brute force mitigation, the four root causes behind one cache failure and the bespoke tools were all built here.
- Images on view
- 980
- With alt text
- 980 of 980
- First paint
- 260ms
- Domain rating
- 88
Named on request
Editorial guide site
Lamplit London
Considered guides to London after dark. A saved list feature, a full guide taxonomy, and sponsored link compliance handled properly with rel="sponsored".
- First paint
- 636ms
- Requests
- 15
- Images with alt text
- 40 of 40
lamplitlondon.com →
Content site at scale
London Guide UK
An independent London publication running 309 guides across 386 venues and 72 neighbourhoods, with the taxonomy and internal linking built to carry that many pages without going thin.
- First paint
- 784ms
- Guides live
- 309
- Neighbourhoods
- 72
londonguideuk.co.uk →
Listings directory
A large lifestyle listings directory
Sixty seven listing images on the landing view alone, every one lazy loaded and carrying alt text, plus a CollectionPage and BreadcrumbList graph and canonicals that resolve correctly across the filtered listing views.
- Images lazy loaded
- 67 of 67
- Images with alt text
- 67 of 67
- First paint
- 1.4s
Named on request
Community platform
A community and listings platform
Served from cache at the edge, which is why the server answers in single digit milliseconds and the whole page moves a fraction of the weight most directories ship. Every image carries alt text.
- Time to first byte
- 11ms
- Page transfer
- 214KB
- Images with alt text
- 35 of 35
Named on request
Image heavy gallery
A gallery carrying a hundred images
The gallery view is the hardest page on any listings site, because the honest
version means shipping a hundred images at once. Most sites either paginate it into
uselessness or let it take five seconds to settle. This one carries
102 images and still paints in 656ms, with
ItemList schema so Google reads it as a collection rather than a wall
of unlabelled pictures.
- Images on view
- 102
- Responsive variants
- 99 of 102
- First paint
- 656ms
- Page transfer
- 615KB
Named on request
Custom build, no CMS
An agency site built without WordPress
The only one here that is not WordPress. Assets are split across dedicated CDN and media subdomains rather than served from the application, so images and the site itself scale independently and neither slows the other down.
- Images with alt text
- 25 of 25
- First paint
- 1.0s
- Asset domains
- Split CDN
Named on request
Image heavy, no CMS
Two hundred images, half a second
Another custom build with no CMS behind it. Two hundred and forty four images on the landing view, every one carrying alt text and all but three lazy loaded, and it still reaches first paint in under half a second.
- Images on view
- 244
- With alt text
- 244 of 244
- Lazy loaded
- 241 of 244
- First paint
- 496ms
Named on request
Most recent build
The newest one, and the cleanest set of numbers so far
A custom build with no CMS, finished most recently, and it is the best example of what the image pipeline should look like. Fifty three of its sixty two images are served as AVIF or WebP rather than JPEG, every one carries alt text, and the server answers in 53 milliseconds. First paint lands at 308ms.
The structured data is a single consolidated graph of six nodes rather than the pile of competing blocks most sites end up with. That is the same consolidation described in the schema case study, applied from the start instead of retrofitted.
- First paint
- 308ms
- Time to first byte
- 53ms
- Modern formats
- 53 of 62
- With alt text
- 62 of 62
Named on request
Evidence
What we have built inside those sites.
The bespoke parts, rather than the homepages. Our documented work is build and technical, not brand identity.
Bespoke tool
A location search that maintains itself
Built from scratch for a term with 33k searches a month. Geolocation API, distance sorting, radius filtering and reverse geocoded labels. The geocoding layer falls back from a static map to a cached lookup to a one off external call, so new locations work with no code change at all. Server rendered, so it is fully crawlable.
Bespoke tool
A three way comparison feature
Real relationship data derived from post meta and made bidirectional, with SVG connector graphics, location aware combined pricing, localStorage persistence and undo and redo. DOM safe rendering throughout, which matters when you are injecting user selected content.
Theme
A custom Sage theme, owned end to end
Full technical ownership of a DR 88 site. Custom theme, the caching architecture, structured data, edge security and the SEO. Around 151 hours logged and documented, so the next developer can pick it up.
Infrastructure
Caching that clears when it should
Most builds treat caching as a plugin you switch on. On one site content was up to a day stale, from four separate causes at once. Building the invalidation properly at the start is why we treat it as part of the build rather than an afterthought.
How a build runs
Four stages, and you approve the scope first.
What it needs to do
Before anything visual. What the site is for, who has to use it, what has to rank, and what the content actually is. Most bad builds are bad because this part got skipped.
Free first callStructure
URL structure, templates, post types and the internal linking plan. This is the part that decides whether the site can rank, and it happens before a single pixel is placed.
Agreed in writingBuild
Custom theme, templates, any bespoke features, schema, caching and the image pipeline. On staging, with indexing blocked, which sounds obvious and is skipped constantly.
Logged as it is spentLaunch and hand over
Redirects if there was an old site, a parity check, then monitoring for the first weeks. Plus written documentation of how it all works, so you are not dependent on us.
Rollback path readyCost
What it costs.
Development runs at £90 to £100 an hour, or £95 blended where the build and the SEO are genuinely the same work. Projects are quoted as a fixed scope after we have seen what you need.
Small site
Quoted
A handful of pages on a clean custom theme. If a good template would genuinely do the job we will tell you, because paying developer rates for that is a waste.
Custom build
Scoped
Custom post types, bespoke templates, real content architecture, schema and caching. The common case, and where having the build and the SEO on one team pays for itself.
Build plus tooling
Scoped
Where the site needs something no plugin does properly. A search feature, a comparison tool, a calculator. Built from scratch, server rendered and crawlable.
Fixed scope and cost agreed in writing before work starts, so the number does not move once it is underway. Time is logged as it is spent and the ledger is open to you. Full breakdown on the rates page.
FAQ
Questions before you enquire
Are you designers or developers?
Developers, and it is worth being straight about that before you enquire. We build custom themes from scratch, write the PHP and CSS, and we care a great deal about typography, spacing, accessibility and how a page behaves on a slow phone. What we do not do is brand identity, logo work or a visual concept phase with mood boards.
In practice that means one of three things. You bring a designer and we build what they draw. You bring existing brand assets and we design the pages around them. Or you want something clean, fast and structural rather than art directed, which is most business sites, and we do that directly.
If what you actually want is a striking brand led visual identity, hire a designer for that part. We will happily build it afterwards.
Do you use page builders like Elementor or Divi?
Not by choice. They are fine for getting something live quickly, and if you already have one we will work with it rather than insisting on a rebuild. But they add a lot of weight, they generate markup you do not control, and they make Core Web Vitals harder than it needs to be.
Given the choice we build a custom theme. You get markup that is exactly what the page needs and nothing else, which is why the sites we build tend to be fast without a stack of optimisation plugins holding them together.
How much does a website cost?
It is quoted per project after we have seen what you need, because the honest range is too wide to be useful. A handful of pages on a clean custom theme is a very different job from a site with custom post types, a bespoke tool and a migration.
The underlying rate is £90 to £100 an hour for development, or £95 blended when the work mixes build and SEO. We give you a fixed scope and cost in writing before anything starts, so the number does not move once work begins. Full detail on the rates page.
Will the site be built so it can rank?
Yes, and this is the main reason to have one team do both. Most sites are designed first and handed to an SEO afterwards, at which point the structure is already fixed and the advice becomes a list of things that are expensive to change.
Building it ourselves means the URL structure, template hierarchy, internal linking, heading structure and schema are decided while they are still cheap to decide. That is not an upsell, it is just the order the work should happen in.
Do you do ongoing support after launch?
Yes, and we would rather you took it than not, because a site nobody maintains slowly falls apart. Tested updates, security, monitoring and small changes. Detail on the maintenance page.
It is not compulsory. Everything we build is documented, so another developer can pick it up without needing us.
When should I not hire you for this?
If you need a five page brochure site as cheaply as possible, a template and a competent generalist will serve you better and cost a lot less. Paying developer rates for something a theme already does is a poor use of money.
If you need it in a fortnight and it is complicated, we are probably not free at that notice, and rushing a build is how you end up paying for it twice.
Keep reading
Related
Book me
Tell us what the site needs to do.
Not what it should look like, that comes later. What it is for, who uses it and what has to rank. That is enough for us to tell you roughly what it takes.