Blog
Notes on stores, CMS and measurement
Ten topics I actually ship: Shopify, WooCommerce, WordPress, Drupal, Magento, on-page SEO, SEM, GA4, Tag Manager and performance. Date and category on every note. No comments.
Category 51 notes
Topics
No notes in that category.
-
Performance
Speculation Rules for ecommerce: prerender product pages
Use Chrome Speculation Rules to prerender PDP from collection hover. Prefetch first, exclude cart, measure field LCP.
-
SEO
On-page SEO for ecommerce stores in 2026
Keywords, titles, URLs, headings, schema and internal links on product and collection pages. A store checklist.
-
Shopify
How to migrate a Dawn store to Shopify Horizon
Migrate Dawn to Shopify Horizon without breaking apps, custom sections or Core Web Vitals. A production checklist.
-
WooCommerce
How to migrate to WooCommerce block checkout
Replace the checkout shortcode with Cart and Checkout blocks. Gateways, fields, Elementor and staging.
-
WordPress
WordPress Interactivity API for storefront UI
Replace jQuery widgets with the Interactivity API. Directives, store, SEO-safe server HTML and ~10KB runtime.
-
Drupal
Drupal CMS recipes for faster site builds
Use Drupal recipes to add SEO, media and content types without a distribution lock-in. When YAML helps.
-
Magento
Magento SEO audit checklist for 2026
Crawl, index, Core Web Vitals and AI search visibility on Magento 2 and Adobe Commerce. A four-layer audit.
-
SEM
Set up Google Ads enhanced conversions
Hashed first-party data, GTM and Consent Mode so Google Ads can still attribute purchases after cookies drop.
-
SEO
llms.txt and AI search visibility for sites
What llms.txt is for, how it differs from robots.txt, and a practical file for a developer or store site.
-
Analytics
GA4 ecommerce events that match real revenue
view_item, add_to_cart, begin_checkout and purchase. Item IDs, tax, shipping and why totals drift.
-
Shopify
Shopify theme blocks vs section blocks explained
Theme blocks, nested blocks and content_for vs old section.blocks loops. When to use each in Horizon.
-
Tag Manager
Google tag and Tag Manager unification in 2026
gtm init, container optimisation and one interface for Google tag plus GTM. What to review before you opt in.
-
WooCommerce
WooCommerce checkout INP: fix slow interactions
INP on WooCommerce checkout. Cart fragments, jQuery, wallets and field count. How to measure field data.
-
Performance
Core Web Vitals and INP for online stores
LCP, INP and CLS on PLP, PDP and checkout. Field data beats lab scores. What to fix first on a live store.
-
WordPress
Gutenberg vs Elementor for site performance
Compare Gutenberg and Elementor on CSS weight, INP and editor workflow. When a page builder still wins.
-
Drupal
Drupal Canvas vs Layout Builder in 2026
Canvas 1.0 vs Layout Builder and Paragraphs. Hybrid adoption when no official migration path exists.
-
Magento
Hyva theme and Magento Core Web Vitals
Why Luma fails INP and LCP, what Hyva changes, and the module audit you still need after a theme swap.
-
SEM
Performance Max vs Search campaigns for stores
When PMax steals brand search, how to read asset groups, and when a Search campaign still earns the spend.
-
SEO
Internal linking for ecommerce catalogues
Hub pages, related products, breadcrumbs and descriptive anchors so Google can find more than your homepage.
-
Analytics
GA4 campaign benchmarks and Ask Advisor
Peer-group benchmarks in GA4 only help if tracking is clean. How to set industry and read the comparison.
-
Shopify
Shopify checkout extensibility deadlines in 2026
Checkout UI extensions, Functions, web pixels and 2026 sunset dates for checkout.liquid and Scripts.
-
Tag Manager
GTM visual tagging vs dataLayer events
Point-and-click purchase tags cover simple buttons. Ecommerce still needs a dataLayer your theme owns.
-
WooCommerce
WooCommerce blocks vs shortcodes in 2026
When to keep classic shortcodes and when blocks are the only path that still gets new Woo features.
-
Performance
Reduce JavaScript on checkout pages
Strip chat, reviews and heatmaps from checkout. Keep wallets and payment. Measure begin-checkout to purchase.
-
WordPress
WordPress AVIF and WebP image delivery
Serve AVIF and WebP from WordPress with srcset, sizes and nginx cache. What actually moves LCP.
-
Drupal
Drupal SEO Tools recipe: what you actually get
Metatag, sitemap, redirects and SEO Checklist inside the Drupal SEO Tools recipe. What to configure next.
-
Magento
Magento faceted navigation and crawl budget
Stop Magento filter URLs wasting crawl budget. Canonicals, robots, AJAX filters and indexable facets.
-
SEM
Google Shopping feed quality for product ads
Titles, GTINs, availability and image rules that keep Shopping and PMax from disapproving half the catalogue.
-
SEO
Schema markup for product and article pages
Product, Offer, Breadcrumb and Article JSON-LD. How to test rich results without stuffing fake reviews.
-
Analytics
Fix broken GA4 tracking with DebugView
Use DebugView, Tag Assistant and the purchase event to find duplicate tags, missing items and blocked consent.
-
Shopify
Shopify app blocks for reviews and scripts
Move reviews, loyalty and pixels off script tags onto Horizon app blocks so the editor still works.
-
Tag Manager
GTM container optimization and tag latency
Opt in to optimized containers, drop extra gtag.js fetches, and keep GTM off the critical path until interaction.
-
WooCommerce
WooCommerce high-performance order storage guide
Enable HPOS without breaking custom order queries, reports or ERP sync. A staging-first checklist.
-
Performance
Image formats that improve LCP on catalogues
AVIF, WebP and JPEG with width, srcset and fetchpriority. Hero images are usually the LCP element on stores.
-
WordPress
WordPress block themes and full site editing
Ship a block theme merchants can edit: templates, patterns, theme.json and what still needs PHP.
-
Drupal
Drupal 11 multilingual SEO and hreflang
Language domains, hreflang, metatag translation and canonicals on Drupal 11. Avoid duplicate locale traps.
-
Magento
Magento product schema for Google and AI search
Product JSON-LD with offers.availability, price and reviews so Magento PDPs qualify for rich results.
-
SEM
Consent Mode v2 for paid media tracking
ad_storage, ad_user_data and modelled conversions. What June 2026 Ads changes mean for your CMP and GTM.
-
SEO
Title tags and meta descriptions that get clicks
Write unique titles of 50-60 characters and meta descriptions around 105 characters. Templates for store pages.
-
Analytics
Server-side vs client-side analytics for stores
When to keep browser tags, when Measurement Protocol or sGTM is worth the ops cost, and what still needs a pixel.
-
Shopify
Shopify SEO for collection and product pages
Canonicals, metafields, collection copy and product schema so Shopify catalogues can rank and get cited.
-
Tag Manager
Server-side GTM for ecommerce stores
sGTM on a first-party subdomain: ad blockers, consent, Facebook CAPI and the Cloud Run bill you should expect.
-
WooCommerce
WooCommerce product page blocks that still sell
Build a WooCommerce PDP with blocks: gallery, add to cart, tabs and merchandising without a heavy theme.
-
Performance
Defer third-party tags without losing data
Load GTM, chat and reviews after first interaction. Keep consent and purchase tags honest. Pattern used here.
-
WordPress
Set up Google Consent Mode v2 on WordPress
CMP, GTM and default denied consent on WordPress. What breaks Ads and GA4 if signals never fire.
-
Drupal
Migrating classic Drupal sites to Drupal CMS
Apply recipes to an existing Drupal 10/11 site. Keep Layout Builder pages and add Canvas only where it pays.
-
Magento
Magento robots.txt for AI crawlers in 2026
Default Magento robots.txt often blocks AI search bots. Allow search crawlers, still hide checkout and filters.
-
SEM
Landing pages that convert Google Ads traffic
Match query to headline, keep LCP fast, and put the same offer on the page that the ad promised.
-
Analytics
GA4 attribution models for ecommerce stores
Data-driven vs last click in GA4. Paid, organic and email on the same purchase. What to show a merchandiser.
-
Tag Manager
GTM Consent Mode for Australian storefronts
Australia is not the EEA, but EU visitors still hit AU stores. Default consent, Privacy Act caution and GTM.
-
Performance
Hosting, cache and CDN for WordPress stores
Full-page cache, object cache, CDN and what must stay dynamic on WooCommerce cart and checkout.