GPTBot, OAI-SearchBot, ChatGPT-User: Why One AI Company Sends Several Bots

Quick answer: Major AI companies now run separate bots for separate jobs: one to gather training data, one to build a search index, and one to fetch pages when a user asks. They have different user agents so you can treat them differently. Blocking the training crawler doesn’t have to mean disappearing from AI search, … Read more

Who’s Visiting Your WordPress Site at 3 A.M.? A Field Guide to Bots

Quick answer: Most overnight traffic on a typical WordPress site isn’t people. It’s search crawlers, AI crawlers, uptime monitors, SEO tools, link-preview fetchers, and scanners probing for weak spots. Most are harmless and some are useful, but your analytics probably can’t see any of them, which is why their side effects look like mysteries. Open … Read more

Why I Chose HMAC Signing Over Application Passwords for Site-to-Hub Reporting

I’m building an agency dashboard for my monitoring plugin. The shape is simple to describe: the free plugin runs on however many client sites, and each of those sites pushes its health reports to a central hub — a separate premium plugin the agency installs on a WordPress site of their own. Which means N … Read more

The Math That Says Don’t Buy Ads for a $34.99 Plugin

I priced my plugin’s Pro tier at $34.99 a year. That felt right — it’s in line with what comparable WordPress plugins charge, it’s low enough not to require a purchase decision, and it’s a number I’d pay without thinking about it. Then I sat down to plan customer acquisition and worked out what it … Read more

I Found Three Vulnerabilities in My Own Plugin Before Shipping It

Every AJAX handler in my plugin had a nonce check. Every one of them also verified manage_options. I’d been deliberate about that from the start, and when I sat down to do a security pass before submitting to WordPress.org, I expected it to be a formality. It wasn’t. I found two high-severity issues and one … Read more

Six Rejections: What It Actually Takes to Get a Plugin Into the WordPress.org Directory

I built a plugin to solve a problem I kept hitting on client sites. It detects database errors, plugin mass-deactivations, 404 floods, and PHP errors, and it reports them in plain English instead of stack traces. I tested it, I wrote the readme, I packaged it up, and I submitted it to the WordPress.org plugin … Read more

Shipping a Freemius Plugin on WordPress.org Without Getting Rejected

If you landed here from a rejection email that says plugin_updater_detected, skip to the second section. You don’t need to gut your SDK and you don’t need to build a second plugin. If you’re earlier than that — considering Freemius for a plugin you intend to list on WordPress.org — read the whole thing first. … Read more