Local Sync: a simple way to deploy your localhost WordPress website

You build WordPress websites on your computer because it’s the fastest and most secure way. Deploying it to the live server, however, is stressful and time-consuming. Luckily, Local Sync helps you deploy your localhost website with ease.

What’s Local Sync?

Local Sync takes care of all the hassle that comes with syncing the latest version of your website between local, staging, and live environments. It helps you effortlessly move the latest version of your website between the localhost environment and live environment, doing in minutes what would manually take you hours.

There’s no desktop app or port forwarding needed. Just open your localhost website in a browser, and Local Sync takes care of the rest.

How can Local Sync help me?

WordPress website development on localhost is the fastest way to get things done, since it’s fast and you can work offline. Once the localhost website is ready, Local Sync will copy the site from local to a website server. There you will spot any issues that would not show up in the local environment.

Local Sync works both ways. Let’s say you just got a new client and their website needs some work. You don’t want to wreck the live website, so you use Local Sync to push the latest version of the website to a local environment. Once the work is done, Local Sync will deploy the changes back to the live website.

Local Sync can:

  1. Sync differences between a website on your local computer and the one on a website server
  2. Deploy a website from your local computer
  3. Sync websites on different website servers

To get Local Sync to work, you just need to:

  1. Get your localhost WordPress website up and running
  2. Install and activate the Worker plugin

Local Sync will take care of the rest. It’s so straightforward, you’ll wonder why anyone in their right mind would deploy a localhost website any other way.

How is Clone different from Local Sync?

Clone relies on backup archives to get things done. It’s slow but very reliable.

Local Sync, on the other hand, skips the “create a backup in cloud storage” step and transfers the website content straight to the destination website:

  • Once you pick a localhost website and a live website to synchronize, your local website will open in a new browser tab. Since localhost is not accessible from the internet, we’re using the browser to connect to the local website. This tab needs to remain open until synchronization completes.
  • File checks are done on both websites and Local Sync lets you choose which modified files you want to push. The destination database is overwritten, just as with Clone.

Local Sync is essentially a lightweight version of Git Push command, where existing websites act as repositories.

Local Sync is currently in beta. With so many different server setups on the web, it is impossible to test them all in advance. That’s why we need your help.

Go to the Local Sync page on your single site dashboard, play around with it, and try to break it. Send us bug reports, but also your feedback – both good and bad. Help us turn Local Sync into a valuable asset.

Local Sync roadmap

We want to go above and beyond the Git functionality – you choose which files and database tables you want to sync. More importantly, we want a world where you make changes in staging and push them to a live website without any stress, in under a minute — and with no data loss. You gotta admit that it’s a great goal to have!

Nemanja Aleksic Avatar

25 responses

  1. Morten Ellegaard Larsen Avatar
    Morten Ellegaard Larsen

    I can’t get my hands down, this is like a wet dream to me! 🙂

    I haven’t tested it yet (my hands are still up in the air), but this function is what I have missed. I my first born hadn’t moved out, I would have shipped him right away.

  2. Jean-Francois Arseneault Avatar
    Jean-Francois Arseneault

    You mention on the feature page “Smart database merge, so you won’t lose any database entries that happened in the meantime”

    I’m curious how / if you’ll be able to solve this, given others have tried it and failed : VersionPress, MergeBot, etc

    The issue becomes : How can you reconcile new “local” posts/postmeta using a given ID, with the fact that given ID might have been used in the “live” environment. Perfect example would be creating a new page in “local”, but the client has published a new blog post in “live”, therefore creating a potential collision… and how can you avoid this while ensuring all post_metas are kept in sync, should you change on of the post_id ?

  3. Vladi Avatar
    Vladi

    Great Goal? That’s like a dream coming true 🙂

  4. Luther Adams Avatar
    Luther Adams

    How do I test this in beta, I cannot see the option in my dashboard. Thank you.

  5. Tim Martin Avatar
    Tim Martin

    This is a fascinating idea. I develop WordPress sites locally using Laravel Valet and Nginx. I’ll run some tests later this week and see if I can break it.

  6. Jurre Avatar
    Jurre

    This is great! Thanks for this update and let’s make it a good one 🙂

  7. Kyle Charlton Avatar
    Kyle Charlton

    I tried the app today, it was very simple to use and fills in the missing gap between live and local development. I did experience one bug where single word page titles such as “Home” , “About”, “Contact” became lowercase title “home” , “about”, “contact”. Pages with 2 or more words were not affected. Very excited about this app.

  8. Frank Avatar
    Frank

    Hi,

    I’am interested if this feature doens’t conflict with database of woocommerce? Just want to make and test some plugins/ coding and frontend style locally but don’t want to take risk with the woocommerce registrations (orders) for our running event.

  9. Steven Avatar
    Steven

    Most devs who have a proper setup with local/staging/live environments will be using git and likely deploying via SSH, which works great for us and is something as a community we should be encouraging. I can’t see Local Sync being something we would use, although I can see the potential of syncing db changes and assets.

    I would be cautious of syncing database changes from one env to production, usually we get the client to manually reproduce any changes made by them on staging to live, although I can see the benefit of Local Sync saving them time if it can selectively just sync those changes and nothing else..

    What we really need in order to grow as a business is for ManageWP to pick up the WP/plugin updates made outside of MWP (deployed via git) so they can be included in the client reports – currently we cannot use this feature as it doesn’t show the client all of the work we do, which results in less client engagement/visibility etc. I feel that MWP is catered more towards site builders who update in real-time than developers who do things more methodically, Local Sync may help bridge that gap but it would be good if it had more of a developer first approach.

  10. Lucas Reis Avatar
    Lucas Reis

    I am not able to get this working. It always say it could not detect active Worker plugin, but the plugin is activated, when I click on “continue anyway”, it will give me an fatal error.

    ” Fatal error: Uncaught Error: Cannot use object of type stdClass as array in /code/wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/CommandListener.php on line 189″

    You can also see a print screen at: https://ibb.co/ym2Mx97

  11. iimeorgin Avatar
    iimeorgin

    Local Sync gives you Git-like ability to synchronize your localhost WordPress website with another environment, saving you hours of your time in the process.

Leave a Reply

Your email address will not be published. Required fields are marked *