Crítica Bits is a digital magazine publishing long-form reviews of hardware, games, film and literature. A newsroom that publishes daily has one specific enemy: the moment when writing stops depending on the person writing and starts depending on the CMS.
criticabits.com Live The real cost of publishing is not the writing
When a newsroom complains that “the site is slow”, they are almost never talking about the front page. They are talking about the admin: the editor that takes a while to open, the image upload that fails on the third try, the preview that does not reflect what was just written. That is where the time actually goes, because it is paid on every piece, by the most expensive person in the process.
So the first thing you measure on an editorial WordPress is not public load time, it is save time. A post.php that takes two seconds to respond is two seconds multiplied by every autosave of every draft, every day.
The three usual suspects behind a slow admin
- Autosave and unlimited revisions. A long article can pile up hundreds of revisions, and each one is a full row in wp_posts. Capping revisions at a sensible number keeps the history useful without turning the table into a landfill.
- The heartbeat. By default WordPress fires an admin request every 15 seconds per open tab. Five writers with three tabs each is sixty requests a minute hitting PHP while nobody is doing anything. Raise the interval in the editor and switch it off where it adds nothing.
- The dashboard news widget, which fetches external feeds on every admin load. If the remote feed is slow, the admin is slow.
None of the three affects a single visitor. All three affect every hour the newsroom works.
Caching with one non-negotiable rule: never for a logged-in user
A magazine gets cached aggressively, but the cache has to know the difference. If a logged-in writer is served a cached page, they see their own unpublished piece the way a reader would — or worse, they see someone else's. The rule is simple and does not bend: if there is a WordPress session cookie, there is no cache.
With that settled, the rest is geometry: Cloudflare caches the HTML of the front page, the category pages and published articles; purges fire on publish and on edit, not on a timer; and anything that depends on the user — admin, comments in moderation, previews — carries a no-store header from the origin, not from the edge.
It is nearly always the same pair: a preview that slipped into cache, and a new comment that does not show up because the article page was never purged when it was approved.
A custom theme instead of a bought one
The magazine runs on a bespoke theme with Tailwind CSS for the design and GSAP for the micro-animations. That is not an aesthetic preference: a commercial theme ships templates for twenty use cases, and nineteen are never used. What is always used is its CSS and its JavaScript, and those travel in full on every visit.
With Tailwind, the CSS you ship is the CSS that appears in the templates; with a custom theme, the front page's JavaScript is the front page's. GSAP goes where there is animation — the section covers, barely anywhere else — and not into the article, which is the most-read page and the one that least needs to move.
Category architecture decides whether a second article gets read
Six sections — components, games, technology, devices, software and miscellany — and a flat hierarchy. No sub-sub-categories, because every extra level is one more place for the content to scatter and one more URL competing with itself in search.
Author profiles are not decoration: in a reviews outlet, who signs the piece is part of why you believe it. Every author has their own page with a bio and an archive, and every article links to it. That is what a search engine reads as authorship, and it is the same thing that makes a reader go looking for that person again.
Personality and speed are not mutually exclusive
Crítica Bits wanted an irreverent site and needed to publish without friction for years. Both fit together, but only if the personality lives in the type, the colour and the rhythm rather than in a page builder with fifteen plugins behind it.
It is the conversation we have on almost every editorial project, and the answer is usually the same: the site that feels fast to read and the site that feels fast to edit are the same decision, taken twice.