VulCode

Website and WordPress speed optimization

VulCode, a software house from Kraków, speeds up websites that load slowly. Most are WordPress sites built with a page builder like Elementor: we remove heavy scripts and unused plugins, convert images to WebP and AVIF, and turn on caching and compression. We measure the mobile PageSpeed Insights score before and after, aiming for 90+.

from PLN 399

The figure for your scope comes in a free quote.

PageSpeed Insights score
Lighthouse, mobile mode
90+mobile target
  • 0-49poor
  • 50-89needs work
  • 90-100good
Before the changes
a baseline with a link to the report
After the changes
the same pages, the same conditions

Why a slow website loses visitors

Google measures speed on real visitors, separately on phones and computers, and rates a page by three Core Web Vitals. Each has a threshold for a good result, and past it a visitor waits for the content, taps with no response or hits a button that has just jumped.

LCP

main content shown
good up to
2.5 s
good
needs work
poor
When the result is poor

For the first seconds the visitor looks at a blank or half-built screen and cannot tell whether the site works at all.

INP

response to a tap
good up to
200 ms
good
needs work
poor
When the result is poor

Nothing happens after a tap, so the visitor taps again or leaves.

CLS

layout stability
good up to
0.1
good
needs work
poor
When the result is poor

Content jumps while loading and a finger lands on a different button than intended.

Diagnosis first: what we measure

Before we change anything, we measure the site in PageSpeed Insights in mobile mode: each page type separately and several times in a row, because the score shifts by a few points between runs. If the site has enough traffic, we also look at real-user data in Search Console.

What the PageSpeed score is made of
The 0 to 100 score is a weighted average of five measurements.
What it measuresWhere we look for the cause
  • 30%TBTTotal Blocking Time
    What it measures

    How long scripts block the page while it loads. In the lab test it stands in for INP.

    Where we look for the cause

    Builder and plugin scripts, jQuery, chat widgets and ad pixels.

  • 25%LCPLargest Contentful Paint
    What it measures

    When the main content shows, usually the image or the heading at the top.

    Where we look for the cause

    A server reply without caching, a heavy image at the top, styles and scripts the browser waits for.

  • 25%CLSCumulative Layout Shift
    What it measures

    How much the content jumps while loading.

    Where we look for the cause

    Images and embeds without dimensions, a font swap, the cookie banner.

  • 10%FCPFirst Contentful Paint
    What it measures

    When anything at all appears on screen.

    Where we look for the cause

    Styles and fonts loaded before the content, no compression.

  • 10%SISpeed Index
    What it measures

    How fast the visible part of the page fills in.

    Where we look for the cause

    Loading order: what could wait goes ahead of the content.

What we change in the site's code

We change what the measurement points to as the cause, and the look and content of the site stay the same. The diagram shows what goes, what gets lighter and what loads only after the content.

How a builder page loads, as a diagram
What loads
Before
After
What changes
main content visible
main content visible
The HTML document
from the cache, compressed
Theme and builder styles
only the styles this page uses
Builder scripts and jQuery
after the content shows
Styles and scripts of unused plugins
removed
removed with the plugins
Fonts from an outside server
from your own server, only the weights in use
The image at the top
WebP or AVIF, fetched straight away
Images further down
WebP or AVIF, on scroll
Chat, pixels and analytics
after the page loads
Before
main content visible
The HTML document
Theme and builder styles
Builder scripts and jQuery
Styles and scripts of unused plugins
Fonts from an outside server
The image at the top
Images further down
Chat, pixels and analytics
After
main content visible
The HTML documentfrom the cache, compressed
Theme and builder stylesonly the styles this page uses
Builder scripts and jQueryafter the content shows
Styles and scripts of unused pluginsremoved with the plugins
removed
Fonts from an outside serverfrom your own server, only the weights in use
The image at the topWebP or AVIF, fetched straight away
Images further downWebP or AVIF, on scroll
Chat, pixels and analyticsafter the page loads
  • Heavy builder scripts and unused plugins

    We switch off the builder modules the site does not use, and remove plugins with no job or load them only where they are needed.

  • Images in WebP and AVIF

    Every image at the right size, and the ones further down load only when someone scrolls to them.

  • Caching and compression

    The server sends a ready, compressed page from the cache instead of building it again on every visit.

  • Fewer third-party scripts

    Chat widgets, ad pixels and analytics load after the page shows, and duplicated or unused ones go.

  • No layout shifts

    Images and embeds get their dimensions, the fallback font keeps the same proportions, and the cookie banner does not push the content down.

  • SEO basics along the way

    Missing meta descriptions and structured data that we find during the diagnosis can be added right away.

Speeding up a WordPress and Elementor site

A page builder gives freedom of layout, but you pay for it in code: the styles and scripts of every module load on every page, even where the module is not used. We do not move the site to another system, we tidy up the one you have.

  • The same admin panel

    You keep editing content in WordPress and the builder, just as before.

  • A test copy first

    We switch off and set up plugins on a copy of the site, and the changes go live after you accept them.

  • A WooCommerce store

    We measure the product page, the product list and the cart separately, because each of them loads different things.

Plugin and settings review
A typical company website on WordPress with a page builder
  • Page builder (Elementor)
    styles and scripts of every widget on every page
    stays
    loads only the widgets in use
  • Builder add-on pack
    the whole pack loaded for a few widgets
    we remove it
    we rebuild the widgets in the builder itself
  • Home page slider
    its script and styles on every page
    we change it
    only on the home page
  • Contact form
    scripts on every page, though the form is only on the contact page
    we change it
    only on the contact page
  • Builder icons and animations
    the full icon set and an animation library everywhere
    we change it
    only the icons in use, no animation library
  • Two caching plugins
    they do the same job and get in each other's way
    we change it
    one stays, set up from scratch
  • Disabled and unused plugins
    left over from old changes
    we remove it
    less code to keep updated

Measured before and after

Both measurements run under the same conditions, so the difference comes from the changes, not from another page or another mode. You get links to both reports and can rerun each of them yourself.

Before the changesAfter the changes
  • ToolPageSpeed Insights (Lighthouse)
  • Modemobile
  • Pagesthe home page and every page type
  • Runsseveral in a row, the median counts
  • Mobile scoreBefore the changes: the baselineAfter the changes: target 90+
  • Real-user dataBefore the changes: from Search Console, when the site has trafficAfter the changes: update with a delay
  • Reporta link you can rerun yourself

When a speed-up is not enough

Sometimes the build of the site itself is slow: a theme or a builder that cannot be slimmed down without rewriting the template. We say so after the diagnosis, before you order the work.

  • Fixes are enough

    The causes sit in plugins, images, caching and third-party scripts. We speed up the site you have, aiming for 90+ on mobile.

  • The theme or builder blocks the score

    When the target cannot be reached without rewriting the template, we say so plainly, and the alternative is a new website. New websites we hand over score 95+ in PageSpeed.

  • The site is moving to another system or server

    If you want to leave the current system or hosting anyway, we move the site with a redirect map so you do not lose your Google rankings.

What you get at the end

You get both reports, the list of changes and a site that looks the same as before. After acceptance we stay with it for the support period.

  • 90+
    PageSpeed target on mobile
    After the changes, under the same conditions as the first measurement.
  • 90 days
    of support after acceptance
    We fix bugs caused by our changes at no extra cost.
Website speed-up handover
Measurement
PageSpeed Insights, mobile
Support
90 days from acceptance
Report before the changes
The score and metrics of every page measured, with a link to PageSpeed Insights.
List of changes
What we removed and what we changed, plugin by plugin, with the reason for each.
Report after the changes
The same pages and the same mode, with a link to the report.
The live site
It looks as it did, and you edit content the same way.
Guidance for later
How to add images, plugins and scripts so the score does not drop.

Questions about speeding up a website

About the causes, WordPress, the PageSpeed score and what happens after the changes.

Is your website slow to load?

Send us the site address and tell us what worries you. We will reply within an hour with questions and a free quote.