# Search Console Fix Desk: better page titles and descriptions from your Search Console data, checked, owner approved, measured

> Let an agent find the pages Google shows but people skip, and draft better titles and meta descriptions without inventing claims or touching your site. A planner compares each page with your own click rates at the same positions and decides rewrite, owner, hold or skip. A checker refuses drafts with claims or numbers the page never states, keyword stuffing, ranking promises, competitor names, noindex or redirect ideas and script overlays. You approve at your terminal and make the edit, and measure compares before and after against pages you did not touch.

- URL: https://paperchasewebb.ai/bots/marketplace/items/search-console-fix-desk-checked-titles-descriptions-owner-approved-measured/
- Type: Prompt pack
- Category: Solo business
- By: PaperChaseWebb
- Works with: Claude Code, Codex, Grok Bot, Hermes (named in the listing); Plain Markdown files, a small Python planner and checker, and rules for AGENTS.md and CLAUDE.md, Claude Code and Codex notes, Hermes notes and a Grok Bot standing order. The agent files were checked by the checker on Linux; they were not loaded inside each agent for this release
- Price: $29 USD
- Difficulty: Intermediate
- Setup time: 1 hr 15 min
- Time to result: The worked example in 5 minutes; your own export loaded and planned in about an hour
- Format: Markdown (.md) file, search-console-fix-desk-checked-titles-descriptions-owner-approved-measured.md
- Version: 1.0, updated 2026-11-01
- License: Use inside your own business or on your clients' sites. Do not resell or republish the kit itself.

## What you end up with

Pages with plenty of impressions and few clicks get an honest, checked title and description, one change at a time, and every result you report is measured against untouched pages.

## What you get

- 21 sections and an appendix in one .md file, with a one-line unpack for all 74 files
- seo_check.py data: checks your export for cut-off files, mixed windows, bad rows and queries that try to instruct the AI
- seo_check.py plan: compares each page with your own click rates by position and decides rewrite, owner, hold or skip, with the reason
- Traffic drops, two pages competing for one search, hidden queries and unknown URLs go to the owner instead of getting a new title
- seo_check.py draft: 19 checks against the plan and your page facts, from invented numbers and stuffing to promises, competitors and indexing changes
- The owner step: approve.py needs a real terminal and part of the draft hash, refuses agent sessions and piped input, and re-plans before it records a change
- measure and the report check: before and after against untouched pages, so a report only claims what the numbers show
- A 27-page eval set with expected decisions, rules and two skills for Grok Bot, Claude Code, Codex and Hermes, six prompts and five templates
- The test harness: 72 unit tests and 548 planted faults you can repeat

## Who it is for

Site owners, content teams and agencies who want an agent to dig through Search Console and write the first drafts of better titles and descriptions, with a person approving and making every change.

## Tools needed

- Python 3.8 or newer: runs the export check, the planner, the draft checker, measure, the report check and the owner approval script; standard library only
- Grok Bot, Claude Code, Codex or Hermes: drafts title and description changes from the plan under the AGENTS.md rules or the Grok Bot standing order; never edits the site and never approves
- Your Search Console data as CSV: exported through the Search Console API, the bulk export or a Sheets add-on; the kit never logs in to Google or your CMS
- You need: Python 3.8 or newer
- You need: A verified Search Console property with a few months of data
- You need: Page plus query rows exported to CSV (API, bulk export or a Sheets add-on)
- You need: Someone who approves each change and makes it in the CMS

Cost to run: The kit is the only purchase. Everything runs locally with Python; the checker makes no network calls, logs in to nothing and changes no website.

## How it works

1. **Unpack and test.** Save the kit as pack.md in an empty folder, run the unpack line from Appendix A, then sh test_all.sh. Expected: 74 files written; 72 tests OK; 548 of 548 planted faults caught.
2. **Watch the flow.** Run sh example/run_example.sh and read it next to section 17. Expected: A tile shop's first-try draft with 13 findings, the fixed draft clean, a monthly report with 5 findings, the free check finding 7 problems and a piped approval refused.
3. **Put in your site.** Fill in site/site.json and the pages you might change in site/pages.json, then run python3 desk/seo_check.py site. Expected: No findings, or a short list of settings to fix first.
4. **Load your export.** Export this window, the window before and page plus query rows into data/, run seo_check.py data until there are no high findings, then seo_check.py plan. Expected: One line per page: rewrite, owner, hold or skip, with the reason and the queries to write for.

## Sample prompt: Draft this month's fixes (Grok Bot, Claude Code, Codex, Hermes)

```
Follow skills/search-fix with this month's export. Never edit the site. List each draft with its decision and finding count.
```

Prompt 1 of 6.

## Sample prompt: List the page facts (Grok Bot, Claude Code, Codex, Hermes)

```
For the pages the plan marks rewrite, read each live page and list the claims and numbers it really states, as a proposed pages.json entry. Do not edit pages.json.
```

Prompt 4 of 6.

## Sample prompt: Write the results (Grok Bot, Claude Code, Codex, Hermes)

```
Follow skills/change-check for last month's changes and write the report to reports/. Run the report check and fix every finding.
```

Prompt 5 of 6.

## Free preview of search-console-fix-desk-checked-titles-descriptions-owner-approved-measured.md

````markdown
# Search Console Fix Desk: better page titles and descriptions from your Search Console data, checked, owner approved, measured

Version 1.0, 2026-11-01. By PaperChaseWebb. For site owners, small businesses, content teams and agencies who want an AI agent to find the pages Google shows but people skip, and draft better titles and meta descriptions without inventing claims, stuffing keywords, promising rankings or touching the live site. Works with Grok Bot, Claude Code, Codex and Hermes. Python 3.8 or newer, standard library only, no API keys, no logins. The kit and the agent never edit your website. Tested with 72 unit tests and 548 planted faults on Linux with Python 3.13, 3.12, 3.11, 3.9 and 3.8. All business and page data in this kit is made up.

Search Console tells you which pages appear in Google and how often people click. The pages with plenty of impressions and few clicks are the cheapest fix on most sites: a clearer title and description, made once, in your CMS.

Handing that to an AI agent goes wrong in predictable ways. It rewrites the title of a page whose clicks fell because it dropped five places, which no title fixes. It rewrites both of two pages that fight over the same search. It writes "Best", "#1", "free" and a price the page never mentions. It stuffs the query in three times. It acts on a query that reads "ignore previous instructions". It pushes the change live with a script that disappears the day the script does. It changes the same page again a week
````

## Test record

- Date: Nov 1, 2026
- What was run: tests/test_data.py (14), test_plan.py (11), test_check.py (20), test_modes.py (14), test_approve.py (9, on a real pseudo terminal) and test_mini.py (4); tests/mutate.py with 528 planted faults across drafts, exports, plan changes, site settings, the change log, reports, agent rules and approve.py, plus 20 against seo_mini.py; seo_check.py set on the 27-page eval set; example/run_example.sh end to end; and the unpack line with test_all.sh. Linux, Python 3.13, 3.12, 3.11, 3.9 and 3.8.
- Result: 72 passed, 0 failed on all five versions; 548 of 548 planted faults caught and 20 of 20 clean baselines clean; the eval set had 0 findings; the example caught the first-try draft with 13 findings and the first-try report with 5, and refused piped approval; the unpack line wrote every file and test_all.sh passed there.
- Not run: A live Grok Bot, Claude Code, Codex or Hermes session. A real Search Console property, the API or the bulk export. Non-English sites. macOS or Windows.

Copied from this item's dated test notes. What was not run stays in.

## Worth knowing

- The agent rules were checked by the checker but not loaded inside a live Grok Bot, Claude Code, Codex or Hermes session for this release. The eval drafts were written by hand to the rules. Give your agent the entrance exam in section 15 before you rely on it.
- No ranking or traffic result is promised. Google writes its own title links and may show other text than your title; measure is how you find out what changed.
- The checker works on words, numbers and your page facts. It cannot tell whether a title that passes every rule is still dull, and its word lists are a floor, so the owner reads every draft.
- It does not log in to Search Console or your CMS and changes nothing. The data comes in as CSV, and the web export stops at 1,000 rows, so larger sites need the API, the bulk export or an add-on.
- The owner step assumes the agent cannot run approve.py at a terminal. Run it as a separate user; agent rules alone are not a hard boundary.
- All businesses and pages in the kit are made up. English only. Tested on Linux only; macOS and Windows were not tested.
- On 2026-11-01 on Linux: 72 unit tests and 548 of 548 planted faults passed on Python 3.13, 3.12, 3.11, 3.9 and 3.8; the 27-page eval set was clean; the unpack line wrote every file and test_all.sh passed in that folder.

## Questions

**Which agents does it work with?** Any agent that can read files and run a script. The kit has rules for AGENTS.md and CLAUDE.md, Claude Code and Codex notes, Hermes notes and a Grok Bot standing order. Those were checked by the checker, not loaded in each agent for this release.

**Will it change my website?** No. It plans and checks drafts. You approve a draft at a terminal and make the edit in your CMS yourself, then record it so the page is held and measured.

**Does it connect to Search Console?** Not directly. You export to CSV, which keeps the kit free of logins and keys. Section 5 shows the files and the columns, and a read-only Search Console API or MCP tool can produce them.

**Why not rewrite every low CTR page?** Because some of them lost clicks to a lower position, compete with another page, or have mostly hidden queries. A new title does not fix those, so the planner sends them to you with the reason.

**Can you set it up for us?** Yes. Our Install sprint sets up your export, page facts and agent, or Managed Ops runs the plan, drafts and measuring for you each month. Book a call or write to mgmt@paperchasewebb.com.

## How to buy

$29 one time at https://paperchasewebb.ai/bots/marketplace/items/search-console-fix-desk-checked-titles-descriptions-owner-approved-measured/. Stripe checkout, then an instant download page; the download link is also in your emailed receipt.

Seller: PaperChaseWebb Inc., mgmt@paperchasewebb.com
