Pushing changes from localhost to live server?

I am searching for a good solution in which i can develop a wordpress site on my localhost and push the changes i made easily to my live server.

The idea is that i have some kind of plugin/software in which i just enter database and ftp credentials and i can just press Push changes and the changes get pushed from my local server to the remote server. Then i should have a full list of all the changes i made so in case something goed wrong i can always revert back.

I checked out a lot of plugins but there seems to be no plugin out there that gets it right. I tried WP Time Capsule, WP-Vivid, Duplicator, WP Staging Pro and the list goes on.

Does anyone know a good solution for that?

Thanks!

UPDATE

I found two solutions which do partially what i want. The plugins are called WP Synchro and WP Migrate DB Pro. The Problem is that these Plugins come with two downsides:

  1. You need a website installed on both ends so you can push changes.

It would be necessary that you could push the first time without having to install a target website on the live server.

  1. These solutions don't have version control.

This is not necessary but would be definitely nice to have.

FURTHER UPDATE

We found a solution that would have been perfect which is Wordmove. This is not a plugin but a whole local dev environment for Wordpress based on Ruby on Rails.

Sadly this environment does not run well with Windows(Which the devs themself stated on their website since it is a natvie Linux/Mac OSX application).

There were many problems trying to install this and we couldn't get it to run correctly. If someone knows something similar to Wordmove which runs better on Windows then please let me know.

Thanks!

Topic localhost staging plugins Wordpress

Category Web


Update 8.20.2021:

You ask questions like: How can you go without fatigue 500 km in 30 minutes by bike? The answer is simple. You have to choose another method or create a better one.

  1. Remote communication with mysql is not recommended because it is not secure.
  2. FTP is not a good choice for Deployment.
  3. The transfer speed in FTP is low.
  4. FTP is deprecated - but it is a valid way of transferring files.

You can easily doing that using GitHub Actions.

For such situations, we have a problem about Db. WordPress authors may write a new article. Or register a new user. Or place an order on WooCommerce. Or set a new record in the contact form. So it's not a best practice to push the DB but you can doing that too.

Requirements :

  1. SSH access
  2. Github account
  3. Github Desktop (Optional)

Pros:

  • Using Git version control (you can easilly undo to last commit)
  • You can setup test
  • Secure Connection
  • Push in short time
  • Free :)

Cons:

  • You should have SSH access so you can't doing this with any host.
  • I think this is not a good practice for DB.

Read this article : https://dev.to/knowbee/how-to-setup-continuous-deployment-of-a-website-on-a-vps-using-github-actions-54im

First add a repo for project. in local, git init in the folder. you can choose a theme or plugin folder or the whole WP.

Upadate: using docker container is a good option too.


You can achieve what you want using Local + WPEngine. Recently WPEngine made a deeper integration with Local. Local works great with windows and is very easy to set up a new WordPress local environment with it (only with a few clicks you will have a new WordPress site installed in your local enviroment, with a local url "http://your-site.local"), also this approach gives you the possibility to pull the website from WPEngine to Local as well as pushing from Local to WPEngine with just a couple of clicks, this includes an option for pushing the database if you want, without installing any additional plugins or third party resources.

WPEngine makes daily backups, and you can restore the backup you want to go back to, with just one click, so, if something goes wrong, it is very easy to recover your website. Also, WPEngine gives you a staging enviroment in the server, where you can test your changes and then deploy to production in just one click.

Here you can read more about features and configuration of Local + WPEngine connection.

As an alternative, you can use something like DeployHQ or DeployBot; connect that to Github, Bitbucket or similar, to create a pipeline to your server. So, when pushing via git to the website's repository, the deployment tool will deploy your local changes to your website. The configuration for those tools is relatevely easy. The downside of that approach is that you will have to use something like WP Migrate DB Pro to push the database and you will have to go trough the configuration process for every new website.

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.