Skip to content

Instantly share code, notes, and snippets.

@joshmoto
Last active March 13, 2026 10:57
Show Gist options
  • Select an option

  • Save joshmoto/1ac1d35eb72c9333e8ffe8697c83cf30 to your computer and use it in GitHub Desktop.

Select an option

Save joshmoto/1ac1d35eb72c9333e8ffe8697c83cf30 to your computer and use it in GitHub Desktop.
Initial sitemap and architecture for a WordPress-based campaign platform for local action groups. Includes campaign structure, post model, map integration, user roles and URL strategy.

Action Group Platform – Initial Sitemap & Architecture

This document outlines the initial structure for a campaign website platform designed to organise information, research, mapping data and updates relating to local planning campaigns.

The platform will be built on WordPress and designed to support multiple campaigns and action groups while keeping the first version simple and easy to manage.

The system will function both as a public website and a mobile-friendly web application, ensuring that campaign information is easy to access on phones, tablets and desktop computers. The interface will be designed to work especially well on smartphones so that residents, volunteers and researchers can quickly access maps, posts, documents and updates while on the move.

The platform will be:

  • Publicly accessible on the web so anyone can view campaign information
  • Optimised for mobile devices so residents can easily use it on smartphones
  • Structured for clarity so information can be quickly understood
  • Collaboratively managed by action group members
  • Designed for rapid information sharing across the community

The goal is to create a clear and reliable public information hub where evidence, updates and research relating to local development proposals can be organised in one place and easily accessed by residents, volunteers, journalists and decision-makers.


1. Core Concept

The website acts as a central information hub for community-led planning campaigns.

The platform allows:

  • Campaign information to be published in a structured way
  • Evidence and research to be stored within posts
  • Interactive map features to visualise spatial information
  • Action groups to collaborate on updates and research
  • The public to follow updates and stay informed

WordPress will be used as the core system with the following principles:

  • Campaigns are a Custom Post Type
  • Posts are used as the campaign feed and evidence system
  • Posts can contain documents, images and map data
  • Campaign pages act as the central public hub for each campaign

Example campaign URL:

/wing-new-town/


2. Top-Level Site Structure

The platform contains a small set of global pages.

Global Pages

/
Home

/map/
Interactive map showing spatial data across campaigns

/sign-up/
Email signup for updates

/contact/
General contact form with campaign selection


3. Campaign Structure

Each campaign exists directly at the root level.

Example campaign URLs:

/wing-new-town/
/another-campaign/

This is achieved by using a Campaign Custom Post Type with URL rewriting so the campaign slug sits at the root of the site.

Each campaign acts as its own mini information hub.


4. Campaign Page Layout

Example campaign page:

/wing-new-town/

This page is the central landing page for the campaign and contains all key information.

Campaign Header

  • Campaign title
  • Short description
  • Campaign status indicator (RAG status)
  • Location summary

Example:

Wing New Town Proposal
Proposed settlement expansion north-west of Wing.

Status: RED – Active objection campaign


Campaign Overview

Short summary explaining:

  • what the proposal is
  • where the site is located
  • why the campaign exists
  • what the current situation is

Latest Updates

Feed of latest WordPress posts related to the campaign.

These posts contain:

  • research findings
  • meeting summaries
  • evidence
  • consultation updates
  • campaign announcements

Displayed in chronological order.


Interactive Map

Embedded campaign map displaying spatial information collected within posts.

Map features can include:

  • site boundaries
  • markers for key locations
  • lines showing roads or routes
  • polygons showing affected areas

Map items link directly to posts containing further information.


Key Issues Summary

High-level summary of major issues relating to the campaign.

Example categories:

  • Planning policy conflicts
  • Traffic and transport
  • Schools and education
  • Healthcare capacity
  • Heritage and archaeology
  • Ecology and wildlife
  • Flooding and drainage
  • Infrastructure capacity

Each issue links to posts discussing the topic.


Timeline / Milestones

Chronological summary of key campaign moments.

Examples:

  • Consultation opened
  • Public meeting held
  • Evidence report published
  • Council planning decision scheduled

Subscribe for Updates

Call-to-action allowing users to join the mailing list.

Fields:

  • Name
  • Email
  • Optional postcode

5. WordPress Posts (Campaign Feed)

Standard WordPress posts are used for the campaign feed.

Posts represent individual pieces of information such as:

  • research findings
  • meeting notes
  • evidence summaries
  • campaign updates
  • consultation notices
  • media coverage

Example post URL structures:

Option A (simple)

/post-title/

Option B (recommended for future scaling)

/wing-new-town/post-title/

Option B is recommended to prevent slug conflicts if multiple campaigns exist.


6. Post Content Structure

Each post should follow a consistent structure to keep information clear.

Basic Fields

  • Title
  • Intro summary
  • Main content body
  • Linked campaign
  • Category
  • Tags
  • Featured image

Additional Content Elements

Posts may also include:

  • image galleries
  • downloadable documents
  • embedded maps
  • supporting references

Optional Structured Sections

To improve clarity, posts may include structured sections such as:

Summary
Why this matters
Evidence
Next steps


7. Post Categories (Issue Areas)

Posts will be organised using categories representing issue areas.

Suggested categories:

  • Planning Policy
  • Traffic and Transport
  • Schools and Education
  • Healthcare and GP Capacity
  • Heritage and Archaeology
  • Landscape and Visual Impact
  • Ecology and Wildlife
  • Flooding and Drainage
  • Infrastructure and Utilities
  • Housing Numbers and Density
  • Consultation Process
  • Community Updates
  • Meeting Notes
  • Media Coverage
  • Campaign Activity

8. Tags (Specific Topics)

Tags allow more granular categorisation.

Examples:

  • GP surgery
  • Cublington Road
  • Stewkley Road
  • Burcott
  • Public footpaths
  • School places
  • Sewage infrastructure
  • Traffic counts
  • Listed buildings
  • Consultation deadline

9. Map Data Within Posts

Posts can include spatial data that appears on the campaign map.

Map data will be stored using structured fields (e.g. ACF).

Supported map elements:

  • Single marker
  • Multiple markers
  • Polyline
  • Polygon
  • Map notes
  • Location name
  • Layer type

Example use cases:

  • Marking a heritage site
  • Highlighting a flood-risk zone
  • Showing traffic congestion points
  • Mapping proposed development areas

Map logic:

Post contains map data
→ Map data appears on campaign map
→ Clicking map feature opens the post


10. Map Page

/map/

This page provides a wider view of all map data.

Possible features:

  • explore map visually
  • filter by campaign
  • filter by issue type

Clicking a map element opens the related post.


11. Sign Up Page

/sign-up/

Allows users to subscribe for campaign updates.

Suggested fields:

  • Name
  • Email
  • Optional postcode
  • Campaign selection

Users will receive notifications when new posts are published.


12. Contact Page

/contact/

General contact form allowing the public to submit information.

Fields:

  • Name
  • Email
  • Campaign selection
  • Message
  • Optional file upload

Use cases:

  • submitting evidence
  • asking questions
  • offering help

13. User Roles

The platform will support collaborative editing.

Standard WordPress roles:

  • Administrator
  • Editor
  • Contributor
  • Subscriber

Additional roles may include:

  • Action Group Manager
  • Campaign Editor
  • Research Contributor

14. User Permission Logic

Users are associated with an Action Group.

Each Action Group is linked to one or more campaigns.

Permissions:

  • Users can only edit posts for their campaign
  • Editors manage campaign content
  • Contributors can submit posts
  • Subscribers receive updates
  • Public users can view published content

15. URL Structure

Global Pages

/
/map/
/sign-up/
/contact/

Campaign Pages

/wing-new-town/
/another-campaign/

Posts

Option A

/post-name/

Option B

/wing-new-town/post-name/


16. Summary

The platform consists of:

  • A small set of global pages
  • Root-level campaign pages
  • WordPress posts acting as the campaign feed
  • Map-enabled posts providing spatial context
  • Collaborative editing by action groups
  • Email updates for supporters

Each campaign page becomes a clear public hub combining:

  • updates
  • evidence
  • mapping
  • key issues
  • timeline information

This structure keeps the first version simple while allowing the platform to expand to support additional campaigns and villages in the future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment