SSiddiq.in
Website Performance Optimization

Make your website feel fast.

We diagnose bottlenecks and optimize the frontend, assets, server and delivery layer — so real users on real devices actually feel the speed, not just Lighthouse in a lab.

LCPINPCLSTTFBBundle sizeImage pipelineFontsCDN + cache
Page load timeline
click a stage
Where it breaks
Browser paints the largest contentful element (LCP).
Hero image lazy-loaded, late CSS, layout shift.
Performance diagnostic

The dashboard we start with. Every number, defined.

Sample readout for demonstration. We never publish invented scores for our own site or client projects — real audits produce real numbers.

LCP · Largest Contentful Paint
2.1s

Time until the largest visible element (usually the hero image or heading block) finishes rendering. Dominated by TTFB, render-blocking resources, and hero-asset weight.

Good
≤ 2.5s
Needs work
2.5–4s
Poor
> 4s
Thresholds from Google's Core Web Vitals guidance, 75th-percentile field data.
Core Web Vitals

Three metrics Google actually uses.

LCP, INP, CLS — measured on your real visitors' Chrome sessions, not on a synthetic test. Interact with each demo to see what breaks them.

LCP
Largest Contentful Paint

Speed of the main content appearing. Oversized hero images, slow servers and render-blocking resources are the top culprits.

LCP demo
HTML
450ms
CSS
750ms
Hero image
2700ms
Fonts
1200ms
LCP paint
2850ms
Same page, same layout — swap a 5 MB PNG for a properly sized AVIF and the LCP paint arrives sooner.
INP
Interaction to Next Paint

How responsive the page feels. Heavy JavaScript blocks the main thread and delays your click, tap or keystroke.

INP demo
Orange blocks = long tasks on the main thread. Heavy bundles keep the browser busy, so your tap has to wait its turn.
CLS
Cumulative Layout Shift

How much content jumps during load. Missing image dimensions, late fonts and injected banners are usually to blame.

CLS demo
Without reserved dimensions, late-loading media shoves everything down. CLS is what that shove feels like as a number.
Website speed autopsy

Read the waterfall. Fix the widest bars.

Every page ships as a queue of requests. Click a row to see what typically causes it to bloat — and how we cut it back.

Waterfall · illustrative
01s2s3s
JavaScript
Why it gets fat

Parse + compile cost scales with size. Code-split, tree-shake, avoid duplicate libs.

Sample transfer: 420 KB
Real numbers come from your audit — this waterfall exists to explain shape, not to prescribe your fix.
Before → optimization → after

Same site. Different behaviour.

What actually changes when we optimize. No invented numbers — the shape of the fix is universal, the size of the win is measured on your site.

5 MB PNG hero, no sizes
1.2 MB bundled JS, unused
180 requests, sync waterfall
Blocking fonts, no display swap
No CDN, origin-only
Chat + heatmap + A/B all synchronous
Cold PHP, 40+ DB queries per page
Improvements are always measured on your site, before and after. We don't publish generic "3× faster" claims.
What we optimize

Twelve levers. Pull the right ones.

Not every fix applies to every site. An audit tells us which levers move your numbers — the rest we leave alone.

Images
Problem
Huge PNGs, wrong dimensions, no lazy loading.
Why it slows the site
Images are usually the single biggest LCP + bandwidth cost on marketing sites.
How we fix it
AVIF/WebP with fallback, responsive srcset, correct intrinsic sizes, hero preload, everything else lazy.
Image performance

The pipeline your hero image should go through before it hits a browser.

Step 1
Original
5.2 MB
PNG straight from the design tool.
Step 2
Compressed
1.8 MB
Lossy → still oversized for the layout.
Step 3
Resized
640 KB
Sized to the actual container, not the display.
Step 4
AVIF / WebP
180 KB
Modern format, 60–80% smaller than JPEG.
Step 5
Lazy loaded
0 KB now
Off-screen images don't cost anything until they scroll in.
Step 6
CDN + preload
cached
Hero preloaded; others delivered from the nearest edge.
WebP / AVIF
Modern formats with graceful JPEG fallback via <picture>.
Responsive srcset
One image, many widths. Browser picks the smallest that fits.
Correct dimensions
Never ship a 4000px image into a 400px slot.
Compression
Perceptual quality target, not a fixed number.
Lazy loading
loading="lazy" for below-the-fold; hero eager + preloaded.
Preloading
One preload for the LCP image, with fetchpriority="high".
JavaScript performance

Your bundle is a coalition. Most of it is guests.

A typical marketing site ships 600–800 KB of JavaScript — and less than a third of it is the site itself.

Illustrative JS breakdown
610 KB gzipped
App code120 KB
Framework90 KB
Analytics60 KB
Chat widget140 KB
A/B + heatmap110 KB
Consent + ads90 KB
Every KB is parsed and compiled on the visitor's device. On a mid-range Android, that can add hundreds of milliseconds before your page is interactive.
How we cut it
Code splitting
Only ship what this route needs. Others load on navigation.
Lazy loading
Modals, chat, video players load on user intent — not on page load.
Remove unused
Audit every third-party monthly. Delete the ones nobody reviews the data from.
Lighter alternatives
date-fns over moment, native fetch over axios, Zustand over Redux for small stores.
Server-side tagging
Move analytics/pixel firing off the client where policy allows.
WordPress performance

WordPress can be fast. Most WordPress sites aren't.

A dedicated section because it's where we see the biggest wins — plugins, hosting and images together.

Plugin overhead
Audit each plugin's request cost, JS/CSS output and DB queries. Remove overlaps.
Theme / page builder weight
Elementor / WPBakery add real payload. Sometimes worth replacing with a block theme.
Database cleanup
Clear autoloaded options, remove expired transients, prune revisions and orphaned meta.
Object + page caching
Redis object cache + a serious page cache. Not two plugins fighting each other.
Image optimization
AVIF/WebP conversion pipeline, correct sizes, lazy loading — usually with a CDN image service.
Hosting
Shared PHP is the ceiling. Move to managed WP or a proper VPS with PHP 8.x + OpCache.
CDN
Cloudflare / BunnyCDN with proper cache rules and image resizing at the edge.
WooCommerce
Cart/session bypass rules, product image pipeline, cron audit, review-widget diet.
Third-party scripts
Chat, review widgets, trust badges — deferred or replaced with lighter alternatives.
Mobile performance

What feels fast on your MacBook isn't the point.

Your visitor is on a mid-range Android over 4G, in a lift, with the browser eating battery for a chat app you'll never see. That's the constraint.

LCP
Desktop
1.2s
Mobile
3.4s
INP
Desktop
40ms
Mobile
260ms
TTFB
Desktop
180ms
Mobile
620ms
Sample deltas typical of an unoptimised marketing site. Real gap on your site is what we measure first.
Performance technology

Tools we use, grouped by job.

No partnership claims. Just the stack we reach for depending on where the bottleneck actually is.

Measurement
Google PageSpeed InsightsLighthouse (CI)WebPageTestChrome DevToolsChrome UX Report
Delivery
CloudflareVercel Edge NetworkBunnyCDNFastlyNetlify
Framework
Next.jsAstroRemixSvelteKitTanStack Start
CMS + commerce
WordPressWooCommerceShopifySanityContentful
Performance optimization process

Measure. Fix. Measure again. Ship. Watch.

Ten stages, each answering a specific question — never optimising in the dark.

Stage 1

Baseline measurement

Field data from CrUX + RUM on the pages that actually matter. Not a Lighthouse score on the homepage in isolation.

Performance + SEO + UX

Speed is a foundation. Not a growth tactic.

Faster sites make everything else easier — but speed alone won't outrank a more relevant competitor or fix a broken funnel.

Faster site
Better UX
More engagement
Stronger technical SEO
Less friction to convert
What we won't promise
"Speed optimization will automatically boost rankings 30% and revenue 2×." No serious performance engineer says that. Speed removes a class of user-experience problem — the size of the business impact depends on your traffic, offer and funnel.
Optimization examples

Shape of the work. Numbers stay on your site.

Illustrative scopes — the categories we typically ship. We publish real before/after data only from clients who've agreed to share it.

Marketing site — image + JS diet
Optimization example
AVIF pipelineRoute-level code splitThird-party audit
Stack · Next.js · Cloudflare
WooCommerce store — TTFB rescue
Optimization example
Hosting moveObject cacheQuery indexing
Stack · WordPress · Redis · Cloudflare
SaaS marketing — INP focus
Optimization example
Delete heavy A/B toolReact re-render auditServer-side tagging
Stack · Next.js · Vercel
Publisher — CLS + ads
Optimization example
Reserved slotsFont metric overrideConsent load order
Stack · Astro · Fastly
Performance FAQ

Straight answers on speed work.

Performance engineering

Your website shouldn't make visitors wait.

Send us the URL. We'll run a real audit — waterfall, Core Web Vitals, bundle analysis — and come back with the shortlist of fixes actually worth doing on your site.

Speed & performance

Fix your Core Web Vitals

Share your website URL — we'll audit it and reply with the highest-impact performance fixes.

  • Personal reply from Siddiq within 24 hours
  • Honest advice — no pushy sales, no fake urgency
  • Clear next steps, timeline, and estimate

We only use your details to reply to this enquiry. Privacy.