Website Speed & Performance Optimization
Core Web Vitals measurement and fixes for slow websites: images, fonts, caching, CDN, database queries, and render-blocking scripts.

A page that takes four seconds to show its main content loses visitors before they read a word. On a phone on a weak connection it is worse, and the measurements your visitors feel are the same ones search engines now use for ranking. The first sign is usually in analytics: high bounce on landing pages, abandoned carts, and paid traffic that costs more per conversion than it should.
Slow pages are usually the sum of small causes: a full-size hero image, a font that blocks rendering, four marketing tags fired before the content paints, and a hosting plan that answers in 800 milliseconds. We find out which applies to your pages, fix them in order of impact, and measure the result the way a browser does.
What Core Web Vitals actually measure
Chrome records three numbers from real visitor sessions, and they form the Core Web Vitals:
Largest Contentful Paint (LCP) is how long the main image, heading, or video block takes to appear, and the target is under 2.5 seconds. Interaction to Next Paint (INP) is how quickly the page reacts when someone taps, clicks, or types, with a target under 200 milliseconds. Cumulative Layout Shift (CLS) counts how much the layout moves while the page loads, and the target is under 0.1.
Time to First Byte (TTFB) and First Contentful Paint (FCP) are supporting numbers we track alongside them, because they explain part of what LCP is doing.
Performance work normally moves LCP first. Images, fonts, server response, and render-blocking CSS all feed straight into it, so those are the levers we reach for on most sites. CLS improves once images, ads, and embeds have reserved space in the layout. INP responds to how much JavaScript runs on the page, so trimming third-party tags and splitting heavy scripts is what changes it. INP is the hardest of the three to move on a site assembled from many plugins, and we tell you early which pages can realistically reach the target.
Who this work is for
We take on speed projects for:
- WordPress and WooCommerce sites that were fast at launch and have slowed with every added plugin
- Business and corporate sites whose service pages load slowly on mobile
- E-commerce stores where the product and category pages carry the most weight
- Sites loaded with marketing tags, chat widgets, heatmaps, and analytics scripts
- Sites that recently moved hosts, changed theme, or migrated platform
If the platform itself is the wrong tool, we say so. A static rebuild is sometimes cheaper than months of patching a plugin stack, which is the ground our Zero-Maintenance Static Website service covers.
What we measure, before and after
Every project starts with a baseline on your five most important page templates: home, top landing page, category or services index, a product or detail page, and checkout or contact. We run each one on a throttled mobile profile and record the numbers.
The baseline tools are the common ones:
- Chrome DevTools and Lighthouse for per-page diagnostics
- PageSpeed Insights and the Chrome UX Report for field data from real sessions
- The Search Console Core Web Vitals report for how your own traffic performs by URL group
- WebPageTest for repeatable throttled runs from a chosen location
- Your analytics and server logs for traffic mix and slow endpoints
After the fixes we re-run the same pages on the same profile and give you a before-and-after table. Field data from CrUX updates on a roughly 28-day window, so we check it again about a month later and report what moved.
What we deliver
Image handling comes first on most projects. We convert to WebP or AVIF where the browser support allows, serve correctly sized files through responsive srcset, and lazy-load everything below the fold.
Fonts get self-hosted, subset to the characters you use, and preloaded so text does not sit invisible waiting for a third-party file. We set the font-display value deliberately for each face.
Caching and delivery covers page caching, object caching where the platform supports it, correct browser cache headers for static assets, and a CDN in front of the origin. For sites on shared hosting this is often where the biggest wins sit, because the server itself is the bottleneck.
Render-blocking resources are the next target: critical CSS inlined, non-critical JavaScript deferred or loaded on interaction, and unused plugin styles and scripts removed from pages that never use them.
Third-party tags get an audit of their own. Chat widgets, ad pixels, and session recorders each cost main-thread time, and we quantify what each one costs against what it returns. Tags that survive the audit load after the page becomes interactive, through a tag manager with proper triggers.
Database and query cost matters on dynamic platforms. We read the slow query log, add the missing indexes, and on WordPress look at autoloaded options and plugin queries that run on every request. On application backends we look for N+1 query patterns in the code paths that render your heaviest pages.
Hosting choices are part of the report. PHP version, server response time, and the plan limits are all checked. When moving to a better host, a managed platform, or a static build is the cheaper answer, we price that separately and say plainly when configuration will not fix it.
How the engagement runs
Phase one is measurement. You get a report listing what is slow, what causes it, and what each fix is worth. No fixes happen before you have that document.
Phase two is the fix pass, ordered by impact against effort. We work on a staging copy, keep a change log, and take before-and-after screenshots so you can see what a defer or a lazy-load did to the pages that depend on it.
Phase three is verification. We re-measure the baseline pages, confirm nothing broke on mobile, and hand over the report with the changes explained so your next developer can read them.
A small brochure site is usually a one-week pass. A large WordPress or WooCommerce store typically runs two to four weeks depending on how many templates and integrations are involved.
What it costs
Hourly work is billed at our flat rate of $39 per hour, and a baseline measurement with a prioritised fix list is a small, bounded first step. Larger site-wide passes are usually quoted as a fixed scope once we have seen the report, because the number of templates and third-party tags drives the effort more than the page count alone.
The pricing page explains the hourly rate and the monthly capacity model, including plans from $2,699 per month for teams that want continuous delivery. One scope driver matters most: a site with a custom theme and few plugins reaches its targets in days, while a heavy plugin stack can take a week just to isolate which plugin owns the delay.
Proof
design.vasilkoff.com is our own designer portfolio, built on Next.js and served from Vercel's CDN with no database behind it. It proves the fastest route to a good LCP is a build that arrives pre-rendered from the edge.
Sur.co is a premium Shopify store where we replaced a generic theme with a custom Liquid build designed mobile-first, with a product page hierarchy and variant selectors tuned to remove friction. It shows the same discipline inside a hosted e-commerce platform, where the theme, image sizes, and script load order are the levers we control.
Related services
- WordPress development for plugin stacks, themes, and WooCommerce work where the CMS itself is part of the problem
- Web development for the wider front-end and back-end engineering behind these projects
- Technical SEO audit and fixes because speed, structured data, and crawlability are usually audited together
- Website maintenance and support to keep the improvements in place after the fix pass ends
- Progressive web app development when caching and offline behaviour belong in the application itself
Next step
Send us your URL and the two or three pages you care about most. We will run a baseline, show you what is actually slow, and tell you what a fix pass would cost before you commit to anything.
Contact us with the site link, or run your requirements through the Vasilkoff.info estimator to get a first scope and cost range.