A very common question we see in Facebook groups and SubReddits is “how can I develop my own WordPress website before going live? Is there any service that will allow me to host my website for free, so I can mess around with it (sandbox environment) before moving it to a live web host?”
There are a bunch of reasons that you would want to build locally, or not on your final webhost. First, you can save several months of payments for production hosting, as you won't need to be paying for your life server when developing.
You may also just want to play around with WordPress and test it out, and it wouldn't make any sense purchasing traditional web hosting, which is oriented towards those who are trying to bring a website live and offer it to the public.
Developing also involves adding, removing, and testing multiple plug-ins, themes, and database configurations. All of this will add bloat to your server, so you definitely want to do this on an environment created for development, and then move your website to a live server.
There are very few drawbacks when it comes to developing your website on a different hosting infrastructure then your production host. The only additional step that doing this requires is migrating the development website to the live web host, which is a really simple and easy thing to do.
Now that we understand why you probably want to be developing a website on a separate platform, let's go over 4 options that you have. As an agency, we've used every single one of these options and each has its own pros and cons.
WampServer is software that basically allows you to install a fully functional web hosting framework on to your computer. This means you can locally host, develop, and edit WordPress (as well as other web).
WAMP is an acronym that stands for Windows, Apache, MySQL, and PHP. It’s a software stack which means installing WAMP installs Apache, MySQL, and PHP on your operating system (Windows in the case of WAMP).
If you've been involved in setting up hosting installations, you may have heard of LAMP. LAMP is a collection of software that allows you to run WordPress on Linux.
If you're installing WordPress into any generic web host, you're probably using a LAMP stack (collection of software that allows you to run WordPress). WAMP does the same thing just on your own computer.
We really like using this to mess around with ideas of ours, because it allows us to really quickly and easily access the files behind WordPress. This means we can drag-and-drop plugins, themes, and quickly edit files on our native text editor in Windows.
There's no need for FTP, or SSH access because all of the files are stored locally on the computer.
Installing this to your computer is pretty simple, all you need to do is download and installation package, and it will automatically install a bunch of individual packages, and management software to your computer.
Then all you need to do is install WordPress, and begin developing. You develop your website on a localhost. What is means is instead of typing a domain name or IP address into your browser address bar, all you need to do is type localhost and the name of your installation. (ex. localhost/wpinstall).
WordPress is then installed, and you can edit and code as you would on any traditional web hosting installation.
This is very powerful, and will allow you to tweak individual PHP settings, server settings, and more. It's great for developers, but simple enough for first-time users to figure out.
Keep in mind that you will definitely need to follow some tutorials to properly install the software, but once it's on the computer, and once you understand how to use it, it's super fast, powerful, and free.
Also, because you're hosting everything on your own computer, you can develop your website without an internet connection. On the flip side, you can't share your website (by sharing the link) with anybody on the internet without having to install additional software.
If you develop a website on WAMPserver, and then need to move it to a live web host, this is very simple. Just follow our guide here:
If WAMP seems a bit technical for you (I don't blame you) then a simpler solution would be Local by Flywheel. This is also free, and allows you to host your website on your own computer.
Local is a much simpler version of WAMP, but if all you want to do is have a Sandbox where you can mess around with WordPress installations, this is the software for you.
There are two things that we like about this service. The first thing is that it allows you to install WordPress in one click, and automatically sets up your database. This is very quick and simple, and compared to WAMP where you need to make your own database, it's much easier.
Local also allows you to create demo URLs, and share your website online, even though it's being locally-developed, This is a great feature to have, and though you shouldn't use it to access and develop your website online, it's perfect for sharing.
One drawback we have noticed is that Local is fairly slow.
Pushing changes, loading new changes, and more happened very slowly. We've tested this on multiple machines, but haven't seriously debug the issue as we typically use wamp. This is just something to keep in mind if you are going to use this service.
If you're looking for a super simple, minimal development environment for your computer, you should definitely check the service out. It's free!
Pantheon is an online WordPress host that is very oriented towards developers and Enterprise applications. They allow you to create up to 20 individual sandbox websites. When we build small to medium-sized WordPress websites, this is the service that we use, as it offers a lot for free.
Because this WordPress dev installation is hosted online, you can develop from anywhere, and share the link to other devs and clients.
This is a service created specifically for developers, so on the backend you can access a lot of powerful features as well. If you are in the Pantheon ecosystem, then you can easily move your website to a live hosting solution offered by them in one click, but we choose to use the development hosting on Pantheon, and then migrate the site to Cloudways or a dedicated Cloud host.
There's also a lot of Team specific features, which is great if you are a multi employee design and development agency. Everybody can work together pretty easily with this platform.
If you're doing a completely local installation for development, it's very difficult to have other people work on your project. That's more suited towards individuals, or somebody who's just looking to play around and test themes and features by themselves.
A drawback is that because it's hosted online, you'll need to connect via SFTP to access your WordPress files. At times, this solution can be somewhat slow as it lacks a lot of power. In those situations, we'll use the next option to develop.
And we're working on a large website, performance and speed is paramount to the success of the project. Sometimes, developing websites on infrastructure that won't be the same as the final platform doesn't make sense. That's because the website could be very heavy - slow to migrate with lots of big static files.
Getting a Speed and Performance right is necessary, so it doesn't make any sense to develop it on another platform, optimize it to run quickly on that platform, migrate, and then have to re optimize it to run quickly on a new platform.
For most of our large projects, we will use a dedicated Cloudways DigitalOcean installation. Cloudways is our host of choice, and most of our final project end up being hosted by them. This is because of their unique offering, which allows us to put the website on enterprise-level cloud hosting, and manage them quickly and easily. Adding new installations of WordPress takes three clicks.
We will partition a new DigitalOcean installation to develop the website on, notisave cost we won't afford the project as many resources as it will get when it goes live. What this means in plain English is that we purchase hosting that has less RAM, storage, and CPU processing power than the final project.
This means we keep the monthly hosting costs down until we need to serve the website to the public, but can develop on the same platform that the website will be going live on. We can correctly configure all caching solutions, CDN, and more by going this route.
Like Pantheon, Cloudways offers a lot of team collaboration tools, so multiple designers and developers can work on the project at once.
When it's time to bring the website live, we will do one of two things. First, we'll check to see if the server is bloated from our development process. If the server is bloated, we will make a new server on Cloudways and migrate the website to the new server.
If the server isn't bloated, which is the typical scenario, will simply increase the processing power and storage to an optimal resource level for our end product. For example, we may develop using a $10 month DigitalOcean plan (through Cloudways), but then upscale the server to a $50 a month plan that has a lot more memory and Storage.
With the service, it's super simple to do: it takes three clicks and the server is upgraded automatically. All hosting, caching, domain configurations, SSL, DNS, and more remains the same.
We hope this blog post gave you a good overview of the four major options you have when it comes to hosting your website for development. if you know of any other options that are a good fit, feel free to leave your recommendations in the comments section (we recently reintegrated it into our blog!)