The web performance expertise demanding brands expect
Core Web Vitals audit, prioritized plan, technical implementation, monitoring and training. A complete engagement, measurable, transferable to your team.
100% satisfied clients Data 2023-2026
•8+ years XP•35+ clients partnered
95 % of users with an excellent experience on CrUX
TTFB reduced by 46 %
Perfect CLS across the entire site
Performance budgets defined, technical and business impact tracked
SiriusXM
2025 → present
Web Performance Consultant
Audits on the web platform and marketing sites. Custom reporting through synthetic and real-user monitoring.
React.jsNext.jsAngularAkamaiDatadogSpeedCurve
82 % of users with a good experience on CrUX
Continuous follow-up of the performance roadmap
Optimisations implemented hands-on inside the product codebase
Scope
What a web performance engagement covers
Five blocks, from diagnosis to knowledge transfer to your team.
? Core Web Vitals audit on real-user data
RUM analysis (Chrome UX Report, SpeedCurve, DebugBear, Datadog RUM) and WebPageTest runs on a 4G mobile profile. Bottleneck mapping across front, back and third parties per metric, with P75 and P95.
? Prioritized, quantified action plan
Each lever is estimated in LCP gain, INP gain, and implementation effort. The roadmap is presented to your technical team and leadership before any commitment.
⚙️ Technical implementation in the codebase
I work on React, Next.js, Astro, Angular, WordPress, Drupal, Magento, Salesforce Commerce Cloud. Documented merge requests, cross-reviews with your team.
? Continuous monitoring and CI budgets
SpeedCurve or DebugBear setup with blocking performance budgets in your pipeline. Any merge request that would degrade LCP is flagged before merge.
? Internal team training
Every optimization is explained, documented and reusable by your developers on other projects. The goal: the score holds over time.
? Transferable documentation
Every engagement leaves an internal reference behind: technical decisions, performance budgets, audit playbook. A reusable foundation for the next project or redesign.
Results
Before / after on recent engagements
WordPress e-commerce LCP
3.2 s1.3 s
Enterprise Drupal TTFB
1.1 s180 ms
Store cache hit ratio
40%88%
Core Web Vitals status
RedGreen
Method
How an engagement unfolds
4 steps, from the first call to long-term monitoring.
Step 1
Scoping and Core Web Vitals audit
First conversation within 48 hours. Audit delivered within 10 business days on RUM data and synthetic tests, with a quantified report per metric.
1
2
Step 2
Prioritized action plan
Each lever estimated in LCP/INP gain and effort. The trajectory is chosen together: express sprint before a campaign, staged rebuild, or monitoring alone if the foundation is sound.
Step 3
Technical implementation
Direct work in the codebase, by weekly sprints. Every optimization is measured before/after on RUM data, not on isolated Lighthouse runs.
3
4
Step 4
Monitoring and handover
Continuous monitoring setup, CI budgets, team training. Renewal at quarter-end only if it delivers value.
1
Step 1
Scoping and Core Web Vitals audit
First conversation within 48 hours. Audit delivered within 10 business days on RUM data and synthetic tests, with a quantified report per metric.
2
Step 2
Prioritized action plan
Each lever estimated in LCP/INP gain and effort. The trajectory is chosen together: express sprint before a campaign, staged rebuild, or monitoring alone if the foundation is sound.
3
Step 3
Technical implementation
Direct work in the codebase, by weekly sprints. Every optimization is measured before/after on RUM data, not on isolated Lighthouse runs.
4
Step 4
Monitoring and handover
Continuous monitoring setup, CI budgets, team training. Renewal at quarter-end only if it delivers value.
Testimonials
What the teams say
Excellent work.
Paul has significantly improved the site's speed and perfectly aligned it with Google's recommendations.
Professional, thorough, and efficient, I highly recommend.
Nicolas - April Moto
Digital & E-commerce Director
We are very satisfied with Paul's work. He is quick, available, and particularly effective. Since his arrival, very good results have been observed, both in terms of performance and responsiveness. A real asset for our team.
Léo - Luxury brand
E-commerce Product Owner
I don't know if we've said it enough.
But if you want to improve your loading speed,
Make Google happy and get your Core Web Vitals in the green,
Contact Paul Delcloy.
Florian Darroman - Les Makers
Co-founder
FAQ
Your questions about a web performance engagement
What is the scope of a web performance engagement?
Five blocks: Core Web Vitals audit on real-user data, prioritized and quantified action plan, technical implementation in the codebase, continuous monitoring with CI budgets, and internal team training. Every block ships with transferable documentation.
What kinds of sites do you work on?
High-traffic e-commerce sites, enterprise institutional sites, SaaS platforms, content sites with SEO stakes. I step in at three moments: optimization of an existing site, support of an ongoing redesign to avoid regressions at go-live, or continuous monitoring on a healthy site that wants to stay healthy.
Which CMS and frameworks do you master?
Front side: React (Next.js, RSC), Astro, Angular, Vue, WordPress, Shopify Liquid. Back and e-commerce: WordPress/WooCommerce, Drupal, Magento, Salesforce Commerce Cloud, PrestaShop. Monitoring: SpeedCurve, DebugBear, Datadog RUM, Dynatrace, Akamai mPulse. What matters most is the target metric, not the stack.
How much does a web performance engagement cost?
A full initial audit, with a quantified report and action plan, takes 3 to 5 consulting days. A typical optimization engagement (heavy front, red CWV) runs 15 to 25 days over 6 to 10 weeks. The day rate is transparent; every engagement is scoped and priced before any commitment.
How does an engagement unfold concretely?
First scoping call within 48 hours. Audit delivered within 10 business days, presented to your team and leadership. Implementation in weekly sprints with sync points and demos. Every optimization is measured before/after on RUM data. At the end, monitoring is installed and the team is trained to hold the score.
Do you commit to Core Web Vitals passing to green?
On a site where I can work deeply in the code, yes, on priority URLs. I commit to quantified targets in the action plan, with the measurement mode defined at the start (P75 CrUX or internal RUM). On a site where your team drives implementation, I commit to the accuracy of the diagnosis and to the support.
Let's talk about your web performance
Independent consultant
Audit within 10 days
8+ years, 35+ clients
100% satisfied clients
Data 2023-2026
The scope of a web performance engagement
A web performance agency engagement typically covers five blocks: a Core Web Vitals audit on real-user data, a prioritized action plan, technical implementation in the codebase, continuous monitoring, and internal team training. That is exactly the scope I have been running for the past 8 years as an independent consultant.
I am Paul Delcloy. I work with demanding brands (CHANEL, April Moto, Leroy Merlin, Rimowa, Fenty Beauty, SiriusXM) on this complete scope, from diagnosis to knowledge transfer. Every engagement is scoped and priced before commitment, measured in RUM, and documented for your technical team.
Context varies from one project to another: a redesign in progress that starts drifting on LCP, an e-commerce site whose TTFB explodes under load, a strategic SEO site that just dropped into the red zone on Search Console. The method, however, stays the same. We measure, we prioritize, we ship, we transfer.
What web performance changes concretely for your business
Web performance impacts three business drivers that are directly measurable.
SEO: Core Web Vitals have been a Google ranking signal since 2021, folded into the Page Experience weighting. On a competitive query with equivalent content, the site with green CWV takes the lead. The official mobile LCP threshold is 2.5 seconds at P75 to stay in the green zone, and Google Search Console silently penalizes URLs that drift above it.
Conversion: the Deloitte 2020 "Milliseconds Make Millions" study, commissioned by Google and run on 30 retail and travel brands, measures that a 0.1-second gain in mobile speed lifts retail conversions by 8.4% and travel conversions by 10.1%. On a site with €500k monthly revenue, the order of magnitude of gains from an LCP optimization engagement is counted in tens of thousands of euros recovered per quarter.
Advertising cost: Google Ads factors landing page experience into the Quality Score calculation, which weights the actual CPC. Core Web Vitals are not cited by name in the Ads documentation, but the measured mobile experience enters the evaluation, with CPC drops observed in practice when a landing page moves from red to green. The mechanism is indirect but measurable in post-optimization A/B tests.
The Core Web Vitals levers I ship in engagements
On a production site, three families of levers determine whether Core Web Vitals pass to green.
Critical rendering path and LCP
The work targets the LCP image, critical CSS, and fonts. The identified LCP image must be served in AVIF or WebP with an explicit preload, never lazy-loaded:
On the font side, two failure modes must be addressed: FOIT (Flash of Invisible Text: text stays invisible until the web font loads) and FOUT (Flash of Unstyled Text: a visible switch from system font to web font). font-display: swap protects against FOIT; the size-adjust, ascent-override, and descent-override descriptors on the fallback font protect against the CLS caused by FOUT.
JavaScript and INP
On a React SPA, INP stabilizes by working three axes: effective bundle splitting (routes with React.lazy, dynamic imports), unnecessary re-renders (React.memo, useMemo, useCallback used surgically, not by carpet bombing), and third-party scripts that saturate the main thread. A tag manager loading 15 synchronous tags can single-handedly push an INP into the red above 200 ms.
Back-end and infrastructure
TTFB is driven by page cache (varnish, redis, CDN cache), SQL queries, and CDN strategy. On a high-traffic Magento e-commerce site, dividing TTFB by 4 is common with a well-orchestrated Varnish cache and a database optimized on catalog queries. Cache dilution by tracking URL parameters (utm_*, gclid, fbclid) is a recurring cause that any audit must always check.
Measuring on real-user data, not Lighthouse alone
The Lighthouse score is a starting point, not an objective. Google does not rank on Lighthouse; it ranks on Core Web Vitals measured in RUM from real Chrome users, aggregated over a 28-day rolling window and exposed via the Chrome UX Report (the CrUX definition on pauld.fr summarizes the methodology). I have audited sites at Lighthouse 95 failing on CrUX, and the reverse: CHANEL is a known case, with a Lighthouse score around 51 but CWV in the green.
The metric that matters is the 75th percentile (P75) of mobile LCP on your priority URLs, month over month. That is the metric I target in engagements, and the one I commit to in the action plan. A serious engagement cross-checks three sources:
Source
Nature
What it brings
CrUX (public)
Field, 28-day rolling
What Google sees. The ranking baseline
Internal RUM (SpeedCurve, DebugBear, Datadog RUM)
Field, real-time
Segmentation by page, device, geography. Regression alerts
WebPageTest on 4G mobile profile
Lab, reproducible
Before/after comparison. Detailed debugging
Optimizing on a single source means optimizing blind or celebrating too early. A real regression seen in RUM can be invisible in lab, and a lab win may not reflect in field if the problem's origin lies elsewhere (traffic mix, device distribution, connection).
Field notes: the levers that actually gain LCP
A recent case, April Moto, a high-traffic WordPress site. Mobile Lighthouse score red, LCP at 3.2 s at P75, INP acceptable but fragile. The internal team had already tried two optimization passes without noticeable success.
The audit revealed three combined causes: LCP image as an 800 KB JPEG with no preload and no fetchpriority, page cache fragmented by tracking URL parameters multiplying stored variants, and a tag manager loading 14 synchronous scripts in the <head>. Three weeks of implementation, LCP down to 1.3 s (59% improvement), CWV in the green, mobile bounce rate down two points over the following 30 days.
◆Field notes·8 years · 35+ clients
My field note — E-commerce and cache by postal code.
I audited a WordPress e-commerce site where the browser cache was nearly inoperative because shipping costs were computed from the homepage using the entered postal code. Result: a distinct cache per postal code, cache hit ratio at 40% instead of the expected 88%. The fix was to defer the shipping computation to a post-load AJAX call, keeping the homepage fully cacheable. LCP unchanged on the homepage, but TTFB divided by 3 across all internal pages and CDN cache back to being effective.
Another case, a Drupal enterprise site. TTFB at 1.1 s on average, identified cause: Drupal modules reloading JS, CSS, and running thousands of SQL lines on every page, while the data was only used on a single view. Refactor spread over three sprints, TTFB down to 180 ms, with direct impact on mobile LCP and on the TTFB metrics in Search Console.
A more recent one, on a React SPA with strong SEO stakes. Mobile LCP drifting at 4.1 s because the hero component waited for the end of hydration before rendering the image. Targeted migration to React Server Components on the layout and hero (Next.js App Router), with no global application refactor. LCP down to 1.7 s in three weeks, without touching the rest of the codebase.
Stacks and tools I cover
On the front side, I work on React (Next.js Pages Router and App Router, RSC), Astro, Angular, Vue, WordPress, and Shopify Liquid. The most frequent stacks are React and WordPress, but the optimization patterns differ radically by stack: on React, INP and bundle size dominate; on WordPress, it is the LCP image, cache, and parasitic plugin cleanup.
On the back and e-commerce side: WordPress/WooCommerce, Drupal, Magento, Salesforce Commerce Cloud, PrestaShop. On Magento and SFCC, the personalization layer is almost always the first workstream: several megabytes of JavaScript injected for conditional content that could be rendered server-side. On WooCommerce, the combination of caching plugin and CDN cache must be finely orchestrated to avoid collisions.
On the monitoring side: SpeedCurve, DebugBear, Datadog RUM, Dynatrace, Akamai mPulse depending on the stack in place. The tool matters less than what you do with it: a RUM without performance budgets in CI and without regression alerts stays a decorative dashboard. The discipline that guarantees a score holds for six months is enforced budgets on every merge request.
What matters most is not the stack itself, it is the target metric. A green LCP on 4G mobile at P75, an INP stabilized below 200 ms, a CLS close to zero. Those are the engagement objectives, reached with the stack in place rather than by forcing a technical rewrite nobody budgeted for.
How we get started
The first scoping conversation happens within 48 hours. We clarify the stakes (SEO, conversion, acquisition cost), the current state of Core Web Vitals on Search Console, and the technical constraints (code freeze, release cycles, internal team autonomy).
The full initial audit is delivered within 10 business days. It includes the metric-by-metric quantified report (LCP, INP, CLS, TTFB at P75 and P95), the prioritized action plan with gain and effort estimates per lever, and a presentation to your technical team and leadership. From there, the trajectory is chosen together: a 3-week express sprint before a campaign, a rebuild spread over several quarters, or monitoring alone if the foundation is already sound.
Every engagement is measured before and after on RUM data, documented for your team, and leaves in place the performance budgets that let the score hold over time. Renewal is discussed quarter by quarter, only if it delivers measurable value.
Sources
Deloitte, Google (March 2020). Milliseconds Make Millions: How mobile page speed drives consumer engagement. Study on 30 retail, travel, luxury and lead-gen brands (Europe and US), over 4 weeks of field data. Correlation between mobile speed, funnel progression, average order value and bounce rate. Deloitte Ireland — dedicated page
Google Chrome team. Chrome UX Report — methodology. Official documentation on Core Web Vitals P75 aggregation over a 28-day rolling window from opt-in Chrome users. developer.chrome.com/docs/crux
Google Search Central (June 2021). Understanding Page Experience in Google Search results. Announcement and documentation of the Page Experience ranking signal, of which Core Web Vitals are a component. developers.google.com/search/docs/appearance/page-experience
web.dev, Google Chrome team. Core Web Vitals — definitions, thresholds, fixes. Official technical reference for LCP, INP, CLS metrics and their P75 thresholds (2.5 s / 200 ms / 0.1). web.dev/articles/vitals
Mes offres
Découvrir mes services associés
Offre phare
Web Performance Audit
The diagnosis of milliseconds that cost you (too) much
E-commerce store, corporate site, or media: enhance your UX to increase your conversion rate with a web performance consultant integrated into your teams.