The journal

· · 13 min read · By

Technical SEO Agency: What to Check Before You Hire

Most agencies sell an audit and a PDF. A technical SEO agency worth paying for runs specific checks: crawl budget, JavaScript rendering, Core Web Vitals, structured data, and fixes what it finds rather than just describing it.

Technical SEO Agency: What to Check Before You Hire

Key takeaways

  • A real technical SEO audit, from any technical SEO agency worth hiring, tests crawl budget, rendering and indexation, not just page titles and meta descriptions.
  • Core Web Vitals (LCP, INP and CLS) are ranking signals and conversion signals at once. A landing page built for Google Ads should load its main content in around 2.5 seconds.
  • JavaScript-heavy sites need rendering tests. A page can look perfect in your browser and still render blank to a crawler.
  • Structured data (schema markup) is what lets Google and AI assistants quote a product, price or review directly. It needs validating, not just adding.
  • Ask whether the agency can also build the fix. A report your dev team has to interpret adds a handover gap, and handover gaps are where fixes die.

What does a technical SEO audit actually check?

Most audits founders get sold are exports from a crawler tool with a logo on the cover: missing meta descriptions, long titles, a few broken links. Useful, but that's housekeeping. A serious technical SEO audit asks three harder questions. Can search engines reach your pages? Can they read them? Do they understand which pages matter? Use the checks below as your benchmark when an agency sends you a sample report.

Crawl budget and crawl errors

Crawl budget is the number of URLs Googlebot is willing to fetch from your site in a given period. On a 20-page brochure site it rarely matters. On a store with 3,000 products and filter combinations generating 300,000 URLs, it decides whether your new products get found this week or next quarter.

A proper audit reads your server logs or the Crawl Stats report in Google Search Console. It finds where the crawler is wasting time on redirect chains, 404s, parameter URLs and soft errors, then tells you which of those to block, fix or consolidate.

Indexation and canonical tags

Being crawled is not the same as being indexed. The audit should compare the pages you want in Google against the pages actually there, using the Page indexing report. Look for "Crawled, currently not indexed" and "Duplicate, Google chose different canonical than user". Those two lines often explain why a good page never ranks.

Canonical tags tell Google which version of a page is the original. They're frequently wrong after a redesign: pointing to staging domains, to the homepage, or to themselves on every filtered URL.

Site architecture and internal linking

Pages buried five clicks deep, or linked from nowhere, get crawled less and rank worse. The audit should map click depth, find orphan pages and check that your highest-margin pages receive the most internal links. If your best product sits only in a dropdown menu, that's a finding.

Can Google actually render your JavaScript pages?

This is the section most audits skip, and it's the one that matters most for modern sites built in React, Vue or a headless storefront.

Why client-side rendering can hide content from crawlers

With client-side rendering, the server sends a near-empty HTML shell and JavaScript builds the page in the browser. Google does render JavaScript, but it queues rendering separately from crawling, and scripts that time out, fail or wait for user interaction leave the crawler with the shell. Many AI crawlers don't execute JavaScript at all. To them, your product page is a <div id="root"></div> and nothing else.

An agency that only checks the raw HTML will either miss this entirely or flag the wrong problems. Your technical SEO agency should be testing the rendered page, not the source.

How to test rendering yourself in five minutes

  1. Open Google Search Console, paste a key URL into URL Inspection and click "Test live URL".
  2. Choose "View tested page" and check the screenshot and the rendered HTML. Is your headline there? Your price? Your product description?
  3. In Chrome, open the same page, go to Developer Tools, disable JavaScript and reload.
  4. Right-click and choose "View page source", then search for a sentence from your body copy.
  5. If the text appears in steps 2 and 3 but not in 4, Google can probably see it while simpler crawlers can't. If it's missing from step 2, you have a ranking problem today.

What a headless or Next.js build changes

Frameworks like Next.js let you render pages on the server, or pre-build them as static HTML, so every crawler receives finished content on the first request. JavaScript then adds interactivity on top. That's why we build in Next.js and Shopify Hydrogen rather than pure client-side apps. Headless simply means the front end you see is separate software from the back end that stores products and orders.

Server rendering is not automatic SEO, though. You still have to set metadata, canonicals and status codes correctly per route. When we do bespoke website design and development in Next.js, those decisions are made in the code from the first commit, not patched on afterwards.

What Core Web Vitals actually measure

Core Web Vitals are Google's three measurements of how a page feels to a real visitor. They're measured from field data, and to pass, 75% of visits need to hit the "good" threshold.

LCP, INP and CLS explained in one line each

  • LCP (Largest Contentful Paint): how long until the biggest thing on screen, usually the hero image or headline, appears.
  • INP (Interaction to Next Paint): how long the page takes to respond visibly when someone taps, clicks or types. It replaced First Input Delay in March 2024.
  • CLS (Cumulative Layout Shift): how much the layout jumps around while loading, the reason people tap the wrong button.
MetricWhat it measuresGoodNeeds improvementPoorCommon culprit
LCPLoading of main content2.5 s or less2.5 to 4 sOver 4 sOversized hero images and video, slow servers
INPResponsiveness to input200 ms or less200 to 500 msOver 500 msHeavy third-party scripts, chat widgets, tag managers
CLSVisual stability0.1 or less0.1 to 0.25Over 0.25Images without dimensions, late-loading banners and fonts

Why a 2.5 second load time matters for ads, not just SEO

Core Web Vitals are a ranking factor, but a modest one. Relevance still wins. The bigger cost is commercial. Landing page experience feeds into Google Ads Quality Score, and every visitor who leaves before the page appears is a click you paid for and lost. If you're spending on ads, a landing page that shows its main content within roughly 2.5 seconds on a mid-range phone is the baseline, not a nice-to-have.

Speed alone doesn't convert, either. A fast page with a muddled offer is just a fast way to lose people. Fix both.

Mobile versus desktop: where most sites fail

Most sites pass on desktop and fail on mobile, because the phone has a slower processor and a worse connection, and Google indexes the mobile version first. The usual offenders are full-resolution hero images, autoplaying background video and a stack of marketing scripts. On Oleum Crete's headless storefront, the stock Shopify template was replaced with a custom build on Shopify Hydrogen, and the technical SEO was rebuilt as part of that same project rather than handed to someone else afterwards.

Is structured data worth the effort?

For e-commerce and service businesses, yes. It's one of the few technical fixes that directly changes how your listing looks.

Product, review and FAQ schema explained

Structured data is a block of code, usually JSON-LD, that states facts about a page in a format machines can read without guessing. For a store, the important types are:

  • Product: name, image, brand, SKU and description.
  • Offer: price, currency, availability and shipping.
  • AggregateRating and Review: star ratings and review counts, which must reflect reviews visible on the page.
  • FAQPage: questions and answers. Since 2023 Google shows FAQ rich results mainly for authoritative government and health sites, so for most brands this helps machine understanding rather than producing visible snippets.

How structured data affects AI assistants and rich results

Rich results are the enhanced listings with price, stock status and stars. They take more space on the results page and pre-qualify the click. AI assistants and AI search features work from the same principle: a clearly stated price, availability and rating is easier to extract and quote accurately than a figure buried in a carousel. That's especially true for crawlers that only read the HTML, so put the markup in the server-rendered page, not in a script that runs after load.

Validating schema instead of just adding it

Plenty of sites have schema that's broken, contradictory or describes things not on the page. Shopify themes and apps often output duplicate Product blocks, one from the theme and one from a review app, with different prices. Run key templates through Google's Rich Results Test and the Schema Markup Validator, then check the Enhancements reports in Search Console for errors across the whole site. Marking up reviews you don't display is a policy breach, not a shortcut.

Technical SEO for ecommerce: what's different

SEO for ecommerce is mostly a problem of scale. One template mistake gets multiplied across every product, collection and filter.

Faceted navigation and duplicate URLs

Filters for size, colour, price and sort order create a new URL for every combination. Left alone, they flood the index with near-identical pages and burn crawl budget. The fix is a deliberate rule set. Let a few high-demand combinations be indexable landing pages (say, "red leather boots"). Canonicalise or noindex the rest. Stop the crawler from following infinite sort and price parameters.

On Shopify, also check that products linked from collections use the clean /products/handle URL and not /collections/name/products/handle, which creates a duplicate for every collection a product sits in.

Product variants, out-of-stock pages and canonicals

Variants (sizes, colours, volumes) usually belong on one canonical product URL, with the ?variant= parameter pointing back to it. Give a variant its own page only when people search for it specifically.

Temporarily out-of-stock products should stay live, return a 200 status and set availability to OutOfStock in the schema. Deleting them throws away rankings you'll want back next month. Discontinued products should 301 redirect to the closest replacement, or return a 410 if there's none.

Migrating a store without losing rankings

Platform and domain migrations are where most stores lose traffic. The minimum:

  1. Crawl the old site and export every URL that has traffic, rankings or backlinks.
  2. Build a one-to-one redirect map to the new URLs. Never send everything to the homepage.
  3. Carry over titles, meta descriptions, structured data and internal links.
  4. Test the redirects on staging, then launch and crawl again within hours.
  5. For a domain change, use the Change of Address tool in Search Console and submit the new sitemap.

Oleum Crete went through the hardest version of this: a new headless storefront and a domain cutover at the same time, with checkout left in Shopify and the technical SEO rebuilt rather than carried over as-is. That ordering, redirects and metadata decided before launch, not patched afterwards, is the difference between a migration that holds its rankings and one that doesn't.

Questions to ask before you hire a technical SEO agency

You'll hear the same pitch from most agencies. These questions separate them.

  • "Show me a rendering test from a past audit." If they can't, they're auditing HTML they assume Google sees.
  • "Do you read server logs or only crawler exports?"
  • "What would you prioritise first on my site, and why?" A good answer ranks fixes by revenue impact, not by count of warnings.
  • "Who writes the code?" Find out whether it's the auditor, a subcontractor or your team.
  • "How will we know it worked?" Expect indexed pages, organic revenue and conversion rate, not a ranking report for terms nobody buys from.

What will you actually fix, not just report

The classic complaint we hear is: "The SEO agency sent a 60-page PDF and our developer didn't know where to start." That's the handover gap. Ask whether the agency can ship fixes into your codebase or platform, and whether it will check the result after release.

If you have a strong in-house dev team that ships weekly, a report-only audit can be the right buy, and we'd tell you so. If you don't, you're paying for a diagnosis without the treatment.

How pricing and reporting should work

Avoid open-ended hourly billing for audits and fixes. You should get a defined scope and a fixed price agreed before work starts. That's how we work: fixed scope and fixed price in writing after a free 30-minute call, with projects from $2,000. Ongoing work should run month to month, so you can stop it. Marketing fees should never be a percentage of ad spend, and ad and analytics accounts should be opened in your name, not the agency's.

Frequently asked questions

How much does a technical SEO audit cost?

It depends on the size of the site and whether fixes are included, so prices across the market vary widely. Compare what's in scope: rendering tests, log analysis and implementation cost more than a crawler export, and are worth more. At Meant, work is quoted as a fixed price after a free call, with projects starting from $2,000.

How long does a technical SEO audit take?

A small marketing site can be audited in days. A large store with thousands of products, filters and a migration history takes longer, because log files and indexation data need weeks of data to read properly. Implementing the fixes usually takes longer than the audit itself.

Do I need technical SEO if I already use an SEO content agency?

Probably. Content agencies write pages; technical SEO makes sure those pages can be crawled, rendered and indexed. If good articles sit under "Crawled, currently not indexed" in Search Console, more content won't solve it.

What's the difference between technical SEO and on-page SEO?

On-page SEO covers what's on the page: copy, headings, titles and keywords. Technical SEO covers the infrastructure that delivers it: crawling, rendering, speed, canonicals, redirects and structured data. You need both, but technical problems can cancel out good on-page work.

Can a bad Core Web Vitals score get a page removed from Google rankings?

No. Poor Core Web Vitals are not a penalty and won't remove a page from the index. They're one signal among many, and relevance matters more. The real cost is lost conversions and weaker ad performance from visitors who leave before the page loads.

Should I fix technical SEO before or after a website redesign?

Plan it during the redesign, not after. Audit the current site first so you know which URLs and pages carry your traffic, then build redirects, metadata and structured data into the new site before launch. Fixing technical SEO on a finished build means paying for some of the work twice.

If your site has the traffic but not the technical foundation to convert it, book the free 30-minute call and we'll tell you straight what needs fixing.

Questions

Get the next one.

One email when a new case study or guide goes up. No list, no newsletter filler.

No list, no filler. Reply to any entry and we will take you off.

Chat with us