MCP 2026-07-28 shipped today, and the headline change is a stateless core: no more initialize handshake, no more sessions. That's the exact shape I built joost.blog's MCP endpoint in back in May, when it was a tolerated corner of the spec rather than the spec itself. Here's what changed in my hand-rolled endpoint, why most of an MCP server on a static site can now be CDN, and why my agent skills…
I've spent most of my working life on websites. So the question I keep coming back to lately is an existential one for my whole field: what even is "the website" five years from now? Several things are true at once, and some of them pull in different directions.
Dries Buytaert split open source into license-only and stewarded. It's a useful distinction, but it misses a more dangerous one. Stewardship tells you whether someone cares for the code. It doesn't tell you whether that same someone can cut you off from it.
Two standards for the agentic web shipped within a week, both with Google's fingerprints, neither referencing the other, one not even agreeing with itself about a field name. They turn out to connect almost perfectly: OKF packages a knowledge base, ARD makes it discoverable. I adopted both on specification.website and filed the gaps they left.
Today I'm happy to share that Progress Planner is joining Your.Online. And it's not just Progress Planner: Marieke, our whole team, and I are joining too.
Lovable announced this week that every new project on its platform now builds on TanStack Start. That's 100,000 new apps a day riding on open-source infrastructure Lovable doesn't fund.
This week I shipped an MCP so AI agents could read one of my sites. The same week, one of my hosts shipped a CAPTCHA to keep them out. Only one of us is reading the room.
I shipped specification.website, a platform-agnostic specification of what every good website should ship. Because two recent PRs taught me that patches fix one platform at a time, and the open web has no shared target.
SUSE and a coalition of European open source companies are asking the EU to make Open Source First a binding procurement principle ahead of the June 3 Tech Sovereignty Package. They're right. But after FAIR, I know procurement preference alone recreates the same lock-in problem at EU scale. Sovereignty needs both the demand side and the supply side.
I retrofitted this blog to be agent-ready, then built cocktail.glass from an empty repo with AI agents as a first-class audience from the first commit. Here's what changes when agent-ready is a design input instead of a renovation: one source of truth, Markdown negotiation, a stateless MCP server, and discovery in every response.
In the 24 hours before I started writing this post, Plausible told me joost.blog had 254 visitors. My server logs told me 536 fetches over the same window came from on-demand AI bots like ChatGPT-User and Claude-User. Those bots only fire because a human, in real time, asked an AI a question. Is the real number 254, 790, or something else? I genuinely don't know, and I think that's the more…
Google killed FAQ rich results entirely on May 7, 2026. FAQ schema spam killed it once in 2023, and finished it off this month. The "FAQ schema is critical for GEO" advice now flooding LinkedIn is starting the same cycle in AI search.
Why I redesigned joost.blog: getting rid of AI-generated post imagery, building the plumbing for longer pieces, and the typography rabbit hole that landed on Klim's Domaine and Pitch.
Gutenberg 23.1 ships a native UI for custom post types. Good. But CPTs without custom fields are just renamed posts, and the half Core still hasn't answered is the half that matters.
Domain migrations are asymmetric bets: the upside has a ceiling, the downside doesn't. Here is how to plan, prepare, and execute one without losing what you already have.
I ran joost.blog through Cloudflare's isitagentready.com and got a 25. Here's what I built to close the gaps: markdown content negotiation, Content Signals, Link headers, an API catalog, an agent skills index, WebMCP tools, and a server-side MCP endpoint. Also: where the scoring gets it wrong.
Open source spent thirty years winning an argument about cost. AI is about to make that argument irrelevant. Whether open source can win the argument that replaces it (about agency) is an open question. The point of this post is to be honest about why.
Astro's ClientRouter is a solid abstraction for complex apps. For a simple blog, it turned out to be a workaround for things the platform now does natively — and it was quietly breaking iOS Safari's Reader Mode.
Agent Skills install as loose folders. There's no npm, no registry, no daemon checking for updates. I shipped a version-check pattern, published it, and got corrected on LinkedIn. Here's what I learned and what replaced it.
The SEO Framework analyzed 180,000 AI bot requests and found zero llms.txt lookups. Their conclusion: not worth implementing. That conclusion reveals a misunderstanding of how web standards work, and a willingness to only pick sides after the debate is settled.
In 2008 I wrote "WordPress SEO: the definitive guide." Eighteen years later, this is the Astro version. The full SEO stack: linked JSON-LD graphs, per-collection sitemaps, auto-generated OG images, IndexNow, schema endpoints for agent discovery, and why keyphrase optimization matters less than you think.
I've been arguing that the next open web needs machine-readable architecture. So I built a piece: seo-graph, a schema.org JSON-LD graph engine that now powers four sites and a CMS plugin. Built in a single session with Claude Code.
Anil Dash calls it the endgame for the open web, and he's right. But the structural collapse has already started. The indie web is mostly gone, the winners have already left, and defense alone won't fix it. The question isn't how to protect what remains. It's what to build next.
WordPress's deepest problems aren't cosmetic, they're architectural. The responses to EmDash from Matt Mullenweg, Hendrik Luehrsen, and Brian Coords crystallize what needs to change: the data model, content storage, and plugin permissions.
Cloudflare just launched EmDash, a CMS designed for how we actually build in 2026: AI agents, structured content, edge deployment. Here's why it matters.
I built an AI-powered Q&A feature that lets you ask questions about anything I've written. Here's how it works, and why I built it on Cloudflare Workers AI.
For twenty years, wanting a website meant needing a CMS. That's no longer true. The real question people ask now is simpler: how do I get my content on the web?
Over the past year, we, Karim & Joost, have written and talked extensively about the challenges facing WordPress. We’ve been critical. At times, very critical.
I’ve been playing with OpenClaw a lot, and I’m using Obsidian intensely with it. All my processes and even my OpenClaw’s core files live in my Obsidian vault. I
What if your users could submit a bug report and have a pull request ready for review before you’ve even seen the ticket? That’s what we built for Rondo Club, a
Today, Cloudflare announced Markdown for Agents, a feature that automatically converts HTML to markdown at the edge when AI agents request it. Reading their ann
The news hit the developer community like a cold bucket of water. Adam Wathan, the creator of Tailwind CSS, recently announced that he had to lay off 75% of his
In my last post, I discussed why a design system is the “visual rail” AI needs. But the “Architect” I’ve been describing doesn’t just care about how a site look
In my last post, I argued that WordPress needs to become a “Base AI”: a structured foundation that AI can understand and build upon. Before that, I wrote about
In my previous post, I discussed the demise of code copyright and mentioned what Dries referred to as the generalization tax. This had me thinking more about wh
We are witnessing a strange paradox in software development. Thanks to AI code generation, more open source code is being created today than ever before. Yet, s
In December, I wrote about the state of leadership in the WordPress ecosystem. I shared how too much power rests with one person, and how the lack of transparen
Recent observations have highlighted a significant surge in new plugin submissions to the WordPress repository, as noted in this post. We also know that Automat
At Yoast, we had one mission: make SEO easier. For a long time, SEO for everyone was Yoast’s tagline, and we meant it. We helped millions of people optimize the
Last week was a whirlwind, first diving deep into AI and WordPress while working with the WP CLI as MCP host team at Cloudfest, then heading off to SMX Munich f
One of the things one runs into when you’re doing large migrations (between domains, or within a domain) is that you run into redirects that go “wrong”. A syste
WordPress is at a crossroads, now even more clearly then when I wrote my previous post on WordPress’s roadmap. I had very much intended to leave this topic alon
I was reading Hendrik Luehrsen’s excellent post “WordPress isn’t WordPress anymore“, and I decided I had to write more about this. I recently spoke at WordCamp
AVIF and WebP are efficient image storage formats. They are smaller than their predecessors, PNG, JPG, and GIF. This leads to smaller images, which means faster
When we sold Yoast to Newfold in 2021, I quickly learned we had been incredibly naive. While at Yoast, I hadn’t realized how many deals were made between big co