Sign in

Joost de Valk

@joost.blog
2.3K followers 443 following 160 posts

Internet entrepreneur • Investor at Emilia Capital • Founder of Yoast • Husband of Marieke van de Rakt • Father of 4 • 🇪🇺🇳🇱️ • he/him

PostsRepliesMedia
Joost de Valk @joost.blog · 27/09/2026
I built a Chrome extension to keep XML sitemaps readable. It turned into a bug finder. Adobe: canonicals pointing at a __template__ page. Man City: ex-players' pages that 404. X: robots.txt links to a sitemap that isn't there. Semrush: nested indexes. joost.blog/broken-sitem...
joost.blog
Almost nobody gets XML sitemaps right · Joost.blog
I built Sitemap Inspector to keep sitemaps readable. It became a bug finder: Adobe, Anthropic, GOV.UK, Man City, Semrush and X all ship sitemap errors.
1160
Joost de Valk @joost.blog · 10/09/2026
PSA: XML sitemaps are about to lose their XSLT based "pretty” styling: joost.blog/xml-sitemaps...
joost.blog
Why XML sitemaps are losing their pretty view · Joost.blog
XML sitemaps still help search engines find your pages. Browsers are removing XSLT, the feature that makes some sitemaps look pretty. Here is what to do.
020
Joost de Valk @joost.blog · 23/06/2026
Today I learned about Trusted Types: specification.website/spec/securit... Which looks like a great way to prevent XSS in many cases. There are so many specifications like this I didn't know about before building this site...
specification.website
Trusted Types · Website Spec
Trusted Types make the browser reject plain strings at DOM injection sinks like innerHTML, demanding a vetted typed value instead. Switched on with two CSP directives, it neutralises a whole class of ...
110
Joost de Valk @joost.blog · 20/06/2026
PSA: I’ve been shipping new specs almost daily: specification.website/changelog/ I have an agent running daily that proposes new pages as new stuff becomes baseline across browsers etc. I’d suggest setting up a routine to check your websites against the changed spec regularly.
specification.website
Changelog · Website Spec
What changed in The Website Specification — new topics, status changes, and removals, newest first.
020
Joost de Valk @joost.blog · 20/06/2026
Last week, Google introduced Open Knowledge Format (OKF). This week, it introduced Agentic Resource Discovery (ARD). You'd think one would point to the other. You'd be wrong. It could though, with a simple fix, which I've proposed: joost.blog/okf-ard/
joost.blog
Composing OKF and ARD on specification.website · Joost.blog
Two standards landed in a week, both partly Google, neither aware of the other. OKF packages knowledge; ARD finds it. I composed both and filed the gaps.
000
Joost de Valk @joost.blog · 02/06/2026
This week I shipped an MCP so AI agents could read my new specification .website. Also this week, one of my hosts shipped a CAPTCHA on another of my sites. To keep the agents out. Only one of us is reading the room. joost.blog/block-the-ab...
joost.blog
Block the abuse, not the future · Joost.blog
Anti-AI CAPTCHAs treat every agent as an attacker. They break legitimate automation, punish paying customers, and bet against the way the web is going.
140
Joost de Valk @joost.blog · 29/05/2026
Launching specification.website. A platform-agnostic spec of what a good website does: SEO, accessibility, security, agent-readiness, performance, privacy, i18n. Every claim cites a source. Ships with a checklist, llms.txt, MCP server, and Agent Skill. Free. Open Source.
specification.website
The Website Specification
A platform-agnostic, full specification of the technical features a good website should have. Built in the open under an MIT licence.
3123
Joost de Valk @joost.blog · 24/05/2026
I spent over a year on FAIR (the federated WordPress alternative). The lesson: Open Source First in procurement isn't enough without funding the commons it depends on. Why I'm signing the SUSE letter to the EU, and what's missing from it: joost.blog/open-source-...
joost.blog
Open Source First is right, but not enough. · Joost.blog
Open Source First is the right EU procurement principle. Funding the commons it depends on is the other half. What FAIR taught me about the supply side.
010
Joost de Valk @joost.blog · 21/05/2026
I recently built a bot tracking dashboard for my blog. Then when I looked at it today, I realized that it was reporting "visitors" that my (Plausible) analytics was not showing me... Which led me to think: what is a visitor, these days? joost.blog/what-is-a-vi...
joost.blog
What's a visitor in the age of AI? · Joost.blog
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...
082
Joost de Valk @joost.blog · 11/05/2026
FAQ schema died twice from spam. The second time was last Wednesday. The fix is a new schema .org type: FAQSection. I filed it. joost.blog/faq-schema-c...
joost.blog
FAQ schema died twice. The fix is FAQSection. · Joost.blog
Google killed FAQ rich results on May 7, 2026. The lesson isn't that schema is dead. It's that GEO is starting the same cycle in AI search.
0102
Joost de Valk @joost.blog · 09/05/2026
Vol. XV: the 15th version of my blog since June 2004 (following pretty quickly after the previous one). I got rid of the AI-generated post images, picked Klim's Domaine and Pitch fonts to do the work instead, and built proper plumbing for longer writing. joost.blog/vol-xv/
joost.blog
Vol. XV: out with the AI slop · Joost.blog
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.
011
Joost de Valk @joost.blog · 08/05/2026
WordPress 7.0 ships with AI, without real-time collaboration. The right call, just five weeks too late. The same answer was visible on March 31, when the cycle was extended for RTC. 7.0 could have shipped on its original April 9 date with the much needed AI features.
030
Joost de Valk @joost.blog · 06/05/2026
One of our portfolio companies asked me for help on a domain migration, and when I sent them my input, I realized I had never written about this, even though I've spoken about this a lot. So, here it is, my guide to how to do SEO domain migrations: joost.blog/seo-domain-m...
joost.blog
The missing guide to SEO domain migrations · Joost.blog
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.
061
Joost de Valk @joost.blog · 04/05/2026
My blog scored 25/100 on @Cloudflare's isitagentready .com. A few hours later: 83. Wrote up the full stack: markdown content negotiation, Content Signals, Link headers, an API catalog, MCP, WebMCP. Plus where the scoring gets it wrong. joost.blog/agent-ready/
isitagentready.com
Is Your Site Agent-Ready?
Scan your website to see if it's ready for AI agents. Check for llms.txt, MCP, agent skills, and other agent-friendly standards.
020
Joost de Valk @joost.blog · 02/05/2026
Open source won on cost for 30 years. AI is making that argument irrelevant. The now even more important case is agency: software you can inspect, fork, host, and migrate without permission from a vendor, or government. 1/2
130
Joost de Valk @joost.blog · 18/04/2026
I posted about self-updating skills. I had searched and not found a better method, but asked for input. And I got it! So now, the updated version of my post tells you how to make your skills update easily: joost.blog/self-updatin...
joost.blog
How I made my skills update themselves · Joost.blog
Skills install as loose folders with no package manager. Here's the pattern I landed on after publishing a first attempt and getting corrected on LinkedIn.
031
Joost de Valk @joost.blog · 14/04/2026
Agent skills ship as loose folders. No npm, no registry. You have no way to tell users they're running a stale copy. I taught each of mine to check itself and install its own update, at the moment you invoke it. joost.blog/self-updatin...
joost.blog
How I made my skills update themselves · Joost.blog
Skills install as loose folders with no package manager. Here's a pattern that makes each skill check for updates — and install them — when you invoke it.
020
Joost de Valk @joost.blog · 13/04/2026
When The SEO framework tweeted about the usage of llms.txt and that being a reason not to implement it, I had to write a post: joost.blog/standards-do...
joost.blog
Standards don't prove themselves | Joost.blog
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 ...
040
Joost de Valk @joost.blog · 12/04/2026
In 2008, I wrote WordPress SEO: the definitive guide. It became one of the most-linked SEO articles on the internet and laid the groundwork for what eventually became Yoast SEO. 1/3
270
Joost de Valk @joost.blog · 10/04/2026
I've been arguing the open web needs machine-readable architecture. So I built a piece of it. seo-graph: a schema .org JSON-LD graph engine. Pure TypeScript, MIT-licensed. Powers four sites and a CMS plugin. Built in one session with @ClaudeAI. 1/2
130
Joost de Valk @joost.blog · 08/04/2026
Anil Dash (@anildash) is right: the open web is in its endgame. But defense alone won't fix it. The indie web is mostly gone. The winners already paywalled their way out. And the AI deals go to who has distribution, not who has content. So.. 1/2
121
Joost de Valk @joost.blog · 21/03/2026
I built Yoast SEO. I ran my blog on WordPress for years. Then yesterday I moved it to static HTML. Everything that matters, SEO, search, schema, is still there. What I dropped was the overhead. Do you actually need a CMS? For quite some sites: no. joost.blog/do-you-need-...
joost.blog
Do you need a CMS? | Joost.blog
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?
1143
Joost de Valk @joost.blog · 20/03/2026
Been productive today at #CFHack2026, working on the FAIR for TYPO3 project, already got a PR merged in AspireCloud. Also reviewed the TYPO3 Extension Repository and wrote a bunch of design & UX suggestions for it: typo3-redesign.pages.dev #CFHack is such a great start to #Cloudfest!
typo3-redesign.pages.dev
TYPO3 Extension Page Redesign — Proposal
051
Reposted by Joost de Valk
fairxtypo3.bsky.social @fairxtypo3.bsky.social · 20/03/2026
"It's good to start your exercises with a little stretching." So we've completed a stretch goal before the main goal. We created a proposal for a redesign of the @typo3.com extension pages. Find it at typo3-redesign.pages.dev #CloudFest #CFHack #FAIRxTYPO3
typo3-redesign.pages.dev
TYPO3 Extension Page Redesign — Proposal
032
Joost de Valk @joost.blog · 25/02/2026
I found myself needing to get Obsidian doc from my Openclaw agent, and not wanting to search for the doc it created or updated for me. So... I created a solution, https links to your Obsidian vault: joost.blog/obsidian-age...
joost.blog
Share Obsidian links that actually work everywhere
Create links to your Obsidian documents that your agent can share with you on WhatsApp, Telegram or elsewhere.
100
Joost de Valk @joost.blog · 21/02/2026
AI will confidently sign off on anything. The question is whether you will too. joost.blog/healthy-doubt/
joost.blog
Why healthy doubt beats AI confidence theater
AI will confidently sign off on anything. The question is whether you will too. I’m a member of my old high school’s “AI council”. My kids go there now, so I have both my own experience and my kids’ t...
032
Joost de Valk @joost.blog · 14/02/2026
I've been working on a fun idea; OpenClaw is cool, but i wanted to take some of those autonomous ideas and apply them to a web app. So... I wrote an autonomous feedback agent: joost.blog/autonomous-f...
joost.blog
Building an Autonomous Feedback Agent
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 sports club management app. It’s a full...
020
Joost de Valk @joost.blog · 12/02/2026
When @cloudflare.social introduced Markdown for Agents today, I was grinning. I'd been building the exact same thing, but for #WordPress, with almost exactly the same approach - this one works even if you're not on Cloudflare: joost.blog/markdown-alt...
joost.blog
Great minds think alike? My WordPress take on Markdown for Agents
Cloudflare introduced markdown for agents today, something I'd been working on too, here's my WordPress approach to it.
010
Joost de Valk @joost.blog · 14/11/2025
When WordPress launched its plugin and theme directories about two decades ago, it was a brilliant idea. Centralizing distribution made it easy for site owners to find and install new features. But the web it was built for doesn’t exist anymore. 1/3
131
Joost de Valk @joost.blog · 24/09/2025
Over the last few days, we've seen a good discussion about what #WordPress needs to be relevant in the current age. I think it boils down to two things: we need good, capable *and empowered* product and marketing teams. progressplanner.com/wordpress-pr...
progressplanner.com
Should WordPress have a product and a marketing team?
WordPress struggles with positioning and product direction. Joost argues it’s time for real product and marketing teams, instead of requiring developers to do it.
581
Joost de Valk @joost.blog · 18/09/2025
88, but then I went and searched for the ones I didn't know and learned a new thing or 26 as i really didn't know most of them 😅️
010
Joost de Valk @joost.blog · 17/07/2025
Might be time to find the best open source alternative for SubStack and *own your own subscribers and content*. This will inevitably lead to higher prices, and probably to more barriers to getting your data out too…
160
Reposted by Joost de Valk
Karim Marucchi @marucchi.com · 23/06/2025
Today at #OSSummit @joost.blog and I with @fair.pm announced our open call to @linuxfoundation.org members to join a new directed fund to ensure a true #OpenSource #CMS ecosystem for generations to come! Get in touch to Join!
Backstage at #OSSummit with Joost and Jim Zemlin
1136
Joost de Valk @joost.blog · 23/06/2025
Just gotten off stage presenting about @fair.pm at the Linux Foundation’s #OSSummit together with @marucchi.com - we’re starting the conversations with funders of our project today.
1154
Reposted by Joost de Valk
FAIR Package Manager @fair.pm · 06/06/2025
We're delighted to launch the FAIR Package Manager with the Linux Foundation - read our announcement and come collaborate with us! #FAIRPM www.linuxfoundation.org/press/linux-...
linuxfoundation.org
Linux Foundation Announces the FAIR Package Manager Project for Open Source Content Management System Stability
Linux Foundation announces FAIR Package Manager project, creating simplicity, security and consistency for the WordPress ecosystem
17835
Joost de Valk @joost.blog · 05/06/2025
Is WordPress innovation in plugins slowing down? In this post Marieke and I explore why new plugins struggle to gain traction and how established ones dominate and what that means for innovation. Walking around #WCEU today, I realized that I *really* needed to publish: joost.blog/innovation-i...
joost.blog
Innovation in WordPress: a look at plugin development
Introduction  Recent observations have highlighted a significant surge in new plugin submissions to the WordPress repository, as noted in this post. We also know that Automattic recently “unpaused” th...
081
Joost de Valk @joost.blog · 13/05/2025
It's time to fix the image of WordPress and its security: progressplanner.com/time-to-fix-...
progressplanner.com
Security and WordPress: It’s time to fix the image
People perceive WordPress as insecure. Joost explains why that view persists and what we can do to start changing it.
182
Joost de Valk @joost.blog · 22/04/2025
We made SEO easier for everyone. That was the goal. But in the process, we helped flood the web with content. This is a reflection on what worked, what didn’t, and what we can learn from it. joost.blog/unintended-c...
joost.blog
The unintended consequences of making SEO “for everyone”
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 their content. We made technical SEO more a...
12910
Joost de Valk @joost.blog · 15/04/2025
Not everything needs AI. But WordPress needs AI-ready infrastructure. Read my thoughts: progressplanner.com/wordpress-ne...
progressplanner.com
Not everything needs AI. But WordPress needs AI-ready infrastructure
Joost de Valk shares why WordPress needs AI-ready infrastructure, not just flashy features, to support real, scalable innovation.
041
Joost de Valk @joost.blog · 08/04/2025
We've built something cool at @progressplanner.com over the last few weeks: an integration with Yoast SEO, to give you lots of recommendations to improve your Yoast SEO setup: progressplanner.com/progress-pla...
progressplanner.com
Level up your SEO-game: Progress Planner’s new integration with Yoast
Progress Planner 1.2 guides you through key Yoast SEO settings to help you boost your site’s visibility with ease.
150
Joost de Valk @joost.blog · 04/04/2025
Google now wants your marketing emails. Literally. progressplanner.com/google-now-w...
progressplanner.com
Google now wants your marketing emails. Literally.
Google has introduced what it calls “Marketing content usage”, in a subtle but significant update to its Merchant Center documentation (and yes, they sent out an email about it too). If you sell physi...
030
Joost de Valk @joost.blog · 03/04/2025
I knew the risks of speaking up to Matt were there, and I’ve stayed silent on account of not wanting to get Taco in trouble before WordCamp Asia. But honestly, it sucks and it does have a real impact.
290
Reposted by Joost de Valk
Post Status @poststatus.com · 02/04/2025
Post Status is celebrating Women in WordPress through brief interviews with @michellefrechette.bsky.social. In this interview, meet @raemorey.bsky.social! youtu.be/bUiSXkTxPA4
youtu.be
Women in WordPress: Rae Morey
YouTube video by Post Status
032
Joost de Valk @joost.blog · 26/03/2025
I've been having lots of different fun discussions around AI the last few weeks, but there's one that we simply have to shed more light on. In order to appear in AI, you can't build fancy headless websites. AI simply does not execute JavaScript when crawling your site. 1/2
4186
Joost de Valk @joost.blog · 25/03/2025
I wrote about my experience at the #cloudfest Hackathon #cfhack and what I think the #WordPress world could learn from that: progressplanner.com/cloudfest-ha...
progressplanner.com
CloudFest Hackathon: Old-school WordPress contributing vibes
The CloudFest Hackathon reignited the old WordPress contributor spirit—innovation, teamwork and real progress in action!
072
Reposted by Joost de Valk
Pascal Birchler @swissspidy.bsky.social · 15/03/2025
WP-CLI + MCP combines visionary technology and I‘m assembling an overall winning dream team to break any barriers. This is going to be a *pitch perfect* Hackathon project that allows you to master social media—I mean, WordPress—using AI. #CFHACK25 #CloudFest
1163
Joost de Valk @joost.blog · 15/03/2025
I'm at the #Cloudfest #CFHack Hackathon! I've joined the WP CLI as an MCP host team (and yes that is a LOT of abbreviations in one sentence, we'll be using the #CLI-MCP hashtag).
1161
Joost de Valk @joost.blog · 13/03/2025
I wrote a thing, mostly fun for search geeks: should we standardize redirect-by?
joost.blog
Redirect-By HTTP headers
Should we standardize Redirect-By HTTP headers?
000
Reposted by Joost de Valk
Taco Verdo @tacoverdo.com · 11/03/2025
We (Marieke, @joost.blog, and me) have just started a new blog series "Progress for WordPress" on the @progressplanner.com website. Marieke wrote the first article "Why WordPress is a tough sell for marketing students". Go check it out at progressplanner.com/why-wordpres... #Progress #WordPress
progressplanner.com
Why WordPress is a tough sell for marketing students
We’re launching Progress for WordPress, a new blog series on WordPress trends. First up: why marketing students struggle with WordPress.
071
Joost de Valk @joost.blog · 04/03/2025
I love it when I can send bug reports to a team, and they tackle them as pro’s, like The Events Calendar team did here:
buff.ly
Announcing Major SEO Improvements to The Events Calendar
A good community has your back. They want you to succeed and will help make your success a reality. Being part of a good community is a wonderful thing–it’s empowering, rewarding, and humbling all at…
050