version control plugin for WordPress
the Undo button for WordPress, and more
VersionPress is a version control plugin for WordPress. It keeps the whole site, both files and the database, in Git enabling things like site-wide reverts, safe updates, easy staging etc.
VersionPress greatly improves the WordPress admin story. It versions the whole site thus providing safety net for plugin updates, playing with themes etc. It also has a staging environment built in, is perfect for backups etc.
VersionPress is WordPress administration how we always wanted it to be. VersionPress essentially provides a safety net for plugin updates, playing with themes etc. It also has a staging environment built in, is perfect for backups etc.
VersionPress is currently a prototype and will be Free Software if you help us build it.
VersionPress is currently a prototype. Help us build it and get early access.
VersionPress is a prototype at the moment. Read the whole story and help us build it.
pledged $5,265 (18% funded), 12 days left
(Demo video coming soon)
Lorem ipsum, this is cool. Dolor sit amet consectetur adipisicing elit, sed do eiusmod
Wow, this is exciting. VersionPress solves most of the issues I have with WordPress today. I can't wait!
Wow, this is exactly what I've been looking for! VersionPress opens door
Wow, where have you been all my life VersionPress? This will make my WP workflows so much smoother...
Revertible updates? Easy staging? It can't come soon enough.
VersionPress is an exciting project for me and my clients. Revertible updates? Easy staging? It can't come soon enough.
Possibly the best thing about WordPress is how simple it makes most tasks. Just log in to the administration, click here and there and boom, you have three new plugins installed, a new theme activated etc. People love this, and we do too.
There's a flip side to it, however. Once the site is deployed and used by real visitors, those buttons actually become sort of a threat to the site because they make all the changes irreversibly and straight in the production. That is a problem because 3rd party plugins sometimes have bugs, are incompatible with each other, the theme might need updates etc. There are ways to deal with it but it's a tricky job – so tricky that over 70% of WP sites in Alexa Top 1 Million gave up on updates.
And we felt this was just wrong.
WordPress is our CMS of choice, we love it and build many types of websites on it. There is one recurring problem though: once the site is published, how to make changes to it reliably? There will be plugin updates, design changes, we'll sometimes want to deploy new functionality etc.
By default, WordPress has various Install and Update buttons, textareas to edit the source files directly and so on. This sounds nice on paper but is actually pretty scary because all those changes are done in production and irreversibly. It means that sooner or later, any customized WP site will break in some way. It just will.
This is an issue with deep consequences. Probably the worst thing is that many people fear updates and ignore them, meaning that their WP instances are outdated, vulnerable to security attacks and so on. Even for professional WP admins that usually have some ways around it, it is currently not pleasant to deal with The Great Update Problem™.
We wanted to change that.
We are primarily software developers and something occurred to us: the same problem is encountered all the time in our field and actually solved. There is a technique called version control which is very simple in principle – just store a new version after every update – but is extremely powerful in consequences. Just imagine WordPress could do all this:
Any historic version of the site can be restored from the archive and returned to
This sounded too good not to pursue it. So please (drumroll)...
VersionPress is our dream of how to develop and manage WordPress in a much more pleasant way. We took proven practices from software development, applied them to WordPress and packaged everything as an easy-to-use plugin.
The result is exciting. We don't know of any other solution for WordPress that would combine user friendliness and powerful technology in a way that VersionPress does.
VersionPress creates a new version every time something changes, be it new comment, plugin update, some admin action or just anything.
This is the core feature of VersionPress. Technically, we version both files and the database which is a unique and powerful approach.
Maintaining historic versions means that VersionPress can return to any previous state of the site easily. It is always just one click away.
There are two options – either return to a historic version as it existed at that point in time, or just undo some specific change(s) from the history.
The Undo feature is actually smart – you can roll back any change (or multiple changes) from the history without affecting the newer updates. For instance, you can return to an older theme while maintaining newer content updates.
This is often useful and not many undo implementations can do that.
Staging is crucial for reliable updates but has been traditionally bit of a pain to set up and work with.
VersionPress changes that. As it deeply understands what changed in a WP site, the sync between environments is painless and automatic most of the time.
VersionPress is extremely space-efficient when it comes to its internal storage. A site with hundreds of updates will still take just a few megabytes.
Another great thing is the granularity. New version is created after every logical change, not at a fixed time of day.
No matter how you manage your WP site, whether through admin screens or by manually editing the files or the database in an external tool, VersionPress supports that. Use whatever workflow suits you best.
This is a small but very important point. VersionPress needs to integrate deeply with a WP site so we are very happy that it can ship as a standard plugin with all the advantages.
It also means that the data is 100% under your control – on your server – and only you decide where it goes.
Once installed, VersionPress runs silently behind the scenes. You don't need to see it, you don't need to worry about it, it just does its job.
However, should there be any problem with the site, VersionPress is right there to help you out.
We use Git to manage the internal storage. This has many advantages over custom MySQL tables and was an important decision up-front.
Git is an amazing system – used by millions around the world, reliable and supported by many 3rd party tools and services. We love it.
VersionPress is a prototype at the moment; by building it we have proven that our approach works. However, much more work is needed to build something that everyone can use. And that's where you can help.
We're launching a crowd-funding campaign for VersionPress – you help fund the development and get certain benefits in return.
Note: If you're not familiar with the crowd-funding model, see for instance Kickstarter's intro.
Here are the campaign goals:
VersionPress will be free software, 100% GNU GPL. We might be offering paid support or some optional accompanying service to fund future developments but the core will be GPL-licensed.
Thanks for helping build something great!
The main issue is not the feature incompleteness; it is that the current prototype can completely break the site under some circumstances. First public release will come when we are 100% sure that that doesn't happen.
In v1, we plan to implement all the core features as described above and make it run on an own server with a clean or relatively mildly customized WordPress instance. This is expected to be delivered in Q4 2014 with preview releases available during the summer to backers from the "Early access" level up. After v1, we plan to focus on supporting more complex WP plugins and to make sure VersionPress works in as many hosting environments as possible.
Yes, it provides some basic version control for some of the contents but VersionPress goes far, far beyond that. Those two things are really not comparable and can actually live happily beside each other.
The founder of the project is Borek Bernard (LinkedIn, Twitter), long-time software developer and blogger from the Czech Republic. He was joined by Jan Voráček (LinkedIn, Twitter) who is a great PHP developer and Borek's colleague for the last few years.
The legal entity behind this is Borek's company, see Terms & Conditions for full details. Should you have any questions or suggestions, please contact Borek.