Blog
Actionable tips and updates to help you ship plugins, themes, and client sites faster
7 min readWordPress "Missed schedule": what the label means and how to tell which failure you have
"Missed schedule" is a red label in the Posts list, not a post status. There are two different failures behind it, they need different fixes, and one command tells them apart.
6 min readWordPress database repair: what repair.php actually does, and what it cannot touch
Setting WP_ALLOW_REPAIR opens a page with no login check that runs REPAIR TABLE on core tables only. On InnoDB, which is almost certainly what you are running, that statement does nothing.
7 min readWordPress transients: where they live, why they pile up, and what is safe to delete
Core has deleted expired transients on a daily cron since WordPress 4.9, so the plugins that promise to clean them are fixing a problem core already fixed. The rows that actually hurt are the ones with no expiry, because those are autoloaded on every request.
7 min readWordPress mu-plugins: the four rules the guides leave out
A mu-plugin loads 80 lines before Recovery Mode exists, so a fatal error in one locks you out with no recovery email. Here is the real load mechanism, the four rules that follow from it, and how to test one without bricking a site.
8 min readHow to increase the upload size in WordPress, and why three of the top guides are wrong
WordPress has no upload limit of its own. The number on the Media screen is min(upload_max_filesize, post_max_size), and the two most-recommended fixes on the first page of Google cannot change either value.
8 min readHow to export WordPress users, and the two things that silently break on import
WordPress has no built-in user export. Tools > Export only lists users who wrote a post, and gives six fields with no roles and no passwords. Here is what a user actually is in the database, and the two traps that strip roles and lock everyone out.
7 min readHow to change the site URL in WordPress, and what each method actually changes
WordPress stores its URL in two database rows, and three of the four common methods only write to one of them. Here is what each method touches, and which row causes which symptom when it goes wrong.
9 min readWordPress maintenance mode: what core actually does, and why it cannot hold a planned window
WordPress has a real maintenance mode built in, but it expires after ten minutes, locks out administrators, and runs before any plugin loads. That makes it the wrong tool for a planned maintenance window, and the right tool for something else.
3 min readWordPress Site Health: what the score is, and which tests lie to you
The Site Health percentage comes from a four-line formula, and the number of tests that run depends on one constant you have probably never set. Here is the real test list, the scoring maths, and the failures that are about your server rather than your site.