Web

Guides on the building blocks of the modern web. Regular expressions, URL encoding, slugs, color formats, and more - practical knowledge for frontend and backend developers alike.

← Dev Blog

llms.txt After Eighteen Months: What the Request Logs Show

Adoption reached 10% of domains, but AI crawlers fetched llms.txt 408 times across 500M visits. The evidence, the audience that does read it, and what to ship.

Last Tuesday

Your Link Preview Is Broken Because the Crawler Never Saw the Page

Blank or wrong link previews are usually a crawler problem, not a tag problem: bot protection, client-side rendering, WebP images - and how to reproduce it.

Last Sunday

Same Lightness, 12× the Brightness: HSL vs OKLCH

At HSL lightness 50% the measured luminance swings 12.9x across hue. At OKLCH lightness 0.62 it swings 1.2x. Here is the maths, and what it costs you.

20 August

Catastrophic Backtracking: How One Regex Can Take Your Site Down

What ReDoS is, why backtracking engines explode exponentially, how to spot vulnerable patterns before an attacker does, and the fixes that work.

11 July

GEO in 2026: Getting Cited by AI Answer Engines

Generative Engine Optimisation for developers: llms.txt, AI-crawler access, content chunking, citation density and measuring share of voice.

22 June

AI Is Eating Search. These SEO Fundamentals Still Win.

AI answer engines changed discovery, but titles, canonicals, sitemaps and structured data matter more than ever. What changed, and what gets neglected.

13 June

Rich Text to Markdown: How to Convert Google Docs, Word, and Notion Cleanly

Practical guide to converting rich text and HTML to clean Markdown. What survives, what breaks, source-specific quirks, and how to clean up the output.

1 May

HTML, CSS and JavaScript Minification: Complete Guide to Benefits, Risks and Best Practices

What minifiers actually remove, the real size savings, common breakage patterns, source maps, and when minification is simply not worth doing.

30 April

JSON-LD in 2026: Which Schema.org Types Actually Matter and Which Are a Waste of Time

Which Schema.org types trigger Google rich results and which you can ignore: the supported list, ROI by type, and how to prioritise your markup.

20 April

Structured Data for Developers: JSON-LD, Schema.org, and Rich Results in Google

Implementing Article, FAQ, HowTo, Product and BreadcrumbList schema with JSON-LD, with examples in PHP and Next.js, plus testing and CI validation.

17 April

SEO for AI Search: How to Optimise for ChatGPT, Perplexity, and Google AI Overviews

How AI answer engines discover, evaluate and cite content - and how to optimise pages for ChatGPT Browse, Perplexity and Google AI Overviews.

14 April

Image to Base64 Data URIs: When to Inline and When Not To

The data URI format, size overhead, caching and CSP implications - and clear rules for when inlining an image as Base64 helps rather than hurts.

10 April

Open Graph Meta Tags: What They Are, Why They Matter, and How to Set Them Up

Required properties, type-specific tags, Twitter Card fallback, image specs per platform, cache invalidation, and what breaks link previews.

10 April

The Developer's Meta Tag Checklist: SEO, Social Sharing, and Beyond

Every meta tag that matters: title, description, canonical, robots, Open Graph, Twitter Cards, structured data, hreflang - and how to audit them in CI.

6 April

Markdown Syntax Reference: CommonMark, GFM, and the Gotchas

A full Markdown reference: CommonMark, GitHub Flavored extensions like tables and task lists, escaping rules and platform rendering differences.

31 March

HEX, RGB, HSL, HSV: Colour Formats Every Developer Should Know

HEX encoding, RGB channels, HSL vs HSV, alpha channels, sRGB vs linear colour spaces and the conversion formulas, for CSS and image processing.

26 March

URL Slugs: Rules, SEO Impact, and Transliteration

What makes a good URL slug, how slugification works, Unicode transliteration for non-Latin scripts, and Google's rules - with code patterns.

22 March

Regular Expressions: Practical Guide with 20 Ready-to-Use Patterns

Regex fundamentals, flags, groups and lookaheads, 20 tested patterns, plus the Unicode, trailing-newline and engine differences that silently break them.

22 February

Three Threads: Search, Markup, and Getting Bytes Down

The search thread is the largest, and it has shifted. Answer engines now sit between your page and a chunk of its readers, which is what AI is eating search and SEO for AI search are about. GEO goes further into llms.txt, crawler access and citation density. The unglamorous groundwork still decides most outcomes: the meta tag checklist covers every tag worth setting and how to audit them in CI, and URL slugs covers transliteration and the stability rules that stop you needing redirects later.

Structured data is its own sub-thread, and the honest version is that most of it does nothing. Which Schema.org types actually matter separates the handful Google renders from the 800 it ignores, while the implementation guide and Open Graph tags cover the markup itself. Check your work with the meta tag analyser, JSON-LD generator and social preview tool.

The markup and text thread covers what you write rather than how it ranks: the Markdown reference for CommonMark versus GFM differences, rich text conversion for escaping Google Docs and Notion cleanly, and colour formats for HEX, RGB, HSL and HSV.

The performance thread is short and practical. Minification covers real savings and real breakage, and Base64 data URIs gives clear rules for when inlining an image helps and when it costs you caching. Regex deserves a warning of its own: the pattern guide for everyday use, and catastrophic backtracking for the pattern that takes a site down. Test yours in the regex tester.