InfactAI

Report 01 / 2026

Prepared for Crown Pavilions

SEO & Site Engineering Report

January – August 2026

Client
Crown Pavilions
Property
crownpavilions.com
Period
8 months
Issued
08 Aug 2026
Summary Jan to Aug

What we took on and what we built

Crown Pavilions came to us with a WordPress site whose homepage loaded 41 stylesheets and 41 separate script files, and which published test pages that search engines could reach. We rebuilt crownpavilions.com on a platform that renders every page before a visitor asks for it, moved the content across at the addresses it already held, and put the products, the prices and the photography into a system the team edits without a developer. We then worked the site every week for eight months across nine workstreams, and this report logs all 169 deliveries.

8 Months of
continuous work
918 Engineering
changes shipped
169 Delivered
tasks logged
1,203 Redirect rules
live
47 Page templates
built

Every count covers the UK site at crownpavilions.com, from 20 January 2026 to 08 August 2026. We list all 169 tasks behind the third figure at the end of this report.

Scope Jan to Aug

Scope of engagement

This engagement covered technical SEO, on page SEO and the full engineering of the new crownpavilions.com website. Ongoing link acquisition and digital public relations campaigns did not form part of the commissioned scope, so this report does not cover them.

Everything here describes the UK site. We worked in weekly cycles and released changes straight to the live site rather than holding them back for a single launch date. That is why the log below reads as a run of small dated deliveries rather than a handful of milestones.

We wrote this report from four sources. The first is the change history of the site itself. The second is the delivery log our team keeps as we work. The third is archived copies of the old site held by the Wayback Machine. The fourth is a set of checks we ran against the live site on 07 August 2026. The comparison section names the snapshot behind each measurement, so anyone can repeat the check and get the same number.

Benchmark Old vs live

Old site versus new site

We measured the old site from the copies the Wayback Machine stored before we touched anything, and we measured the new site the same way so both sides come from one source. Where a row describes how the site behaves today, we checked it against the live site rather than trusting the code.

We kept every row to something a third party can reopen and count. Where we hold evidence for only one side, the row is not in the table.

Area Old site · archived New site · 2026
Platform WordPress with Elementor and WooCommerce. The homepage carried a WP Rocket generator tag and mentioned elementor 4,286 times. Products sat behind WooCommerce templates and the sitemap came from Yoast. One codebase that renders every page ahead of time and reads its content from a headless CMS.
One stack
Homepage weight, uncompressed 555,168 bytes of HTML. 316,817 bytes of HTML. The archive stored that same page gzip encoded at 39,969 bytes, and the live site serves it compressed today.
238,351 bytes lighter
Files the homepage loads 41 stylesheet links, 41 external script files and 33 inline style blocks. 1 stylesheet link, 4 external script files and 1 inline style block.
41 stylesheets to 1
Product structured data None. The Ascot page sold a gazebo from £22,850 and declared no Product, Offer or AggregateRating anywhere in the document. The price existed as plain text only. Product markup carries the name, the price, the product code and the category. The homepage markup carries the business record, an aggregate rating, the address, the coordinates, the opening hours and the FAQ block.
Price now machine readable
Social sharing image An award badge measuring 290 by 38 pixels and weighing 7,522 bytes, set on every homepage snapshot we pulled. The site's hero photograph.
Badge replaced by photography
Homepage description One description, identical across every snapshot from 13 September 2025 to 24 January 2026. It still told visitors to make the most of “this summer” in the January copy. A description that names the products, the timber and the show sites, read from the live homepage on 07 August 2026.
Description rewritten
Test pages in public Five scratch pages the archive reached, including /blank-test/, which held no page content and still weighed 218,963 bytes across 21 stylesheets and 36 script files. Removed. We also took our own placeholder pages and preview routes off the public site.
5 scratch pages cleared
URL structure Products under /product/, offers under /offers/, use cases under /uses/ and WordPress taxonomy archives under /category/. The archive holds 278 distinct crawlable addresses across those prefixes. One address format for every page, backed by 1,203 redirect rules. /wooden-gazebos redirects to the trailing slash form and that page carries a canonical tag, both checked live on 07 August 2026.
1,203 rules live
Sitemap and crawler instructions A Yoast sitemap index listing eight child sitemaps, three of which covered WordPress category, tag and product category archives rather than pages anyone wrote. A sitemap built from the site's real routes with the internal preview and listing paths left out. /sitemap-index.xml and robots.txt both answered when we checked them on 07 August 2026.
Taxonomy archives dropped
Platform

The old stack assembled each page on request out of a page builder and its plugins. The new one builds every page as a file before anyone asks for it, so the server hands over something that already exists.

Homepage weight

Weight is the part of speed we can prove for both sides, because the archive stored the actual bytes. The old homepage sent more than half a megabyte of HTML before a single photograph loaded.

Files loaded

Each of those 41 stylesheets and 41 scripts was a separate request the browser had to finish before it could finish the page. Cutting them to one and four removes most of that queue.

Product data

The old Ascot page showed its price in the page title and nowhere a search engine could read it as a price. Product markup is what qualifies a page for the richer search result, and it is what shopping and AI surfaces read when they match a page to a question.

Social image

Facebook needs an image of at least 200 by 200 pixels before it shows any preview picture, and the guidance for a large card asks for 1200 by 630. At 38 pixels tall the old badge sat well under that floor, so every share of the homepage risked appearing as a bare link.

Description

The description is the sales line under a search result, and it is the last thing a person reads before deciding whether to click. The old site carried the same one on its homepage across every snapshot the archive holds for that period.

Test pages

The archive only stores pages a crawler could fetch, so those five were publicly reachable. /blank-test/ is the clearest measure of what the old stack cost by default, because an empty page there weighed more than two thirds of the whole new homepage.

URL structure

Two addresses for one page split what that page earns between them, and both get crawled. Settling on a single form and redirecting everything else keeps each page's history attached to it.

Sitemap

A sitemap tells a search engine which pages matter. Submitting tag and category archives spends that attention on pages the software generated rather than pages the business wrote.

Method. Old site figures come from the Wayback Machine's unmodified copy of the homepage stored on 07 November 2025, at https://web.archive.org/web/20251107132200/https://www.crownpavilions.com/, and from the archived Ascot product page of the same date. New site figures come from the archived homepage of 01 June 2026, at https://web.archive.org/web/20260601165558/https://www.crownpavilions.com/, so we measured both sides the same way. We checked every row describing present behaviour against the live site on 07 August 2026. We hold no speed measurement for the old site, so this table compares page weight and file counts and makes no claim about load times. Two things the old site did well sit outside the table for the same reason: it carried a correct mobile viewport tag and it lazy loaded 57 of the 102 images on its homepage, so we claim no improvement on either.

Delivery Jan to Aug

Nine workstreams

We grouped the work into nine workstreams in the first weeks and kept it grouped that way throughout. Each chapter below describes what the workstream was for and lists a handful of dated deliveries from it, with what we did and why it mattered. The complete list of 169 tasks, grouped the same way, sits at the end of this report.

Stream 01 Jan to Jul

Platform rebuild and migration integrity

A rebuild loses its search rankings in the migration, not in the design. We wrote tooling that pulled the content out of WordPress rather than retyping it, and we kept each page at the address it already held wherever we could. Everything else in this report sits on top of that.

Jan to Mar 2026

We took the old WordPress site apart and moved its content across. Our tooling read the export, unpacked the page builder layouts, resolved every image and pushed each record into the new CMS, carrying the draft and published states with it. Years of writing, photography and specification detail came over intact, and a migration that quietly loses content loses the rankings that content had earned.

Jan 2026

We imported the old pages at the addresses they already had rather than letting the new system invent its own. Address parity is the single biggest lever in a migration, because a page that keeps its address keeps every link and every ranking pointing at it with nothing lost in a hop.

Jan to Feb 2026

We built the new front end on a framework that renders pages ahead of time instead of assembling them on each request. Pages that already exist as files when a visitor asks for them are the fastest thing a site can serve, and it means the site stays up even when the CMS does not.

Feb to Mar 2026

We removed the placeholder and test pages our own build was publishing, which came to 18 coming soon pages, a sample product page and a temporary product list. A coming soon page in a search result is worse than no page at all, and each one was a live address a crawler spent effort on.

Apr 2026

We wrote the brand's selling points into a single data file, 16 for garden rooms and 16 for gazebos and summer houses, and put one grid of them on the category pages, on every product page and on the why pages. Triple glazing as standard, TRADA certification, marine grade fabrics and installation included are the reasons a buyer picks Crown over something cheaper, and the site had barely mentioned them.

Jun to Jul 2026

We moved the site's content store onto a new platform behind a switch that let the site read from either one, then turned it on once every collection had crossed. Migrations that rewrite the site at the same time as the data are how sites lose their rankings, and this one changed nothing a visitor or a search engine could see.

Stream 02 Feb to May

Redirects and URL hygiene

The old site published years of addresses the new one does not use, and links from magazines, directories and old social posts still point at them. We wrote a permanent redirect for every one with a sensible destination, then built a checker that proves the rules work rather than assuming it. The live file carries 1,203 rules.

Mar 2026

We worked through the addresses the old site published and wrote a permanent redirect from each one to its replacement, covering blog posts, product pages, category pages and short aliases. Every old address that still carries a link now passes that value to the page that replaced it instead of landing on nothing.

Mar 2026

We kept the redirect list inside the hosting platform's rule limit. Cloudflare counts every rule that follows a wildcard against a cap of 100, so we moved the wildcards to the end of the file. Rules past that cap are ignored without warning, so hundreds of redirects would have looked correct in the file and done nothing on the live site.

Mar 2026

We built a checker that walks the whole rule list, requests each address and records where it actually lands. A file this size cannot be checked by eye, so the checker is what turns the redirect map from an assumption into a result we can reproduce after any change.

Mar to Apr 2026

We cleared the backlog of missing addresses Search Console had been reporting, writing a rule for every one with a sensible destination. A missing page tells Google to drop the address and tells the visitor they made a mistake, so this was the largest single recovery item in the remediation work.

Mar to Apr 2026

We settled the site on one address format for every page. It had been answering on both the trailing slash form and the form without it, which meant two addresses for every page splitting the signals between them, and we turned on page compression in the same change.

May 2026

We retired the dead offers section the old site left behind and pointed every old offer address permanently at the wooden gazebos range. The links those pages earned over the years now reach a page that sells, and that redirect answered correctly when we checked it on 07 August 2026.

Stream 03 Feb to May

Structured data and search engine signals

Search engines and AI assistants read a page through its markup as much as its text. We published a sitemap and a crawler policy at launch, marked up the questions and the products, and connected the website to the other places the company appears.

Mar 2026

We published an XML sitemap generated from the site's real routes at build time, left the internal preview and listing paths out of it, and published a robots file pointing at it. A sitemap is how a search engine learns about pages nothing links to yet, so publishing one at launch got the new addresses discovered in days rather than whenever a crawler wandered in.

Mar 2026

We marked up the FAQ blocks on the homepage and on the use case pages, built from the questions already shown there. Marked up answers can appear directly in a search result and feed the answers assistants give, and the questions had already been written.

Apr 2026

We added product codes and categories to the product markup, which had carried the name and the price and nothing else. A fuller record is what qualifies a page for the richer product result, and it helps shopping and AI surfaces match the page to the thing someone actually asked about.

Apr 2026

We put the live Trustpilot rating into the homepage markup, reading the current score and review count from the site settings rather than fixed numbers that go stale, and extended the profile list to name the company's LinkedIn and X profiles alongside Facebook, Instagram and YouTube. The rating block is what puts stars on a search result, and the profile list is how Google learns that the company on this site, the company on LinkedIn and the company on X are the same company.

Apr 2026

We set an explicit policy for AI crawlers, naming the ones that may read the site and the ones that may not. The assistants that send referral traffic can read it and the bulk scrapers that send nothing back cannot. A growing share of buying research now happens inside an assistant rather than on a results page.

Apr 2026

We published a plain text map of the site at its root listing the key pages, the product categories, the use case pages and the contact details. Assistants read that file instead of guessing the shape of the site from its navigation, which gives them a clean route to the pages Crown wants quoted.

Stream 04 Jan to May

On page SEO and metadata

Metadata is the part of a page a person reads before they decide to open it. We carried the old site's editorial settings across rather than losing them in the migration, then wrote what the new site was missing.

Jan 2026

We carried the old site's search settings across with the articles. Each WordPress article held its own search title, description and target term, and we brought all three into the new CMS rather than letting the import drop them. Those settings were years of editorial decisions about how each article should appear, and losing them would have meant Google rewriting every listing from scratch on the day of the migration.

Mar 2026

We wrote the page descriptions. Several main pages including the homepage had gone live with none, so Google composed its own from whatever text it found first. The descriptions we wrote name the products, the materials and the show sites, which means the listing says what Crown sells rather than whatever fragment a crawler picked up.

Apr 2026

We rebuilt the search and social metadata on every blog page so titles, descriptions and share images come from fields the editors already fill in, and added published and updated dates, section and tag information, image dimensions and alt text, next and previous links across paginated listings and visible breadcrumbs. Twelve separate faults had been stopping blog pages presenting properly in search and on social.

Apr 2026

We put the blog archive back into search. The listing layout had been marking every page after the first as not for indexing, so page two onward of every category had dropped out of Google and older posts sat behind a wall nothing crawled through. Removing it opened up years of writing that had gone invisible.

May 2026

We corrected the roof options described on gazebos and summer houses. The selling points offered a cedar roof only, when gazebos take cedar or thatch and summer houses take cedar. The roof is one of the first decisions a gazebo buyer makes, and describing half the choice sent people away to ask a competitor whether thatch was possible.

Stream 05 Feb to Aug

Content and blog infrastructure

The old site kept blog and news as two sections with overlapping articles. We rebuilt them as one system, put a real date and a named author on every piece, then worked on the content itself. The live site carries 154 articles today.

Feb 2026

We rebuilt the blog as one system with a single article type, one listing page and one article template, and moved the legacy files out. One system means one address per article, one place to publish and one template to improve, where splitting the archive across two sections had been dividing the ranking value between them.

Feb 2026

We gave every article a real publication date. Articles had been ordered by the date their record was created, which for everything brought over was the day of the migration, so every article on the site looked as though it had been written on the same day. Search engines read that date, and so does a reader deciding whether an answer is still current.

Mar 2026

We put a named author with a photograph and a biography on every article, and added a related articles block underneath. Google reads authorship as one signal of whether advice comes from someone who knows the subject, and so does a reader considering a building that costs as much as a car.

Apr 2026

We audited all 71 FAQ answers against the current selling points, the current pricing and the live addresses, found 16 problems across 14 answers and wrote replacement copy for each. One answer told visitors that garden rooms come with double glazing when every garden room ships with triple, and FAQ answers travel further than ordinary page copy because search results and AI answers quote them.

Apr to May 2026

We wrote the comparison pages that answer why Crown costs more, covering ten criteria that define a premium garden room with a six brand roster, like for like pricing and nine detailed tables, plus a second page comparing the gazebo range against a named competitor. The price question is the one that decides the sale, and it was being answered in a phone call or not at all.

Aug 2026

We corrected a claim in the comparison table about foundations. The row overstated what Crown offers as standard, so we changed it to say the option is available subject to a ground screw test. A comparison page only works while every row survives being checked, and one overstated claim on a page built to prove Crown is the honest option would have undone the whole argument.

Stream 06 Jan to Jul

CMS enablement and content operations

The point of the rebuild was that the team stops asking a developer to change a price. We modelled the content the business actually has, moved the products, showrooms, galleries and articles into it, and automated the release so publishing waits on nobody.

Jan to Feb 2026

We stood up the content management system the site runs on, added its query interface, wrote the library that lets the site read from it and packaged the whole thing so it deploys the same way every time. This is the foundation everything else sits on, and every change the team makes without a developer goes through it.

Feb 2026

We automated the release so publishing does not need a developer, wiring the CMS to trigger a rebuild and redeploy on its own and adding the diagnostics needed to see why a deploy failed when one did. Publishing used to end with someone asking a developer to release it.

Feb to Mar 2026

We fixed a data fault that was silently cutting lists off at ten items. The CMS returns ten entries from a nested list unless the query asks for more, and ours did not, so galleries, features and related items across the site were quietly truncated. This was invisible from the admin panel, where an editor could add a twelfth gallery image, watch it save and never see it appear.

Apr 2026

We found and removed 67 duplicate pages we had introduced. A catch all route in our own build was publishing 67 legacy records at their own addresses alongside the real pages, so we removed the route and left the data untouched. We introduced it and we caught it. Two addresses describing the same product split its ranking signals so neither wins, and clearing them gave every page a single address again.

Apr 2026

We cut the number of CMS calls each build makes. The testimonials block ran its own query on roughly 240 pages, so one build made the same call 240 times, and we moved those queries into shared helpers that hold the result for the length of the build. That turned publishing from something the team had to ration into something routine, and nothing about the rendered pages changed.

May to Jun 2026

We made the video hero take its slide copy from the video edit. The editor already sets markers while cutting the film, so we read that marker file at build time and turn each marker into a slide, with the marker name as the heading and its link as the button. Nobody retypes headings into a CMS and nobody waits on a developer to change them, which turns the homepage hero from a yearly project into something the marketing calendar can use each season.

Stream 07 Jan to Jul

Conversion and lead capture engineering

A site like this earns its keep in enquiries. We replaced the old plugin forms with our own handling, recorded where each enquiry came from, and made sure a lead that fails to send becomes a message rather than a silence.

Jan 2026

We built a form system that records where every enquiry came from, storing each one with the campaign parameters from the visit that produced it. Marketing can now see which campaign, which channel and which page produced a lead instead of guessing, and that is the number that decides where the next pound of advertising goes.

Feb 2026

We added a Book a Visit form to every showroom page and fixed a fault that was clearing what the visitor had typed as the page finished loading. A showroom visit is where this product sells, and putting the booking on the page for that specific showroom removes the step where the visitor has to find the contact page and explain which one they meant.

Mar 2026

We set up an alert for when a lead fails to send, so the team gets a message with the details rather than the enquiry disappearing. Silent lead loss is the most expensive failure a site can have, because nobody knows to look for it.

Apr 2026

We repaired the showroom list that had been empty on the booking form. The form fetched its list without the credential the CMS requires, so the request came back with nothing and the dropdown rendered empty on the live site. Anyone trying to book a visit reached a form with nothing to choose, on the highest intent action the site has.

Jun to Jul 2026

We brought every finance figure on the site under one module. It holds the plan terms and works out the monthly figures, so every payment shown on the site comes from one place. We built the representative example the regulator requires, put it behind a disclosure on product pages with the headline rate always visible above it, and put an open version on every listing page. Where a product had no figures we removed the monthly claim rather than showing an estimate. The lender's compliance audit had failed the site, and the finance route would have stayed closed until it passed.

Jul 2026

We made a finance policy change a single edit rather than a hunt. The plan quotes two separate figures and the choice between them moves every monthly payment on the site, so we raised it and the client instructed us which one to use. Every revision after that landed as one change to one constant in one module. Before this work the same calculation sat inside six separate components, so each revision would have meant finding all six and hoping we had.

Stream 08 Mar to Jul

Performance and Core Web Vitals

This site sells on photography and now carries film, and those are exactly the things that make a page slow. The work here kept the pictures and the video without asking every visitor to wait for them.

Mar 2026

We made the homepage show its main image sooner. We held back everything the first screen does not need, told the browser to fetch the hero image first, converted the brand fonts to the modern compressed format and served them from our own domain instead of a font service. The largest image on the homepage is what Google times when it measures loading, and the same fonts serve every other page on the site.

May 2026

We converted the site's photography to a modern image format. We wrote a tool that finds every heavy image, converts it, rewrites the references in the code and reports the bytes saved, then ran it across the whole library while keeping the originals so we could roll back. Photography is the heaviest thing on the page for a business that sells on how its buildings look, and lighter files mean the pictures arrive sooner for someone standing in a garden on a phone.

May 2026

We loaded the garden room 3D configurator only when a visitor scrolls to it. The tool sits well down the page, so loading its heavy embed up front would have slowed the part everyone sees. Holding it back gives the buyer the tool without charging every visitor for it.

Jun 2026

We tuned the homepage video so it does not cost the page its speed, capping the streaming quality, limiting how far ahead the player buffers and holding the video back until the page has finished the work that matters first. A video hero is the usual way a site loses its loading score.

Jul 2026

We served product and blog images through the hosting network's edge cache. Images had been pulled from the media store on every page view, so we routed them through the site's own address and added a header that lets us confirm the cache is working. Visitors now get images from a server near them, and the media store went from being hit once per visitor to roughly once per image, which pulled a running cost back under its allowance.

Stream 09 Jan to Aug

Site health, QA and continuous fixes

Most of what breaks a site breaks quietly. We put automated checks in front of every release, and we record our own mistakes the same way we record the inherited ones.

Jan 2026

We built automated tests that submit the site's forms before every release, filling in and sending the contact form, the brochure request and the showroom visit booking and checking that the campaign tracking travelled with them. A form that quietly stops working costs enquiries for weeks before anyone notices.

Feb to Mar 2026

We set up screenshot testing that flags any unintended visual change, capturing every page in several browsers, comparing each against the approved version and collecting the differences in a gallery we review. On a site this size a change to one shared component can break a page nobody thought to check, and the screenshots surface that in minutes instead of after a customer reports it.

Feb 2026

We fixed a gallery that was only ever showing its first ten images, because the query behind it never asked for more. Buyers were seeing a fraction of the photography that exists, and for a business that sells on how its buildings look, hidden images are lost enquiries.

May 2026

We caught and reversed files our own image tool had removed. The tool we wrote to shrink the image library deleted archive files it should have left alone, and a local setting was hiding some of them from review. We found the fault inside our own change on the same day, restored every file and added tests covering the cases that tripped it up. Nothing reached a customer.

Jun 2026

We made the mobile menu impossible to break. An error anywhere else on the page could stop the menu script running, which left the hamburger button dead, so we isolated the menu to run on its own regardless of what else fails. On a phone the hamburger is the only route to anything, and a menu that silently refuses to open ends the visit there.

Aug 2026

We made the build refuse to publish a site with missing content. If a content collection came back empty the build carried on and published pages with nothing in them, so we made an empty collection stop the build instead. A silent empty build is the worst kind of failure, because the site stays up and looks broken.

Timeline Jan to Aug

Work shipped each month

Each bar counts the engineering changes we released that month. The shape of it follows the shape of the job. January and February carried the migration and the front end build, March and April carried the launch and the fixes that followed it, and the months after that carried content, handover to the team and finance compliance.

Changes shipped per month

Monthly total Eight month average
Engineering changes shipped each month, January 2026 to August 20261002003004000AVG 115177JAN285FEB154MAR80APR95MAY65JUN57JUL8AUG
Milestones. Jan to Mar: migration, front end build and launch. Mar to Apr: the redirect programme and the Search Console backlog. Apr to Jul: content depth, CMS handover and finance compliance. Aug: the comparison table correction and the build safeguard. Each bar counts every change we recorded in the site repository that month. August covers the first week only. Three of the August entries set up this report rather than the website, which is why the headline figure of 918 sits three below the chart total of 921.
Appendix A 169 tasks

The full task log

We list every one of the 169 tasks in this report below, grouped into the same nine workstreams, with what we did, why it mattered and the month it shipped.

Redirects & URL Hygiene (18 tasks)

TaskWhat we didWhy it matteredWhen
Built a real 404 page for visitors who land on a dead addressThe new site had no 404 page, so a mistyped or retired address gave the visitor a blank. We built one that explains what happened and links back into the main sections of the site.Someone who hits a broken link now has a route back in rather than a reason to leave. It also gave us a clean signal to work against while we cleared the redirect backlog.Feb 2026
Repaired navigation links that pointed at addresses the site no longer usedThe gazebo mega menu and the use case menu still carried paths from before that content moved into the CMS. We matched every link to the live address.Visitors stopped hitting dead ends straight from the main menu. Search engines follow those menu links on every page of the site, so one broken entry wastes crawl effort everywhere.Feb 2026
Pointed every footer link at a live pageThe footer links were written into the code and had drifted out of step with the pages in the CMS. We wired them to the real page addresses instead.The footer sits on every page of the site, so each wrong link there was multiplied across the whole site. Fixing them cleared a large block of internal dead ends in one change.Mar 2026
Corrected the finance page address used across the siteLinks to the finance page pointed at an address that no longer existed. We updated the product finance block and the homepage to use the live one.Finance is one of the routes a buyer takes before enquiring. A broken link on that route loses the enquiry, not just the page view.Mar 2026
Rebuilt the redirect map so old site addresses still reach a live pageWe worked through the addresses the old site published and wrote a permanent redirect from each one to its replacement. The list grew through March as we covered blog posts, product pages, category pages and short aliases.Every old address that still carries a link from a magazine, a directory or a social post now passes that value to the page that replaced it. Without the map those links would have landed on nothing.Mar 2026
Kept the redirect list inside the hosting platform's rule limitCloudflare treats every rule that follows a wildcard as a dynamic rule and allows only 100 of those. We moved the wildcards to the end of the file so the ordinary rules stopped counting against that limit.Rules past the limit are ignored without warning. Left alone, hundreds of redirects would have looked correct in the file and done nothing on the live site.Mar 2026
Cleared the backlog of missing addresses Search Console had been reportingWe exported Google's list of addresses returning nothing and wrote a rule for every one with a sensible destination. Old blog posts go to the news section, old category and tag pages go to the matching news category, and old brochure and offer addresses go to their live equivalents.A missing page tells Google to drop the address and tells the visitor they made a mistake. A permanent redirect keeps the ranking value and lands the visitor somewhere useful. This was the largest single recovery item in the plan.Mar 2026, Apr 2026
Built a checker that tests every redirect rule against the live siteWe wrote a script that walks the whole rule list, requests each address and records where it actually lands, then writes a report we can read at a glance.A redirect file this size cannot be checked by eye. The checker means we prove the rules work rather than assume it, and we can rerun it after any change.Mar 2026
Settled the site on one address format for every pageThe site answered on both the version with a trailing slash and the version without, which meant two addresses for every page. We made the trailing slash the single form and turned on page compression at the same time.Two addresses for one page split its ranking signals and double the crawling. Picking one form gives each page a single address that keeps everything it earns.Mar 2026, Apr 2026
Kept expired promotions and thank you pages out of search resultsOld reader offer and anniversary promotion pages were still indexable long after they ended, and the brochure thank you page could rank in place of the brochure page itself. We excluded them and added a control in the page layout so any page can be held back from search.An expired offer ranking above the live range wastes the click and disappoints the visitor. Keeping the thank you page out of search means people reach the form rather than the page that follows it.Mar 2026, Apr 2026
Removed a redirect hop from every internal linkInternal links pointed at the version of each address without a trailing slash, so every click went through a redirect before reaching the page. We updated them across 47 files, including the whole navigation.A redirect on every click costs the visitor time and dilutes the value each internal link passes on. The links now land on the page directly.Mar 2026
Corrected internal links that still used pre-launch addressesLinks across the site pointed at privacy and post paths the launched site does not use. We repointed them at the live privacy policy and news addresses.These sat inside the contact and brochure forms and on every blog card. Each one was a dead end at the exact moment a visitor was closest to enquiring.Mar 2026
Corrected the remaining footer and navigation link targetsWe repointed the last few footer and navigation entries that were still aimed at addresses the site had moved on from, and removed the clearance link from the footer once that sale ended.Footer and navigation links appear on every page, so a stale one is not a single broken link but hundreds. Removing a finished sale from the footer also stops the site advertising something the team can no longer honour.Mar 2026
Corrected three redirect rules that sent people to the wrong placeThe sitemap address pointed at a file that did not exist, /offers went to the homepage instead of the offers listing, and the garden room brochure download had no rule at all.These three were worse than missing rules. Each one looked handled and quietly sent search engines and buyers somewhere useless.Apr 2026
Caught the old blog author pages and feed addressesThe previous site published author archive pages and an RSS feed at addresses the new site does not use. We pointed them at the news section and the homepage.Those addresses still carried links and were returning nothing. Redirecting them recovered that value and removed a whole block of errors from the Search Console report.Apr 2026
Stopped search engines crawling tracking parameter copies of pagesSocial and advertising platforms append their own tracking parameters to a link. Each variation looks like a separate address to a crawler. We told the crawlers to ignore them.One page was being crawled many times over under near identical addresses. Blocking the variations focuses crawling on the real pages and removes a duplicate content risk.Apr 2026
Retired the legacy /news/offers/ section with permanent redirectsWe removed the dead offers section the old site left behind. Every old offer address now points permanently to the wooden gazebos range.Visitors and search engines no longer hit broken pages. The links those old pages earned over the years now pass their value to a page that sells.May 2026
Pointed the magazine reader offer address at the right showsiteThe reader offer link first went to the wrong showsite. We corrected it to the Chessington location the offer applied to.The offer ran in print with that address printed on it. Sending those readers to the wrong showroom would have wasted the visits the campaign paid for.May 2026

Structured Data & Search-Engine Signals (11 tasks)

TaskWhat we didWhy it matteredWhen
Documented every route the site publishesWe wrote a reference listing every address the site generates and the file that produces it, then corrected it twice as the routes changed.That list is what we check redirects, sitemap coverage and QA against. Without it, noticing that a page has stopped being published is guesswork.Feb 2026
Published an XML sitemap and told search engines where to find itThe new site published no sitemap and no crawler instructions. We generated a sitemap from the real routes at build time, left out the internal preview and listing paths, and published a robots file pointing at it.A sitemap is how a search engine learns about pages that nothing links to yet. Publishing one at launch got the new addresses discovered in days instead of waiting for a crawler to find them.Mar 2026
Marked up the FAQ blocks so search engines can read the answersWe added FAQ structured data to the homepage and to the use case pages, built from the questions already shown on those pages.Marked up answers can appear directly in a search result and feed the answers AI assistants give. The questions were already written. The markup is what makes them count outside the page.Mar 2026
Added product codes and categories to the product markupThe product structured data carried the name and the price but no product code and no category. We added both.A fuller product record is what qualifies a page for the richer product result in search. It also helps shopping and AI surfaces match the page to the thing someone actually asked about.Apr 2026
Put the live Trustpilot rating into the homepage markup and linked the brand's profilesWe added a rating block to the business structured data that reads the current Trustpilot score and review count from the site settings rather than carrying fixed numbers that go stale. We also extended the profile list so the markup names the company's LinkedIn and X profiles alongside Facebook, Instagram and YouTube.The rating block is what puts stars on a search result, and stars make a listing stand out against the ones around it. The profile list tells Google that the company on this site, the company on LinkedIn and the company on X are one company, which is how a brand earns a knowledge panel and how AI answers learn which source to cite.Apr 2026
Set an explicit policy for AI crawlersWe named the crawlers that may read the site and the ones that may not. The assistants that send referral traffic can read it. The bulk scrapers that send nothing back cannot.A growing share of buying research now happens inside AI assistants rather than on a results page. Letting the right ones read the site keeps Crown quotable in those answers while closing the door on collection that returns nothing.Apr 2026
Made the indexing control in the CMS actually workEvery blog post carried a field for keeping the post out of search and the site never read it. We wired the field through the post layout so the setting reaches the page.Editors need a way to hold a page back from search. A control that silently does nothing is worse than no control, because the team believes a page is hidden when it is not.Apr 2026
Gave every static page a social preview imageThirteen pages had no image set for sharing, so a link to them showed a blank card. We set an image on each one and later changed the site wide default to a stronger photograph.A link to the site now shows a photograph of the product wherever anyone shares or pastes it. Blank cards earn fewer clicks, and the sales team sends these links to buyers directly.Apr 2026, May 2026
Opened connections to the CMS early and named the brand's social accountWe told the browser to start its connection to the CMS and the analytics endpoints as soon as a page begins loading, and added the tag that attributes shared links to the company's own account.Every page that loads an image from the CMS now saves the connection delay, which feeds straight into the load speed measures Google reads.Apr 2026
Linked up pages nothing pointed at and removed leftover test pagesSeveral real pages had no link anywhere on the site, and two test pages from the build were still published. We linked the orphaned pages from the footer and the navigation, deleted the test pages and refreshed the sitemap.A page with nothing linking to it is hard for a search engine to find and harder still to rank. Test pages in the index waste crawl budget and can surface in a search for the brand.Apr 2026
Published a plain text map of the site for AI assistantsWe published a file at the root of the site listing the key pages, the product categories, the use case pages and the contact details in plain text.AI assistants read that file instead of guessing the shape of the site from its navigation. It gives them a clean route to the pages Crown wants quoted when someone asks an assistant about luxury garden buildings.Apr 2026

Performance & Core Web Vitals (5 tasks)

TaskWhat we didWhy it matteredWhen
Made the homepage show its main image soonerWe held back everything the first screen does not need, told the browser to fetch the hero image first, converted the brand fonts to the modern compressed format and served them from our own domain instead of a font service.The largest image on the homepage is what Google times when it measures loading speed. Fetching it first and cutting the font handshake moves that measure directly, and the same fonts serve every other page on the site.Mar 2026
Converted the site's photography to a modern image formatWe wrote a tool that finds every heavy image on the site, converts it, rewrites the references in the code and reports the bytes saved. We ran it across the whole image library and kept the originals so we could roll back. A second tool lists images nothing uses so we can retire them.Photography is the heaviest thing on the page for a business that sells on how its buildings look. Lighter files mean the pictures arrive sooner for someone standing in a garden on a phone, and image weight feeds straight into the load speed scores Google reads.May 2026
Loaded the garden room 3D configurator only when a visitor scrolls to itWe added the configurator section to garden room product pages and held its heavy embed back until it comes into view.The tool sits well down the page, so loading it up front would have slowed the part everyone sees. Holding it back gives the buyer the tool without charging every visitor for it.May 2026
Tuned the homepage video so it does not cost the page its speedWe capped the streaming quality, limited how far ahead the player buffers and held the video back until the page has finished the work that matters first.A video hero is the usual way a site loses its loading score. Capping and deferring it means the homepage keeps the moving footage without paying for it in speed.Jun 2026
Served product and blog images through the hosting network's edge cacheImages were pulled from the media store on every page view. We routed them through the site's own address so the hosting network keeps a copy close to the visitor, and added a header that lets us confirm the cache is working.Visitors now get images from a server near them instead of one origin far away. The media store went from being hit once per visitor to roughly once per image, which pulled a running cost back under its allowance.Jul 2026

On-Page SEO & Metadata (8 tasks)

TaskWhat we didWhy it matteredWhen
Carried the old site's search settings across with the articlesEach WordPress article held its own search title, description and target term. We checked how many articles actually had each field, then brought all three across into the new CMS rather than letting the import drop them.Those settings were years of editorial decisions about how each article should appear in search. Losing them would have meant Google rewriting every listing from scratch on the day of the migration.Jan 2026
Reworked the showroom section on the about pageWe gave each venue its own subheading, replaced the Surrey photograph and made the call to action stand out.The about page is where a cautious buyer checks the company is real, and the showrooms are the proof. Naming each venue as a heading also means the page says where Crown has a presence in a way a search engine can read.Feb 2026
Wrote the page descriptions that decide whether a search result gets clickedSeveral main pages including the homepage went live with no description, so Google composed its own from whatever text it found first. We wrote descriptions that name the products, the materials and the showrooms.The description is the sales line under a search result. Writing it ourselves means the listing says what Crown sells rather than whatever fragment a crawler happened to pick up.Mar 2026
Rebuilt the search and social metadata on every blog pageBlog pages now take their titles, descriptions and share images from the fields editors already fill in the CMS. We added published and updated dates, section and tag information, image dimensions and alt text, next and previous links across paginated listings, visible breadcrumbs, and written descriptions for every category listing.Twelve separate faults were stopping blog pages presenting properly in search and on social. Fixing them together means every post now carries the dates, the image and the description that decide how it looks when someone finds it.Apr 2026
Put the blog archive back into searchThe blog listing layout marked every page after the first as not for indexing, so page two onward of every category dropped out of Google. We removed it.Older posts sat behind page two and Google never crawled through to them. Removing the block opened up the whole archive, which is years of writing that had gone invisible.Apr 2026
Standardised how the site writes show siteCustomer facing text used our internal spelling, showsite. We changed it to show site across 24 files and left the addresses alone.Internal shorthand in customer copy reads as careless on a premium brand. The corrected wording also matches how people search for somewhere to visit.May 2026
Corrected the roof options described on gazebos and summer housesThe selling points offered a cedar roof only. Gazebos take cedar or thatch, and summer houses take cedar. We wrote the choice into the selling points, the quality features and the technical specifications on the products it applies to.The roof is one of the first decisions a gazebo buyer makes. Describing only half the choice sent people away to ask a competitor whether thatch was possible.May 2026
Corrected the wording on the why Crown Pavilions pageThe page said features come standard where it should read come as standard. We fixed it.Small grammar faults on the page that argues for a premium price quietly undercut the argument. This is the page a buyer reads when they are deciding whether Crown is worth the difference.May 2026

Site Health, QA & Continuous Fixes (22 tasks)

TaskWhat we didWhy it matteredWhen
Built automated tests that submit the site's forms before every releaseWe set up browser driven tests that fill in and send the contact form, the brochure request and the showroom visit booking, then check the campaign tracking data travelled with them.A form that quietly stops working costs enquiries for weeks before anyone notices. These tests catch that before the release goes anywhere near a customer.Jan 2026
Added browser security headers and kept the marketing tools working behind themWe added the headers that force encrypted connections, control what a page is allowed to load and limit what the browser may do. We then worked through every legitimate service the site uses, including analytics, call tracking, advertising pixels and the video players, and allowed each one by name.The headers close a class of attack and clear a warning every audit tool raises. Naming each third party rather than leaving the door open also gives Crown an exact record of what runs on the site.Jan 2026, Apr 2026, May 2026, Jun 2026, Jul 2026
Fixed build failures that were blocking releasesThree separate faults stopped the site building on the deployment platform, covering how linked libraries resolve, a syntax rule the build tool enforces and a dependency file that behaved differently there.Every one of these blocked publishing entirely. Content the team had already approved sat unreleased until the build ran clean again.Jan 2026, Feb 2026, Apr 2026
Set up screenshot testing that flags any unintended visual changeWe capture a screenshot of every page in several browsers and compare it against the approved version. We built a gallery for reviewing the differences and extended the capture to cover the CMS driven pages as well.On a site this size a change to one shared component can break a page nobody thought to check. The screenshots surface that in minutes instead of after a customer reports it.Feb 2026, Mar 2026
Built a repeatable customer review using twelve buyer profilesWe wrote twelve customer profiles covering the buyer types Crown sells to, and two review processes that walk the site as those people and report what confused them.It turns a vague sense that a page feels wrong into a specific list of things a specific buyer could not find. We use it to decide which page to work on next rather than guessing.Feb 2026
Fixed two product page faults that were hiding contentThe premium package banner pushed the product image down the page, and the care and maintenance accordion cut off longer answers. We overlaid the banner and made the accordion measure its real content height.Both faults sat on the page a buyer reads before enquiring. One pushed the photograph out of view and the other hid the specification detail the buyer came for.Feb 2026
Fixed a gallery that was only ever showing the first ten imagesThe CMS returns ten items per page unless you ask for more, and the gallery query never did. We corrected the query and gave the bespoke section its full address at the same time.Buyers were seeing a fraction of the photography that exists. For a business that sells on how its buildings look, hidden images are lost enquiries.Feb 2026
Cleared out components nothing on the site used any moreWe moved 24 dead or duplicated components out of the live code into a backup folder, and folded a duplicate call to action section into the one the site actually uses.Dead code is where regressions hide, because someone eventually edits the copy that is no longer rendered anywhere. Removing it makes every later change faster and safer.Feb 2026
Fixed a run of small faults across the contact page, buttons and mapsWe repaired a contact page layout that broke at certain widths, centred and matched button widths on phones, corrected the product page call to action, fixed the showroom map popup and removed a stray reference that had been committed by mistake.None of these is large on its own. Together they are the difference between a site that feels finished and one that feels almost finished, on the pages where a buyer decides whether to trust the company.Feb 2026, Mar 2026, Apr 2026, May 2026
Ran full journeys as each customer profile and published the reportsWe built a process that walks a real browser through a multi page journey as one of the customer profiles, captures a screenshot at every step and writes up what that person would have thought. We then built a viewer so the reports can be read like a document.It shows the site the way a buyer meets it, in sequence, rather than page by page in isolation. Several of the fixes in this report started as a sentence in one of those journeys.Feb 2026, Mar 2026
Took the internal preview and listing pages off the public siteThe build was publishing a content browser, a preview route and a sample product page that only we ever used. We deleted all three.Internal pages in the index waste crawl budget and can surface in a search for the brand. Removing them also closed a public route into unpublished content.Mar 2026
Made small controls easier to tap and faint text easier to readThe hero slide dots were two pixel targets. We wrapped each one in a full size button and lifted the contrast on the review count text, the breadcrumb links and several other link colours.A control too small to hit reliably and grey text on white are the two faults accessibility checks raise most often, and both cost real visitors.Mar 2026, May 2026
Stopped one incomplete article from breaking the whole buildAn article saved without an address stopped the site building at all. We made the route skip it instead.One editor saving a draft could take down the entire release. Nothing about the site should be that fragile to normal editorial work.Mar 2026
Fixed images that were missing or broken on the live siteSeveral images existed on our machines but never reached the live site, and two paths used the wrong capitalisation, which works locally and fails on the deployment server.A broken image on the founders story or the showroom section reads as a site nobody looks after. These are the pages carrying the brand's credibility.Apr 2026, May 2026, Jun 2026
Wrote the remediation plan the technical fixes came fromWe audited the site, wrote up every fault we found in priority order with the reasoning behind each one, and worked the list in stages rather than fixing whatever surfaced first.Ad hoc fixing is how the same fault comes back twice. Working from a written plan means the client can see what was found, what was fixed and what is still open.Apr 2026
Caught and reversed files our own image tool had removedThe tool we wrote to shrink the image library removed archive files it should have left alone, and a local setting was hiding some of them from review. We restored every file, then added tests covering the cases that tripped the tool up.This is our own quality process working. We found the fault inside our own change on the same day, put the files back and closed the gap that allowed it. Nothing reached a customer.May 2026
Gave the header back the screen space it was taking on phonesThe top bar now hides as the visitor scrolls down and returns when they scroll up, and we tuned how far they need to scroll before it comes back so it stops flickering.On a phone the header was eating a quarter of the screen on every page. Giving that space back to the photography and the copy is what people came to see.May 2026
Held the golf simulator page back from the listing until its photography was readyThe page was written and useful before the imagery existed, so we kept it out of the listing grid, then added the six illustrations and put it back.A page in the listing with placeholder pictures next to finished ones reads as unfinished across the whole section. Holding one card back cost nothing and protected the rest.May 2026
Made the mobile menu impossible to breakAn error anywhere else on the page could stop the menu script from running, which left the hamburger button dead. We isolated the menu so it runs on its own regardless of what else fails.On a phone the hamburger is the only route to anything. A menu that silently refuses to open ends the visit there.Jun 2026
Made product gallery videos play reliably in every browserThe gallery video used an embedded frame that some browsers refused to start. We switched to a native player, set it to start silently, added a retry and made it replay when the visitor returns to that slide.A video that shows a still frame and never moves looks like a broken page. Product video is the closest a buyer gets to walking into the building before they visit a showroom.Jun 2026
Removed a document holding live credentials from version controlA working document had live access credentials in it and was being tracked alongside the code. We stopped tracking it and kept it outside the repository.Credentials in a code repository are the most common way an account is compromised, because the repository outlives everyone's memory of what is in it.Jun 2026
Made the build refuse to publish a site with missing contentIf a content collection came back empty the build carried on and published pages with nothing in them. We made an empty collection stop the build instead.A silent empty build is the worst kind of failure, because the site stays up and looks broken. Now a content problem stops the release rather than reaching the public.Aug 2026

Conversion & Lead-Capture Engineering (27 tasks)

TaskWhat we didWhy it matteredWhen
Built a form system that records where every enquiry came fromWe replaced the plugin forms the old site used with our own submission handling. Every enquiry is stored with the campaign parameters from the visit that produced it.Marketing can now see which campaign, which channel and which page produced a lead instead of guessing. That is the number that decides where the next pound of advertising goes.Jan 2026
Published the printed brochures as downloads with covers and categoriesWe collected the printed brochures, converted them into a structured catalogue the site can read, gave each one a cover image and sorted the downloads by product category.A buyer can now take the same document the sales team hands out at a showroom. It is the highest intent action on the site short of an enquiry.Jan 2026
Rebuilt the contact form with spam protection and clear error messagesThe form now checks each field as the visitor fills it in, shows the problem next to the field rather than at the top, scrolls to the first error allowing for the sticky header, and screens out bots without asking a person to solve a puzzle.Most abandoned forms are abandoned at an error the person cannot find. Showing the problem in place keeps the enquiry alive, and the bot screening keeps the sales team's inbox worth reading.Feb 2026
Built the brochure request page and pointed every brochure link at itWe built a brochure request page with its own form and spam screening, generated a cover image for each brochure, and repointed the header, the footer and every remaining brochure link across the site.The brochure is the main way a browsing visitor becomes a named contact. Before this, brochure links went to several different places and some went nowhere at all.Feb 2026
Added a Book a Visit form to every showroom pageWe built the booking form into the showroom detail pages and fixed a fault that was clearing what the visitor had typed as the page finished loading.A showroom visit is where this product sells. Putting the booking on the page for that specific showroom removes the step where the visitor has to find the contact page and explain which one they meant.Feb 2026
Moved the phone number and address into one placeThe contact details were written into a dozen components separately. We pulled them into a single shared record every part of the site reads.The phone number is the most consequential text on the site. One place to change it means it can never again be right in the footer and wrong on the contact page.Feb 2026
Moved form delivery onto the hosting platform and repaired the destinationsWe moved form handling off the CMS and onto the hosting platform, wired the submissions into the automation the team uses and corrected a delivery address that had gone stale.Enquiries stopped depending on the CMS being awake. The team receives them in the tool they already work in rather than logging into an admin panel to check.Feb 2026, Mar 2026, May 2026
Set up an alert for when a lead fails to sendIf an enquiry fails to reach its destination the team now gets a message in Slack with the details rather than the enquiry disappearing.Silent lead loss is the most expensive failure a site can have, because nobody knows to look for it. Now a failure becomes a notification the same minute.Mar 2026
Corrected which form fields the site insists onSome fields the sales team needs were optional and some fields nobody used were compulsory. We worked through each form and set them to match how the team actually qualifies a lead.Every extra compulsory field loses a share of the people filling the form in. Every missing one costs the sales team a call to ask the question. This balanced the two.Mar 2026
Built the cookie consent banner and recorded the answer against each enquiryWe built the consent banner and wired the visitor's choice through to the enquiry record, so every stored lead carries the consent that came with it.Consent that is collected but not recorded is no defence at all. Storing it alongside the enquiry means the team can prove, per lead, what the person agreed to.Mar 2026, Apr 2026
Put finance in front of buyers on the product and home pagesWe added a finance section to the product pages and the homepage, and updated it as the client changed the deposit terms and the imagery.Finance turns a price that stops a buyer into a monthly figure they can weigh against a holiday. Putting it on the product page means the buyer sees it while they are still interested rather than after they have left.Mar 2026
Removed the monthly finance line from the package cardsThe package comparison cards each carried their own monthly figure. We took it out and left the pricing to the finance section that shows the full terms.A monthly figure with no terms next to it is exactly what a lender's audit objects to. We took it out of the cards so every monthly payment the site shows now sits beside the terms that explain it.Mar 2026
Wired promotions from the CMS onto product pages and cardsThe team can set a promotion in the CMS and it now appears on the product page, on the product card in a listing and in the banner, with the label, badge and colour coming from the CMS rather than the code.A seasonal offer used to need a developer to appear anywhere. Now marketing runs a promotion themselves and it shows up everywhere it should, consistently, on the same day they decide to run it.Mar 2026, Jun 2026
Stored every enquiry in a database and asked buyers how they found CrownWe moved form submissions into a database the team can query, and replaced the options in the how did you hear about us field with the channels the business actually uses.The team can now count leads by source rather than reading an inbox. Asking the question in the buyer's own words is the only attribution that captures word of mouth and print, which advertising tracking never sees.Mar 2026
Built a quick capture form for the sales teamWe built a short form the customer service team fills in during a call, which lands in the same place as every web enquiry.A phone enquiry written on paper never reaches the reporting. Capturing it in the same place as the web leads means the pipeline reflects everything, not just the part that came through the website.Mar 2026
Repaired the showroom list that had been empty on the booking formThe booking form fetched its showroom list without the credential the CMS requires, so the request came back with nothing and the dropdown rendered empty on the live site. We found it while caching that call and fixed both together. The form now lists all six active showrooms.Anyone trying to book a visit reached a form with nothing to choose. This is the highest intent action on the site and it could not be completed.Apr 2026
Put the correct trading entities on every form, footer and policyThe site named one company where two trade. We set the correct attribution and data protection wording across the forms, the footers and the privacy policy.A privacy notice naming the wrong company is a compliance problem and a trust problem at the same moment a visitor is handing over their details.Apr 2026
Added a buy now pay later section to the finance pageWe added the section and the accompanying illustration explaining how the deferred payment option works.Buyers ordering ahead of a summer installation want to know they are not paying before they have the building. Saying so on the page removes a question that otherwise waits for a phone call.Apr 2026
Added an announcement bar the team controls from the CMSWe built a bar above the header that draws its message from the current promotion, carries a link to the latest offers and stays dismissed for a day once the visitor closes it.It puts the current offer on every page of the site without a developer. Remembering that someone dismissed it means a returning visitor is not shouted at twice.May 2026, Jul 2026
Put a call to action at the points where visitors were finishing a section with nowhere to goWe added calls to action below the selling points grid on the comparison page, under the why Crown Pavilions and brand story sections on the homepage, and moved the promotional banner to sit under the finance section.A visitor who has just read the argument for the price is as convinced as they will get. Leaving that moment without a next step wastes the work the copy just did.May 2026
Shortened the brochure form by folding the message box awayThe free text message box sat open on the brochure form. We collapsed it behind a link so people who want to say something still can.A shorter form gets completed more often. The box was making a three field request look like a long one, on the action most likely to turn a browser into a contact.May 2026
Built the Surrey Magazine reader offer landing pageWe built a landing page for the magazine offer with its own booking form, and later made the wording cover any showroom rather than naming one, so the offer works wherever the reader wants to visit.The magazine ran the address in print. A campaign with a real page behind it can be measured, and the booking form on that page attributes every visit back to the advertisement that paid for it.May 2026
Brought every finance figure on the site under one moduleWe built a single module that holds the plan terms and works out the monthly figures, so every payment shown on the site comes from one place. We built the representative example the regulator requires, put it behind a disclosure on product pages with the headline rate always visible above it, and put an open version on every listing page. Where a product had no figures we removed the monthly claim rather than showing an estimate. We rebuilt the footer with a legal zone carrying the registered office, the company number, the regulator's register number and the lender disclosure word for word.The lender's compliance audit had failed the site, and the finance route would have stayed closed until it passed. Advertising a monthly payment is regulated, and the site now shows one only where it can show the full example beside it.Jun 2026, Jul 2026
Kept the advertised finance package in step with the client's current offerThe client changed the finance package several times through the summer. Each time we updated the terms the site quotes and the figures that follow from them.A monthly payment on the website that no longer matches what the sales team can arrange costs the sale twice, first at the enquiry and again in the call that corrects it.Jun 2026, Jul 2026
Published the terms and conditions for the competitionWe wrote and published the competition terms and revised them as the client refined the rules.A prize promotion without published terms is a legal exposure and a reason for entrants to distrust it. Having them on the site makes the competition usable in advertising.Jun 2026
Made a finance policy change a single edit rather than a huntThe plan quotes two separate figures and the choice between them changes every monthly payment shown on the site. We shipped one reading of it, raised the question with the client, and they instructed us which figure to use. Every revision after that landed as one change in one module.The client revised that decision more than once in the days after launch, at the same small cost each time. Before this work the same calculation sat inside six separate components, so each revision would have meant finding all six and hoping we had.Jul 2026
Let several promotions share the homepage bannerThe banner could only show one promotion at a time. We made it cycle through every active one, stopped promotions leaking onto product cards they were not meant for, removed a date strip that was showing internal scheduling, and tidied the spacing.Crown runs more than one offer at a time in season. The banner is the most valuable space on the site and it was showing one thing while three were live.Jul 2026

Content & Blog Infrastructure (23 tasks)

TaskWhat we didWhy it matteredWhen
Rebuilt the blog as one system with a single article typeThe old site kept blog and news as separate sections with overlapping articles. We built one article type with categories and tags, one listing page, a shared listing layout and a single article template with a hero, body, sidebar and share bar, then moved the legacy files out.One system means one address per article, one place to publish and one template to improve. Splitting the archive across two sections had been dividing the ranking value between them.Feb 2026
Gave every article a real publication dateArticles were ordered by the date their record was created in the CMS, which for everything brought over was the day of the migration. We added a publication date field, moved the real dates onto it and sorted the archive by that.Every article on the site looked as though it had been written on the same day. Search engines read that date, and so does a reader deciding whether an answer is still current.Feb 2026
Moved the FAQs into the CMS and merged three FAQ components into oneFAQ answers were written into three different components in the code. We moved the content into the CMS behind one component and migrated the category values cleanly, including the entries already live in production.FAQ answers feed search results and AI answers, so a wrong one travels a long way. Having them in the CMS means the team corrects an answer in minutes rather than filing a development request.Feb 2026
Reordered the category pages so the products come firstWe moved the product grids up to sit directly under the introduction, gave each category its own brochure image in the mega menu and gave every section on the page a stable anchor so it can be linked to directly.A visitor on a category page came to see the range. Making them scroll past supporting copy to reach it costs the clicks that lead to a product page.Feb 2026, May 2026
Put a named author with a biography on every articleWe built an author record holding a photograph and a biography, added an author block to the article template, and added a related articles section under each post.Google reads authorship as one signal of whether advice comes from someone who knows the subject. It matters to the reader too, when the advice concerns a building that costs as much as a car.Mar 2026
Added a definition section and a model comparison table to the garden rooms pageWe wrote an opening section that defines what a luxury garden room is and how it differs from a shed or a prefabricated unit, and built a table comparing the Crown models side by side.A category page that opens straight into the range assumes the visitor already knows what a luxury garden room is and how it differs from a shed. The definition answers that first, and the comparison table keeps someone choosing between two Crown models on the site instead of opening five tabs to work it out.Mar 2026
Cleaned up the blog listings and embedded videoWe allowed video embeds to play inside articles, added spacing after the author biography, hid a post that was nothing but a link to a video, and remapped a set of article images to files the site actually serves.The listing is the shop window for years of writing. A post with no content behind it and articles with missing images both cost the reader's confidence at the first click.Mar 2026, Jul 2026
Built the celebrity customers page and the EcoGrid foundation pageWe built a page covering the well known customers who own a Crown building, with their testimonials and photographs, and a page explaining the EcoGrid foundation system.Both pages answer a question the sales team was answering by hand. One is social proof at the top of the range, the other is the technical answer a buyer needs before they can picture the building in their own garden.Mar 2026
Moved every blog image off the old WordPress server onto our ownHundreds of article images were still being loaded from the old WordPress uploads folder. We designed the migration, brought every file across, converted it and repointed the articles at the copies we host.Images loaded from a server nobody maintains disappear the day it is switched off, and every article that used one would have broken at once. They now sit on infrastructure Crown controls.Mar 2026
Removed references to a product the range no longer sellsSeveral pages still mentioned a pizza oven option. We took it out of the bespoke pages, the summer house range, the annexe and kitchen use case pages and the celebrity page.A buyer who asks for something the site advertises and cannot have it starts the relationship with a disappointment. It is also the kind of drift that accumulates until nobody trusts any detail on the site.Mar 2026
Reworked the package and pricing guide presentationWe rebuilt how packages and the pricing guide render, trimmed the garden room package data down to what the brochure actually says, refreshed the hero photography and added a dedicated mobile hero.Packages and price are the two things a buyer compares between suppliers. Presenting them clearly, from data that matches the brochure, is what makes the page usable as a comparison rather than a brochure of its own.Mar 2026
Audited all 71 FAQ answers against the current products and pricesWe read every FAQ and checked it against the current selling points, the current pricing and the live addresses. We found 16 distinct problems across 14 answers and wrote replacement copy for each. Four needed the product team to confirm a figure, so we flagged those rather than guessing.Three answers contradicted a selling point outright, including one telling visitors garden rooms come with double glazing when every garden room ships with triple. Three linked to a contact address that no longer exists. A buyer comparing brands reads that and drops Crown over a feature Crown actually leads on.Apr 2026
Wrote the comparison pages that answer why Crown costs moreWe built a long comparison page covering ten criteria that define a premium garden room, a six brand roster, like for like pricing and nine detailed tables behind tabs. We wrote a second page comparing the gazebo range against a named competitor, and refreshed both as the competitors changed their own offers.The price question is the one that decides the sale, and it was being answered in a phone call or not at all. A page that answers it in public also catches everyone searching a competitor's name alongside Crown's.Apr 2026, May 2026
Worked through the product content corrections the client sentWe made the roof description specific to each product, corrected the skylight detail on the St Tropez, added the decking note on gazebos, corrected the timber and roofing membrane details on garden rooms, marked the features that belong to the premium package only, and removed an option the range no longer offers.Product specification is what a serious buyer reads just before they call. When the website and the brochure disagree, the sales team spends the call correcting the website and the buyer wonders which to believe.Apr 2026, Jul 2026
Rebuilt the garden room package specifications from the printed brochureWe rewrote the Professional and Premium package content from the current brochure, word for word, and grouped it into labelled sections covering structure and cladding, insulation for both build types, electrics, doors and flooring, with the groundworks footnote that appears on both brochure pages. We updated the Sandringham and the Buckingham clearance packages the same way.The package list is the page a serious buyer reads before they call, and it disagreed with the brochure they were holding. Matching it exactly removes that friction and gives the page real depth on the terms buyers search, such as SIPs, Rockwool, EPDM and triple glazing.Apr 2026
Produced the keyword research and the partner site article programmeWe delivered keyword research and location keyword tables, then wrote two sets of articles: one set for the Crown site and one set written for each of the six garden centre partners that host a Crown display, each written around the location that partner serves.Crown sells through garden centres across the country, and each of those partners serves a local area Crown cannot cover from its own site. The keyword tables told us which questions buyers in each area actually ask, and writing each article around that partner's own location handed the business copy it could pass straight to the partner.Apr 2026
Rewrote the comparison page and linked it from the product pagesWe rebuilt the comparison page from the ground up and built a call to action band that links to it from the garden rooms category page and from every product page.The comparison page was the strongest argument on the site and nothing pointed at it. Linking it from the pages a buyer is already reading puts the argument in front of them at the moment the price is on screen.Apr 2026
Gave the solar partnership a proper feature block on the garden rooms pageWe added the heading, the photograph and the supporting line to the solar feature block and linked it to the solar page.The solar partnership is a reason to choose Crown that nobody else in the range offers, and it was a paragraph with no picture. It also catches buyers searching for an off grid garden office.Apr 2026
Restored the blog images the site had lostForty two images that published articles referenced were missing from the site, and more were missing from the archive. We traced each one back to the backup and put them all back.An article with a broken image reads as abandoned, and these were the articles bringing people to the site from search in the first place.May 2026
Let each article carry a separate image for phonesThe article hero used one wide image on every screen, which cropped badly on a phone. We added a second image field so the editor can choose a portrait crop for small screens.A wide crop squeezed into a narrow screen shows a corner of the building instead of the building. The hero is the first thing a reader sees, and it sets whether they read on.Jul 2026
Put a customer testimonial on the news listing pageWe added a testimonial band to the news listing. The first version read from the CMS and we simplified it to a fixed entry, which is what runs today.The news listing is a page people browse rather than arrive on with a purpose. A customer quote in that space carries the visit toward the product pages instead of ending it.Jul 2026
Corrected a claim in the comparison table about foundationsThe foundations row overstated what Crown offers as standard. We changed it to say the option is available subject to a ground screw test.A comparison page only works while every row survives being checked. One overstated claim on a page built to prove Crown is the honest option would have undone the whole argument.Aug 2026
Published the customer story posts with proper photographyWe published two articles about a customer's build, wrote the testimonial headline around the customer's own words and their name, and replaced the placeholder pictures with exterior photographs of the finished building.A named customer telling their own story is the most persuasive thing on a site like this, and it is content no competitor can copy. Named customers and real locations are the detail search engines and AI answers read as evidence.Aug 2026

CMS Enablement & Content Operations (27 tasks)

TaskWhat we didWhy it matteredWhen
Stood up the content management system the site runs onWe set up the CMS, added its query interface and wrote a library that lets the site read content from it directly, then packaged the whole thing so it deploys the same way every time.This is the foundation everything else sits on. Every change the team makes without a developer goes through it.Jan 2026, Feb 2026
Built a plugin that posts content changes into SlackWe wrote a CMS plugin that sends a message to Slack when content is created, changed or published, with an admin screen for choosing which types to watch.On a site that rebuilds after each change, nobody sees an edit happen. The Slack message tells the team what changed and when, without anyone sitting in the admin panel.Jan 2026, Feb 2026
Built tooling to move content between the working and live CMSWe wrote scripts that pull content from one CMS instance into another, filter by record or address, apply bulk changes on request and compare the site's product data against the printed brochures.It means we can rehearse a content change against real data before it touches the live site, and it is how we checked all thirteen products against their brochures rather than reading them by eye.Jan 2026, Feb 2026
Modelled the content types the business actually hasWe built types for products, showrooms, use cases, articles, FAQs, testimonials and brochures, each with the fields the team fills in and a sensible order in the admin screen. We corrected a field name that had been misspelled across four product types.A content model that matches how the business talks about itself is the difference between a CMS the team uses and one they avoid. Everything they can edit today exists because it was modelled here.Feb 2026
Fixed a data fault that was silently cutting lists off at ten itemsThe CMS returns ten items from a nested list unless the query asks for more, and ours did not. Galleries, features and related items across the site were quietly truncated. We corrected the queries and wrote the rule into the project documentation so it does not return.This was invisible from the admin panel. An editor added a twelfth gallery image, watched it save, and it never appeared on the site. Nobody would have found it by looking.Feb 2026, Mar 2026
Gave editors a preview of unpublished contentWe built a preview route that renders a draft as the finished page, keyed off the record rather than the address so it works before a page has a public one, and added an in page overlay that shows which CMS record produced what you are looking at.Without preview the only way to see a page is to publish it. Editors can now check their work in the real design before anyone else can see it.Feb 2026
Wired every product page and product card to the CMSProduct names, prices, specifications, packages, images and highlights all now come from the CMS. We handled grouped package items, package tiers, original prices for a discount and prices that are not numbers, such as a free upgrade.Prices and specifications change, and every change used to need a developer, a review and a release. Now the team edits a price and the site rebuilds itself, which is also what keeps the product markup search engines read accurate.Feb 2026, Mar 2026
Moved the use case pages into the CMSThe garden office, gym, studio and annexe pages had their content written into the code. We built a use case type, moved the editorial content across and made the listing grid build itself from whatever exists.These pages catch people searching for what they want the building for rather than what it is called. Adding a new one is now an editorial job, and the listing, the routes and the structured data all follow automatically.Feb 2026, Mar 2026
Moved the showroom details into the CMSWe built a showroom type holding the address, opening times, photography and map reference, wired the showroom pages and cards to it, and renamed the fields to a consistent style before the content grew.Showroom details change more often than anything else on the site, and they are the details a visitor acts on. Getting them wrong sends someone to a closed site on a Sunday.Feb 2026
Moved customer testimonials into the CMSWe built a testimonial type with a featured entry the team chooses, and wired the testimonial block to read from it.Social proof works best when it is fresh and relevant to the product being viewed. Letting the team swap the featured quote themselves means it stays current.Feb 2026
Automated the release so publishing does not need a developerWe wired the CMS to trigger a rebuild and redeploy automatically, moved off a fragile webhook onto a proper interface, and added the diagnostics needed to see why a deploy failed when one did.Publishing used to end with someone asking a developer to release it. Now a change in the CMS reaches the live site on its own, which is what makes everything else in this list usable by the team.Feb 2026
Made text written in the CMS render properly on the siteWe added typography styling for CMS written content and audited which HTML elements the editor actually produces, so headings, lists, quotes and tables all match the site design.Editors write in the CMS and see plain text. Without this, a carefully structured article arrives on the site as one undifferentiated block, which loses the reader on the way down the page.Feb 2026
Let editors add a subheading to each care and maintenance itemWe added an optional subheading field to the care and maintenance component and rendered it on the product pages.Care instructions are long and were arriving as undifferentiated paragraphs. A subheading per item is the difference between an owner finding the answer and calling to ask.Feb 2026
Moved the photography galleries into the CMS with the right size for each screenThe galleries were built from files sitting on the server. We moved them into the CMS, rewrote the gallery pages to read from it and made the thumbnails and the lightbox each request the size they actually need.The team adds photography from a new build without a developer, which is the content that sells this product. Serving a thumbnail sized image as a thumbnail also stops a gallery page pulling down megabytes it never displays.Mar 2026, May 2026
Retired the temporary content types left over from the migrationThe import created its own set of types to hold the raw WordPress content. Once every page read from the real types we removed them and cleaned up what referenced them.Two sets of content types is how a CMS becomes confusing to edit. Editors now see one place for each thing rather than a live version and an imported one sitting next to it.Mar 2026
Built a general page type with address validationWe added a page type the team can use for content that is not a product or an article, with validation that stops two pages claiming the same address.Without it, every new page needed a developer. The address check matters as much, because two pages at one address is how a site quietly starts serving the wrong content.Mar 2026
Set up a daily backup of everything in the CMSWe wrote a backup that exports the full content set, including components, dynamic sections and media references, keeps a week of history and runs every day.The CMS holds years of writing, product specifications and photography. A daily copy turns a mistaken bulk edit from a rebuild into an hour of work.Apr 2026, May 2026, Jul 2026
Found and removed 67 duplicate pages we had introducedA catch all route on the new site was publishing 67 legacy records out of the CMS at their own addresses alongside the real pages. Roughly 14 duplicated a live page outright, 14 were dead pages carried across in the migration and the rest were expired promotional pages. We removed the route, kept the data untouched and triggered a rebuild to clear them.We introduced this and we caught it. Two addresses describing the same product split its ranking signals so neither one wins, and Search Console had been reporting the site for duplicate content. Removing them gave every page a single address and freed 67 addresses of crawl budget that returned nothing.Apr 2026
Moved garden room packages, pricing and finishes out of code and into the CMSThose three things lived in static files only a developer could change. We added the matching fields to the garden room type, rewrote the components to read from the CMS, ran a one time migration to move the existing content across and deleted the old files.A price change used to need a developer, a code review and a release, so the site drifted out of date between them. Now the team edits the price and the site rebuilds itself.Apr 2026
Let editors publish a homepage banner without inventing a fake saleA banner could only exist as part of a promotion or a clearance event, so running a showroom announcement meant creating a fake promotion with a discount label, which then leaked a discount ribbon onto product cards. We relaxed the required fields so a banner needs only a title, dates and images, and removed the clearance fallback from the banner logic.The team now puts a banner on the homepage in about two minutes with no developer and no side effects on product pricing. Before this, every announcement either waited for a developer or shipped with a fake discount attached.Apr 2026
Cut the number of CMS calls each build makesSeveral components fetched their own data every time they rendered. The testimonials block ran its own query on roughly 240 pages, so one build made the same call 240 times. We moved those queries into shared helpers that hold the result for the length of the build.The CMS plan allows a fixed number of calls a month, and a single build was burning between 500 and 2,000 of them. That capped the site at roughly 25 to 100 rebuilds a month, which is not enough for a team editing daily. Caching turned publishing from something to ration into something routine, and nothing about the rendered pages changed.Apr 2026
Replaced the homepage image carousel with a streaming video heroWe built a full width autoplaying video hero that streams at a quality matched to the connection, with overlay content that changes at set points in the video. We built it against a test page first, then wired it into the homepage.The homepage is the page most first time visitors see, and a carousel of stills does not show a garden building the way a moving shot does. This is the first thing a buyer judges the brand on.May 2026
Made the video hero take its slide copy from the video editThe editor sets markers in the edit as part of cutting the video. We read that marker file at build time and turn each marker into a slide, so the marker name becomes the heading, its description becomes the subheading and its link becomes the button. Repeated markers collapse into one slide, the heading holds still when only the subtitle changes, and a slide with no markers falls back to copy set on the page.Nobody retypes headings into a CMS and nobody waits on a developer to change them. The copy falls out of the edit the video team was doing anyway, which turns the homepage hero from a yearly project into something the marketing calendar can use each season.May 2026, Jun 2026
Made the video hero play on every browser and phoneWe worked through the ways browsers refuse to start a video, including the way Chrome rejects unmuting, the native player Safari and iOS require and a race between two slides changing at once. We also fixed the marker strip clipping and derived the still frame from the video itself so no one has to export one.A hero that shows a frozen frame is worse than a photograph, because it reads as a page that has broken rather than a page with a still image. Deriving the still frame automatically also removed a step the editor would otherwise repeat for every video.May 2026, Jun 2026
Added an upcoming events section the homepage manages itselfWe added start and end date fields to the article type and built a homepage section showing up to four upcoming events, soonest first. It reads the events category, hides anything whose end date has passed and disappears entirely when nothing is coming up. We also made the expiry work on a statically built page and laid the cards out sensibly when there is only one.Crown runs showroom openings and seasonal showcases that used to sit buried in a blog category. Putting them on the homepage puts footfall driving content in front of everyone who lands. The automatic expiry matters as much, because a homepage advertising last month's event damages trust more than an empty slot.May 2026
Let garden rooms show a floor plan for every size variantGarden rooms had no floor plan field and the other product types could hold only one image. We added a multiple image field, folded the single and multiple shapes into one list in the site code and replaced the single thumbnail with a row that opens in a swipeable lightbox. Each thumbnail takes its caption from the file name, so naming a file Standard 4x3m shows the customer Standard 4x3m.Buyers want to know whether the building fits and how the space works, and garden room shoppers could not see a plan at all. Showing every size variant keeps them on the page instead of sending them to a competitor who does. The file name caption means the team publishes new plans without a developer and without a field to maintain.May 2026
Extended the video hero to category and product pagesWe built a lookup that matches a video to the page it belongs on by its address, held the result for the build, and wired the category layout and the product route to use it.One video hero on the homepage is a nice touch. The same treatment on every category and product page means the team can put moving footage of the actual building at the top of the page that sells it.Jun 2026

Platform Rebuild & Migration Integrity (28 tasks)

TaskWhat we didWhy it matteredWhen
Took the old WordPress site apart and moved its content acrossWe wrote tooling that reads the WordPress export, unpacks the page builder layouts into real content, resolves every image and pushes each record into the new CMS. It covers products, pages, articles, use cases and showrooms, and it carries the draft and published states across correctly.Years of writing, photography and specification detail came over intact rather than being retyped. A migration that quietly loses content loses the rankings that content had earned.Jan 2026, Feb 2026, Mar 2026
Imported the old pages at the addresses they already hadWe brought the WordPress pages and showroom entries across and kept each one at the address it was already published on rather than letting the new system invent its own.Address parity is the single biggest lever in a migration. A page that keeps its address keeps every link and every ranking pointing at it, with no redirect in between and nothing lost in the hop.Jan 2026
Designed and built the new front endWe built the site on a framework that renders pages ahead of time rather than assembling them on each request, starting from the homepage design and working out through the sections, the type scale and the colour system.Pages that already exist as files when a visitor asks for them are the fastest thing a site can serve, and speed is one of the things Google measures directly. It also means the site stays up when the CMS does not.Jan 2026, Feb 2026
Set up the hosting and the release pathWe containerised both the site and the CMS, set up the reverse proxy and certificates, documented every environment variable and moved the site onto the hosting platform it runs on today with automatic releases.A release path that anyone can run is what makes frequent publishing safe. It also means a rollback is a minute rather than an evening.Jan 2026, Feb 2026, Mar 2026
Repaired the formatting of imported text as it came acrossSome imported fields arrived as plain text with no markup, which rendered as one unbroken block. We wrapped them properly during the import and set up code formatting so the generated pages stay readable, including the whitespace inside meta tags.Imported content that renders as a wall of text loses the reader. Fixing it during the import meant nobody had to reformat hundreds of records by hand afterwards.Jan 2026
Extracted real content out of the old site's page builder layoutsThe old pages were built in a page builder that stores content wrapped in layout data. We analysed its structure, wrote extraction tooling covering the widget types the site actually used and pulled the text and images out as clean content.The alternative was retyping every page. Extracting it meant each page kept its original wording word for word rather than a fresh approximation of it.Jan 2026, Feb 2026
Made the import repeatable against any environmentWe reworked the import so each content type has its own translation step, added retry handling for failures, made it target a chosen server and made it bring images across by default.A migration you can only run once has to be perfect first time. Making it repeatable meant we could rehearse against a copy, find the gaps and run it again rather than patching the live site afterwards.Jan 2026
Built a tool that compares the build against the design section by sectionWe built a comparison pipeline that lines up each section of the built page against the approved design, with a magnifier for close work, and used it to work through the differences run by run.It turns a vague sense that something looks off into a numbered list of specific differences. That is the difference between a design that ships at eighty percent and one that ships as drawn.Feb 2026
Reduced four hero components and four galleries to one of eachThe build had grown several versions of the same thing. We wrote one hero, one breadcrumb and one gallery, migrated every page onto them, and moved the replaced versions out of the live code.Every duplicate is a place a later fix gets forgotten. One component means a change to the hero improves every page at once rather than the three someone remembered.Feb 2026
Built the showroom map and chose it against alternativesWe built several versions of the map, put them side by side on a page, chose the interactive one and removed the rest. It shows every showroom, routes the visitor from where they are, and no longer takes over the page when someone scrolls past it.A showroom visit is where this product sells, and the map is the step between wanting to visit and knowing how to get there. Building the alternatives and comparing them cost less than choosing wrong and rebuilding.Feb 2026
Built the navigation the range needsWe built a full width mega menu that shows each collection, the models within it and the use cases beside them, made the top level items clickable in their own right and rebuilt the layout for the categories that need three zones.The range is wide enough that a plain menu hides most of it. A menu that shows the collections is also a set of internal links on every page, which is how ranking value reaches the deeper product pages.Feb 2026, Mar 2026, Apr 2026
Built the pages that carry the brand storyWe built the about page, the contact page, who we are, why Crown Pavilions, the bespoke garden rooms page, the reviews page with the Trustpilot feed and the founders story sections on the homepage and the about page.These pages are what a buyer reads when they are deciding whether a company that asks for this much money is real. They also carry the brand entity signals that connect the website to the company Google knows about.Feb 2026, Mar 2026, May 2026
Removed the placeholder and test pages from the public siteThe build was publishing 18 coming soon placeholders, a sample product page and a temporary product list. We deleted all of them and cleared out the folders left over from the earlier prototype.A coming soon page in a search result is worse than no page. Each one was also a live address that a crawler spent effort on and a visitor could land on from search.Feb 2026, Mar 2026
Put analytics on every page from one placeWe added the analytics tag to the shared page layout so every page carries it, rather than each page adding its own.Analytics added page by page always ends with pages nobody remembered. Putting it in the layout means the numbers cover the whole site, which is the only way they are worth reading.Feb 2026
Rebuilt the product page templateWe rebuilt the product page around a nested layout, reordered the sections so the range, the specification and the packages come in the order a buyer reads them, made the product cards taller so the photography carries, and used the dedicated mobile image where a product has one.The product page is where the enquiry happens. Getting the order right means the buyer meets the argument for the price before the price, rather than after it.Feb 2026, Mar 2026
Built the paginated listing pages the range needsWe built listing pages that page through every content type and raised the page size so a listing shows a useful number of items rather than a handful.A listing that shows twenty items when eighty exist hides three quarters of the range. Pagination that works is what lets a search engine walk the whole catalogue.Feb 2026
Made the showroom finder show driving distance and routeWe built a proximity finder that takes the visitor's location, orders the showrooms by driving distance rather than straight line, shows the route and handles a partial postcode. We also replaced the default map popup with our own so it stops covering the route it just drew.The distance that matters is the drive, not the crow's flight. Somebody who can see it is forty minutes away books a visit. Somebody who cannot tell assumes it is too far.Feb 2026
Made the related products block choose by price rather than at randomThe related products under each product were fixed. We made the block pick products near the same price from the same range.Someone looking at one model wants to see what else sits at their budget. Showing a model at twice the price ends the browse instead of continuing it, and internal links between related products are also how ranking value spreads through the range.Feb 2026
Reworked the homepage hero imagery and its behaviour on each screen sizeWe refreshed the hero image set, gave each slide its own subtitle naming the product type it shows, served the desktop image set to tablets so the picture stopped looking soft, and moved the breakpoint that decides which set a phone gets.The hero is the first thing every visitor sees and the image Google times the page load against. A blurry hero on a tablet reads as a cheap site selling an expensive product.Mar 2026, Apr 2026, May 2026
Wrote the brand's selling points into one place and put them across the siteWe wrote the selling points into a single data file, 16 for garden rooms and 16 for gazebos and summer houses, and built one grid that renders them. We placed it on the garden rooms, gazebo and summer house category pages, on every product page and on the why pages, and rebuilt the why Crown Pavilions page around it with two dedicated variants.Triple glazing as standard, TRADA certification, marine grade fabrics and installation included are the reasons a buyer picks Crown over something cheaper, and the site barely mentioned them. Putting them high on every category and product page answers the comparison question before the visitor leaves to ask it somewhere else, and gives each page substantial on topic text of the kind Google reads as expertise.Apr 2026
Built the smokeless BBQ collection pageWe built a page for the smokeless BBQ, an electric grill that drops into a dining table inside six of the wooden gazebos. Six sections cover the product, how the extraction and the infrared element work, the two formats with their dimensions and power ratings, and a grid linking to each compatible gazebo.The product existed with no page, so nobody searching for it could find it and the sales team had nothing to send. The six model cards also carry visitors who arrived on a niche accessory search straight into the gazebo range, and push internal link value into six pages that already earn revenue.May 2026
Built the garden golf simulator use case pageWe added a golf simulator page to the garden room use case section covering the questions a buyer actually asks, including ceiling height for a full swing, lighting and blackout for camera based launch monitors, a dedicated electrical circuit, climate control, acoustic treatment and a hardwired network run. It slots into the existing use case system, so the listing, the route, the breadcrumb markup and the FAQ block all picked it up from one data file.The old Crown site had a golf simulator page and the new one did not, so a topic the brand used to cover had been given away. The brand's own articles already told readers to put a simulator in a garden room and those links had nowhere to land. Golf simulator buyers sit in Crown's price bracket and search with high intent.May 2026
Built a foundations overview page and linked it from the gazebo rangeWe built a page explaining the foundation options and linked it from the gazebo pages where the question comes up.Foundations are the question that stops a buyer being sure the building can go where they want it. Answering it on the site rather than in a call removes a step between interest and enquiry.May 2026
Tidied the use case pages and their listingWe separated the hero from the first content block so an editor can change one without disturbing the other, refreshed the listing hero with a high resolution image, swapped the garden gym picture for the new photography and removed the legacy reference files left over from the migration.The use case pages catch searches for what people want the building to do rather than what it is called. They earn that traffic only if they look as considered as the product pages.May 2026
Built routes into the gazebo comparison page from the rangeThe mobile menu never rendered the footer links the desktop menu shows, so the compare brands link did not exist on a phone. We made the mobile menu render them. Separately, no gazebo page linked to the comparison at all, so we built a compact band with a heading, a line of text and a button and placed it on the category page and after the gallery on every gazebo product page.The comparison page answers the question that decides the sale, and anyone browsing gazebos on a phone had no route to it. Internal links also carry ranking value, so a page nothing points at struggles no matter how good it is.Jun 2026
Built the annexe concept page with a live configuratorWe built a concept page for a garden annexe line, anchored by a configurator where the visitor picks a size, cladding, colour, floor, wall finish and furnishing package and watches the running total, the monthly figure and the matching renders update as they choose. The page opens with editorial context on what an annexe is and closes with an enquiry form that carries the chosen configuration into the lead. We kept it out of the search index while the figures stay provisional and flagged the planning copy for legal review.Crown holds drawings for two real annexe builds and wanted to test the market before committing to a range. The page lets the business show the product, price it and collect qualified leads without building the range first, and the sales team opens each conversation already knowing the budget and the taste.Jun 2026, Jul 2026
Moved the site's content store onto a new platform without changing a pageWe built a switch that lets the site read from either store, wrote a translation layer so the new one hands back exactly the shape the site already expected, moved the collections across one at a time behind that switch, then turned it on. The old path kept working throughout. We then ported the remaining fetchers, moved the images and documents across and fixed the environment differences that only show up on the deployment platform.Migrations that rewrite the site at the same time as the data are how sites lose their rankings. This one changed nothing a visitor or a search engine could see, which is exactly the point.Jun 2026, Jul 2026
Added furnished and unfurnished pricing to the summer house packagesThe Gold and Platinum packages are sold with or without furniture at different prices. We made the page show both rather than one figure that only applied half the time.A price on the page that does not match the quote is the fastest way to lose a buyer's trust. Showing both means the page answers the question rather than starting an argument.Jul 2026