PHP2Shell (CVE-2026-109618/109619) is a pre-auth RCE in PHP itself. How to check your PHP version in Site Health, patch your server, or chase your host.
How I traced intermittent WooCommerce checkout timeouts to a plugin running 12-second full table scans, using the MariaDB slow query log and pt-query-digest.
A WooCommerce store got hit by a card testing attack overnight. Here's how I stopped it, cleaned up, and what I now configure on every store to prevent it.
How I triaged, patched, verified and cleaned up 70+ WordPress sites after the wp2shell pre-auth core RCE (CVE-2026-63030). The full incident-response record.
A WooCommerce store with 8,000 products had MariaDB grinding to a halt every afternoon. The root cause was WordPress's default search running full table scans.
After a server migration, WordPress auto-updates stopped, plugins wouldn't install, and uploads failed. All three traced to one file ownership mistake.
How I fixed 'Illegal mix of collations' errors that broke WooCommerce search after server migrations — diagnosis SQL, bulk conversion, prevention checklist.
Diagnosing WooCommerce orders stuck on pending payment when Stripe webhooks silently fail — signing secret mismatches, endpoint errors, and how to recover.
A single update_option() call invalidated the alloptions cache, triggering a thundering herd that overwhelmed MariaDB. Here's how I diagnosed and fixed it.
A WooCommerce store's prices were wrong on listings and sort-by-price was broken. The cause: a desynced wp_wc_product_meta_lookup table after a CSV import.
A WooCommerce flash sale caused database deadlocks during stock reduction. Here's how I diagnosed the InnoDB lock contention and stopped orders from failing.
How I diagnosed a WooCommerce store where Cloudflare's Cache Everything page rule was caching cart and checkout pages, causing empty carts and stale data.
The WordPress memory exhausted error has deeper causes than most guides cover. Here's how I diagnose and fix the real problem instead of just raising the limit.
WordPress xmlrpc.php lets attackers try thousands of passwords in one request. Here's how to detect and block XML-RPC brute force attacks at the server level.
Two WooCommerce stores served customers each other's carts because nginx cached session cookies. The fastcgi_cache config I now use on every client site.
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.
How I traced missing WooCommerce emails and failed renewals to broken WP-Cron, cleared 4,200 stuck scheduled actions, and replaced it with a system cron.
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.
Step-by-step HPOS migration for a large WooCommerce store, plus the silent failures — broken tracking, corrupted customer lookup — I've cleaned up after.
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 agencies and businesses.
Whether you need ongoing maintenance, emergency support, or a one-off performance fix — I can help.