District Ops / content-pipeline / v14
1

Internal Content operations console Sheets → WordPress

Fourteen tools that turn one spreadsheet row into a published page.

Type a city into column A. District fills the geo data, writes the copy, checks it against every compliance rule you can't afford to break, and hands you a sheet that's clean enough to import. Nothing ships until it passes.

8
Row 8 — one location, start to finish
A · locationCosta Mesa, CA
near_inin
population111,918
overdose_deaths38
treatment_centers47
AK · h1Alcohol Rehab in Costa Mesa
compliance9.4 / 10
wordpresspublished
9
14Tools in the console
8Content types handled
4Geo modes — in / near / drive / fly
2WordPress sites synced
12

The run four passes, left to right

Every tool owns a column

The console is ordered the way a sheet actually moves: build the row, enrich it with data, verify it, then ship it and keep it honest. Each tool names the columns it reads and writes — so you always know what a run will touch.

14
Pass 1Build the row Copy and creative, generated per location from template rows.
AZ → end · all ACF columns

Content Generator

Writes geo-targeted content for every location row from your template rows and per-column instructions. Handles all eight content types. Dry run first — it shows you exactly what it would write.

Writes to sheet · live mode

AF · AK · BC

SEO Headings

A fast standalone pass for the three heading columns only: rank_math_title, h1, and h2___head. Runs across every geo row, white and grey alike, without touching the body copy.

Writes to sheet

our_locations___image

Infographic Generator

Builds a stats PNG for each geo row — population, overdose deaths, treatment centers, alcohol use disorder — uploads it to the WordPress media library and drops the URL back in the row. Skips national and template rows.

Writes to sheet · uploads to WP

22
Pass 2Enrich with data Real numbers for each place, pinned to the location type in column A.
Geo Data section

Geo Data Fetcher

Pulls overdose, population, treatment facility and alcoholism figures for every location in the sheet. City rows get city numbers, county rows get county numbers — the scale follows column A, not the metro area.

Writes to sheet · opt-in columns

26
Pass 3Verify before it leaves Six checks. Compliance is the one that matters most — this is recovery content.
White cells · scored 0–10

Content Checker

Scans generated copy for compliance violations and quality issues, bolds the offending phrase in the cell and leaves a comment with a suggested fix. Medical claims and success-rate language are errors, not warnings.

Marks up sheet · errors −2.0

Geo Data section

Geo Data QA

Checks the geo columns for completeness and consistency — missing values, mismatched scales, numbers that drifted out of range on a re-fetch.

Read-only

Text Content Extendable

Text Content QA

Validates everything in the Text Content Extendable section, so an extendable block doesn't reach import half-filled.

Read-only

unique_topic_geo_1 · _2

Geo Field Validator

Confirms every [acf field=…] token in the unique-topic columns has a matching column in that sheet's Geo Data section. A token naming a column that isn't there renders as a blank section on the live page.

Read-only

Working sheet vs original

Sheet Comparison

Diffs the copied working sheet against the main sheet to surface template changes someone made downstream — before those changes quietly ship to every location.

Read-only

Whole sheet

Pre-Import Checker

The gate. Runs every check at once and tells you whether the sheet is complete enough to hand to HWA for import. If this one is clean, nothing downstream should surprise you.

Read-only · final gate

38
Pass 4Ship and maintain What you reach for after the pages are live and something needs to change everywhere.
Sheet ↔ live WordPress

WP Sync & Conflict Check

Compares sheet rows against the live pages on both WordPress sites and reports where the two have drifted apart.

Read-only

G → end

Phrase Flagger

Search any word or phrase across every column from G onward. Matching cells get a thick red border in the sheet, so the team can see the problem where they already work.

Marks up sheet · red borders

Drive folder · selected tabs

Folder Phrase Flagger

The same search, run in parallel across every sheet in a Google Drive folder. For when a phrase has to be found in forty sheets, not one.

Marks up sheets

FI · FL · OP by default

Bulk Find & Replace

Exact-text replace across many sheets and every worksheet tab in them. Values-only writes, so colors, borders and notes survive. Clear the column box to scan the whole sheet instead.

Writes to sheets · preserves formatting

44

Key what the console leaves behind

Reading a sheet after a run

The tools don't hand you a separate report to reconcile. They mark the sheet itself, in the language the team already reads.

White cellContent the generator owns. The checker scores these.
Grey cellLocked or inherited. Headings still process; body copy doesn't.
Bolded phraseA compliance violation, with a comment on the cell explaining the fix.
Red borderFlagged by a phrase search. Every match, every column from G on.
52

ReadySheet ID in the sidebar, dry run on

Start with a dry run.
Ship when it's clean.

Every write-mode tool previews first. Open the console, paste a sheet, and watch a run before it touches anything.

District AI Content Tools/ Internal use only