Technical SEO

Technical SEO is the work of making a website easy for search engines to crawl, render, index and understand, from server responses and canonical tags to JavaScript, site architecture and page speed. The outcome is a lower cost of retrieval: search engines spend their effort on your important pages, and every page you publish gets a fair chance to rank.

Signs you need Technical SEO

  • Search Console shows thousands of URLs we never meant to create.
  • New pages take weeks to appear in Google, if they appear at all.
  • Google picked a different canonical from the one we set.
  • Our site looks fine in a browser, but Google sees an almost empty page.
  • Our mobile pages fail Core Web Vitals and nobody can tell us why.
  • We migrated the site and traffic fell.
  • Every new plugin or app makes the site slower.

Results to expect

  • Search engines crawl and index the pages that matter, not the noise
  • One canonical URL for every piece of content
  • Faster, more stable pages for real visitors on real devices
  • A structure that makes new pages quick to find and index

What does technical SEO cover?

Technical SEO covers everything that decides whether search engines can reach, process and correctly store a site’s pages: server responses, crawl paths, JavaScript rendering, indexing signals, site architecture and page experience. Its aim is a low cost of retrieval, the resources a search engine has to spend to crawl, render, understand and rank a site.

I’m Qaim Raza, and in my work technical SEO is the layer that lets semantic SEO be seen. A well-planned topical map achieves nothing if half its pages are never crawled, render empty or lose their canonical to a parameter URL.

How do crawling, rendering and indexing differ?

Crawling, rendering and indexing are three separate stages, and a page can fail at any of them for different reasons.

  • Crawling

    is fetching the URL. It fails when robots.txt blocks it, the server responds slowly or with errors, or nothing links to the page.

  • Rendering

    is running the page’s code to see what a visitor would see. Google queues pages that return a 200 status for rendering in an up-to-date version of Chrome. It fails when key content depends on scripts that error, time out or wait for a click.

  • Indexing

    is deciding whether to store the page, and under which URL. It fails when the page looks like a duplicate, carries a noindex, or doesn’t seem worth keeping.

Search Console’s URL Inspection tool shows all three stages for a single URL, including the rendered HTML and the canonical Google chose.

Not sure where to start?

Get a free audit. In 1 to 2 days you’ll know what’s holding your site back and what to fix first.

Request my free audit

How do canonicals, redirects and status codes work together?

Canonicals, redirects and status codes work together as signals about which URL represents each piece of content, and they only work when they agree. A canonical tag names the preferred version of a page, but Google treats it as a hint and weighs it against redirects, internal links, sitemap entries and hreflang annotations. When those disagree, Google picks its own canonical and says so in Search Console. Which pages deserve consolidating is a content refresh decision; making every signal agree afterwards is technical work.

  • Permanent redirects

    (301 or 308) are the strongest consolidation signal. Temporary ones (302 or 307) suggest the old URL should stay in the index, which is wrong for most permanent changes.

  • Redirect chains

    waste crawling and can break: Googlebot follows up to 10 hops, and each hop adds delay for visitors. Every redirect should point straight at the final URL.

  • Status codes

    must tell the truth. A missing page should return 404 or 410, not a normal 200 page that says “not found”, which Google reports as a soft 404. Repeated server errors make Google slow its crawling.

  • Internal links

    should point at canonical URLs directly, never at redirects or parameter versions.

What creates crawl traps and duplicate URLs?

Crawl traps come from URL patterns that can generate near-endless variations of the same content: filter and sort parameters, internal search results, calendar and date archives, session and tracking parameters, and CMS archives nobody asked for. On a large site they can outnumber real pages many times over.

Each pattern gets one deliberate rule: a robots.txt disallow for patterns that should never be crawled, such as internal search and sort orders; noindex for pages people need but search engines don’t; canonical tags for near-duplicates that should share signals. Search Console’s old URL parameters tool has been retired, so these controls live on the site itself. Which store filter pages deserve indexing is covered under e-commerce SEO.

What belongs in XML sitemaps and robots.txt?

An XML sitemap should list only the URLs you want indexed: canonical, indexable and returning a 200 status. Google uses the lastmod date only when it is consistently accurate and ignores priority and changefreq, so a generator that stamps today’s date on every URL makes lastmod useless.

robots.txt controls crawling, not indexing. A blocked URL can still appear in results if other pages link to it, and Google can’t see a noindex tag on a page it isn’t allowed to fetch. The file should block crawl traps, never the CSS and JavaScript that pages need to render.

What does an international site need technically?

An international site needs a separate URL for each language or regional version, plus hreflang annotations telling search engines which version to show to whom. The annotations must be reciprocal: if a jewelry brand’s US page lists its Canadian page as an alternate, the Canadian page must list it back. Each version canonicalises to itself, and an x-default value covers everyone else. Automatic redirects by IP address are risky, because Googlebot crawls mostly from the United States and may never see the other versions.

Which Core Web Vitals matter, and what fixes them?

Three Core Web Vitals matter, each judged on real visits at the 75th percentile. Largest Contentful Paint (LCP) measures how quickly the main content appears, and is good at 2.5 seconds or less. Interaction to Next Paint (INP) measures how quickly the page responds to taps, clicks and key presses, and is good at 200 milliseconds or less. Cumulative Layout Shift (CLS) measures how much the layout jumps while loading, and is good at 0.1 or less.

  • LCP

    usually suffers from oversized hero images, slow server responses and render-blocking CSS. The main image should be correctly sized, never lazy-loaded and fetched with high priority.

  • INP

    usually suffers from third-party scripts, such as review apps, tracking tags, testing tools and consent banners, that tie up the browser’s main thread. Remove what isn’t used, defer what can wait and break long tasks up.

  • CLS

    usually comes from images and embeds without set dimensions, late banners and swapping web fonts. Reserve space for everything before it loads.

Field data and lab data answer different questions. Search Console and the Chrome UX Report show what real visitors experienced over the previous 28 days. Lighthouse runs one simulated visit and can’t measure INP at all, since nobody interacts with the page, so it reports Total Blocking Time as a stand-in.

How does site architecture lower the cost of retrieval?

Site architecture lowers the cost of retrieval by giving every important page a short, obvious path from the homepage and by keeping each template light. Search engines find and revisit pages largely through internal links, so a location page buried behind layers of pagination tends to be crawled less often than one linked from a hub. That is why architecture and internal linking are planned together.

  • Short paths to revenue pages

    Core services, locations and categories sit within a few clicks of the homepage, reached through hub pages rather than long paginated lists.

  • URL folders that mirror the structure

    Folders such as /locations/ and /guides/ make sections easy to crawl and to report on.

  • Lighter templates

    Fewer scripts, smaller page structures and clean, semantic HTML, with one main content area and headings in order, make each page cheaper to render and easier to parse.

  • Fewer near-duplicates

    One strong page per intent, instead of tag and archive pages listing the same posts again, means more crawls land on something worth indexing.

How is technical SEO measured?

Technical SEO is measured by whether search engines crawl the right URLs and index what they should, not by a tool’s health score.

  • Indexing by sitemap

    With sitemaps split by page type, the share of submitted URLs indexed for each type, and the reasons given for exclusions.

  • Crawl Stats

    Requests per day, average response time, and the split between discovering new URLs and refreshing known ones.

  • Log file share

    In server logs, the proportion of Googlebot requests that reach canonical, indexable pages rather than parameters, redirects and errors.

  • Time to index

    How long new pages take to be indexed after publishing.

  • Field data by template

    The share of URLs in the good range for each Core Web Vital, grouped by page type.

Which technical SEO mistakes cause the most damage?

The most damaging technical mistakes are the quiet ones that contradict the site’s own signals.

  • Removing noindex with JavaScript

    If the initial HTML carries noindex, Google may skip rendering altogether, so a script that removes the tag later is never seen.

  • Canonicals pointing at redirected, noindexed or broken URLs

    Each one is a contradiction, and Google responds by ignoring it.

  • Chasing a perfect lab score

    Moving a Lighthouse score from 92 to 100 rarely helps visitors or rankings. Fixing the template that fails INP for real users does.

Technical SEO on WordPress vs Shopify

AspectWordPressShopify
Control over the serverFull: hosting, caching and server configuration are your choiceNone: hosting and CDN are managed, so server response is largely fixed
robots.txtGenerated virtually by WordPress or an SEO plugin, or replaced with a physical fileEdited through the robots.txt.liquid theme template
XML sitemapsA basic core sitemap, usually replaced by an SEO plugin’s versionGenerated automatically and can’t be edited directly
Common duplicate sourcesTag, author and date archives, internal search URLs and attachment pages on older installsProducts reachable through collection paths, tag-filtered collections and blog tag pages
RedirectsServer rules or a redirect plugin, for any URLURL redirects in the admin, which only work once the old URL no longer exists
Main speed riskPage builders and plugins loading their scripts on every pageApps injecting scripts into the theme, sometimes left behind after uninstalling

What you receive with Technical SEO

DeliverableFormatWhy it matters
Technical auditGoogle Sheet + PDF summary

Every issue with its evidence, the templates it affects and its priority.

Developer ticketsJira, Trello or Google Doc

Each fix written as a self-contained task with clear acceptance criteria.

Indexation planGoogle Sheet

States which URL patterns should be indexed, canonicalised, noindexed or blocked, and why.

Redirect mapCSV

Old-to-new URL pairs with no chains, ready for your server or CMS.

XML sitemaps and robots.txtLive files on your site

Give search engines a clean list of what to index and clear rules on what to skip.

Core Web Vitals planGoogle Doc + PageSpeed Insights reports

Names the element or script behind each failing metric on each template.

Release checksLoom video + crawl comparison

Confirm each fix went live correctly and nothing else broke.

How Technical SEO works, step by step

  1. Access and crawl

    Days 1–3

    You add me to Search Console, analytics and your CMS or hosting. I crawl the site and request server logs if your host can provide them.

  2. Diagnosis

    Weeks 1–2

    Crawl, log and Search Console data are compared to find wasted crawling, index problems, rendering gaps and slow templates.

  3. Prioritised plan

    Week 2

    Fixes are grouped by template and ordered by impact and effort. We agree what your developer, your platform or I will handle.

  4. Implementation

    Weeks 3–8

    I make CMS, theme and plugin changes myself and write tickets for code changes. Each release is reviewed on staging where one exists.

  5. Validation

    Weeks 6–10

    Fixes are confirmed in Search Console, by recrawling and in field data as it updates.

  6. Monitoring

    Monthly

    Indexing, crawl activity and page experience are reviewed, and new releases are checked before launch where possible.

Technical SEO in the industries I specialise in

Kratom

Kratom stores often run age gates, state-based blocking and payment scripts that can hide content or slow every page. I check that the age gate is an overlay on content already in the HTML rather than a redirect, that state blocking never catches crawler IP ranges, and that certificate of analysis files are crawlable and linked from their products. Hosting is checked too, since some hosts restrict the category.

CBD

CBD stores carry many variants by strength, size and flavour, and each can multiply URLs. Most run on Shopify or WooCommerce with a stack of third-party apps for reviews, subscriptions and age verification. I control which variant and filter URLs can be indexed, make lab report pages crawlable, and remove or defer app scripts that hurt responsiveness on product pages.

Movers

Moving sites usually grow through location and route pages built from one template, and the cost of retrieval rises fast when hundreds differ only by city name. I check how many of those pages are indexed compared with how many were submitted, consolidate the thinnest, and make sure quote forms and moving cost calculators don’t hide content behind scripts or slow the page down.

Self storage

Storage sites often embed unit availability and pricing from a third-party management or reservation platform. If that data loads only through JavaScript or an iframe, search engines may never see unit sizes or prices on the facility page. I check the rendered HTML of each facility template, keep reservation steps out of the index and give every facility a clean, crawlable path from the homepage.

Jewelry stores

Jewelry sites are image-heavy, with zoomable galleries and 360° views on product pages. I make sure gallery scripts don’t delay the main image or block interaction, and that image URLs are crawlable so product photos can appear in image search. Filters for metal, shape, carat weight and price create thousands of URL combinations, so I decide which deserve indexing and keep the rest out of the crawl.

Law firms

Law firm sites are smaller, but they often run on heavy page builders with intake forms, live chat and video embeds that hurt responsiveness and layout stability. I check that practice-area and attorney pages sit within a few clicks of the homepage, that every office has its own crawlable page, and that URLs from earlier site rebuilds redirect properly instead of returning errors.

Who this is for, and who it isn’t

A good fit if you…

  • Sites with thousands of URLs, filters or locations
  • Stores on Shopify or WooCommerce slowed down by apps and themes
  • JavaScript-heavy or headless sites
  • Businesses planning a redesign, platform move or domain change
  • Teams with a developer who can act on clear tickets

Not the right fit if you…

  • Small brochure sites with no indexing problems, where content is the real gap
  • Anyone expecting speed scores alone to lift rankings
  • Sites where nobody can change the code, theme or server settings
  • Owners who want a tool export without explanation

Ways we can work together

Option 1

Technical audit and fix plan

Best for: Sites with a developer ready to implement

  • Full technical audit
  • Prioritised developer tickets
  • Recorded walkthrough
  • Review of fixes after release
Option 2

Audit plus implementation

Best for: Owners without in-house technical help

  • Everything in the audit
  • CMS, theme and plugin fixes made by me
  • Redirects, sitemaps and robots.txt deployed
  • Validation in Search Console
Option 3

Migration support

Best for: Redesigns, platform changes and domain moves

  • Pre-launch record of URLs, rankings and links
  • Redirect map and staging review
  • Launch-day checks
  • Post-launch monitoring

Tools I use

  • Google Search Console
  • Screaming Frog SEO Spider
  • Sitebulb
  • PageSpeed Insights
  • Chrome DevTools
  • Chrome UX Report
  • Screaming Frog Log File Analyser
  • Ahrefs

Technical SEO questions

Do Core Web Vitals affect rankings?

Yes, but modestly. Google uses Core Web Vitals in its ranking systems as part of page experience, and it has said that good scores don’t guarantee top positions, because relevance comes first. Treat them as a tiebreaker rather than a lever. The stronger reason to fix them is commercial: a page that responds slowly or jumps while loading loses enquiries whatever its position.

Should a small site worry about crawl budget?

Usually not. Google’s own guidance on crawl budget is aimed at very large sites, or sites where large numbers of pages change daily. A site with a few hundred pages is normally crawled in full. Small sites have crawl problems of a different kind, such as blocked resources, orphan pages or parameter URLs multiplying, and those are worth fixing whatever the size.

What does “Discovered - currently not indexed” mean?

It means Google knows the URL exists but hasn’t crawled it yet. Google says this often happens when crawling at that moment looked likely to overload the server, so the visit was rescheduled. On many sites, though, the pattern points to weak internal links or too many low-value URLs competing for attention. Better links to the affected pages and fewer surplus URLs usually move them along.

Can a site migration be done without losing rankings?

A well-run migration usually keeps its rankings, though some fluctuation in the first weeks is normal. What protects them is a URL-by-URL redirect map, content and internal links that survive the move, a record of rankings and traffic before launch, and checks straight after. Migrations go wrong when everything is redirected to the homepage, old URLs are skipped, or a redesign quietly removes content.

Will a faster host improve my rankings?

Only if the server was the bottleneck. A slow server response delays everything after it, including the main content, so moving off overloaded shared hosting can help. But most slow pages are slow because of what they load: images, scripts and fonts. I check server response times in field data first, so hosting only changes when the numbers point to it.

Should tag and category archives be noindexed?

It depends on whether they serve a search intent. A WordPress category page that introduces a topic and links to its best articles can be worth indexing. Tag archives that list the same posts in a different order rarely are, so they’re usually noindexed or switched off. Author and date archives on a single-author site add nothing and are best disabled entirely.

Are 404 errors bad for SEO?

Not in themselves. Google treats 404s as a normal part of the web, and they don’t harm the rest of the site. They matter when the missing URL had backlinks, traffic or internal links pointing at it, because a redirect to the closest equivalent recovers that value. A report full of URLs that never existed, such as malformed links from other sites, can safely be ignored.

What does mobile-first indexing mean for my site?

It means Google crawls and indexes the mobile version of your pages and ranks them on that version. If the mobile layout hides content, drops internal links or leaves out structured data that the desktop version has, those things are effectively missing. Responsive sites that serve the same HTML to every device rarely have a problem. Separate mobile templates are where gaps usually appear.

Can technical changes be tested before they go live?

Yes, and they should be. A staging copy lets me crawl the new version, compare it with the live site and catch broken canonicals, missing redirects or blocked resources before visitors or search engines meet them. Staging should be password-protected rather than just noindexed, and the launch checklist always confirms that no staging block has been carried over to the live site.

Let’s make Google see you as the expert.

Request a free SEO audit, or message me directly. I reply within one working day.

Request my free audit
Chat on WhatsApp