Jens Oliver Meiert

Website Optimization Measures, Part XXXIV

Published on Nov 18, 2025, filed under , . (Share this post, e.g. on Mastodon or on Bluesky.)

Welcome to the 34th episode of “Website Optimization Measures,” a series in which I share improvements and lessons from the work on my personal projects, so that you can pick what may benefit yours:

  1. Restoring past articles. On some routine link checks, I discovered posts I deleted in the past that I then decided to restore: Teamwork, Democracy, and Decisions, On Guidance, and Can We Prevent Terrorism?. It’s rare that I do this, but I deemed these articles fine to feature again.

  2. Renaming .mjs to .js files. For reasons that I didn’t investigate, some of my Eleventy projects were using the .mjs extension to indicate ESM. As that wasn’t needed (anymore), I renamed them. A tiny clean-up.

  3. Extending bot crawl settings. In WOM XXVI I wrote about adding crawl delay settings to several projects’ robots.txt files. I included “AhrefsBot” in the mix.

  4. Replacing dependencies by native Node functionality. Prompted by NodeSource’s 15 Recent Node.js Features That Replace Popular npm Packages, I checked my projects on more dependencies to be replaced with something Node could now do natively. This led to Jest being replaced by node:test, and Glob being replaced by fs.glob(). Wonderful.

  5. Profiling and optimizing Eleventy site performance. Frontend Dogma consists of tens of thousands, and meiert.com of thousands of files. For Frontend Dogma in particular, this has long started to influence build performance. I used Junie this time to profile and investigate, and to make out double pagination as an extreme bottleneck. I’m keeping this short, as I shared the first iteration on the respective Eleventy issue.

  6. Optimizing handling of related articles. Another Eleventy optimization, I “vibe-optimized” Saad Koubeissi’s Eleventy content recommendation code to work better with—yield better results for—meiert.com’s primary and secondary tag structure.

  7. Optimizing website performance. For a web development minimalist, performance usually falls out of the bag. And still, it’s useful to monitor performance and look for optimization opportunities. I took some on-and-off PageSpeed checks to slightly tweak meiert.com performance.

  8. Setting up MCP servers… I’ve been “reporting” about MCP for some time, but didn’t pay so much attention to it myself. Eventually, I decided I had to make use of MCP servers, which led me to setting up the GitHub and Sentry ones using Claude Code. For Sentry—trivial. For GitHub—messy. But I’m testing now.

  9. Reviewing Eleventy performance, again: Frontend Dogma had me at it again, and this time I checked out the Eleventy source itself to task Junie with a review of my Eleventy projects, starting with Frontend Dogma and including Eleventy’s source itself. One early find: Don’t parse templates if they don’t need parsing, i.e., set markdownTemplateEngine: false if not otherwise needed. Other outcomes? None—most time seems to go into template rendering. But I’ll probably look at this again.

This is a part of an open article series. Check out some of the other optimization posts!

About Me

Jens Oliver Meiert, on November 9, 2024.

I’m Jens (long: Jens Oliver Meiert), and I’m a web developer, manager, and author. I’ve been working as a technical lead and engineering manager for companies you’ve never heard of and companies you use every day, I’m an occasional contributor to web standards (like HTML, CSS, WCAG), and I write and review books for O’Reilly and Frontend Dogma.

I love trying things, not only in web development and engineering management, but also in other areas like philosophy. Here on meiert.com I share some of my experiences and views. (I value you being critical, interpreting charitably, and giving feedback.)