Poor Mobile Performance Killing Search Rankings
The real estate platform was failing Core Web Vitals on mobile — the primary device for property discovery in the UAE. Slow LCP, high CLS, and render-blocking resources were suppressing organic rankings and creating a frustrating experience for mobile property hunters.
Systematic Audit, Diagnosis & Optimisation
Conducted a full mobile performance audit using PageSpeed Insights, Google Search Console, and Lighthouse — mapping every failing metric to its root cause. Delivered prioritised remediation: image pipeline overhaul, render-blocking removal, asset optimisation, and server response improvements.
Passing CWV, Faster Pages, Better Rankings
Achieved passing Core Web Vitals status on mobile across key page templates — property listing pages, property detail pages, and the homepage. Improved Lighthouse mobile performance scores and reduced LCP times on critical high-traffic pages.
Project Overview
Google's Page Experience signals — anchored by Core Web Vitals — are a direct ranking factor. For a Dubai real estate platform competing against well-resourced portals, failing CWV on mobile meant suppressed organic visibility at the exact moment prospective buyers were searching. Mobile is not an afterthought in Dubai real estate: it is where property discovery happens.
This project was a dedicated performance audit and remediation engagement — not a general website build. The brief was to measure exactly where and why the platform was underperforming on mobile, produce a detailed diagnostic report, and implement the fixes. Every decision was driven by data from PageSpeed Insights, Lighthouse, and Google Search Console's Core Web Vitals report.
📱 Why mobile matters: In the UAE, over 70% of property search traffic is mobile. A poor mobile performance score isn't just a technical problem — it's a direct constraint on lead volume and organic ranking potential.
Audit Scope & Findings
The audit covered the platform's three highest-traffic page templates — the homepage, property listing/search results pages, and individual property detail pages — across both Android and iOS device profiles using real-world throttling conditions.
🔬 Audit methodology: PageSpeed Insights (field data + lab data), Google Lighthouse CLI, Chrome DevTools performance profiling, Google Search Console Core Web Vitals report (28-day field data), and WebPageTest for waterfall analysis.
Key failure areas identified in the initial diagnostic:
- LCP (Largest Contentful Paint): Hero images and property cover images were unoptimised — oversized, wrong format (PNG/JPG where WebP was viable), and missing
fetchpriority="high"hints. LCP elements were being discovered late in the render waterfall. - CLS (Cumulative Layout Shift): Images without explicit
widthandheightattributes caused layout shifts as the page loaded. Ad slots and dynamically injected UI elements contributed additional shift. - FID / INP (Interaction to Next Paint): Long JavaScript tasks on the main thread — primarily from third-party scripts (analytics, chat widgets) loading synchronously — blocked user interaction responsiveness.
- Render-blocking resources: CSS and JavaScript loaded in
<head>withoutdeferorasyncattributes were delaying First Contentful Paint across all page types. - Server response time (TTFB): Time to First Byte was elevated on some routes, pointing to unoptimised database queries and missing HTTP caching headers on static assets.
- Font loading: Google Fonts loaded via synchronous
<link>withoutpreconnecthints orfont-display: swap, causing invisible text during load (FOIT).
Optimisations Implemented
Image Pipeline Overhaul
Converted hero and property images to WebP format. Added explicit width/height attributes on all <img> elements to eliminate CLS. Implemented loading="lazy" on below-fold images and fetchpriority="high" on LCP elements.
Render-Blocking Elimination
Audited all <head> resources and applied defer to non-critical JavaScript. Extracted and inlined critical CSS for above-the-fold content. Non-critical stylesheets loaded asynchronously using media="print" trick.
Asset Minification & Compression
Minified CSS and JavaScript bundles. Enabled Gzip / Brotli compression on the server. Set long-lived cache headers for static assets (CSS, JS, images) and configured correct Cache-Control directives.
Font Loading Strategy
Added rel="preconnect" hints for Google Fonts. Applied font-display: swap to all custom font declarations — eliminating invisible text during font load and improving perceived performance on slow mobile connections.
Third-Party Script Management
Audited and deferred third-party scripts (analytics, WhatsApp widget, live chat). Applied async loading patterns and used IntersectionObserver to delay non-essential widget initialisation until after first interaction.
Server & Caching Improvements
Identified slow database queries contributing to elevated TTFB on listing pages. Implemented Laravel query caching on high-traffic endpoints. Configured Nginx to serve correct cache headers and enabled static asset CDN delivery.
Before & After — Key Metrics
Measured against the property listing page (highest traffic template) using PageSpeed Insights lab data on mobile, Moto G4 / Fast 3G throttling profile.
| Metric | Before | After | Change |
|---|---|---|---|
| Performance Score (Mobile) | ~38–45 | 75–85+ | ↑ ~2× improvement |
| LCP — Largest Contentful Paint | 6.2s+ | 2.4–2.8s | ↓ >55% faster |
| CLS — Cumulative Layout Shift | 0.28 (Poor) | 0.04 (Good) | ↓ Eliminated shifts |
| FCP — First Contentful Paint | 4.1s | 1.9s | ↓ 54% faster |
| TBT — Total Blocking Time | 820ms | 190ms | ↓ 77% reduction |
| CWV Status (GSC field data) | Failing | Passing | ✓ All three metrics |
✅ Outcome: The platform achieved passing Core Web Vitals status across all three signals (LCP, CLS, INP) in Google Search Console field data within approximately 28 days of the optimisations going live — the window required for field data to reflect real-user improvements.
Tools & Methodology
Skills Demonstrated
Outcome & Impact
Passing Core Web Vitals on mobile is not just a technical milestone — it directly removes a ranking constraint that was suppressing the site's organic visibility in Google Search. For a real estate platform generating leads through organic search, every position gained in the SERPs translates into additional qualified enquiries.
This engagement demonstrates that performance work, done systematically and measured rigorously, delivers measurable commercial impact — not just cleaner Lighthouse scores. The same diagnostic discipline applied here feeds directly into the SEO architecture I build into every platform from scratch.
Performance optimisation and SEO are two sides of the same coin: a fast website ranks better, converts better, and costs less to run.