Cover image for the article: Website speed optimization: why your site is slow, how to measure it and practical fixes
SEO14 min read

Website speed optimization: why your site is slow, how to measure it and practical fixes

Is your website slow? Learn the main causes, how to measure speed properly with PageSpeed Insights and Core Web Vitals, and a prioritized list of fixes so your time isn't spent on low-impact work.

D
Danial Dehhaghi
Founder & CEO, MyTarh

Website speed is the first thing a visitor experiences, before they see any of your content. If a page is slow to appear or jumps around while it loads, many people leave before reading a single line. In this guide we look at why a website becomes slow, which tools and metrics to use to measure speed accurately, and in what order to fix the problems so your time and budget aren't spent on low-impact work.

Why website speed matters: beyond Google rankings

Speed is more than a number in a technical report:

  • User experience: many visits come from phones, on mobile connections whose quality isn't always consistent. A page that is fast on the office Wi-Fi can be slow on a customer's phone.
  • Sales and leads: a contact form that loads late, or a buy button that moves under the user's finger, leads directly to lost customers.
  • SEO: Google considers page experience, including the Core Web Vitals metrics, alongside other factors. Speed alone doesn't earn rankings, and relevance and content quality carry more weight; but when two pages are close in content, a better experience can make the difference. If you are working on your site's SEO, speed is one of the foundations of SEO services and technical website optimization.
  • Advertising cost: in pay-per-click advertising, landing page quality affects how your ad is evaluated. The money you pay for a click is effectively wasted if the user leaves before the page loads. If you build separate pages for campaigns, also read our tips on landing page design.

Why is my website slow? Six main culprits

Before doing anything, you need to know where the problem is. Almost every slow website has one or more of the items on this list.

1. Weak or unsuitable hosting

If the server takes a long time to build the page, no other optimization can make up for it. You see this time in the TTFB (Time to First Byte) metric. Common causes: a crowded shared host, an old PHP version, too few resources for heavy sites such as online stores, and a large geographic distance between the server and your audience. If your audience is mostly in one region, such as the Gulf, where your server is located and how well it connects to that region matter a lot.

2. Heavy, unoptimized images

This is the most common culprit: a photo that came straight from the camera or the designer and is several thousand pixels wide, shown in a small frame. The large image at the top of the home page (usually a banner or slider) is often the very element that ruins the LCP metric.

3. Too many plugins and scripts

Every plugin or library you add may load its own CSS and JavaScript files on every page, even pages that don't need them. The number of plugins alone isn't the problem; one badly written plugin can be slower than ten lightweight ones.

4. No caching

Without caching, the server builds the page from scratch for every visit: querying the database, running code and generating HTML. Page caching stores the result and serves it to the next visitor. Browser caching means static files such as the logo, fonts and CSS aren't downloaded again on the next visit.

5. Heavy or badly loaded fonts

Many websites, especially those in Arabic, use one or more custom web fonts. Loading every weight of a font (thin, regular, medium, bold, black) when only two are used, or loading the font from an external service, both add to the load time and can make the text jump when the font is swapped in.

6. Third-party scripts

Live chat tools, analytics and tracking codes, ad pixels, embedded maps, YouTube videos and social media widgets all load from other servers whose speed you don't control. If one of these services is slow or unstable for your visitors, it can hold up the loading of the rest of the page as well.

How to measure website speed

"The site is slow" is a feeling; to fix the problem you need numbers.

PageSpeed Insights: real-user data vs. lab data

Google's free PageSpeed Insights tool shows two kinds of data that shouldn't be confused:

  • Field data: the real experience of Chrome users over the last few weeks. It only appears if the page has enough traffic, and it is what Google uses for its assessment.
  • Lab data: the result of a simulated test run with Lighthouse at that moment. The 0–100 score belongs to this part. It is useful for finding the cause of a problem, but it varies a little from one run to the next.

If your field data is good, an average lab score is no cause for serious concern.

Core Web Vitals in plain language

Google defines three metrics as "Core Web Vitals". Each one is measured at the 75th percentile of visits; in other words, at least three quarters of visits should fall in the "good" range.

Metric What does it measure? Good Needs improvement Poor
LCP Time to display the largest visible piece of content (usually the main image or headline) Up to 2.5 seconds 2.5 to 4 seconds Over 4 seconds
INP How quickly the page responds to the user's clicks, taps and typing Up to 200 milliseconds 200 to 500 milliseconds Over 500 milliseconds
CLS How much page elements shift unexpectedly while loading Up to 0.1 0.1 to 0.25 Over 0.25

Put simply: LCP asks "when did I see the main content?", INP asks "when I pressed the button, did the page respond quickly?" and CLS asks "while I was reading or clicking, did something move under my hand?".

A few tips for measuring correctly

  1. Go by the mobile result. Google uses the mobile version as the basis of its assessment, and problems are usually more serious there.
  2. Don't test only the home page. Also measure a product page, a category page and an article; each type of page uses a different template.
  3. Repeat each test several times and take the average, especially for the lab score.
  4. Check the Core Web Vitals report in Google Search Console. It groups similar pages together and shows which group of pages has the problem.
  5. Record the numbers before and after every change so you know which action actually made a difference.

Speeding up your website: fixes in order of priority

The logic of prioritizing is simple: first the high-impact, low-risk work, then the more complex tasks. The table below is a general starting point; the exact order for each site depends on what your measurements show.

Action Which metric does it usually affect? Difficulty and risk
Optimize images LCP Low
Enable page and browser caching LCP and TTFB Low to medium
Upgrade hosting or the PHP version TTFB and LCP Medium
Remove unneeded plugins and scripts INP and LCP Medium
Reserve space for images and banners CLS Low
Optimize fonts LCP and CLS Low to medium
Defer non-essential JavaScript INP and LCP Medium to high
Use a CDN LCP Medium

1. Fix your images

  • Convert images to lighter formats such as WebP (or AVIF, if your theme and your audience's browsers support it).
  • Size each image to fit the frame it is shown in, and serve a smaller version on mobile (the srcset attribute).
  • Turn on lazy loading for images further down the page, but never lazy-load the main image at the top of the page; doing so makes LCP worse. For that image you can raise the loading priority instead (fetchpriority).
  • Replace a multi-image slider at the top of the page with a single static image.

2. Turn on caching

Enable page caching, browser caching for static files and compression (Gzip or Brotli) on the server. On dynamic sites such as online stores, the cart and account pages must not be cached; be sure to check this setting.

3. Check the server

If TTFB is high, the problem is in the server or the code, not in the browser. Move to a newer supported PHP version, compare your hosting resources with what the site needs, and if shared hosting is no longer enough, move to a virtual private server (VPS) or a higher plan.

4. Remove whatever you don't need

List your plugins and third-party code, and for each one ask: "If I remove it tomorrow, what breaks?". Old tracking codes from finished campaigns and tools whose reports nobody looks at are the first candidates for removal.

5. Stop the page from jumping

Set a width and height for all images, videos and iframes so the browser can reserve their space in advance. Banners and pop-ups that are added above the content after the page loads are among the most common causes of high CLS.

6. Make your fonts lighter

Load only the font weights you actually use, host the fonts on your own server, use the WOFF2 format, and set font-display so text doesn't stay invisible until the font arrives.

7. Manage JavaScript and CSS

Run scripts that aren't needed for the first render with defer or delayed loading, reduce unused CSS, and minify your files. This step carries the highest risk of breaking how the site looks or works; after every change, test forms, the mobile menu and the checkout by hand.

Speed tips specific to WordPress sites

WordPress is very flexible, and that flexibility also opens the way to slowness. These issues come up most often on WordPress sites:

  • Install only one caching plugin. Plugins such as LiteSpeed Cache (if your host's web server is LiteSpeed), WP Rocket or W3 Total Cache each work on their own; installing two caching plugins or two optimization plugins at the same time usually causes conflicts and errors.
  • Use page builders with care. Drag-and-drop page builders generate a lot of extra code and files. If the site's theme is built on a page builder from the ground up, there is a lower ceiling on how far it can be optimized. In that case, changing the theme is sometimes the more lasting solution; we cover the signs in our website redesign guide.
  • Keep the database clean. Old post revisions, spam comments, expired temporary data (transients) and settings left behind by deleted plugins make the database heavy. Also limit the number of revisions that are stored.
  • In WooCommerce, watch background requests. Cart updates, "related products" widgets and advanced filters can send heavy requests to the server. On large stores, an object cache (such as Redis) on the server helps considerably.
  • Keep your theme and plugins up to date, and before any major change, take a backup or test on a staging copy.

Many of these tasks are part of regular website maintenance, not a separate project; you'll find a fuller list in our WordPress maintenance checklist.

Is a one-off optimization enough, or do you need ongoing monitoring?

Website speed doesn't stay fixed. A new, heavy banner, a plugin installed for a campaign, a new tracking code or a theme update can undo weeks of optimization in a single day. To prevent this:

  • Check the Core Web Vitals report in Google Search Console at least once a month.
  • Before publishing major changes, test your key pages with PageSpeed Insights.
  • Set rules for the content team on uploading images: maximum dimensions, format and file size.
  • Keep an eye on site availability (uptime) and server response time with a monitoring tool.

If you don't have the time or a technical team for this monitoring, you can hand it over to a support team; speed monitoring, updates and regular backups are part of MyTarh's website care & maintenance services.

When to fix it yourself and when you need an expert

Before you start, set a realistic goal: the aim isn't for the site to open in "so many seconds". A sensible goal is for your important pages to reach the Core Web Vitals "good" thresholds in field data; that is, LCP up to 2.5 seconds, INP up to 200 milliseconds and CLS up to 0.1. No honest expert promises a specific number before reviewing the site, because part of the result depends on the hosting, the theme and external scripts.

Task Yourself Expert
Compressing and converting images, setting dimensions Yes —
Removing unused plugins and tracking codes (with a backup) Yes —
Installing and doing the basic setup of one caching plugin Usually yes On stores, setting the cart and account exclusions
High TTFB, upgrading PHP or changing hosts — Yes
Poor INP caused by the theme's or page builder's JavaScript — Yes
Object caching, heavy queries and the database — Yes

A simple rule: if you can't undo a change with one click, or it affects forms, the cart or payment, don't try it yourself on the live site.

These signs tell you it's time to get help:

  • You have done the low-risk work, but the Core Web Vitals report hasn't changed after several weeks.
  • Every optimization breaks something and you don't know why.
  • The site has suddenly become slow without any noticeable change on your side. Take this seriously: a sudden spike in server resource use, unknown files or strange redirects can be a sign of malware, not a speed problem. In that case, before any optimization, review the signs of a hacked website and the steps to recover it.
  • You don't have time for monthly monitoring, and speed drops again every few months. Here, handing the work to website care & maintenance makes more sense than one one-off optimization after another.

Mistakes that ruin optimization

  • Chasing a score of 100: the goal is a good experience for real users and staying in the Core Web Vitals "good" range. Spending weeks to gain a few more lab points is usually not worth it.
  • Installing several optimization plugins at once: instead of the effects adding up, you usually get conflicts and breakage.
  • Aggressively minifying and combining JavaScript without testing: the result may be a form that won't submit or a menu that won't open on mobile.
  • Testing only on desktop and only the home page: the real problem is often on product pages and articles on mobile.

Frequently asked questions

How much does website speed affect Google rankings?

Google considers page experience alongside dozens of other factors, but the quality and relevance of your content have a bigger effect. Think of speed mainly as part of user experience and conversion rate, rather than a direct ranking lever.

My PageSpeed score is low, but the site opens quickly for me. Which is right?

Probably both. You test with your own internet connection and device, often with cached files, while the PageSpeed test simulates an average phone on a slower connection. The final measure is field data from real users; if that isn't available yet, take the mobile lab result seriously.

Is a CDN useful for my website?

It depends on your audience. If most of your visitors are in one country and your server is already close to them, a CDN may not help, and one without nearby points of presence can even make the route longer. If your audience is spread across several countries, or you serve many heavy files, a CDN with points of presence close to your visitors can help. Measure before and after you turn it on.

Can I optimize my WordPress site's speed myself?

You can usually handle parts such as compressing images, removing unused plugins and installing a caching plugin yourself. Tasks such as configuring the server, managing JavaScript and optimizing the database carry a risk of breaking the site and are better done by an expert, with a backup.

After optimizing, when will I see the results in Google Search Console?

Google's field data is an average of the last few weeks, so improvements appear in the reports gradually. You can see PageSpeed lab data right away, but to confirm your fixes in the Core Web Vitals report you need to wait a few weeks.

Website speed isn't fixed with a single plugin or trick: first pinpoint the problem with PageSpeed Insights and Google Search Console, then start with high-impact, low-risk work such as images and caching, and finally keep the site from slowing down again with regular monitoring. If you'd like your site's current state reviewed and a prioritized list of fixes, contact MyTarh for a free consultation through our website care and optimization page.

D
Danial Dehhaghi
Founder & CEO, MyTarh

Founder of MyTarh, with years of experience in digital marketing and web design.

Free website review

Want to know where your own website has problems?

Send us your website address. The MyTarh team will review its SEO, speed and technical errors and, within 2 business days, share a prioritized list of fixes with you. It's free and comes with no obligation.

Check it yourself first with the SEO checklist

Prefer to talk directly? Chat with Danial Dehhaghi on WhatsApp

Previous article
AI chatbot for your website: a guide to choosing and setting one up
Next article
WordPress website maintenance: a weekly, monthly and yearly checklist