惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
MyScale Blog
MyScale Blog
博客园 - Franky
The Cloudflare Blog
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
博客园 - 聂微东
WordPress大学
WordPress大学
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
The Blog of Author Tim Ferriss
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
罗磊的独立博客
Google DeepMind News
Google DeepMind News
P
Proofpoint News Feed
Martin Fowler
Martin Fowler
aimingoo的专栏
aimingoo的专栏
J
Java Code Geeks
腾讯CDC
雷峰网
雷峰网
Microsoft Azure Blog
Microsoft Azure Blog
G
Google Developers Blog
博客园 - 【当耐特】
美团技术团队
云风的 BLOG
云风的 BLOG

CloudCannon Blog

Building with AI: Git-based vs headless vs traditional CMS CloudCannon + Astro: performance meets powerful content management Introducing the Astro Component Starter Introducing Jetstream — built on the Astro Component Starter Why we switched to the system font stack Redesigning CloudCannon’s docs with Diátaxis, Lume, and Pagefind Make content editing more visual: upgraded Editable Regions How Configuration Mode makes building editing interfaces easy Your hosting just got an upgrade (and a price cut) Custom testing domains for professional branding Keep your content consistent with input validation Managing multilingual content in CloudCannon Simplify team publishing with conflict resolution and domain tools Open Beta: Publishing Conflict Resolution Getting started with CloudCannon and Astro: Bookshop, components, and live editing Welcome to the CloudCannon Community! Omnichannel delivery is just marketing spin from API-based CMS companies Getting started with CloudCannon and Astro: Snippets and Collections Managing digital assets in CloudCannon: a guide to smart asset storage Understanding CloudCannon's branching workflows and Projects: a complete guide What is a static website? CloudCannon’s 2024 wrapped Getting started with CloudCannon and Astro: WYSIWYG blogging Jamstack vs. WordPress: reasons to make the change The top five static site generators for 2025 (and when to use them!) Free Jekyll themes for 2025: ten great community options Eleventy (11ty) vs. Hugo How to set up WYSIWYG editing with MkDocs Material The rise of static-first websites: why major brands are making the switch Watching your Core Web Vitals on Jamstack
Content is sacred — so own your revision history
2024-10-18 · via CloudCannon Blog

We’ve had a few weeks to observe the ongoing drama affecting the WordPress community. I won't recap it here; just keeping up is a full-time job. (See Ivan Mehta's ongoing updates at TechCrunch if you'd like to catch up.). And as fascinating as this has been to watch from a reasonably safe distance (I migrated my last sites from WordPress a couple of years ago), I'm certain we haven't seen the end of it.

Is this the wakeup call WordPress (and the web) needs? Direct link to this section

I'm equally sure that this isn’t the whole story. It’s just the bits we know, the pieces we’ve been told. There will almost certainly have been numerous back-channel discussions, increasingly less polite requests for payment, and possibly even more silent service disruptions that have brought these Automattic and WP Engine to this point. It’s only now that tensions have escalated that the disputes have been made public.

There are also, quite obviously, huge sums of money at stake here, in the range of tens to hundreds of millions of dollars of annual revenue. According, there’s serious competition: Automattic and WP Engine compete for users seeking managed WordPress installs and hosting, and both base their business model on the open-source WordPress software. The big issue is that only one of those commercial enterprises has a (likely controlling) vote on the future of the open-source software, as well as the news feeds and servers that all WordPress users connect to.

It doesn’t inspire confidence that a developer’s existing maintenance burden is increased by large companies arguing over licensing money and the ‘right way’ to leverage open source software. It’s even more of a concern that multiple users’ sites were broken, failed to update, and that WP Engine users were blocked from accessing themes and plugins — particularly because their access to WordPress servers was deliberately denied. (And don't get me started on WordPress executing Order 66 invoking point 18 and forking the Advanced Custom Plugins project while taking its slug and install/review count, or complaining that WP Engine doesn't contribute enough while banning them from sponsoring or participating in community events.)

But let’s focus on the tipping point. (Or at least, the very first reason we were given publicly — follow the money and you’ll go down the rabbit hole of trademark disputes, anticompetitive behavior, rampant egos, and spurious licensing requests.)

Let’s talk about revision history Direct link to this section

The apparent inflection point for Mullenweg — the core argument with which he first tried to rally the WordPress community — was WP Engine disabling revision history for their users. That’s less than ideal for obvious reasons, and WP Engine presumably saves a lot of money by disabling this revision history entirely, though users can individually request that 3 to 5 revisions are enabled.

It’s probably news to some people that WordPress actually has a revision storage system at all — for each page or post, multiple revisions can be stored. The exact number of revisions depends on how your site is configured; by default there’s no limit to the number of revisions that are saved. (Automattic’s Jetpack also lets users enable, disable, limit and delete their WordPress revisions.)

But no matter which service you use for your WordPress site, and no matter how many revisions you have access to, your revision history is only as strong as your last backup. And because WordPress is database-driven, your content and its revision history is locked up in a proprietary format.

I can’t help wondering — as Joost van der Schee already has — why is everyone ignoring Git? Haven’t we solved the problem of revision history already?

Git is, after all, the most widely-used version control system in the world. Surely, if content truly is sacred, it would be a natural choice for the most widely used CMS in the world to use it? Indeed, several solutions on this front have popped up in the last couple weeks, and there are a range of plugins promising Git-based content backups — if, of course, users aren’t blocked from accessing or updating their plugins!

VersionPress, for example, seems to be a reasonable addition to enable Git-based content backups, while WP Pusher and Gitium can handle plugin and theme backups and continuous deployment.

My position here is probably pretty clear. Git-based CMSs like CloudCannon build version control into the very fabric of their systems, unlike a traditional database-driven CMS like WordPress, where content history can be limited or difficult to access. (Or, in the worst-case scenario, deliberately blocked by competing multi-million dollar concerns.)

True data portability and ownership Direct link to this section

Git-based CMSs store all content in users' Git repositories, providing a comprehensive and granular version history of every change. This approach offers several benefits, including a complete audit trail of all content modifications, the ability to easily revert to previous versions if needed, and simplified collaboration through branching and merging.

And when content is stored in Git, users have full ownership and control over their data. Content is not locked into a proprietary database format. Users can easily migrate between different hosting providers or platforms. And developers can, if they choose, work locally (or even offline) and sync their changes when they’ve reconnected.

This level of data portability ensures that content creators are not tied to any single platform or service provider, fostering a more open and flexible web ecosystem.

Enhanced security and reliability Direct link to this section

Git-based systems can offer improved security and reliability. Git’s decentralized nature makes it more resilient to data loss. And CMSs that don’t rely on databases have a reduced attack surface (as do static sites). It’s also much easier to implement backup and disaster recovery strategies.

Static site generators, which often work hand-in-hand with Git-based CMSs, can deliver exceptional performance gains over legacy CMSs. Pages can load significantly faster due to pre-rendered content. Server resource requirements are greatly reduced, and high-traffic sites can see much better scalability under heavy traffic loads.

Developer-friendly workflows Direct link to this section

When developers are involved in websites, they find that Git-based systems align well with modern dev practices — they can seamlessly integrate with CI/CD pipelines, and testing and staging of content changes is much easier. Finally, for developers already using Git, it’s easy to apply the same mental model to websites and their content.

And while WordPress is known for its extensive plugin ecosystem, Git-based CMSs offer their own flexibility, including the freedom to choose from a wide range of static site generators, the ability to use modern frontend frameworks and tools, and the choice of choosing a headless approach for enhanced editing and publishing experiences.

Moving the web forward Direct link to this section

As we reflect on the WordPress drama — and wait to see what happens next — it's clear that there's no one-size-fits-all solution for web content management. However, Git-based CMSs represent a compelling alternative that addresses many of the concerns raised (and threats made) by both Automattic and WP Engine.

Could Automattic and/or WP Engine turn to Git, and gain a significant advantage over both competitors and other providers of the same open source software? Maybe — and that’d be a heck of a shakeup for the web.

But until that happens, if it ever does, a sizable proportion of the web won’t see the same benefits that already exist in CMSs like CloudCannon — open standards, prioritizing data ownership, and aligning with modern development practices.

Git-based content management systems already offer a path away from WordPress that respects the needs of both developers and content creators, where content really is sacred, and isn’t locked away in a proprietary database. It's worth considering how the approaches of the Git-based CMS can contribute to a more open, performant, and user-centric web.