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
Internal Content operations console Sheets → WordPress
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.
The run four passes, left to right
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.
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
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
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
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
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
Checks the geo columns for completeness and consistency — missing values, mismatched scales, numbers that drifted out of range on a re-fetch.
Read-only
Validates everything in the Text Content Extendable section, so an extendable block doesn't reach import half-filled.
Read-only
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
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
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
Compares sheet rows against the live pages on both WordPress sites and reports where the two have drifted apart.
Read-only
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
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
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
Key what the console leaves behind
The tools don't hand you a separate report to reconcile. They mark the sheet itself, in the language the team already reads.
ReadySheet ID in the sidebar, dry run on
Every write-mode tool previews first. Open the console, paste a sheet, and watch a run before it touches anything.