How I traced a WordPress performance problem to excessive admin-ajax.php requests and fixed it with log analysis, Heartbeat tuning, and nginx rate limiting.
A hosting provider used sed on a SQL dump to change domains. It corrupted every serialized value in the database. Here's how I diagnosed and repaired it.
A WooCommerce store hit 'Error establishing a database connection' during a flash sale. The fix was 280 sleeping MariaDB connections and bad timeout defaults.
A MariaDB version upgrade broke database connections for all WordPress sites. Here's how I diagnosed socket, authentication, and collation issues and fixed them.
A WooCommerce store had delayed order emails, failed subscription renewals, and thousands of stuck Action Scheduler jobs. The fix: replacing WP-Cron with a system cron.
How I traced missing WooCommerce order emails and failed subscription renewals to a silently broken WP-Cron, and replaced it with a reliable system cron.
A WooCommerce store's database had grown to 18GB thanks to 26 million rows in the Action Scheduler tables. Here's how I cleaned it up and prevented it from happening again.
A WordPress site was loading 12MB of abandoned plugin data on every request. Here's how I found the bloat in wp_options and cut page load times in half.
Diagnosing silent data loss after migrating a WooCommerce store to HPOS — broken tracking plugins, corrupted customer lookup table, and the fixes that restored it all.
Step-by-step HPOS migration for a large WooCommerce store — finding incompatible plugins, fixing custom code, and verifying data integrity with WP-CLI.
Investigating why 83 PayPal subscription renewals were failing in WooCommerce. The root cause: the PPCP plugin never successfully stored vault tokens for any subscription.
How I diagnosed and fixed a WooCommerce database crisis where MariaDB was consuming 1479% CPU with queries running for 376 seconds. The root cause was a transient race condition.
Discovering and removing a sophisticated cryptominer from a Linux server that used 14 different persistence mechanisms including systemd services, cron jobs, and immutable file attributes.
How I used WP-CLI to automatically generate and apply meaningful alt text to 2,846 images on a WooCommerce site, handling edge cases like size suffixes and generic filenames.
Investigating a CloudPanel server compromise where an attacker created an admin user via clpctl. Tracing the attack through auth.log, checking for backdoors, and hardening the server.
Solving the challenge of calculating WooCommerce shipping rates programmatically in Action Scheduler background jobs where WC()->session doesn't exist.
How LiteSpeed's Guest Optimization CSS handling caused a flash of unstyled content on sites with splash screens, and the settings adjustments that fixed it.
Stop Firefighting. Start Maintaining.
I manage 70+ WordPress sites for UK agencies and businesses.
Whether you need ongoing maintenance, emergency support, or a one-off performance fix — I can help.