Blog

What breaks in WordPress, and how I fix it.

LatestSep 6, 202611 min read

WooCommerce orders in Google Sheets: the two-way sync that took a store's staff out of wp-admin

A busy store, a slow admin, and a team that only needed to process orders. How I moved order handling into Google Sheets with Zapier and a little Apps Script, synced status changes back to WooCommerce, and what it fixed beyond speed.

Read the post →

WooCommerce orders in Google Sheets: the two-way sync that took a store's staff out of wp-admin

A busy store, a slow admin, and a team that only needed to process orders. How I moved order handling into Google Sheets with Zapier and a little Apps Script, synced status changes back to WooCommerce, and what it fixed beyond speed.

WooCommerce 11 min

WordPress autoloaded options: how to find what is loading on every page, and fix it

Every request starts by loading every wp_options row marked autoload into memory. On a healthy site that's a few hundred kilobytes. On most sites I open, it's megabytes of leftovers. How to measure it, read the list, find who is writing it, and clean it without breaking anything.

Speed 12 min

How to fix “There has been a critical error on this website”, step by step

Your site is showing WordPress's white box with the grey text, and there's an email in your inbox you may not have opened yet. Seven steps, from easiest to last resort, in the order I do them. Most sites are back before step four.

Fixes 9 min

How to tell if your WordPress site is hacked, and what to do in the first ten minutes

Eleven signs, from the obvious redirect to the quiet ones that only Google notices, then the short list of things to do before you touch anything, so the evidence survives and the cleanup actually sticks.

Security 8 min

Reading this because something's broken?

Send the URL and what you are seeing. Diagnosis in about an hour, a price before we touch anything, no fix means no charge.

Start a project

WordPress white screen of death: the fix, in order

A blank page, no error, no email, nothing to search for. The white screen is the critical-error screen with the lights off. Here's where the error is hiding, and the six places to look for it.

Fixes 7 min

How to reduce TTFB in WordPress (measure first, then fix)

Time to first byte is the one number that tells you whether your server or your page is the slow part. How to measure it properly, what a good number looks like, and the five things that actually move it, in the order that pays off fastest.

Speed 10 min

Why wp-admin is slow when the front end is fine, and how to fix it

The site loads fast for visitors but the dashboard takes eight seconds and saving a post feels like dial-up. That gap has a short list of causes, none of which a caching plugin can reach. Here they are, with the check for each.

Speed 6 min

Moving WordPress to a new host without losing rankings

The order of operations that keeps every URL, the DNS trick that means zero downtime, and the checks to run before you cancel the old host. Rankings don't drop because you moved; they drop because of what got skipped.

Moving 11 min

WooCommerce checkout not working: the 8 usual causes

The place-order button spins forever, or says nothing, or the customer gets 'no shipping methods available'. Every one of these has a one-minute test that confirms it. Here they are, in the order I run them, from a WooCommerce Pro Partner who fixes this most weeks.

WooCommerce 9 min

The 29 GB WordPress database that was mostly nothing

A client's dashboard took eleven seconds to open. The database was 29 GB. The actual content, every post, product, order, and customer, was a small fraction of that. What was in the rest, how it got there, and the three queries that found it.

From the bench 7 min

Why I stopped selling hourly

Hourly billing charges the client for the developer's learning curve and rewards the slow. What changed when every project got one fixed number, what it cost me, and why I'd never go back.

From the bench 5 min
Subscribe in your reader: RSS Found a mistake? Write me