This article was updated on 26th September 2022.
When you’re still developing your WordPress website you usually want to keep things under wraps. Here is a list of WordPress plugins that will help support your websites while they are still in development.
Prevent development websites from updating WordPress: Advanced Automatic Updates
Advanced Automatic Updates gives you the option of preventing your WordPress core from updating in your development website. This will help minimize the risk of functionality breaking when things update. You have the option of completely disabling all updates, enabling major version updates or enabling security updates.
(Update 26th September 2022) Automatic Updates are a bit more complex than they used to be but not by much. To disable all Automatic Updates (core, plugins & themes) add the following line to your
define( 'AUTOMATIC_UPDATER_DISABLED', true );
Check out Configuring Automatic Background Updates to learn how you can customize the automatic update behaviour.
Protect development websites from being seen: WP Maintenance Mode
There are a lot of “Under Construction” plugins available but I keep going back to WP Maintenance Mode. This plugin will display a customizable “Under Maintenance” message to all non-Admin users who have are not logged in. You can also select which WordPress users you want to grant access to.
An additional benefit of the plugin is that it keeps search engine crawl bots at bay too. You can allow them to crawl the development website or block them with a 503 HTTP response.
Fun fact: This is the plugin I use when doing routine website maintenance.
Get (some) Jetpack functionality without connecting to WordPress.com: Unplug Jetpack
Without getting into an argument about Jetpack’s bloat-factor, Unplug Jetpack gives you access to some Jetpack functionality without connecting to WordPress.com. Just install the plugin, activate it and… that’s all really.
(Update 26th September 2022) Unplug Jetpack hasn’t been updated in 3 years. While it still works (as of writing) it uses deprecated code which may one day cease to function. Fortunately Jetpack has an Offline Mode which you can enable by adding the following line to your
define( 'JETPACK_DEV_DEBUG', true );
When enabled there will be a notification on the Jetpack Dashboard.
There’s also a filter hook if you prefer using that. Check out the previous link to Jetpack’s Offline Mode to learn more.
Stop emails from sending: Stop Emails
I’ve only recently discovered Stop Emails and haven’t put it through it’s paces yet but this plugin will (you guessed it) stop emails from sending. Note that the plugin only stops emails sent using WordPress’s
wp_mail() function. Any emails sent through PHP’s
mail() function will still go through.
True story: I was once testing a custom function which just so happened to send emails to a couple accounts I have with Yahoo! Mail and Mail.com. I must have sent well over 3 dozen emails within the span of an hour to test things out causing Yahoo! to think I was trying to spam the account. To this day all, emails sent from that development website domain is blocked by Yahoo.
I’m not sure if this is a brand-spanking new feature or if I just missed it but using JetPack you can now update WordPress Plugins across all your websites through your WordPress.com My Sites Dashboard. What’s even more interesting is that you can set plugins to auto-update.
Right now this feature is limited only to Plugins — no updating Themes or the base WordPress installation.WordPress already auto-update (unless disabled) so I doubt this will ever be offered. I wonder if we’ll eventually see the option of updating Themes through WordPress.com.
There are already a few services out there that’ll help you manage all your WordPress websites. Here are a few that I know of in alphabetical order:
More information can be found on the Site Management support page. And be sure to turn on the JSON API.
I can’t change anything when I try to manage my sites on WordPress.com.
You need to enable site management on your Jetpack-connected site from the dashboard by either opting in as mentioned above, or by enabling it under the JSON API settings in Jetpack → Settings → JSON API → Configure and checking the box for the “Allow remote management of themes, plugins, and WordPress via the JSON API” option and saving your changes.
So I was doing routine maintenance on the Caveena Website today when a conflict between two WordPress plugins mucked up our Portfolio page. Being a service-based organization, yeah that’s a pretty big deal.
And this is why I always test website updates on a development server.
So what happened? The issue was between BestWebSoft’s Portfolio Plugin (which, as you probably guessed, we are using for our Portfolio page) and Jetpack. The v3.1 release of Jetpack comes with a new custom post type: Portfolios. I didn’t dig into any of the code but my guess is they used the same name for the Portfolio custom post type. When both were active the
http://caveenasolutions.com/portfolio permalink would not work and none of our portfolio project pages would display.
The fix was simple enough:
- Disable the Custom Post Type module in Jetpack’s settings.
- Re-build the permalink structure.
If you happen to be using the Portfolio plugin along with the Custom Post Type module in Jetpack, I unfortunately have no answer for you.