The WordPress Warchest
If you spend enough time building sites for clients, or if you just own and maintain several of your own, you soon start to develop a little stash of favorite tools that you pull out for various occasions. Here are a few of mine. I find myself relying on these tools over and over again as they make life behind the scenes of WordPress much easier. To me, a power user is not necessarily a full fledged developer writing a custom themes and the likes, but someone who is not afraid of getting their hands dirty by migrating a site, exporting a database, etc.
Local Development/Sandbox
DesktopServer by SeverPress
I’ve mentioned this tool before in my article about running a local, bleeding-edge WordPress environment and, honestly, I’m happy to mention it at any given opportunity because it’s truly an invaluable tool for hardcore developers and regular WordPress users alike. Whether you are a developer regularly creating custom themes, or someone who manages a lot of sites, DesktopServer (DS) will be of benefit to you. DS makes it ridiculously easy to set up a new local instance of WordPress on your computer. You can start a site from scratch, or import a live, existing site, so that you can have a local sandbox on which to test out code, upgrades, plugins etc. There are a free version and a paid version. I highly recommend forking out for the paid version because it saves you so much time and headaches. It’s a much easier alternative to things like MAMP / WAMP, and has tons of other features such as Blueprints, which lets you customize a WordPress installation with your most-used configuration and plugins. The best part: Each time you make a new site, you can start with this configuration.
Moving Sites Around
Whether you need to grab a quick snapshot backup of a site before working on it or move it to another server, there’s a couple of free plugins I find invaluable.
Duplicator
This plugin will take a complete snapshot of a site that you can download as a .zip file, along with an installer .php file. Once you have these two items, you can then upload them to another server. When you run the installer script, it will unpackage the site for you, scrub the database, and, if you’re moving domain names, it will go through and update all references in the database. It’s quite amazing. It’s also compatible with DesktopServer, which means that you can download a Duplicator zip file and use it to create a local copy with DesktopServer. This is a common workflow when you have to work on an existing site and don’t want to disrupt it.
WP Clone
WP Clone is similar to Duplicator but the main difference is that, whereas with Duplicator you start with a blank slate at your destination server, with WP Clone, you first make a basic WordPress install into which you import your cloned site. For non-developers, WP Clone is easier to use since it can work without needing to touch FTP. But in some cases the server environment gives problems and, in that situation, I fall back to Duplicator. Either one is much easier than manually downloading/uploading files and moving the database.
Moving Databases Around
Sometimes, you just have to do a manual move, or you need to work with just the database directly, either for syncing up live and production sites, restoring a backup, or who knows what.
WP Migrate DB (Pro)
WP Migrate DB is a free plugin that “exports your database as a MySQL data dump (much like phpMyAdmin), performs a find and replace on URLs and file paths, and then allows you to save it to your computer. It is perfect for developers who need to update their local install with fresh data from the production site or copy their locally developed site to a staging or production server. It even takes into account serialized data (both arrays and objects) and updates the string length values.”
This is a great stand-alone tool for migrations, but the Pro version is even cooler and becoming a standard in many WordPress developers’ toolkit. In the Pro version, when you install the plugin on two sites, you can then push and pull the database between them, right from inside your dashboard! Recent updates have also added support for migrating media files as well, making it a much more complete tool for syncing up sites.
Search Replace DB
This is a script made by the folks at Interconnect/it and it does exactly what the name says: It allows you to perform search and replace queries on your WordPress database. It’s not a WordPress plugin but it is designed to be used for WordPress migrations. It’s a very reliable and handy tool when a plugin isn’t the right tool for your scenario.
Changing Domain Names
Go Live Update URLs
There are times when you need to change the url of a WordPress site − for example when you’ve been developing the site on a temporary url and are finally ready to take it live. All instances of the temporary domain name need to be updated to reflect the new domain name. When you change the site url in the WordPress settings, or even via PHPMyAdmin, it will take care of some of the work, such as making sure that links in custom menus etc. work, but if you have links to images within page/post content, any links in widgets, or if you’ve uploaded images via your theme options panel, all those need to be updated as well. You could use something like the Search and Replace script mentioned above, but that would require exporting and re-importing the database. So, my favorite plugin by far for this scenario is Go Live Update URLS. The simple interface lets you input the old url and the new url and, one click later, everything is updated and working swimmingly.
Troubleshooting Code
Ever try to debug an issue with a theme, or perhaps you’re just trying to make a small change but you’re wasting time, combing through PHP files, looking for the right piece of code? Locating the right PHP file can be a time suck. Even if you are really clear on the WordPress template hierarchy, there still can be template part files and the like that you need to look through to find the piece of code you’re looking for.
What the File is an absolute lifesaver. After it is installed, it adds a tab in the admin bar so that when you are on the front end of a site, for any page that you are on, it will show you which template files are being used, including which (if any) template part files, infinitely speeding up your process.
Troubleshooting Speed and Performance
Query Monitor
Now this plugin is a little more “hardcore,” but it contains a wealth of info and I think it’s helpful for aspiring developers as a learning tool. It will give you a wealth of info about what’s going on behind the scenes of a site, making it really useful in troubleshooting. It shows you all the database queries that are taking place on a page, including which plugin is making them and how long they are taking. It will also show you info about the server environment, what hooks and actions are being used, http requests that are being made, and more.
P3 Plugin Profiler
This is an extremely handy tool that will analyze the performance of all the plugins on your site and show you which ones are taking up the most loading time. This is a great way to see what plugins could be dragging down your site and easy enough for non-developers to use as well.
WP Performance Profiler
WP Performance Profiler is by Interconnect/it, who also make Search Replace DB (mentioned above), and it’s a much more developer-oriented version of P3 Profiler. It gives a much deeper level of detail about plugin performance. I’d recommend it for developers, but the less hardcore will find P3 Plugin Profiler more than adequate.
Database Optimization
WP-Optimize
Need to tame an unruly database? WP-Optimize is your friend. It allows you to run a slew of maintenance tasks on your database without worrying that you’re going to screw up a MySQL query! This plugin is great for doing things like clearing out deleted comments, emptying revisions and various other housekeeping tasks that will help reduce the size and bloat of your database. A good one to keep installed and run every once in a while.
So these are some of my most oft-used tools in a life of WordPress site-building and maintaining. If you have some faves, please share in the comments!