Why Does WordPress Hate The Web?

I’ve been trying to convince myself to get back to the blog restoration project, in which I want to bring back as much as I can of my blogging over twenty years, and lately I’ve been back tinkering in my local WordPress install where I’ve been doing most of the work.

Whenever I’m trying to work on this, inevitably I end up looking for a decent, simple theme to use for previewing old posts as I work to conform some things from across different eras, and yesterday I installed the Hey theme which Automattic just dropped in April.

It’s my first experience dealing with a block theme.

Mostly I’ve been able to grasp the block editor which replaces all the old customization widgets, although I’m having a damnable time understanding why a given block renders differently on Front Page as compared to Single at narrow device widths.

Also, what’s up with the minuscule font size on this theme? Seriously, check out the demo on a mobile device. I think it’s too small even on a desktop display but that mobile experience is fucking ridiculous.

Looking at some old blog posts, though, it got worse and I was reminded about just how problematic is WordPress’s entire blocks strategy: it basically locks you into their code.

What I noticed was that under the Hey theme, blockquotes were completely unstyled. There’s not even any browser-default margin or padding happening. Blockquotes look exactly like any other paragraph or set of paragraphs.


The theme only styles blockquotes that have been created in WordPress’ block editor, which receive a wp-block-quote class. Any blockquotes you might have in posts that were not created in the block editor are shit out of luck.

To be clear: there’s no longer any way in the administrative backend to write custom CSS if you’re using a WordPress block theme. You’re stuck customizing through whatever tools the block editor offers up, unless you want to physically dig into the underlying theme code.

To be clearer: this breaks the web.

Or, at least, it breaks older versions of the web that someone, say, might import into a WordPress installation, because suddenly things like blockquotes are indistinguishable from every other paragraph unless you want to run database queries to change <blockquote> to <blockquote class=“wp-block-quote”> throughout.

WordPress allegedly runs something like 43% of the web, and all of its underlying block code is full of cruft that no blogger needs and no other blogging platform would want. In fact, it makes reading the underlying HTML of a modern WordPress blog post a fucking pain in the ass.

We’re supposed to love WordPress, I guess, for being part of “the open web” but this is not open. WordPress hasn’t been part of “the open web” for a long time now.

Unfortunately, I might be going back. Since I have to do all of this preparatory work in WordPress anyway, to get all my old blog posts together, I’m increasingly of the thought that maybe I ought to just keep it all in WordPress when all is said and done.

It’s fucking exasperating, though.

Really, I should be able to have blockquotes (or whatever) that look like blockquotes (or whatever)—even if they don’t look specifically like the Hey theme’s version of them—without having to jump through several different technical hoops. No weblog or website builder should outright override the basic styling defaults of HTML.


  1. It gets worse. My typical method of adding post addenda is to use an ordered list. The problem is, WordPress won’t let you make a list item with multiple paragraphs short of manually coding all of the HTML yourself. Still worse yet: if you have a <blockquote> in there? It doesn’t style it, even if you put class="wp-block-quote" on it.

    Can it get worse? It can. Minutes after in fact pasting it all in as straight HTML and saving as draft, I went back into the post in question and the custom HTML block was completely empty save for a lone <ol> element.

    Why does WordPress hate the web?

  2. Before anyone asks, and because it came up on Reddit: yes, it’s permissible to have paragraphs and blockquotes inside a list item because list items allow “flow content”, which is nearly anything.

  3. In the end, in addition to earlier having installed the brilliant Beaumont theme, I’ve succumbed to installing (ugh) Jetpack in order to use the Markdown block, and now things like my addenda lists will format properly.

    Also, I literally had to cut and paste the CSS for .wp-block-quote into a custom CSS for just blockquote, because WordPress hates the web.