SEO
Core Web Vitals
There is a wide gap between scoring green in PageSpeed Insights and being fast for the people who actually visit. I work from field data, not the lab test.
- Same-day reply
- Fixed price
- No lock-in
- LCP, INP and CLS
- Field over lab
- Fixes in the code
- Measured before and after
Service
Core Web Vitals
LCP — the one that nearly always fails
The big image at the top of the page causes most of the bad LCP numbers I meet. Either because it is far too large, or because it sits behind several layers of JavaScript that have to run first.
The fix is rarely complicated: scale the image properly, serve it in a modern format, load it first rather than last, and stop wrapping it in a carousel waiting on a library.
INP and CLS
- INP is about how long it takes from pressing something to something happening. It is usually third-party scripts blocking the main thread.
- CLS is about the page jumping. Images without declared dimensions, banners injected at the top, and fonts swapping midway through.
- Both get worse from the scripts nobody dares remove because nobody knows who added them.
On measuring
I set up measurement on real visitors before changing anything. Then we have a baseline, and we can see whether the changes worked instead of arguing about a score that swings between tests.
The Chrome UX Report gives a good picture for sites with enough traffic. Where there is too little, I set up a simple measurement of my own instead.
Deliverables
What you get
Concrete deliverables, not a report of recommendations someone else has to find time for.
- Field measurement
Numbers from real visitors before we change anything, so we have a baseline and are not arguing about a score that swings.
- A fixed LCP
The large image at the top scaled, converted and loaded first. It is the cause of most of the bad numbers I meet.
- Fewer blocking scripts
A review of what loads when, and what can be deferred or removed entirely without anyone missing it.
- Before and after
The same measurement repeated after four weeks, once there are enough real visits for the numbers to mean something.
Process
How it works
Four steps. You know what happens when, and you can stop after any of them.
- 01
Find what blocks you
I start with a full crawl and a review of Search Console. There is nearly always something technical in the way that makes the rest of the work wasted if it is not cleared first.
- 02
A prioritised list
Everything I find gets sorted by return on effort. You can see the reasoning behind each item, so you can judge for yourself whether I am right.
- 03
The fixes get made
I deliver the work as pull requests in your own repository, not as recommendations someone else has to find time for. That is the whole reason to hire a developer for SEO.
- 04
Measurement and follow-up
We measure before and after on real visitors. You get a short monthly update, including the months where nothing happened, because that is information too.

Who does the work
I am the person you will be working with
My name is Mikkel and I have been building for the web since 2010. There is no project manager in between, and you will not get a junior on the job because the senior was busy. What you agree is what gets built, and I am the one building it.
Day to day I am a partner at Bigum&Co, and I have worked on more than 400 projects across ecommerce, pharma, construction and the public sector. Call or write — I usually reply the same day, and I will say straight away if the job is not a fit.
- Experience
- 16 yrs
- Projects
- 400+
- Rating
- 5.0
- Reply time
- Same day
In depth
Core Web Vitals
Lab and field are not the same
PageSpeed Insights gives two numbers, and most people look at the wrong one. The big coloured score at the top is a lab test: a simulated load on a simulated phone over a simulated connection. It is useful for debugging because it is reproducible, but it says nothing about how the page behaves for real people.
The field data above it — from the Chrome UX Report — is what Google actually uses. It comes from real visitors on real devices over real connections, collected across twenty-eight days. That is what decides whether a page passes.
The gap can be large. I have seen sites with a lab score of 95 and field data that fails, because the real audience is on older Android phones on the train. And I have seen the opposite: a mediocre lab score and fine field data, because visitors come from offices with fast connections.
So I always start by getting field measurement in place if there is not enough traffic for CrUX. A simple measurement of LCP, INP and CLS costs nothing and makes the rest of the work assessable.
The three metrics and what typically fails
LCP measures when the largest element in the visible area has finished painting. On nearly every site I meet that is the image at the top, and the problem is usually the same: uploaded at full resolution, served as JPEG, and sitting behind a JavaScript library that has to run first. Three changes and the number halves.
INP measures how long it takes from a tap to something visible happening. It is nearly always third-party scripts blocking the main thread — chat widgets, heatmaps, personalisation tools. Nobody dares remove them because nobody knows who added them, and that is worth finding out.
CLS measures how much the page jumps while loading. Images without declared dimensions, banners injected at the top after a couple of seconds, and fonts swapping midway. It is the easiest of the three to fix and the one that irritates users most.
None of the three needs a rebuild. On an average WordPress or Shopify site it is a couple of days' work to get all three green, if you go after the causes rather than the score.
Reviews
What people say about me
Mikkel Tschentscher is my lifeline when something is urgent and nobody else can work it out.
Torben Wiese(translated from Danish) Mikkel is a man after my own heart. Executes at lightning speed, has an eye for detail and is always there when you need him. It does not get better than that.
Tini Owild(translated from Danish) He is simply a pro. Highly competent and precise, brings good input, and is a huge support.
Carsten Johan Thessen(translated from Danish)
Services
Why me
- 16 years of experience
I have built for the web since 2010 and seen most of the ways a project can come off the rails. It makes the estimates more honest.
- 400+ projects
Across ecommerce, pharma, construction and the public sector. Chances are I have seen something close to your job before.
- You talk to the person coding
No project manager in between, and no junior on the job because the senior was busy. What you agree is what gets built.
Brands I have worked with
A selection. Some freelance, some through agencies, some across several years.
Questions
Frequently asked questions
- Do Core Web Vitals affect rankings?
- Somewhat, but less than many think. The bigger effect is on conversion. People who wait buy less, and on mobile patience is short.
- Is a caching plugin not enough?
- It helps server response time, but it does nothing about the megabyte of JavaScript the browser still has to run. Most sites I meet already have a caching plugin and the problem lies elsewhere.
- How much can realistically be improved?
- On an average WordPress or Shopify site, halving LCP is not unusual. It gets harder from there, but the first stretch is usually low-hanging.
- How much does it matter for rankings?
- Somewhat, but less than many think. The bigger effect is on conversion. People who wait buy less, and on mobile patience is short. I would work on it even if Google did not measure it.
- Can you do it without changing the design?
- In the great majority of cases yes. It is about what loads when, not how the page looks. If there is a carousel with five images at the top I may suggest removing four of them, but that is a recommendation, not a requirement.
- We already have a caching plugin. Is that not enough?
- It helps server response time and does nothing about the megabyte of JavaScript the browser still has to run. Most sites I meet already have one, and the problem lies elsewhere.
