Austin Ginder

Austin Ginder

WooCommerce Keyless Activation System for Extensions

The main WooCommerce plugin is free but WooCommerce is more than just a single plugin it’s an entire ecosystem unto itself. Recently WooCommerce changed how they handle their paid extensions. They switched from license keys to a license activation system…

WP Engine and Email Notifications

Having your website send emails successfully is more difficult than it should be. Earlier this year WP Engine moved all of my dedicated servers over to Google’s infrastructure. Google’s has some pretty strict rules with emails which help keep their…

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…