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…

Handling WordPress Migrations with Transmit Sync

I’ve mentioned before that I use Transmit for sFTP. One of the really nice features of Transmit is the ability to sync two folders together. This comes in handy when migrating WordPress websites with a large upload directory. Prep migration by uploading wp-content folder After you have a backup of your WordPress website, start by loading the…

Restore WP Engine Snapshot to Staging

WP Engine does not have a one click button to restore a production snapshot backup to staging. I foresee that being something they add in the future. For now, here are some manual steps to take to do just that. First, download the snapshot you’d like to restore to staging Restore snapshot database to staging Generate a…