Skip to Main Content

Misconceptions about Gutenberg are not valid criticism

I am generally seen as a critical voice to WordPress’s Gutenberg editor.  It is true that I feel there are many places where criticism of Gutenberg is valid, such as in timeline, scope of initial releases, and methods of post storage. However, there has been a lot of criticism of Gutenberg recently that is based on misunderstandings or miscommunication of the project goals and the definition of a “block.” To that end, I’m going to try to distill down what the “block” paradigm is all about, and why it is crucial to WordPress’s future. read more »

Disable Attachment Pages the WordPress Way

One of the oddest remnants of the early versions of WordPress are attachment pages. I can count on one finger the number of times I’ve thought “I’d like a dedicated page for every image on my site”. Normally, unused and illogical features like this can just be ignored. However, attachment pages aren’t just a harmless remnant of a bygone era.

Attachment pages have dedicated urls, that are based on the name of the image, and overlap with the slugs you can set for posts, pages, and custom post types. Because of this, if you upload an image named faq.jpg, you may find yourself unable to add a page at the address /faq. This can negatively impact your SEO, and is an incredibly frustrating issue to try to identify and explain to clients. Beyond the URL issue, they are another template that needs to be fully themed and branded, just in case a client runs across the page by accident. As such, they need to die. read more »

Ship of Feceus

Pronunciation: [ship uhv fee-see-uhs]


A common flaw in enterprise-level software development, whereby continuity and back-compatibility is prioritized above all other concerns. This prioritization causes obsolete or poor choices made early in project development to hamstring future development. Common signs that you are working on a Ship of Feceus include reinventing the wheel in ways that make no sense without historical context, or completely eschewing evolving standards among your peers, in favor of an “incremental solution”. Incremental changes are certainly preferred over breaking changes, and not all back-compatible changes are a Ship of Feceus, but often times a large change either requires many smaller, user-invisible refactorings to be released first, to prepare for the eventual change, or it requires a single breaking change to do the job right.

Variations: The Grandfather’s Ass, Rebuilding the Shit-to Shrine

Related Terms: Technical Debt, Spaghetti CodeDefactoringNot Invented Here
read more »


What’s so bad about HTML Comments as structure?

I’ve been getting a lot of traffic recently, due to my detailed critiques of some of the choices being made by the developers of WordPress’s new Gutenberg editor. One point I keep mentioning is the problem with storing post structure as HTML comments. It’s been brought to my attention that I often gloss over this issue with a general dismissal, without detailing why I am so dead set against it. To me, a lot of these issues seem obvious, but to others they might not. I’ve got a unique blend of formal Computer Science training and in-the-trenches work on both Enterprise and OSS projects, that may lend a different viewpoint than most.

To that end, I wanted to put out a hyper-focused post, to explain all of the issues I see with the new WP Post Grammar structure. read more »