Skip to content
Blog

Notes on content that earns its keep.

What we learn running an automated publishing engine on real sites — search, answer engines, quality gates, and the mistakes worth avoiding.

How to see ChatGPT traffic in GA4 — and why the number you find is a floor
How-to · 30 September 2026 · 6 min

How to see ChatGPT traffic in GA4 — and why the number you find is a floor

One of our sites received 140 visits from ChatGPT in 28 days. Finding that took five clicks and no configuration. Grouping all AI assistants takes one regex. Knowing what GA4 cannot show…

llms.txt on WordPress: what it is, what to put in it, and what it will not do
How-to · 30 September 2026 · 7 min

llms.txt on WordPress: what it is, what to put in it, and what it will not do

A plain-text file at the root of your site that tells AI assistants what you are. Here is the format, the two minutes it takes on WordPress, the one part worth writing…

robots.txt for AI crawlers on WordPress: the fifteen user-agents, what each one does, and what we chose
How-to · 30 September 2026 · 7 min

robots.txt for AI crawlers on WordPress: the fifteen user-agents, what each one does, and what we chose

GPTBot, ClaudeBot, PerplexityBot, Google-Extended, Applebot-Extended, Meta-ExternalAgent… They are not one decision. Three of them are not even crawlers. Here is the list from the operators' own documentation, the three kinds they fall…

Ten layouts, one escape hatch: how our Instagram rotation collapsed into a single design
Behind the engine · 29 September 2026 · 8 min

Ten layouts, one escape hatch: how our Instagram rotation collapsed into a single design

The audit said "zero violations". The account said otherwise: one of ten layouts had been drawn in 11 of 35 posts. Here is what the counter got wrong, what the record fixed,…

Ranking on page one with zero clicks: what 69 Search Console queries told us
Search · 29 September 2026 · 8 min

Ranking on page one with zero clicks: what 69 Search Console queries told us

One query showed our page 6,839 times in ninety days and was clicked zero times. The fix is not a new article. Here is how we separate "write something" from "fix the…

Does your photo library have enough frames for Instagram carousels? We counted: 502 images, 89 that qualify
Behind the engine · 29 September 2026 · 6 min

Does your photo library have enough frames for Instagram carousels? We counted: 502 images, 89 that qualify

A carousel slide needs a 1080×1350 frame. Most WordPress media libraries are full of landscape photos that do not fit. We measured two of our own sites, found the real bottleneck, and…

SEO, AEO, GEO: what actually changes when an AI answers the search
Search · 22 September 2026 · 4 min

SEO, AEO, GEO: what actually changes when an AI answers the search

Three acronyms describe three ways people now find answers. The good news: the same well-built page can serve all of them. The bad news: most pages are not built that way.

Why our quality gate rejected an article that scored 85
Behind the engine · 21 September 2026 · 4 min

Why our quality gate rejected an article that scored 85

On 16 September the engine produced a draft with an SEO score of 85.1 — an A — and then refused to publish it. It contained one internal link. The minimum is…

WordPress application passwords: the safe way to let a tool publish for you
How-to · 20 September 2026 · 3 min

WordPress application passwords: the safe way to let a tool publish for you

Any tool that publishes to your WordPress site needs a way in. The wrong way is your admin login. The right way is an application password: separate, scoped to a user, and…