Firstfold

Case study: six weeks of measured work on a live hotel website

Al Murjan Palace Hotel's live website was worked on for six weeks in July and August 2026 without replacing it. The code was the easy part; the hosting stack fought every fix. Every number below was verified on the live site.

The short answer. Over six weeks on a live WordPress hotel site, the PageSpeed average rose from 67 to 84, accessibility from 87 to 95, the mobile largest paint fell from 14.9 seconds to 3.9, and AI answer engines went from blocked to served. The fixes were small; getting a caching plugin, a firewall and a bot filter to accept them was the work.

What changed in six weeks

The site is the hotel’s own WordPress installation on shared hosting, behind a content delivery network. Nothing was replaced. The numbers were taken on the live site during the sprint, July to August 2026, from Google’s PageSpeed test and the hosting provider’s agentic-browsing audit.

MeasureBeforeAfter
PageSpeed average across the audited pages6784
Accessibility score8795
Agentic browsing audit1 of 33 of 3
Mobile largest contentful paint14.9 s3.9 s
Mobile first contentful paint4.7 s3.2 s
Render-blocking stylesheets177
AI crawler accessBlockedOpen
Blog posts1217
Social posts scheduled019

Google’s own threshold for a good largest contentful paint is 2.5 seconds (web.dev), so 3.9 seconds is still not good; it is a third of what it was, on a stack that was never designed to be fast.

The hotel was invisible to AI engines and healthy to browsers

A human got a normal page. GPTBot, ClaudeBot, PerplexityBot and OAI-SearchBot got a challenge page or an error, because the content delivery network’s bot filter was serving a managed challenge to anything automated, before the site or its robots file were ever consulted. The fix was to turn that mode off and lean on the security plugin’s rate limiting instead, at 960 crawler page views a minute, so legitimate crawlers pass and abusive ones still do not. All four now receive the real content.

Cutting a 14.9-second paint by not waiting for scripts

The homepage headline sat inside a carousel that stayed at display none until a script library, a carousel library and the theme’s own script had all loaded and run. On a phone that was 14.9 seconds to the largest paint. A stylesheet-only fallback forces the first slide visible, hard-codes its background image and neutralises the entrance animation before any script runs. Largest paint fell to 3.9 seconds and first paint from 4.7 to 3.2.

Turning on minification in the usual optimiser produced an empty homepage. The markup was all there; the merged stylesheet had broken the one rule that reveals the carousel, so the content existed at display none. Rebuilding the pipeline on a different plugin gave stylesheet aggregation and critical-CSS deferral without breaking the theme: render-blocking stylesheets went from 17 to 7. The lesson written down that day: on a script-gated theme the page’s own markup will lie to you, and every change needs a screenshot.

The server refused correct changes

Two more layers pushed back. The object cache held the pre-edit stylesheet and would not flush without server access, so the fix shipped as an inline snippet, which caching ignores. The firewall returned a 403 to a logged-in administrator saving a script or style tag, so scripts went through per-action allow lists and the stylesheet through a raw-CSS snippet type with no tags in it, leaving the blanket rules armed. The last audit point, hidden in a noscript fallback and a path regex that resolved venue names to empty strings, took a one-line change once found.

The technical work fed the content

With crawlers able to read the site and 750 KB of unnecessary anti-bot payload removed, Search Console showed that all of the site’s traffic was branded. Five posts were written for the questions people ask before choosing a hotel in the area, with FAQ markup, taking the blog from 12 to 17, and 19 social posts were rebuilt and scheduled across the hotel’s profiles with the stale dates fixed.

What this is, and is not

This is the founder’s family’s hotel, which is why the work could be done live and why every number could be checked on the server the same day. It is not a client engagement at Firstfold’s prices, and it was done with the same AI-assisted pipeline that now builds every Firstfold site. The rebuild of the same site, same content and same photographs, is the second case study, where the score went from 39 to 99 on mobile. What it means for a business deciding between fixing and rebuilding is in what a small business website costs, and the ten lines to compare when you get more than one quote are in how to compare website quotes.

Questions people ask

Why work on the live site instead of rebuilding it?

Because the hotel was trading on it every day and a rebuild is a decision the owner makes, not the developer. Working live meant every change had to be safe, reversible and verified on the real server the same hour. The rebuild came afterwards, as its own case study, once the owner could see both.

What was actually slow?

The headline was inside a slider that stayed hidden until three scripts had loaded, so the page painted at 14.9 seconds on a phone. A CSS-only fallback that shows the first slide before any script runs brought that to 3.9 seconds. The recommended optimiser plugin then blanked the homepage, and a different one had to be configured by hand.

Why does AI-crawler access matter for a hotel?

Because people ask assistants where to stay, and an assistant cannot recommend a hotel it cannot read. The hotel's bot filter was answering GPTBot, ClaudeBot and PerplexityBot with challenges and errors while humans saw a normal page. Turning that filter off and rate-limiting instead made the site readable to them without opening it to abuse.

What does the site score today?

On 2026-09-26 our own Lighthouse run put the homepage at 51 on mobile and 91 on desktop. A WordPress site drifts as plugins and themes update, which is the honest argument for the rebuild on the pipeline, where the same content scores 99 on mobile and the build fails if a page ever falls under 90.

See what yours would look like, free

Firstfold builds the first fold of your homepage free, in two business days, with no call. If you like it, we build the rest for $1,950 to $4,950, with $500 to start and the balance only when you approve it. If you do not, you owe nothing.

Build my first fold