Free on WordPress.orgPro from £49

Local pages that
earn their place.

Define your services and your towns once. Townsmith builds the full matrix of real, editable WordPress pages, scores every one out of 100, and holds it back until it clears the gate. No spun text, no AI-written pages, no doorway pages.

GPL licensed Runs on your own server No telemetry, ever
Home → Boiler repair → Uckfield
Boiler repair in Uckfield
46
Quality
Local detail · this page only
We service Worcester and Vaillant boilers across the TN22 area, with same-week call-outs from our Bell Lane workshop and parts held for the Ringles Cross estates.
Publish gateCleared
This run24 real pages
01
No AI writes your pagesPages are built from your blueprint and your real local detail, never spun or auto-generated. The optional Pro assistant only rewords text you wrote yourself.
02
Runs on your serverPure PHP. No external service renders or scores a single page.
03
Nothing phones home, everNo telemetry, no API keys to manage, no CDN. The engine works the same offline as online.
04
Real editable pagesEvery page is a genuine WordPress post you can open and rewrite by hand.
05
100% GPLNo bundled paid code in the free core. Your pages keep working if a licence lapses.
06
Built against doorway penaltiesThe score and the gate exist to keep thin, templated pages off your site.

From a blueprint to pages that hold up.

Four moves take you from an empty matrix to published pages a human would be glad to land on. Scroll to watch each one happen.

01 Draft

One blueprint becomes a matrix

Pick your services and your service areas. Townsmith fills the grid cell by cell, drafting one real page for every service-and-town pair from a single design.

02 Score

Every page gets scored

A pure-PHP scorer reads the rendered text and rates each page 0 to 100: sibling similarity, local substance, and a thin-content floor. Watch one climb from 46 to 82.

03 Hold

The gate stays shut until it is earned

Below the threshold, publishing is held. Add the one detail that only applies to this town and the gate flips from held to cleared. Nothing thin slips through.

04 Cover

Your coverage map fills in

Each cleared page is a real town you genuinely cover, hub-linked and schema-marked. Your service area lights up one defensible page at a time.

Generation matrix drafting…
Service ↓ / Area → LewesUckfieldRingmerNewick
0 of 12 pages drafted
46
Quality Score
Local detail slot filled (+18)
Sibling similarity reduced (+12)
Above thin-content floor (+6)
Held · 54 / 60
Add a local detail for Ringmer
The gate is holding this page back. Add the detail to clear it.
0 of 12 towns live and linked

Three things decide whether a page is good enough.

The Quality Score is not a black box. It adds up to 100 from three measurable parts, and the breakdown always tells you exactly what to fix and where.

Sibling similarity

Compares 5-word shingles against sibling pages. Too alike and the points fall away.

45

Local substance

The local slot filled, an area descriptor, and a genuine local signal like a map or an FAQ.

35

Thin-content floor

Enough genuine words, one clean H1, and a meta description set.

20
0/100

The default threshold is 60, adjustable in settings and filterable in code. Below it, the page is held back with a list of what to fix.

A quality-first engine, not a page cannon.

Each feature exists to make a page more defensible, not just more numerous. The free core does the real work; Pro adds enforcement and scale.

Real WordPress pages, not virtual ones

Every page is a genuine post you can open in the block editor and rewrite by hand. They survive deactivation intact, because the content is baked in, never rendered on the fly.

Editable
82

A 0 to 100 Quality Score

Computed in pure PHP on save, with a plain-English fix list.

Deterministic variation

Siblings never read identically. Variation blocks rotate from a seed of the service and area, so the same page regenerates the same way, every time.

The trust slot

A required local slot on every page

Each page starts with an empty, named slot asking for something true about that town. It weighs heavily in the score and stays empty until a human fills it, so no two pages can fake their way to local.

Add something specific about Newick
Our nearest engineer is based two streets from the Green, so call-outs to the Newick conservation area rarely wait past the same afternoon.

Your server, only

No API calls, no telemetry, no CDN. Your client data never leaves the install.

Schema that behaves

Service and area-served JSON-LD, plus breadcrumbs. Detects Yoast, Rank Math, AIOSEO and SEOPress and steps aside rather than doubling up.

Sync that never overwrites your edits

Change the blueprint and managed blocks update across pages, while any block a human has touched is left exactly as it was. You get a per-page diff before anything moves.

A portfolio Safety Check

One screen reads every managed page and gives a plain doorway-risk verdict for the whole site, not a page at a time. It surfaces the pages that read too alike before a search engine does.

Twin Finder

Open any page and the editor highlights the exact sentences it shares with its closest sibling, so you know which lines to make local instead of guessing.

Pro

Enforce the gate across the whole site

Pro turns the advisory gate into a hard one, adds bulk generation and re-scoring, scheduled publishing, and related links ordered by real geographic distance.

The opposite of a bulk page generator.

Bulk tools grew out of content spinning and reward you for volume. Townsmith rewards you for pages a real customer would be glad to read.

Bulk generators
Spun or token-swapped text that reads the same across every town
Virtual pages that vanish the moment the plugin is gone
Thousands of thin pages with nothing to stop a doorway penalty
No measure of whether any single page is actually good
Often phone home or depend on an external service to render
Townsmith Local Pages Engine
Deterministic variation plus a similarity check, so siblings genuinely differ
Real WordPress pages that stay editable and survive deactivation
A publish gate that holds thin pages back instead of shipping them
A score out of 100 on every page, with a clear fix list
Zero external calls, so it works the same offline as online

The score and the gate are free. Pro enforces them at scale.

The free core scores and gates real pages on a single site. Pro turns the advisory gate into a hard one, then adds bulk operations and geo-ordered links for the agencies running many.

Free core
£0on WordPress.org
Everything you need to build quality-checked local pages on one site.
Real, editable service-area pages
Full Quality Score with the fix list
Portfolio Safety Check and Twin Finder
Advisory publish gate
Service and area-served schema
Hub-and-spoke internal links
Per-page manual sync with diff
Download from WordPress.org
Pro For agencies
£49per year
Everything in free, plus enforcement and scale for many sites.
Enforceable publish gate across the site
Bulk generation and bulk re-scoring
Bulk sync with full diff review
Scheduled publishing of cleared pages
Related links ordered by geographic distance
Noindex pages below the threshold
Optional AI assistant to reword your own text
Get Pro for £49 a year

Pro is a yearly licence for updates and support. The plugin is GPL, and your pages keep working whether or not the licence renews.

Build local pages you would be happy to stake your name on.

Design one blueprint. The gate holds back anything thin until a human makes it local.

GPL licensed · Pro from £49 a year · No telemetry, ever