WordPress · Website building · Web development
Your site broke.
Here’s the fix.
Practical guides for the problems that actually stop a WordPress site: white screens, broken updates, themes that fight back. Written against a current install, tested before publishing.
Examples of WordPress theme layouts: a journal, a storefront and a studio site.
Topics
-
WordPress Tutorials
Step-by-step guides for getting things done in WordPress.
-
Troubleshooting
Fixes for the errors that take a WordPress site down.
-
Themes
Choosing, customising and replacing WordPress themes.
-
Plugins
Plugins worth installing, and the ones worth removing.
-
Website Building
Everything around the site itself: planning, launching, maintaining.
-
Website Tools
Reviews and comparisons of the tools site owners actually use.
Latest guides
-
Fixing "Sorry, you are not allowed to access this page" in WordPress
WordPress checked a capability and the account did not have it. After a migration the usual reason is not the role at all — it is that the table prefix changed and the row describing the account's role no longer matches.
-
Fixing "cURL error 28: Operation timed out" in WordPress
The number is specific and useful: 28 is always a timeout, never a refusal or a certificate problem. What matters next is which request timed out, because a loopback to your own site and a call to a payment provider need opposite fixes.
-
Fixing "Destination folder already exists" in WordPress
The installer refused because a directory with that name is already there, usually left by an install that failed partway. The folder is the evidence, and deleting the wrong one removes a working plugin.
-
Fixing "The response is not a valid JSON response" in WordPress
The editor asked the REST API for JSON and got something else back. Whatever that something is — an HTML error page, a redirect, or a stray warning — is the actual fault, and it is visible in one browser tab.
-
Controlling Core Updates with WP_AUTO_UPDATE_CORE
The constant governs core and only core. Setting it to false stops security releases arriving on their own, which is a decision worth making deliberately rather than inheriting from a snippet.
-
Changing Trash Retention with EMPTY_TRASH_DAYS
Setting this to zero does not shorten the retention period. It removes the trash entirely, so Move to Trash becomes Delete Permanently and there is nothing to restore from.