Unlimited storage for WordPress with Amazon S3

There are a few difference ways to configure WordPress with unlimited storage. The process is typically the same. First you create a new Amazon S3 bucket to store your files and then you configure WordPress to sync and serve your uploads directly from S3. While I don’t recommend doing this as a standard practice, I have found…

Preloading Advanced Custom Fields Pro license key

Most paid plugins require a key to run. Some popular plugins also allow you to preload their key from the wp-config.php file. The following is an example of preloading keys for Akismet, Gravity Forms and WP Smush Pro. Unfortunately Advanced Custom Fields Pro doesn’t preload keys Worse yet, ACF Pro seems to drop its key every time you…

XML Import using WP-CLI

The built-in XML import and export is often overlooked, and for good reasons. It’s not meant to migrate an entire website. It won’t migrate anything from the customizer, menus or widgets. What it does handle is migrating page and post content. It works well in situations where you want to pull in an existing blog into…

The Need for Uptime Monitoring

One part of keeping your WordPress website healthy is using an uptime monitor. I use a free one called Jetpack Monitor. Jetpack Monitor is very basic. It checks your website every 5 minutes and sends an email notice if something is wrong. Lots of things can go wrong There are many reasons for a website…

Beanstalk Git Deployments with Kinsta

I use git locally whenever I’m doing development. If you’re using WP Engine, you can simply push directly to their repo and they’ll auto update your web server. Recently I was working with Kinsta on my own website. While Kinsta has git installed on their web servers, they don’t have an auto-deployment process. They do…

Reusing Plugin Slugs

Have you ever noticed that WordPress.org plugins folder names never change? For example Yoast SEO is under a folder called wordpress-seo while Google Analytics for WordPress by MonsterInsights is within google-analytics-for-wordpress. While plugin names can change the folder names are unchangeable. These persistent folders, also called plugin slugs, are used in two places. First on WordPress.org at , and within your…

Tinkering with the .maintenance file

WordPress has a built-in method for throwing up a maintenance page, which makes a website completely inaccessible. This is used during its own internal updates. You probably recognize the screen: it’s a simple white screen which says “Briefly unavailable for scheduled maintenance. Check back in a minute.” You can manually trigger this maintenance mode…

The Quest for the Right Plugins

The WordPress plugin ecosystem is vast. You can pretty much find a plugin to do anything. I’ve been asked “Which plugins do you recommend?” or “Can I use this?” or “How many do you recommend I use?”. I think most of these questions are asked under the assumption that there is an ideal number of plugins that you should…

Randomization With WP Engine Cache

Be default, WP Engine disables WordPress queries with a random order. You can enable it, but that will disable their caching system, so it’s not a good idea. Here is a run through on how to properly use randomization with a WP Engine caching system with some explanations of what’s happening. PHP random functions still work with…

Loading sFTP logins into Transmit with Alfred workflow

If you manage lots of WordPress websites, dealing with sFTP logins can be a pain. Most sFTP clients don’t allow backup/restore passwords between computers. At some point I got tired of manually entering credentials and created the following Alfred workflow to automatically import from the following format. Alfred workflow allows for complex desktop automation Alfred is a productivity app…