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 "Cannot modify header information - headers already sent" in WordPress
The warning names the file and line that produced output too early, in the phrase in parentheses. Everything else in the message is the victim. Fix the file it names, and the login redirects, feeds and cookie errors that came with it stop together.
-
Fixing "Your PHP installation appears to be missing the MySQL extension which is required by WordPress"
WordPress needs the mysqli extension and the PHP that is serving the site does not have it loaded. The database is fine. The extension is one checkbox in a hosting panel, one package on a server, or one line in a Docker image, and the error appears right after a PHP version change.
-
Fixing "Maximum execution time of 30 seconds exceeded" in WordPress
The fatal names a file and a line, and that line is where PHP was when the clock ran out — not necessarily what was slow. Raising the limit buys time; reading the trace tells you what was spending it.
-
Fixing "The plugin does not have a valid header" in WordPress
The file WordPress was asked to activate exists, but nothing in its first 8 KB says Plugin Name. That narrows it to a damaged header or an unreadable file; a missing file, a nested zip and a stray folder each produce a different message, or none.
-
Fixing "Publishing failed" in the WordPress Block Editor
The editor asked the REST API to save the post and got a refusal, a redirect or a non-JSON page back. The second sentence of the message tells you which, and the browser's network panel shows the actual response in under a minute.
-
Fixing "Unable to create directory wp-content/uploads" in WordPress
The message ends with a question — is its parent directory writable by the server? — and the answer is usually no, but for one of two reasons: ownership on the folder, or a stale upload path from a previous server still stored in the database.