Fast. Secure.
Almost nothing to maintain.

"Static" is the technical word for a website that works like a printed brochure: the pages are made once, in advance, and handed over when someone visits, rather than put together on the spot each time. Nothing runs behind the scenes, so nothing needs updating, patching or waiting for. Built on Astro, a modern framework, and delivered by Cloudflare's worldwide network: sub-second loads anywhere on Earth, hosting from £25/month, and a site that'll still work in five years if nobody touches it.

// from £600, most around £800 · hosted on Managed Static from £25/mo

$ lighthouse https://willcocks.uk

performance 100

accessibility 100

this visit loaded in fast

// the pitch

Always on. Always fast.
Nothing to break.

Every promise below holds for a simple reason: the machinery that fails on ordinary websites isn't part of this one.

  • Always online

    Served from 300+ cities worldwide with nothing to crash: there's no server or database that can go down at 2am.

  • Always fast

    Pages arrive ready-made instead of being built while you wait, like a dish plated before you sit down. Nothing to process, nothing to queue for.

  • Always secure

    The things attackers target (admin logins, plugins, databases) physically aren't there. You can't pick a lock that doesn't exist.

  • Always up to date

    No software stack to go stale, no monthly patches, no plugin auto-updates breaking things overnight. Launch day is forever.

  • Every version kept

    The whole site lives in version control, which is better than a backup, because every change ever made can be rolled back in minutes.

  • Nothing to subscribe to

    No plugin licences quietly renewing every year. Hosting is the only running cost: £25/month, with an hour of changes a month included.

A WordPress site is a database, a PHP runtime, a theme, and dozens of plugins, every one of which is software that needs to be patched, every one of which is a possible attack vector, and every one of which is a thing that can break on the next auto-update. That architecture dates from 2003, and it shows. A static site is none of those things. It's a folder of files served from Cloudflare's edge. When the brief is "a fast, secure, professional brochure site", it's the simpler answer. It's also the serious one: Astro and Cloudflare are the stack Porsche, IKEA and The Guardian build on, and in 2026 Cloudflare acquired Astro, so the framework and the host became one company.

// why it works

The detail, for the technically curious.

// 01

Security

The most common WordPress attack vectors (SQL injection, plugin remote code execution, brute-forced wp-login, supply-chain compromise via auto-update) physically can't exist on a static site, because the moving parts they target aren't there. The site is a set of pre-rendered HTML, CSS and JavaScript files. There's no admin panel for an attacker to break into and no plugin vulnerability list to monitor.

// 02

Speed

Files are served from Cloudflare's global edge, over 300 cities worldwide, so visitors get sub-second loads no matter where they are. There's no database query, no PHP execution, no server warm-up. The page is already rendered before the request arrives, and Astro ships zero JavaScript by default, which is why the Core Web Vitals stay green without a 'speed plugin'.

// 03

Design freedom

Astro has no theme system in the WordPress sense. Every component is custom-built. The design can be exactly what the brief requires, not a pre-made template stretched to fit.

// 04

Privacy by default

The site itself sets no cookies and builds no profile of anyone. Cookieless stats give you accurate visitor counts with no banner at all; if you want the depth Google Analytics adds, it goes in behind a proper consent banner, with the cookie and privacy pages written to match. Your choice, and both are set up properly.

// the trade-off

Where a static site is the wrong answer.

Static sites aren't for everything. If self-managed content is non-negotiable, WordPress is the right answer instead; see the WordPress page.

  • No admin dashboard: content edits come through me, with up to an hour a month included in the hosting
  • Not the right fit for sites that need daily or self-managed content updates
  • Comments, user accounts and dynamic features need a different approach (or a small WordPress slice paired with the static front-end)
  • Forms, search and small dynamic features still work (they run on Cloudflare Workers), but anything large brings the WordPress trade-offs back in

// scale

Priced by the project, not the page.

On a static build, the expensive part is getting the design, structure and tone right. Once that exists, producing pages from it is fast, so I don't bill per page, and the right number of pages is however many the job needs.

That changes what's affordable. The searches that bring local customers are specific: the service and the town. A plumber in Ivybridge isn't found by "plumber". They're found by "boiler repair Ivybridge" and "emergency plumber Totnes". Answering those searches properly takes a dedicated, useful page for each service in each area, and on a per-page invoice nobody builds them.

  • service & area pages

    A page per service, per area you cover, each with its own copy, its own meta and structured data, all held to the same design. Twenty well-made pages targeting twenty real searches, not one "Areas we cover" list. This is what the Professional tier is for; an Essential build covers the homepage and a few key pages.

  • no thin pages

    Search engines penalise near-duplicate "doorway" pages, so each page is written to stand on its own: what you do there, who you've done it for, how to reach you. If an area doesn't justify a real page, it doesn't get one.

  • structure search engines read

    Semantic HTML, per-page titles and descriptions, LocalBusiness and Service structured data, a clean sitemap: the plumbing that makes every one of those pages eligible to rank, done on every page by default.

// in production

The same stack, from a village site to a 120M-reach media group.

radmedia.com, the corporate site of a youth media group, is a fully static Astro build on Cloudflare: 33 prerendered pages, 24 video case studies, no server anywhere. Its sister publications culted.com and itsxo.com run the same architecture with a CMS attached, for a group whose brands reach a combined 120 million people a month.

This site is a static Astro build too. So is every static site I deliver: same approach, same toolchain, same hosting.

// stack

What's under the hood.

None of it is proprietary and there's no lock-in. That's deliberate: any other Astro developer could pick the project up tomorrow.

// framework
Astro 7: content-first, static by default, no client-side JavaScript unless a feature needs it.
// hosting
Cloudflare Workers: global edge, free tier covers most small sites, managed hosting from £25/month with everything included.
// styling
Tailwind CSS v4: utility-first, no custom theme to maintain, no CSS bloat.
// content
Markdown files in version control. No database, no admin login. Content lives next to the code.
// forms
Cloudflare Workers handle contact-form submissions, search and small backend needs without bringing back a full CMS.
// deploy
Continuous deployment from a Git branch. Every change is a commit; every commit is a versioned release you can roll back.

// pricing

From £600. Most come in around £800.

Priced by the project, never by the page. Static comes in levels: a focused Essential build for most small businesses, a larger Professional one, and fully custom platforms at Bespoke.

Essentialfrom £600
Where most small businesses land: a fast, great-looking site. Most come in around £800; a fuller build with a page for every service runs around £1,200.
Professionalfrom £2,500
Larger builds: bespoke design, integrations (booking, forms, payments), richer interactivity, analytics set up from day one.
Bespokefrom £7,500
Membership platforms, booking engines, custom advertising; see custom development.

Hosting is £25/month on Managed Static, with domain renewal and up to an hour of changes every month included; see hosting. Can't fund it up front? The cost can be spread over a year: a 25% deposit, the rest monthly with hosting included, no interest.

  • included in the build

    Custom design with no theme constraints, mobile-responsive, Lighthouse 90+ on launch, accessible to WCAG 2.2 AA, semantic HTML, on-page SEO and structured data, deployed to your domain with SSL configured.

  • also included

    A private preview link to watch while we build, guidance on writing your content, image optimisation, smooth app-like transitions between pages, and a clean handover.

  • after launch

    Up to an hour of changes a month comes with the hosting: new prices, photos, opening hours, wording. New pages and redesigns are quoted before I start, and anything past the hour is £55 an hour in 30-minute increments. No retainer required.

// next step

See your site before you pay for it.

A free chat, then a working first draft within days, also free. Like it and we agree a fixed price. Don't, and you owe nothing.