01The constraint
Kestrel make technical outerwear for people who will spend £800 on a jacket that stays dry. Those people read. Before they buy, they read a two-thousand-word account of a twelve-day test in the Cairngorms. Kestrel's marketing team wrote those, and the website had nowhere to put them. The site was a Shopify theme with a WordPress blog bolted behind it, reachable by a single link in the footer. Roughly 60% of revenue was influenced by content that customers found through search rather than through the shop.
02What we did
We inverted the hierarchy. Editorial became the primary content type and the product page became a component within it. A field test is a WordPress post with structured blocks; each block can carry a linked product, and the product appears inline with price, variant and stock, revalidated from Shopify on publish. The shop is now reachable from anywhere in the reading experience without a separate navigation model.
03What changed
Content-attributed revenue rose 57% in year one, which the finance team values at £2.1m against a project cost of £640k. Average engaged time on product pages tripled. The site has run for twelve months at 99.99% uptime on our managed retainer.
In detail
The problem was a routing problem
Everything on Kestrel's site was either a product page or an article. The two lived in different systems and did not know about each other. A reader who had just spent fifteen minutes learning why a seam-taped shoulder matters arrived at a product page that said Waterproof and showed a colour swatch.
The fix was to make product data embeddable in editorial, not to make editorial embeddable in the shop. One direction. The other would have been a mess.
How a product component works
Every product reference inside an article is a React component that queries the Shopify Storefront API at build time. When the price or the stock changes, a webhook revalidates that article's tags and the inline component updates. The article is static; the price is current. That combination is only possible because rendering strategy is decided per route rather than per site.
The editorial team's workflow
Writers work in WordPress. A field test is a post type with blocks: prose, pull quote, spec table, product reference, gallery. Adding a product reference opens a search against the live catalogue and inserts a typed reference, not a pasted SKU.
The result is that a piece of journalism can be commercially specific without becoming an advert. The writer chooses where the argument needs a product. That is an editorial judgement, and it stayed with the editorial team.
Managed
Kestrel took our support retainer from launch. Monthly patching, a written report on changes and risk, and a quarterly roadmap session with the commercial team that has been the most useful hour of my month twice running. The site has not had an unplanned incident in twelve months.