Skip to content
Agorix
Updated 29 July 2026

The landing page speed checklist: 21 checks before you buy traffic.

Six groups, each sitting under a short explanation of what actually breaks when its items are skipped. Tick them here, or copy the whole thing into whatever you plan in. Written to work on any stack — a hosted builder, a framework, or a single file you edit by hand.

21checks
06groups
01triage table

What this page gives you

  • A checklist you can tick as you go, or copy straight into a task list
  • A triage table that puts each symptom next to its most likely cause
  • The reason each item exists, so you can skip one deliberately rather than accidentally
  • The one mistake that makes a fast page measure slowly — and how we made it ourselves
  • An honest read on what a hosted page builder does for you and what it never will
A landing page list showing each published page with its status, traffic and conversions alongside.
Group 01Images01 / 06

Almost every slow landing page is slow for the same reason.

It is the pictures. Not the framework, not the hosting, not the theme — the hero photograph somebody exported straight out of a design tool and dropped in at full size.

A browser will happily download a four-thousand-pixel image and then draw it into a box six hundred pixels wide. It pays for every one of those pixels first. Export at the size the image is displayed, convert to a modern format, and the single largest line item on most pages disappears in an afternoon. This is also the least glamorous work on the page and the reason it keeps not getting done.

The dimensions item is about a different failure. Without a width, a height or an aspect ratio, the browser does not know how much room to leave, so it leaves none — and when the file arrives, everything below it jumps. Visitors experience that as the page moving under their thumb at the exact moment they reached for the button. The fix costs two attributes.

One trap worth naming: lazy loading is an attribute on the image element, and a picture set as a CSS background does not have one. If the page is still heavy after you have been through every visible image, the weight is usually hiding in a stylesheet.

Images0 / 4 done

21 checks, plain text, no account needed. Tick them here as you go, or take the whole list into your own task manager and assign owners to it.

Group 02Fonts02 / 06

A font can hold your headline hostage.

Typefaces are small files that arrive at exactly the wrong moment: after the HTML, before the text is allowed to appear, on the connection you have the least control over.

Three settings do most of the work. Host the files yourself, so the page is not waiting on somebody else’s server to answer. Subset them to the characters you actually use, because a full family carries alphabets your landing page will never render. And set the display behaviour to swap, so the browser paints in a fallback immediately and replaces it when the real face lands. Swapping looks slightly untidy for a moment; a blank headline looks broken for longer.

Then there is the preload trap. Preloading tells the browser to fetch something with high priority, which is genuinely useful for the one font the first screen needs. Preload six files and you have not prioritised anything — you have just moved six downloads to the front of the queue where they compete with each other and with the image you were trying to speed up. One preload, on the one file, is the whole technique.

Fonts0 / 3 done
Group 03The critical path03 / 06

The headline should not need JavaScript to become visible.

Everything else in this group follows from that one sentence. The first screen is a promise the page makes before any script has run, and it either arrives in the HTML or it arrives late.

Load the page once with JavaScript switched off. Whatever remains readable is what your slowest visitor sees first — the person on a train, on a three-year-old phone, on a connection that drops one file in ten. If that test leaves you with an empty rectangle where the offer should be, no amount of image optimisation will fix the number the browser reports, because the browser is waiting on the script, not the bytes.

Third-party tags are the other half. Every tag is somebody else’s code running on your critical path, and they compound: an analytics tag, a chat widget, a heatmap, two ad pixels and an embedded video player is six separate opportunities for a page to stop responding. Keep the ones that earn their place, defer them, and load the heaviest after the first interaction rather than before the first paint.

How we learned this one, on this site

The pages in this section use a scroll-triggered reveal: blocks start slightly faded and settle as they enter the viewport. The hero headline was originally one of them. That meant the largest element on the screen was invisible until a script had loaded, run and observed it — a page that was fast by every other measure, waiting on an animation to admit it had content.

The fix was not to remove the animation. It was to ship the hero already revealed, with the finished state applied in the server-rendered HTML, so only the blocks below the fold wait for JavaScript. If your page has an entrance animation, check whether it is applied to the element the browser will call the largest paint. There is a good chance it is, because that is usually the headline, and the headline is usually the thing a designer most wants to animate.

The critical path0 / 4 done
Group 04Forms & friction04 / 06

Speed is not only what loads. It is what the visitor has to do next.

A page that renders instantly and then asks for a job title, a company size and a phone number has not saved anybody any time. The form is where a fast page most often stops being fast.

Cut the field count to what you will act on this week. Every field is a small decision taken before the conversion, and fields collected for a segmentation plan nobody has written yet are pure cost. If you genuinely need the extra data, ask for it on the page after the conversion, where the visitor has already committed and answering feels like finishing rather than qualifying.

Then let the browser help. Correct autocomplete hints turn a five-field form into one tap on a phone that already knows the answers; the right input type opens a number pad for a phone number rather than a full keyboard. And test the error state on a slow connection, because the classic mobile failure is not a rejected submission — it is a submission with no visible response, tapped three more times, producing three more records with the same email address.

Forms & friction0 / 3 done
Group 05Mobile05 / 06

A narrow browser window is not a phone.

Dragging the desktop window narrow tests the layout and nothing else. It does not test the network, the processor, the keyboard, or a thumb reaching across a screen that is now too tall for one hand.

Check the tap targets on the device. Buttons and links need enough area to hit at speed and enough space between them that the wrong one is not adjacent — a stack of small text links with tight line height is the most common offender, and it is usually the footer nobody looked at.

Horizontal scroll is the other one, and it is always an accident. Something on the page is wider than the screen: a fixed-width image, a table, a long unbroken URL, a negative margin that made sense at desktop width. The symptom is a page that drifts sideways while somebody is trying to scroll down it, which reads as broken rather than as a bug. Load the page at the narrowest common width and try to scroll right; if you can, something is oversized.

Mobile0 / 3 done
Group 06Measuring06 / 06

Lab data tells you what changed. Field data tells you whether it mattered.

They are different instruments and they disagree constantly, which is not a fault in either one. Knowing which question each answers is most of what people mean by knowing how to measure a page.

A lab run is a simulation: one device, one throttled connection, repeatable. That repeatability is the point — it is the only way to say that a specific change made a specific difference. Run it before you touch anything, keep the result, run it again after. A single lab score in isolation is almost meaningless; the same score either side of one change is evidence.

Field data is the opposite: real visitors, real devices, real networks, collected over time. It is slow, it is noisy, and it is the number that pays, because it describes people who were actually deciding whether to fill in your form. When the two disagree, field data wins and the lab run becomes the tool you use to find out why.

Keep one measurement per failure mode: something that tells you what paints last, something that tells you how much the layout moves after it paints, and something that tells you how long the page takes to answer a first tap. The published Core Web Vitals thresholds are a reasonable target because they are a standard rather than an estimate — check the current definitions rather than trusting a number quoted in an article, including this one.

Measuring0 / 4 done
TriageSymptom to cause

What you noticed, and where to look for it.

Most speed work starts with a symptom rather than a metric — somebody said the page felt slow, or a report went amber. This table turns that into a place to start.

Seven rows, tab-separated. Pastes straight into a spreadsheet or a ticket template.

SymptomMost likely causeWhat to change
The headline shows up lateThe biggest thing on the first screen is an image, a web font, or a block that a script has to reveal.Ship the headline in the server HTML, already visible, and preload only the one font it needs.
The layout jumps while loadingImages without dimensions, a banner injected above the fold, or a fallback font sized differently from the real one.Set width and height or aspect-ratio, reserve the space for anything injected, and tune the fallback metrics.
Heavy on a phone, fine on the desktopOne full-resolution image being downloaded in full and scaled down after it arrives.Export at display size, convert to WebP or AVIF, and offer a smaller source for narrow screens.
The first tap does nothing for a beatThe main thread is busy executing scripts when the visitor tries to use the page.Defer third-party tags, load chat and session recording after first interaction, delete what nobody reads.
Text is invisible, then appearsA web font is blocking the paint instead of letting a fallback render first.Set the font to swap, subset the file, and drop the weights the page never uses.
Fast in the lab, slow in the fieldYour laptop and office connection are not what your audience is holding.Read field data split by device class, and re-test on a mid-range phone with the network throttled.
Fast page, poor conversionThis checklist is finished. The problem has moved upstream to the offer, the headline or the ask.Go back to the page structure and the copy — speed removes an excuse, it does not create desire.

The last row is the one worth reading twice. A fast page that does not convert is not a performance problem, and no further optimisation will find the answer — the question has moved to what the page says and what it asks for.

DecideWhat a builder does

A builder removes a class of mistakes. It does not remove your judgement.

This is the one place on the page where the tool you choose genuinely changes the work, so it is worth being precise about which half it changes.

What it handles

The mechanical half

How images are stored and served, how fonts are loaded, whether dimensions end up on the markup, whether the page renders before the scripts. A hosted builder makes those decisions once, for every page you publish.

What stays yours

The editorial half

How many fields the form has, how large the image you uploaded was, which third-party scripts you pasted into the page settings, and how much of the first screen is animation. No platform decides these for you.

Which means the honest version of the tool question is not “is this builder fast”. It is whether it lets you do the editorial half well: fewer fields because the data you wanted is already on the record, fewer scripts because the tracking is native rather than pasted, fewer embeds because the thing you were embedding lives on the same platform.

That is also the argument against stitching. Every extra product involved in a conversion tends to add a tag to the page — one to capture the lead, one to attribute it, one to sync it somewhere else. The page gets slower in direct proportion to the number of systems that need to be told what just happened.

Where a tool decision changes the plan

Fewer tags on the page, because fewer systems need telling.

Pages, forms and the customer record in one place, so the form submission is the event rather than the start of a sync — see how marketing works.

Start your 14-day trial 14 days · $0 due today · Payment method required · Cancel before first charge and pay nothing
Common questions

Five questions people ask before they start.

How fast does a landing page need to be?

Fast enough that the visitor never decides to leave while waiting, which is not a number you can measure directly. Use the published Core Web Vitals thresholds as the target — they are a standard rather than somebody estimating — and check the current definitions rather than trusting a figure quoted in an article, including this one. Then compare the page against itself: the run before your change and the run after, on the same throttled connection. That comparison is worth more than any absolute score, because it tells you whether the work you just did was worth doing.

Does page speed actually affect conversion?

Slower is worse, and we will not quote you a percentage, because every number in circulation came from somebody else’s page, offer and audience. The defensible version is narrower and more useful: a visitor who leaves before the page renders cannot convert, and the traffic that reaches your slowest pages is the traffic you paid the most to acquire. Treat speed as a leak you close rather than a lever you pull — and if you want your own number, run a real test.

Do I have to remove my tracking scripts to make the page fast?

No, but they belong after the content rather than in front of it. Defer them, load the heavier ones — chat widgets, session recorders — after the first interaction, and audit the list every quarter. Most pages carry at least one tag that was added for a campaign that ended, and every one of them competes with the headline for the same main thread.

Is a hosted page builder slower than a hand-built page?

Not inherently, and it is rarely the deciding factor. A builder controls how images are served and how fonts load, which removes a whole class of mistakes. What it cannot decide for you is how many fields your form has, how large the image you uploaded is, or which third-party scripts you pasted into the page settings. Those three are usually the largest costs on a slow landing page, and all three stay yours regardless of what you build on.

What should I fix first if I only have an hour?

Images, fonts, then scripts, in that order. Re-export the two or three largest images at the size they display and convert them, subset the fonts and cut unused weights, then defer or delete third-party tags. That order works because it moves from the heaviest bytes to the busiest main thread, and because each step can be verified on its own with a lab run before and after. If the page is still not converting after that, the structure of the page is the next thing to look at, not the speed.

Keep going

The next four things to read.

From checklist to system

A fast page is only worth it if the response is too.

Landing and registration pages, forms that write straight to the customer record, and email that can see what the visitor did next — on every paid plan, so the page you just made fast is not the last fast thing that happens. Your first marketing automations covers what should happen the moment the form is submitted, and the workflow testing checklist covers proving it works.

14 days · $0 due today · Payment method required · Cancel before first charge and pay nothing