Blog
-
A page per charge, not a page per practice area
Nobody arrested last night is searching for a criminal defense attorney. They are searching the charge, by name, usually with the city attached. Most firm sites have one page called Criminal Defense with a bulleted list under it, and it meets nobody. Six to twelve charges, not forty.
-
Theme-level fixes, or the same fix again in three weeks
I fixed a heading problem on a client site, confirmed it, wrote it up and moved on. Three weeks later it was back. Nobody had touched the page. A theme update had restored the template. The fixes most likely to be silently reverted are the ones that were invisible in the first place.
-
Auditing a headless build: what is actually different
Most of an audit on a headless build is the same audit. The questions do not change. What changes is that half your usual checks return the wrong answer if you run them the usual way. Crawl twice, raw and rendered, because the difference between the two is the finding.
-
What Googlebot actually sees on a JavaScript site
There are two versions of every page: the one your server sends and the one that exists after JavaScript has run. Your element inspector shows you the second, which is why it will happily show you a canonical tag that was never in the HTML Google first read. View the raw source instead.
-
The redirects nobody sees, including the forty on my own site
In August I found forty links in my own site’s header and footer that each fired a redirect. The site strips trailing slashes and every navigation link had been written with one. Nothing was broken and nothing looked wrong. Internal links pointing at redirects is the real cost and the cheapest fix.
-
Core Web Vitals: ranking factor, or conversion problem?
Both a ranking factor and a conversion problem, but not equally, and the honest ordering is the opposite of how it gets sold. Forty-eight per cent of mobile origins pass all three, so half the web fails and ranks fine. It is a real signal and a weak one. The conversion case is the stronger…
-
Shopify is fast. Your apps are not.
The received wisdom is that Shopify stores are slow. HTTP Archive found 76 per cent of Shopify sites passing Core Web Vitals on desktop against 33 per cent for WooCommerce. The platform is not your problem. Your apps are, and uninstalling one does not always remove the code it left behind.
-
What you cannot change in Shopify URLs, and why it does not matter
Shopify forces /products/ and /collections/ into your URLs and will not let you remove them. Clients are told constantly that this is holding them back. It is not. The cost is cosmetic and the cost of changing it would not be. This post exists to stop you spending money on it.
-
Collections are your category pages, and most of them are grids
On a Shopify store the collection page has the best chance of ranking, and on most stores it is a grid of products with a heading above it and nothing else. That is the biggest structural miss I find. It is not a word count problem. Nobody ever decided the collection was a page.
-
Shopify filters and the crawl paths nobody chose
Every filter you switch on in a Shopify collection is a URL generator, and customers can select more than one at a time. Nobody decides this. Most of those URLs never get indexed, which is the system working. The real costs are dilution and a Search Console report too noisy to read.










