← All writing

ai, seo, agents

Building a CTR-SEO agent on Codex

TeleCajas gets about 800,000 impressions per month in Google Search Console with a 0.66% average CTR. That’s not bad in raw traffic, but the gap between impressions and clicks represents the single largest growth lever the business has — bigger than any new SEO campaign, any new ads experiment, or any new feature.

The thesis is narrow. There’s a class of pages where the average position is already top 10, but the title and meta description are working against me. Generic. Misaligned with search intent. Boring. If I could systematically find them, rewrite them, and test the change against impressions and clicks over time, I’d capture a measurable chunk of that gap without writing a single new piece of content.

I’m building this as an autonomous agent on OpenAI Codex with a 30-day validation window.

The agent’s job:

  1. Pull GSC data weekly via my GSC MCP server on Railway.
  2. Identify pages with high impressions, top-10 average position, and CTR below the category median.
  3. Generate three title and meta variants per candidate, scored on relevance, keyword preservation, and pull.
  4. Open a PR against the Shopify theme with the changes, tagged for my review.
  5. Track CTR delta over the following 14 to 28 days post-deploy.

The hard part is not the rewriting. It’s deciding when the agent has earned the right to deploy without me reviewing each change.

The success criterion is concrete: the median touched page picks up >15% CTR improvement and the agent doesn’t break anything. If both hold, it moves to permanent operation. If not, I write the post-mortem and we learn what doesn’t transfer.

This is the first AI automation I’m betting on as a real growth driver, not as a productivity helper. I’ll write the next note when there’s data.