Dev log
Core Web Vitals in plain English: LCP, INP and CLS
What the three Core Web Vitals measure, the numbers that count as good, how to measure them on real visitors, and the fixes that help most on WordPress sites.
5 min read
Dev log
Dev
Technical notes on WordPress, Shopify, PHP, JavaScript and the other tools I build with every day.
Dev log
Core Web Vitals in plain English: LCP, INP and CLS
What the three Core Web Vitals measure, the numbers that count as good, how to measure them on real visitors, and the fixes that help most on WordPress sites.
5 min read
Dev log
Security headers for WordPress, without a plugin
Five HTTP headers that close common holes in a WordPress site. The few lines of PHP I use to send them, and how to check they work.
4 min read
Dev log
WCAG 2.2: the nine new success criteria and how to meet them
WCAG 2.2 added nine new rules and removed one. Here is what each new rule asks for, which ones count at level AA, and the code I use to meet them.
6 min read
Dev log
How AI search finds your site: crawlers, robots.txt and llms.txt
AI answers start with a crawler. I explain which bots fetch your pages, which ones train models, and how I let AI search in without giving away content.
5 min read
Dev log
Fix the Shopify app ERR_INVALID_ARG_TYPE “key” error
The "key argument must be of type string... Received undefined" error in a Shopify app means your API secret isn't loaded. I explain why, and how to fix it.
4 min read
Dev log
How to increase the PHP memory limit (and WordPress too)
Fix "Allowed memory size exhausted" by raising memory_limit in php.ini, .user.ini or .htaccess, or WP_MEMORY_LIMIT in wp-config.php. Then check which one wins.
4 min read
Dev log
How to add /blog/ to WordPress post URLs
Put /blog/ in front of every post URL with a custom permalink structure. Keep custom post types out of it with with_front, and keep old links working.
3 min read
Dev log
Git warning: LF will be replaced by CRLF, and how to fix it
Git is converting line endings, usually because core.autocrlf is true on Windows. It's harmless, and a .gitattributes file fixes it for the whole team.
5 min read
Dev log
How to find the WordPress version of any site
Six ways to find which WordPress version a site runs, from the dashboard and WP-CLI to the page source and feed. Plus why hiding the version is not real security.
4 min read
Dev log
Gulp for Sass and JavaScript: a modern gulpfile
A Gulp 5 setup that compiles Sass, bundles and minifies JavaScript, adds source maps and watches for changes. Copy it into a WordPress theme or any project.
4 min read