If you’re a WordPress developer, you probably do most of your work in test environments. That way, you can tinker with your plugins, themes, and sites all you want without breaking anything for real. The only question is, which local WordPress development tools are the best fit for your needs?
In this article, we’re going to introduce you to five of our favorite local WordPress development tools, including:
We’ll tell you how they work, and compare their ease of use, features, and prices. Let’s get this show on the road!
Why it’s crucial to choose the right local WordPress development tools
Learning to code is hard enough, and searching for help online doesn’t always steer you on the right path … something summarized neatly by Austen Allred on Twitter:
Implementing changes in a live environment without testing them beforehand is a recipe for disaster. Should one of your updates break your site, you’ll have no option but to restore it from an earlier backup, or try to fix the problem manually.
Either way, that’s time during which your website isn’t working as it should, and users may notice the problem.
In this article, we’re going to focus on local WordPress development tools. If you don’t yet have a favorite solution, here are some of the features you’ll want to keep an eye out for when picking one:
One of the advantages of local tools is that you can set up as many concurrent sites as you want. That way, you can work on multiple projects at once.
Some tools enable you to set up compartmentalized environments for each WordPress site. For example, you can have one site running PHP 5 and another using PHP 7, working side by side without any issues.
Ideally, whichever local development tool you choose should make it as easy as possible to add and delete new WordPress projects. That way, you won’t waste much time setting up new environments or cleaning up after completed tests.
In most cases, you’ll want to map each local website to a domain name that’s easy to remember. You can always do this manually, but it’s better if your chosen tool helps you with the process.
Five local WordPress development tools compared (in a nutshell)
We have a lot of ground to cover in this post. So if you’re looking for a quick comparison, take a look at the following table:
|DesktopServer||XAMPP||MAMP||Vagrant||Local by Flywheel|
|Does it use virtual machines?||No||No||No||Yes||No|
|Can you set up multiple WordPress websites?||Up to three (using the free version)||Yes (with some tinkering)||Yes (with some tinkering)||Yes||Yes|
|Is it easy to use?||Yes||Moderately difficult||Moderately difficult||Moderately difficult||Yes|
|Does it enable you to set up different types of environments?||No||No||Yes (to a degree)||Yes||Yes (to a degree)|
|Can you start and stop websites at will?||No||Yes||Yes||Yes||Yes|
|Does it help you map domain names to local websites?||Yes||No||No||No||Yes|
|Does it include a dashboard you can use?||Yes||Yes||Yes||No||Yes|
|Price||Free and premium versions available||Free||Free and premium versions available||Free||Free|
Five local WordPress development tools compared (in full)
When it comes to local WordPress development tools, there are four main aspects you’ll need to consider:
- how they work,
- how easy they are to use,
- what features they offer,
- their price range.
If you compare each of the tools using those criteria – which is exactly what we’ll do in the following sections – you’ll have all the information you need to make a smart choice. Let’s dig in!
As far as ease of use goes, local WordPress development tools don’t get much simpler than Desktop Server. When you set it up for the first time, it will install all the software it needs to power WordPress locally. Then, you can re-run the program each time you want to create or delete a local WordPress website.
Overall, DesktopServer offers a functional experience with very few frills, but that’s not necessarily a bad thing. If all you’re looking for is a simple tool that works reliably, this can be a solid option.
When it comes to features, the free version of DesktopServer is slightly limited. There are plenty of local WordPress development tools that offer more powerful features to help you manage your sites (which we’ll cover shortly), although they can sometimes be overkill. As far as limiting factors go, we’d say the biggest disappointment is the fact that DesktopServer only supports a single type of environment: an Apache server running PHP 5 and MySQL.
To be fair, a lot of WordPress websites use that same environment. However, as a developer, you may want to have more control over yours. If that’s the case, you’ll need to check out a different option.
So far, we’ve only talked about DesktopServer’s free version. There’s also a premium alternative, which starts at $95 per year. For that money, you get access to several extra features, including support for Multisite, the ability to export and archive your test setups, and an option to create WordPress ‘blueprints’.
That last feature enables you to store specific setups, and then use them to deploy sites faster. For example, if there is a handful of plugins and themes that you like to set up on each of your sites, you can create a blueprint of that configuration and store it for later use.
A DesktopServer premium license also entitles you to updates during the whole year. Plus, you can use a single license for several computers, which makes it a decent option for teams on a budget.
The former just installs the software we mentioned earlier in a directory on your computer, whereas the latter sets everything up on a Linux Virtual Machine.
If you’re the same, then here’s what’s in store for you when it comes to installing WordPress with XAMPP.
- Lets you set up a software stack including Apache, MariaDB, PHP, and Perl.
- Provides the option to chose from multiple XAMPP versions, depending on which PHP release you want to use.
- Offers a VM-based local WordPress experience, if you’re a macOS user and download the corresponding version.
- Enables you to use a simple dashboard tool to manage all your new services.
- Makes it possible to set up WordPress manually, or use a standalone installer (if you want to).
As a developer, you may appreciate that XAMPP enables you to get your hands a bit dirtier in comparison with tools such as DesktopServer. In this case, you get full control over each of your stack’s components. For example, you can start and stop your Apache server at any time with a couple of clicks, or map the service to different ports. You also get access to detailed logs and more.
XAMPP provides you with a perfect environment to run WordPress, but it’s not a service that’s tailored to the CMS. That means you’ll need to tinker with some options just to set everything up. Furthermore, things get a bit complicated if you want to use XAMPP to run more than a single WordPress website simultaneously. It’s probably nothing you can’t handle – but it’s more work than using a tool designed with WordPress in mind.
Overall, XAMPP offers a fantastic level of customization that enables you to do almost anything you want, It’s not a great tool for beginners, however, and it isn’t the simplest solution to work with.
XAMPP is a 100% open-source package. There’s no premium version with hidden features, so you’re free to use it in any way you see fit.
The process of using this tool also works just the same as with our previous pick. You set up the stack, create a database, and then go through the motions of setting up WordPress manually. With that in mind, let’s focus on what the biggest differences between both stacks are.
The biggest downside to using MAMP versus XAMPP is that the former doesn’t offer standalone installers for popular applications such as WordPress. To be fair, that’s only a limitation if you don’t like to set up websites manually. If that’s the case, you’re probably better off using a more streamlined tool anyway.
- Enables you to set up an environment based on Apache, MySQL, and PHP.
- Lets you use different versions of the software, depending on which PHP release you want to set up.
- Supports a lot of additional languages, including Python and Perl.
- Provides the option to set up local WordPress websites manually.
When it comes to features, MAMP offers a bit less control over each of your environment’s components than XAMPP does. It also comes with its own dashboard, but it provides fewer options. This difference – on top of all the others – makes it an excellent choice if you’re looking for an easier tool to manage. You still get access to nearly all the same features, but MAMP is simpler to get used to.
Throughout this section, we’ve only focused on MAMP’s free version. However, there’s also a premium option available. It starts at $59 for both macOS and Windows, although the former gets more regular updates and better support.
MAMP Pro provides you with a lot more options, such as the ability to set up Nginx servers, a mobile testing tool, and a built-in editor. If you and the rest of your team are macOS users, all these features make MAMP a strong choice out of the many local WordPress development tools available.
Vagrant is a tool that enables you to run multiple virtual machines on your computer, and use them as environments for your projects.
If you’ve never used a program like Vagrant, you might think that sounds like too much trouble.
Furthermore, Vagrant makes the entire environment setup process a breeze. After installing the software, you can go ahead and download one of the many pre-configured ‘boxes’ its community has already created. If you want to install the perfect WordPress environment with a few clicks, you’ll have plenty of popular boxes to chose from. Chances are, you’ll find one offering exactly what you need.
You can also provision your own virtual machine, and use the command line to set things up exactly as you want them. Then, you can share your environment with every other member of your team. That way, you don’t all have to fiddle with configuring software and stacks the same way – Vagrant does it all for you.
Finally, we arrive at the most important difference between Vagrant and tools such as XAMPP or MAMP. With the latter, you always run the risk of installing a piece of software that disrupts your environment’s setup. After all, you’re using your own computer as a server. With a tool like Vagrant, each environment exists separately within your computer. That means you can have a server running Nginx and another with Apache on two separate Vagrant machines, and not run into any issues.
So far, Vagrant probably sounds like a strong option. That makes sense – it’s one of our favorite tools, too. You don’t have to take our judgment at face value, though. Here’s a quote from Primož Cigler, a full stack developer and CEO of ProteusThemes, about his love for Vagrant:
CEO of ProteusThemes
The first one we use as the main development environment for the themes we develop. It’s a modified fork of the roots/trellis project. It’s running an Ubuntu 16.04 nginx + mariadb + php-fpm stack.
The second one I use more and more frequently is the Wocker. It’s docker-based WordPress development environment with tools like WP-CLI built in, and it allows for rapid prototyping, creating fresh WP installations without any side-effects within 5 seconds, and switching between these instances easily. Overall, it’s a great tool for testing out new features, themes, plugins… without polluting your ‘standard’ dev environment. It’s like having unlimited local, fresh, disposable WP instances available at any time.
- Enables you to set up virtual machines for your local development needs.
- Lets you configure each VM to your specifications, and share them with other people.
- Provides the option to download pre-configured boxes and run them as you want.
- Helps you keep your test environments separated, and turn them on and off at will.
- Makes it simple to manage all your VMs using the command line.
So far we’ve mentioned using the command line twice, and there’s a reason for that. Vagrant is an entirely command-line based tool that’s available for Linux-based systems, Windows, and macOS. There are no fancy interfaces or dashboards this time around, however – it’s just the command line and you.
If you have experience in web development, chances are you’re comfortable using the command line for most of your day-to-day tasks. On the other hand, learning the necessary commands to use Vagrant isn’t all that complicated. If you’re not familiar with the command line yet, you shouldn’t let that stop you.
Vagrant is a free, open-source project. This fact, combined with all its other features, makes it a fantastic option for both solo developers and teams. Even if you have the budget to purchase premium local WordPress development tools, chances are that Vagrant can do the job better.
5. Local by Flywheel
That’s why we’ve decided to round things off with Local by Flywheel.
There’s even an option to create live links for your local websites, which means you can share your progress with teammates or clients. Overall, Local by Flywheel offers by far the easiest experience when it comes to local WordPress development. It may not be as powerful as Vagrant, but it makes up for it thanks to its accessibility.
- Enables you to set up local WordPress websites with a few clicks.
- Lets you monitor the status of all your existing sites from a list.
- Provides the option to access your sites’ dashboards, databases, and local directories with a click.
- Makes it possible to create live links, to share access to your local projects.
- Offers the option to set up blueprints, to easily deploy WordPress websites using the settings you prefer.
When it comes to features, everything that Local by Flywheel offers is tailored towards WordPress sites. Suffice it to say, Local is a joy to use if you’re a WordPress enthusiast. It may not offer as many customization options as Vagrant, for example, but they’re two entirely different tools. Whereas we’d recommend Vagrant more for professional teams, Local is perfect for smaller outfits and projects with less strict requirements.
Local by Flywheel is an entirely free tool that’s made possible by the WordPress managed hosting company Flywheel. There’s also a premium version in the works, but details about it are scarce at the moment. Overall, it’s one of our favorite local WordPress development tools.
Don’t forget to join our crash course on speeding up your WordPress site. With some simple fixes, you can reduce your loading time by even 50-80%:
Layout and presentation by Karol K.