Category Uncategorized

Talk from WordCamp Lancaster 2017

In March I gave my first WordCamp talk at WordCamp Lancaster called “Staying Sane While Maintaining Hundreds of WordPress Sites”. It was a great experience and I will plan on a future talk. I was hesitant due to the fact…

Backup Offloaded Amazon S3 Uploads

If you’re using WP Offload S3 to free up local storage then you’ll also need to backup your Amazon S3 uploads. Rather than running two separate backups, one for the website and one for Amazon S3, the following is how I…

Resolving SFTP Errors After Server Migrations

Have you ever connected to a web server over SFTP? If so then it’s likely you’ll see one of these errors at some point: remote host identification has changed , host keys changed, offending key for IP or something similar. This is somewhat…

Triggering WordPress AJAX Callback from PHP

WordPress makes it easy to run PHP code from Javascript. This is extremely useful for running custom code without reloading the page. The following part I’m using to send backup snapshot emails. This will run the PHP function snapshot_email_action_callback. This works…

Consolidating WP Engine Servers

I host most of my WordPress websites with WP Engine. I’m currently managing 681 WordPress installations spread across 4 dedicated WP Engine servers, and as of one month ago I had 7 dedicated WP Engine servers. The following is some…

Removing Orphaned Uploads From Multisite

If you have an active multisite network, chances are you have orphaned content left over from deleted subsites. To clean up the database, there is a fantastic plugin Cleanup Multisite DB Tables which adds a few wp-cli commands to locate and remove…

Simultaneous Website Previewing with Two Servers

So typically when migrating or launching WordPress sites, I’ll modify my HOSTS file in order to preview the site at its final destination before going public. That’s a great way to catch problems before updating DNS however I’ve often wanted…

Regex with WordPress Database Backups

For too long, regular expressions or regex have been mysterious to me. With the help of the fantastic video series at Laracasts the quirky pattern matching syntax has started to make sense. The following are some experiments with pattern matching on…

Extracting a Site from Multisite

Something I’ve been working on recently is breaking apart some unnecessary legacy Multisite networks into separate WordPress installations. There are times where Multisite is useful, however I have overused Multisite in the past. The following are some tips when extracting sites…