Latest posts
-
Why You Must Minify JSON-LD Before It Touches WordPress

Minify JSON-LD before it hits WordPress or wpautop rewrites your schema’s whitespace into tags. Here’s the one-argument fix and how to prove it parses.
-
How to Edit Live WordPress Posts Safely via the REST API

To edit live WordPress posts via the REST API, a 200 response is not proof the save worked. Here is the fetch, back up, patch, push, verify loop I run.
-
How to Harden Self-Hosted WordPress: the Infra Checklist

To harden self-hosted WordPress you fix credentials, privileges, and file layers, not just plugins. Here’s the infra checklist I actually run, in order.
-
Build Your Internal Link Map From Live, Not From Disk

Build your internal link map from live published and scheduled posts, not disk files. Here’s how I fetch raw content, graph it, and find hidden orphans.
-
Schedule WordPress Posts From the REST API (No Plugin)

To schedule WordPress posts from the REST API you need just two fields: status future and a date. No plugin, no cron. Here is how I queue them on a cadence.
-
The Disk Versus Live Trap That Overwrote My Edits

The disk versus live trap is pushing a stale local file over a live post and wiping edits you never saw. Here is what it cost me and the rule that fixes it.
-
Enforce Writing Rules Twice: a Lint Gate and a Sanitizer

Writing rules you keep in your head get broken at midnight. Here’s how I enforce them in code twice: a lint gate that blocks publish and a live sanitizer.
-
The Post-Publish Indexing Loop I Run on Every Article

The indexing loop is the routine I run after every article to move it from published to actually indexed. Here’s each step, and when to merge.
-
The JSON-LD Schema Errors That Flooded Search Console

JSON-LD schema errors can pile up by the thousand from one bad batch. Here’s what broke, how I found it in Search Console, and the fix that prevents it.
-
How to Automate WordPress Backups to Object Storage

To automate WordPress backups that actually save you, dump the DB and uploads, encrypt, push to object storage, and test the restore. Here’s the job I run.