Performance & SEO

Web Performance & Technical SEO

A site that Google cannot render is a site Google will not rank. Most technical SEO failures I find are not content problems at all — they are broken asset paths, JavaScript-only rendering and pages that never return real HTML.

LighthouseCore Web VitalsSearch ConsoleJSON-LDNext.jsViteSSR / SSG

Sound familiar?

  • Search Console says "Discovered – currently not indexed" and you do not know why
  • The site scores badly on Core Web Vitals and rankings have slipped
  • It is a single-page app, so every URL serves the same empty HTML
  • Structured data is missing or throws errors in the Rich Results Test

Send me the domain. I will tell you what Googlebot actually sees before you commit to anything.

What you get

Concrete deliverables, not a retainer with vague scope.

Indexing diagnosis

A crawl-level audit: what Googlebot actually receives per URL, which assets fail, and which pages return no content.

Rendering fixes

Static generation or server rendering so every URL returns complete HTML with its own title, description and canonical.

Core Web Vitals

LCP, CLS and INP measured and fixed — image handling, bundle splitting, font loading and layout stability.

Structured data

Valid JSON-LD for Person, Organization, Article, Product, BreadcrumbList and FAQPage, tested against the Rich Results Test.

Site architecture

Crawlable internal linking, hub pages, breadcrumbs and a sitemap that reflects the real structure.

Robots and sitemap

Correct robots.txt, an accurate XML sitemap and canonical handling that prevents duplicate-content dilution.

How it runs

  1. Step 1

    Crawl audit

    I fetch your URLs the way a crawler does and compare that against what a browser shows. The gap is usually the whole problem.

  2. Step 2

    Prioritised findings

    A ranked list separating "this blocks indexing entirely" from "this is a marginal gain".

  3. Step 3

    Rendering and structure

    Fix how pages are delivered and how they link to each other — the two changes that move the needle most.

  4. Step 4

    Performance pass

    Measured optimisation against Core Web Vitals field and lab data.

  5. Step 5

    Validation

    Re-crawl, resubmit in Search Console, and confirm pages move from discovered to indexed.

Performance & SEOquestions

Why are my pages "Discovered – currently not indexed"?+

It means Google knows the URL exists but has not committed crawl budget to it. The usual causes are pages that render empty without JavaScript, near-identical metadata across URLs, no internal links pointing to the page, or broken asset paths that make the page fail to render at all. All four are fixable.

Can a React single-page app rank in Google?+

Yes, but only if each URL returns real HTML. That means static generation, server-side rendering or prerendering at build time. A plain client-rendered SPA gives Google an empty shell and forces it into a slow rendering queue that it often skips for low-authority sites.

How long until indexing improves after the fixes?+

Once the pages return proper HTML and you request indexing in Search Console, individual URLs can be indexed within days. A full site-wide recrawl usually settles over two to six weeks depending on the site's crawl budget.

Do you write the content too?+

I handle the technical side — rendering, structure, metadata, structured data and speed. I will tell you precisely which pages are too thin to rank and what they need, but the subject-matter content is best written by whoever knows the business.

Ready to talk about performance & seo?

Send me the domain. I will tell you what Googlebot actually sees before you commit to anything.

Send project details