What is WordPress’ secret sauce?

tl;dr Now that social media is king, post-WordPress blogging systems don’t want to deal with comments, outsourcing them to services such as Disqus. But blogs are better with comments, and WordPress’ native commenting is worth a look.

Static-site generators have been turning the heads of developers who blog ever since the Ruby-powered Jekyll was first released in 2008, with the fashion turning to the Go-coded Hugo and now a flurry of React-based static-site generators that promise super-fast interfaces and advanced functionality.

But still, WordPress persists. Either provided by Automattic, or self-hosted, WordPress is “heavier” to run than a static site, being more or less “dynamic” depending on the degree of caching that a given site uses. But the “batteries included” nature of the system and the difficulty of adding features to static-site generators makes WordPress a workable and viable alternative for the non-technical as well as the very technical who don’t want to devote large amounts of time to bending a bare-bones framework to their will.

While features and ease of use are big, there is one reason why WordPress remains fiercely popular and uniquely complete. It’s the secret sauce:


WordPress was born at a time before social media. That means before Twitter and Facebook. Even before MySpace.

Even then, interactivity was king, and blog comments provided that interactivity, the back and forth between writer and readers, and readers and other readers.

What WordPress had then (in the early 2000s), and Movable Type before it, is a native commenting system. The interactivity was baked in.

Since that time, most “serious” users of WordPress have outsourced their comments to services like Disqus or Facebook Comments. New commenting services spring up here and there, but nothing has risen above the noise level and said, “Here is your self-hosted commenting system.”

The rise of Disqus was built on the perception — largely real — that native WordPress comments were a spam magnet, and that a unified account system would encourage readers to comment without needing to start an account for every self-hosted WordPress blog they visited.

Instead many dozen (probably a couple hundred) static site generators — StaticGen keeps track of them — tout the ability to build a blog or website and then deploy it as easy-to-server static HTML. But comments? It’s an afterthought. Actually it’s because comments — and any kind of interactivity — is hard.

Almost all of the static-site developers say, “Just use Disqus.”

Then you have a static site that is wholly yours with comments that are … not.

On WordPress you can mirror your Disqus-generated comments on your local database and presumably leave Disqus at any time with your comments intact.

Not so on the static-site generators. Unless you write some code that does it, you are chained to Disqus unless you want to lose your comments.

It kind of kills the “I’m an island” buzz of generating your entire site from Markdown files on your local drive.

I have only dabbled in static-site generators (mostly Hugo, but also the Perl-coded Chronicle Blog Compiler — one of the few that has a comments solution — and Racket-coded Frog), though for years I have been writing a personal blog that is dynamically generated by Ode, which uses Perl-CGI to render pages on the server and also allows for Disqus comments.

I didn’t think about returning to WordPress and embracing the system’s native comments until I saw the blogs written by Penelope Trunk. She’s been doing this on WordPress for a long time, uses native comments, and seems to be able to keep it free of spam. Like the days when my Daily News-hosted tech blog drew many comments — most only there to tell me how wrong I was about a given topic, The conversation was more interesting than the entry itself.

Do we want to give that up with the static sites? And do we want all social-style interactivity to take place on services owned by mega-corporations? Remember forums? They’re pretty much gone. Spam and trolls killed them, I guess. Also social media.

I guess you could think of Disqus as your own social services that integrates with your blog and then stick with them, but once you’re that far down the path, you could just as easily roll out a WordPress (dot org, aka self-hosted) site and see how it goes with native comments.

The biggest beef I have with WordPress right now is that migrating, even from one WP site to another, is tough because your images and links don’t tend to make it. WordPress likes to use full-path links in image tags, and if you download your WP site from one server as XML and somehow manage to get all of your multimedia (mostly images, I guess), you upload to a new WP installation and suddenly have broken image tags in every post.

I could start hacking at that XML, search/replacing URLs to images, but should’t the WP migration tools do that for me?

Maybe they do, but they’re sure hiding all of that well.

So now you know the thing I love most about WP (native comments) and the thing I don’t love (migration pain).

And you see that I keep a hand in with WordPress.com, where you can always blog non-commercially for free, though they would prefer you pay them $4 to $25 per month.