Teardown No. 46 · SEO

How Mejba Ahmed rebuilt his SEO with Claude Code after his own automation took indexed pages from 7,103 to 1,690

Mejba Ahmed ran volume SEO content automation on his own site. He says it produced templated sameness, 36 news articles with sources he could not verify, and sitemap and caching side effects. Google Search Console showed his indexed pages fall from 7,103 on April 14, 2026 to 1,690 by May 4. He then built a remediation pipeline in Claude Code. It audits the corpus, uses parallel research agents and rewrite agents grounded in assigned evidence, gates every draft through a deterministic Python verifier, and applies changes transactionally with backups and a resume manifest. It rewrote 84 posts. He reports internal quality scores moving from roughly 75 to 86. He does not claim the rewrites raised traffic.

The problem

He ran variations of the volume approach: “generate briefs, generate drafts, publish on schedule.” He says the failure came through three compounding problems.

  • Templated sameness. Batch generation from one skeleton gave dozens of posts the same opening heading pattern, a byte-identical call-to-action block and recycled section headings. A later audit found 503 of 581 posts opening with an H2 that duplicated the title.
  • Fabrication at scale. One automated content vertical produced 36 news articles. When he audited them, 30 of the 36 cited sources returned 404s, and metrics in the copy could not be verified. He unpublished all 36.
  • Technical side effects. His sitemap took lastmod from updated_at, so every admin edit and observer touch pushed a third of his URLs to “modified today” daily. A locale cookie was set on crawler visits, which he says hurt CDN cache efficiency. Unblocked JSON endpoints were getting indexed.

His summary is that automation “amplifies whatever your content operation already is, including its flaws.”

The blueprint (as he describes it)

The unit of work is “verified improvement to an existing post,” not a new post.

  1. Corpus inventory. A Claude Code session queries the production database read-only and produces a structured report per post: word counts, heading structure, internal links in and out, duplicate-title patterns and cannibalizing pairs. This surfaced the 503-post heading issue and 440 posts with zero inbound links.

  2. Research and triage with parallel agents. Ten research agents each take a slice of the corpus and score posts against the queries they should serve. They flag which posts deserve rewrites and what real evidence exists for each. He says the parallel structure is the only way corpus-scale work fits in context windows.

  3. Rewrites with assigned evidence. Rewrite agents each own a fixed set of post IDs. Every assignment names the evidence the rewrite must rest on: his actual configs, real project logs and verifiable facts. Third-party claims get web-verified or cut. He calls evidence assignment “the anti-fabrication mechanism.”

  4. A deterministic verify gate. A Python verifier checks every draft before it ships:

    • structure rules (no heading that repeats the title, no H1 in the body)
    • every internal link validated against a slug index
    • banned-phrase scans
    • minimum quality scores

    He says this matters because agent errors are correlated and “human review fatigues by post 40 of 84.”

  5. Transactional apply with a resume manifest. An apply script backs up the full database row to a JSON file, wraps the update in a transaction and touches exactly one post by ID. A manifest records each post’s state after every unit of work. Sessions died mid-batch at usage limits twice during his longest run. Each time, recovery meant reading the manifest and resuming from PENDING.

  6. Standing automated checks. Model observers regenerate the sitemap when content changes. Scheduled Claude Code routines run recurring SEO audits against the live site. In his words: “Automation’s best role is the boring vigilance humans skip.”

  7. Technical fixes alongside. Sitemap lastmod now comes from published_at. He also changed the cookie behavior and added X-Robots-Tag on API routes. These fixes shipped May 4.

The build order he recommends is audit first, verifier second, remediation third, and “Generation last, if at all,” with generation only under the evidence-assignment constraint. He credits “durable state outside the AI” (manifests, backups and memory files) with ensuring no session death or usage limit could lose work.

Stated results

  • Crash: indexed pages fell from 7,103 on April 14, 2026 to 1,690 by May 4. Peak traffic of 859 clicks a day fell “to nearly zero.”
  • Remediation: 84 posts rewritten across seven batches “with zero lost work”.
  • Internal quality scores: average moved “from roughly 75 to 86”. This is his own metric.
  • Recovery: Google “began revalidating within days” and indexation recovered “over the following weeks”. No recovered indexed-page or traffic numbers are stated.
  • He will not claim that any rewrite raised traffic. He says attribution across a period with both technical fixes and content remediation “is genuinely murky”.

Caveats

  • The post is on his own site, which sells services. It ends by pointing to his services page and says he runs “this same audit-verify-remediate process for client sites, from Laravel platforms to WordPress builds.”
  • The page metadata shows a published date of 2026-03-27 and a modified date of 2026-08-14. The post describes April and May 2026 events, so the page was most likely last updated on 2026-08-14.
  • The crash came from his own earlier automation. The technical fixes and the content pipeline ran in the same window, so the effect of each one is not separable. He says this himself.
  • The quality score is internal, and the source does not define how it is calculated.
  • Several parts of the setup point to his other blog posts (agent swarm architecture, Claude Code routines, memory systems) rather than being described in full here.
  • Handles (verified 2026-10-22, all linked from the mejba.me footer unless noted): X @engrmejbaahmed (small account), LinkedIn linkedin.com/in/engr-mejba-ahmed-795ab3165, Instagram @engr_mejba_ahmed, TikTok @engr_mejba_ahmed, Facebook facebook.com/engrmejbaahmed, YouTube channel UCfLIuNxRfXT7HmvvB9Ld0SA, GitHub mejba13, Medium @engr-mejba-ahmed. Bluesky @engrmejbaahmed.bsky.social is not linked from the site, but its bio links mejba.me (0 posts). Threads, Mastodon: none found.

Sources


Want agents like these working your distribution? See the Agent Stack Teardown. Get new teardowns weekly: subscribe (double opt-in).

Get one teardown a week.

Same format, a new operator every issue. Double opt-in.