WHY PAGESPEED SCORE IS A RANKING FACTOR
Since May 2021, Google has used Core Web Vitals as a direct ranking signal. That means your site's Largest Contentful Paint (LCP), Cumulative Layout Shift (CLS), and Interaction to Next Paint (INP) are factored into where you appear in search results — not just how your site feels to use.
A site that scores 40 on mobile PageSpeed is not just slow — it is being actively penalised by Google relative to faster competitors. A site that scores 100 is being rewarded. The difference in organic traffic between these two scenarios, for a local business competing in a mid-size market like George or Garden Route, can be substantial.
WHAT TEMPLATE BUILDERS DO TO YOUR SCORE
Wix, Squarespace, WordPress with a page builder — they all share the same problem: they ship JavaScript for features you didn't ask for, can't disable, and will never use. A basic Wix site typically ships 3–6MB of JavaScript on the initial load. A fresh WordPress install with Elementor and a premium theme can easily hit 8MB before you've added a single piece of content.
That JavaScript has to be downloaded, parsed, and executed by the browser before your page becomes interactive. On a fast desktop connection, this is annoying. On a mobile device on a patchy South African network, it's fatal. Your LCP score tanks, your bounce rate climbs, and Google takes note.
- ✗Render-blocking scripts that delay the first paint by 2–4 seconds
- ✗Unoptimised images served at full resolution to every device
- ✗Third-party scripts (analytics, chat widgets, social embeds) that multiply load times
- ✗No static generation — every page requires a server round-trip to render
HOW A CUSTOM NEXT.JS BUILD HITS 100
Next.js with static generation (SSG) produces pure HTML at build time. When a user requests your page, they receive pre-rendered HTML directly from Vercel's global edge network — the closest server to their location, no database query, no server-side render, no wait. The page is already built.
Here's what that means in practice:
- →Zero render-blocking JavaScript: We only ship the JavaScript the page actually needs. No jQuery, no Bootstrap, no unused animation library. A typical KAHNYA site ships under 150kb of JS total.
- →Automatic image optimisation via next/image: Images are automatically resized, converted to WebP/AVIF, lazy-loaded, and served at the correct size for the requesting device. No manual compression required.
- →Edge delivery from Vercel CDN: Your site is distributed globally. A visitor from Cape Town, London, or New York all get sub-100ms time-to-first-byte. No South African hosting overhead.
- →Font subsetting and preloading: Google Fonts are self-hosted and subset to only the characters your site uses. No external font request, no layout shift, no flash of unstyled text.
- →CSS-first animations: Transitions and hover effects are implemented in CSS where possible, falling back to Framer Motion only for complex scroll-triggered reveals — keeping the JS bundle lean.
THE COST / ROI ARGUMENT
A custom-built Next.js site costs more upfront than a Wix subscription. Let's be honest about that. But the total cost of ownership picture looks different over 3–5 years:
- →Wix Business plan: R450–R900/month = R5,400–R10,800/year. Recurring. Forever.
- →Custom build: R4,500–R12,000 once. Hosting on Vercel free tier for most small sites.
- →Wix sites rarely rank — the PageSpeed penalty compounds over time in lost organic traffic.
- →A 100-score site built once outperforms a 40-score template for years with zero additional spend.
For a George or Garden Route business competing in a local market of tens of thousands of potential customers, being on page one versus page two is not a marginal difference. It is the difference between a phone that rings and one that doesn't.