Title: Townsmith – Local Pages Engine
Author: thestephenevans
Published: <strong>June 19, 2026</strong>
Last modified: June 19, 2026

---

Search plugins

![](https://ps.w.org/townsmith-local-pages-engine/assets/banner-772x250.png?rev=
3578234)

![](https://ps.w.org/townsmith-local-pages-engine/assets/icon.svg?rev=3578234)

# Townsmith – Local Pages Engine

 By [thestephenevans](https://profiles.wordpress.org/thestephenevans/)

[Download](https://downloads.wordpress.org/plugin/townsmith-local-pages-engine.1.0.2.zip)

 * [Details](https://wordpress.org/plugins/townsmith-local-pages-engine/#description)
 * [Reviews](https://wordpress.org/plugins/townsmith-local-pages-engine/#reviews)
 * [Development](https://wordpress.org/plugins/townsmith-local-pages-engine/#developers)

 [Support](https://wordpress.org/support/plugin/townsmith-local-pages-engine/)

## Description

Local Pages Engine is for local service businesses and the agencies that build their
sites. Define your services and the areas you cover, design one page blueprint in
the block editor, and generate the matrix of landing pages as real WordPress pages—
each individually editable, never auto-published, and each held to a per-page Quality
Score before it goes live.

Unlike bulk page generators, Local Pages Engine is built quality-first: fewer pages,
enforced uniqueness, and publish gates designed to keep the pages it produces defensible
under Google’s scaled-content and doorway-page policies.

**What it does**

 * **Real pages, never virtual.** Generated pages are ordinary WordPress pages: 
   editable in the block editor, owned by you, and fully intact if the plugin is
   ever deactivated. Merge tokens are resolved at generation time, not at render
   time.
 * **One blueprint, deterministic variation.** Design a single template with merge
   tokens, copy variations that rotate deterministically per page, and a local content
   slot that starts empty on every page — because the genuinely local part is yours
   to write.
 * **A Quality Score with teeth.** Every generated page is scored 0–100: similarity
   against its sibling pages (5-word shingle comparison), local substance (filled
   slots, area descriptors, local imagery), and a thin-content floor. The pre-publish
   panel shows exactly what to fix and links to the spot, and warns before a below-
   threshold page publishes.
 * **Schema that cooperates.** One JSON-LD graph per page — LocalBusiness, Service
   with areaServed, breadcrumbs, FAQ. If Yoast SEO, Rank Math, All in One SEO or
   SEOPress is active, Local Pages Engine steps back and emits only the Service 
   piece, wired to the host plugin’s organisation — never a duplicate LocalBusiness.
 * **Hub-and-spoke linking that survives.** Each service gets a hub page; each area
   page carries an “Areas we cover” block and a breadcrumb back to its hub. The 
   links are baked into the saved markup, refreshed automatically as the area set
   changes, and keep working even with the plugin deactivated.
 * **Safe sync.** When the blueprint changes, a review screen shows exactly what
   would change on each page. Blocks you have edited are yours: sync never overwrites
   them, and a deleted block is never re-added. No silent background rewrites, ever.
 * **Resumable background generation.** Generation runs through a batched queue 
   built for cheap shared hosting — interrupt it anywhere and it resumes without
   duplicates.

Local Pages Engine runs entirely on your own site: no external services, no API 
calls, no AI generation, no telemetry. Your data never leaves your install.

**The Pro add-on**

This plugin is complete as it stands: unlimited generation across every service 
and area, the full Quality Score, deterministic variant rotation, the advisory publish
gate, schema, linking and sync. A separate Pro add-on, distributed from townsmithwp.
com, adds a reusable local-proof library for the area content slot, a portfolio 
duplicate radar, a pre-generation saturation planner, self-hosted conversion attribution,
bulk CSV import and export, scheduled drip publishing, portable blueprint kits, 
a multi-site command centre for agencies, a signed defensibility dossier, an enforceable
publish gate, bulk re-scoring and sync, geo-ordered related areas, noindex-below-
threshold, and slug updates that serve their own 301 redirects or report each move
to your redirect manager.

### Development

The human-readable source of the compiled files in `build/` ships in this plugin’s`
src/` directory, alongside `package.json` and `webpack.config.js`. To rebuild: `
npm install && npm run build` (uses @wordpress/scripts). Development happens in 
a private repository; the distributed zip always contains the complete, current 
source.

## Screenshots

[⌊The dashboard. A services × areas matrix with every page's status and Quality 
Score. Generate the whole set, or any single page, from one screen.⌉⌊The dashboard.
A services × areas matrix with every page's status and Quality Score. Generate the
whole set, or any single page, from one screen.⌉[

The dashboard. A services × areas matrix with every page’s status and Quality Score.
Generate the whole set, or any single page, from one screen.

[⌊One blueprint, designed in the block editor: merge tokens, deterministic copy 
variants, and a local content slot that starts empty for you to fill. Sibling-area
links are baked into the saved page.⌉⌊One blueprint, designed in the block editor:
merge tokens, deterministic copy variants, and a local content slot that starts 
empty for you to fill. Sibling-area links are baked into the saved page.⌉[

One blueprint, designed in the block editor: merge tokens, deterministic copy variants,
and a local content slot that starts empty for you to fill. Sibling-area links are
baked into the saved page.

[⌊The Quality screen. Every generated page scored 0–100 against its closest sibling,
with a plain-English list of what to fix before it publishes.⌉⌊The Quality screen.
Every generated page scored 0–100 against its closest sibling, with a plain-English
list of what to fix before it publishes.⌉[

The Quality screen. Every generated page scored 0–100 against its closest sibling,
with a plain-English list of what to fix before it publishes.

[⌊The setup wizard. Define your business, your services, and the areas you cover,
then pick a blueprint, in a few guided steps.⌉⌊The setup wizard. Define your business,
your services, and the areas you cover, then pick a blueprint, in a few guided steps
.⌉[

The setup wizard. Define your business, your services, and the areas you cover, 
then pick a blueprint, in a few guided steps.

[⌊The pre-publish Quality Score panel, right inside the block editor. Every page
is scored before it goes live, with the breakdown and a plain-English list of what
to fix.⌉⌊The pre-publish Quality Score panel, right inside the block editor. Every
page is scored before it goes live, with the breakdown and a plain-English list 
of what to fix.⌉[

The pre-publish Quality Score panel, right inside the block editor. Every page is
scored before it goes live, with the breakdown and a plain-English list of what 
to fix.

[⌊The blueprint sync review. Change the blueprint once and see exactly what would
update on each page. Blocks you have edited are kept, never overwritten.⌉⌊The blueprint
sync review. Change the blueprint once and see exactly what would update on each
page. Blocks you have edited are kept, never overwritten.⌉[

The blueprint sync review. Change the blueprint once and see exactly what would 
update on each page. Blocks you have edited are kept, never overwritten.

## Blocks

This plugin provides 4 blocks.

 *   Local Content Slot A named slot that starts empty on every generated page and
   is filled with genuinely local content, page by page.
 *   Content Variation Holds two to five alternative content sets; each generated
   page deterministically uses one of them.
 *   Related Areas Links to sibling area pages, baked in at generation so they keep
   working without the plugin.
 *   Variant One alternative content set inside a Content Variation block.

## FAQ

### Does this plugin send my data anywhere?

No. Everything runs on your own WordPress install. There are no external API calls,
no AI services, and no telemetry of any kind.

### What happens to generated pages if I deactivate or uninstall the plugin?

Nothing. Generated pages are real WordPress pages and remain fully intact, editable,
and rendering — including their internal links, which are baked into the saved markup.
Uninstalling removes the plugin’s settings and queue table only (and even that can
be kept with a setting).

### Will it conflict with my SEO plugin?

No. Yoast SEO, Rank Math, All in One SEO and SEOPress are detected at render time.
When one is active, Local Pages Engine suppresses its own meta description and emits
only the Service schema piece, referencing your SEO plugin’s organisation data.

### Can it overwrite content I’ve edited?

No. The moment you edit a generated block, that block is yours. The sync flow updates
only untouched blocks and shows you a per-page preview before anything is applied.

### Why did publishing my page get blocked?

Its Quality Score is below your threshold and the Pro add-on’s enforcement mode 
is switched on (this plugin only warns). The pre-publish checklist lists exactly
what to fix — usually filling the local content slot, writing an area descriptor,
or making the copy less similar to a sibling page.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Townsmith – Local Pages Engine” is open source software. The following people have
contributed to this plugin.

Contributors

 *   [ thestephenevans ](https://profiles.wordpress.org/thestephenevans/)

[Translate “Townsmith – Local Pages Engine” into your language.](https://translate.wordpress.org/projects/wp-plugins/townsmith-local-pages-engine)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/townsmith-local-pages-engine/),
check out the [SVN repository](https://plugins.svn.wordpress.org/townsmith-local-pages-engine/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/townsmith-local-pages-engine/)
by [RSS](https://plugins.trac.wordpress.org/log/townsmith-local-pages-engine/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.2

 * Added the plugin homepage and author links to the plugin header.

#### 1.0.1

 * Generation runs are now unlimited: every selected service and area is generated,
   and variation blocks rotate through all authored variants.
 * Hardened capability checks: page disposal and per-page sync and re-scoring now
   verify edit or delete rights on each affected page, not only a broad role capability.

#### 1.0.0

 * First public release: blueprint blocks and merge engine, resumable batched generation,
   the Quality Score with pre-publish panel and publish gate, schema output with
   SEO-plugin cooperation, hub-and-spoke linking with deactivation-safe markup, 
   blueprint sync with human-edit protection, and the admin app (wizard, dashboard,
   quality, settings).

## Meta

 *  Version **1.0.2**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.4 or higher **
 *  Tested up to **7.0**
 *  PHP version ** 8.0 or higher **
 * Tags
 * [internal linking](https://wordpress.org/plugins/tags/internal-linking/)[landing pages](https://wordpress.org/plugins/tags/landing-pages/)
   [local seo](https://wordpress.org/plugins/tags/local-seo/)[schema](https://wordpress.org/plugins/tags/schema/)
   [service areas](https://wordpress.org/plugins/tags/service-areas/)
 *  [Advanced View](https://wordpress.org/plugins/townsmith-local-pages-engine/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/townsmith-local-pages-engine/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/townsmith-local-pages-engine/reviews/)

## Contributors

 *   [ thestephenevans ](https://profiles.wordpress.org/thestephenevans/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/townsmith-local-pages-engine/)