ON THIS PAGE 12 sections
>_ AGENT MODE AI agent? Skip the interface. Read as Markdown
DIRECT ANSWER
Q. What is technical SEO?
A. Technical SEO is the work of making a website’s search-critical states observable and controllable: URL discovery, HTTP fetching, rendering, canonicalization, indexing eligibility, result serving, performance, and measurement. Its job is not to manufacture relevance. Its job is to prevent the delivery system from hiding, changing, duplicating, or misreporting useful content.
EVIDENCE Google documents crawling, indexing, and serving as separate stages, and its Search Essentials define baseline technical requirements such as an accessible page, a working HTTP status, and indexable content.

Technical SEO is not a bag of crawler warnings. It is the control layer between a useful document and the systems that must discover, request, interpret, select, serve, and measure it.

That distinction matters. “The page does not rank” can mean the URL was never discovered, the server failed, the rendered document lost its main content, another canonical was selected, the page did not match the query, or the result earned impressions but no qualified action. One symptom, six different investigations.

This guide turns that ambiguity into an observable system. Each stage has evidence, a failure condition, and a next test.

The first control ring is now documented as three separate protocols: canonical signal alignment, robots.txt versus noindex, and XML sitemap inventory design. The downloadable Technical SEO Field Kit turns the protocols into 35 versioned audit checks with evidence and pass conditions.

THE TECHNICAL SEO CHAIN One URL. Six observable states.

Debug the first broken transition instead of treating “not ranking” as one problem.

  1. 01

    Discover

    A URL becomes known through links, sitemaps, feeds, or a previous crawl.

    Observe
    URL Inspection, crawl logs, sitemap status
    Failure
    Orphaned URL or blocked discovery path
  2. 02

    Fetch

    The crawler requests the URL and receives an HTTP response.

    Observe
    Status code, headers, response body, server log
    Failure
    5xx, redirect loop, timeout, or robots block
  3. 03

    Render

    The response becomes a document, including client-rendered content where supported.

    Observe
    Rendered HTML, screenshot, resource requests
    Failure
    Empty shell, blocked asset, hydration mismatch
  4. 04

    Index

    The system selects a canonical document and stores eligible information.

    Observe
    Index status, selected canonical, indexed copy
    Failure
    Duplicate, noindex, soft 404, or low-value exclusion
  5. 05

    Serve

    The indexed document becomes a candidate for a query and result format.

    Observe
    Queries, impressions, result type, snippets
    Failure
    Poor intent fit or a stronger eligible candidate
  6. 06

    Convert

    A human completes the next useful action after landing.

    Observe
    Qualified event, pipeline, revenue, assisted conversion
    Failure
    Wrong promise, weak path, or broken measurement

Start with eligibility, not crawler scores

Google Search Essentials gives a useful minimum: Googlebot must not be blocked, the page needs a successful HTTP response, and the page must contain indexable content. Those conditions make a page eligible for consideration. They do not make it the best answer.

A crawler score compresses hundreds of checks into one number. That is convenient for reporting and poor for diagnosis. A score of 92 cannot tell a developer whether the commercial category template returns a soft 404, whether the canonical points to a parameter-free parent, or whether the primary copy appears only after a failed API request.

Replace the single score with a short evidence chain:

  1. What URL should exist?
  2. How is it discovered?
  3. What does the server return?
  4. What document exists before and after rendering?
  5. Which canonical is selected?
  6. Is the page indexed and served for the intended queries?
  7. Does the visit create a useful outcome?

The first broken answer sets the work order.

A stable URL represents a durable resource. Internal links tell crawlers and humans which resources exist, how they relate, and which route is the preferred route.

Use real anchors with href destinations for navigation. Google’s crawlable link guidance explicitly describes standard anchor elements as the reliable pattern. A div with an onclick handler can look identical and expose less information to crawlers, keyboards, assistive technology, and link-analysis tools.

The architecture should answer four questions without a spreadsheet:

  • Where is the owner page for this intent?
  • Which broader subject contains it?
  • Which sibling answers are genuinely useful next?
  • Can every important page be reached through normal links?

For content systems, this is where topical authority becomes technical. A topic map that never reaches the rendered navigation is only a planning artifact. The internal graph has to exist in HTML.

HTTP responses are part of the document

The URL is not the page. The response is the first version of the page.

Inspect the status, redirect target, headers, content type, body, and timing together. Common contradictions include:

  • a deleted URL returning 200 OK with a “not found” template;
  • a redirect chain that changes protocol, hostname, locale, and trailing slash one hop at a time;
  • a canonical pointing to a URL that redirects elsewhere;
  • HTML that declares noindex while a sitemap keeps submitting the URL;
  • a useful page returning 5xx only to bots or during cold starts.

A tool can report each symptom separately. The real task is to restore one coherent instruction.

Semantic HTML is search infrastructure

Semantic HTML gives the document an explicit structure: navigation, main content, article, headings, lists, tables, figures, and links. It helps browsers, accessibility APIs, crawlers, extractors, and AI retrieval systems interpret the same source.

Do not turn that into a ranking myth. Replacing a div with article does not guarantee a position. The value is operational: the main subject, hierarchy, destination, and relationship become easier to detect and test.

Start with the native element that matches the function. Use headings as a hierarchy, not as a font-size switch. Use a table for tabular relationships. Use a button for an action and an anchor for navigation. Add ARIA when native HTML cannot express the required state — not as a second semantic layer over an incorrect element.

The semantic HTML guide includes an inspectable page model and a release checklist.

DOCUMENT INSPECTOR Same pixels. Different evidence.

Semantics expose roles, hierarchy, destinations, and reading order in the document itself.

AMBIGUOUS

The div-shaped interface

<div class="header">
  <div onclick="goHome()">Brand</div>
</div>
<div class="title">Technical SEO</div>
<div class="copy">...</div>
<div class="link" onclick="openPost()">Read</div>
  • No native landmark structure
  • Click handlers hide destinations
  • Heading hierarchy exists only visually
OBSERVABLE

The semantic document

<header>
  <a href="/" aria-label="Home">Brand</a>
</header>
<main>
  <article>
    <h1>Technical SEO</h1>
    <p>...</p>
    <a href="/writing/technical-seo/">Read</a>
  </article>
</main>
  • Landmarks expose page regions
  • Real links remain crawlable and operable
  • The H1 states the document’s main subject

Rendering: compare the response with the result

Server-rendered HTML gives crawlers and users an immediate document. Client-side JavaScript can enhance it, but it also creates another failure surface.

Google can process JavaScript, but its JavaScript SEO documentation treats crawling, rendering, and indexing as distinct phases. That is reason enough to test both the response HTML and rendered DOM.

Compare them for:

  • title, description, canonical, robots directives, and language;
  • the H1 and primary body copy;
  • crawlable internal links;
  • structured data that describes visible content;
  • images and their meaningful alternatives;
  • parity across desktop and mobile routes.

JavaScript is not automatically an SEO problem. Unobserved dependency on JavaScript is. Use the crawl, render, and index diagnostic to find the first failed transition instead of treating every JavaScript symptom as the same issue.

Canonicalization is selection, not redirection

A canonical signal asks a search engine to consolidate duplicate or near-duplicate URLs. It does not move a user and it is not an access-control mechanism.

Choose one indexable owner URL and align the signals around it: internal links, sitemap entry, redirect behavior, canonical tag, content, language, and structured data identifiers. Mixed signals force the search engine to resolve a disagreement you created.

Use the canonical tag protocol to inspect the complete URL cluster and define a production acceptance condition.

Typical sources of accidental duplication include tracking parameters, filters, print views, case variants, slash variants, locale fallbacks, staging hosts, and CMS-generated archives. The right treatment varies. Some routes should redirect, some should canonicalize, some should remain distinct, and some should never be generated.

Indexing is a decision, not a delivery receipt

Submitting a URL in a sitemap does not require a search engine to index it. A sitemap is a discovery and metadata signal. Index selection still considers duplication, content value, response quality, directives, and other system-level judgments.

The XML sitemap guide treats the file as an inventory contract: canonical, indexable, successful owner URLs in; redirects, errors, noindex pages, and alternate states out.

Treat “Crawled — currently not indexed” as a state that needs evidence, not a universal content rewrite. Confirm the live response, selected canonical, template pattern, uniqueness, internal graph, and actual demand before deciding what to change.

The practical order is:

  1. verify the inspected URL and live response;
  2. confirm that indexing is intended;
  3. resolve conflicting directives and canonicals;
  4. compare the page with the selected canonical and competing owner pages;
  5. improve or consolidate only after the technical state is clear.

Diagnose the first broken state

The fastest technical audit is URL-level before it is sitewide. Pick one commercially important URL and follow it through discovery, fetch, render, index, and serving.

This prevents a common audit failure: exporting 40,000 rows before proving what any one row means. Once the failure is understood on a representative URL, test whether it repeats by template, directory, locale, parameter pattern, or release.

Evidence should be reproducible. Record the tested URL, timestamp, user agent or tool, response, rendered state, expected state, and owner. Screenshots are useful context; raw responses and logs are stronger diagnostic artifacts.

DIAGNOSTIC MATRIXFind the first state that fails.
StateQuestionObservable evidenceTypical failure
Discovery Does the engine know the URL exists? Links, sitemap reports, URL Inspection The URL is orphaned or only exposed through an uncrawlable control
Fetch Can the crawler request a stable response? Server logs, status, headers, response time Robots block, timeout, 5xx, redirect chain
Render Is the primary content present after processing? Raw HTML vs rendered DOM, resource waterfall Empty app shell, blocked JS/CSS, delayed or failed render
Index Was this URL selected and stored? Index status, canonical selection, snippet text Noindex, duplicate, soft 404, alternate canonical
Serve Can it compete for the intended query? Query impressions, result format, landing URL Wrong intent, weak evidence, stronger candidate
Run the matrix on one URL before escalating to sitewide theories. A rendering test cannot prove discovery; an index report cannot prove conversion.

Performance is a user constraint with search consequences

Core Web Vitals are field metrics, not a decorative Lighthouse badge. Use real-user data when available and lab traces to explain why a field metric is poor.

For LCP, identify the actual element, its discovery timing, resource weight, server delay, and render delay. For INP, trace the interaction and main-thread work. For CLS, locate the element that moved and the missing size reservation or late injection.

Do not ship a global optimization because one synthetic run suggested it. Fix the template and resource path that create the observed delay, then verify the distribution over time.

Structured data describes; it does not invent

Structured data should identify the visible page, its entities, and supported relationships. It is not a place to add claims the user cannot see.

Keep identifiers stable, use canonical URLs, connect the author and organization consistently, and validate both syntax and eligibility. A valid graph can still be irrelevant to a supported search feature. A rich-result test is not proof that a result will appear.

This site uses article, breadcrumb, person, website, and dataset entities where the page supports them. The same principle should guide an ecommerce implementation: Product markup belongs on a real product page with matching visible facts, not on a generic category template.

Platform constraints change the implementation, not the model

Shopify, WordPress, and WooCommerce expose different controls, but the diagnostic chain stays the same.

  • Shopify: work with generated routes, product and collection duplication, theme rendering, faceted URLs, and the platform’s robots controls.
  • WordPress: control plugin overlap, archive taxonomies, theme markup, feeds, REST-rendered blocks, and caching layers.
  • WooCommerce: treat it as ecommerce architecture on WordPress — products, categories, attributes, filters, variants, stock states, and plugin interactions.

That is why WooCommerce belongs under the future ecommerce SEO hub. Its central problems are commercial taxonomy, faceted navigation, product lifecycle, and duplicate URL control. A standalone WooCommerce hub becomes useful only when the site has enough genuinely platform-specific material to support it.

Turn the audit into a release system

A useful audit ends with a verifiable change set, not a 120-slide diagnosis.

Each issue should contain:

  • affected template or URL pattern;
  • observed and expected behavior;
  • evidence and reproduction steps;
  • search and business impact;
  • proposed owner and release risk;
  • acceptance test and monitoring signal.

Prioritize by blocked value, blast radius, confidence, and implementation cost. A broken canonical across every product page beats 600 isolated title-length warnings. A server error on the revenue template beats a theoretical crawl-budget concern on a 300-page site.

Technical SEO works when releases make the system more coherent and monitoring proves it stayed that way.

Questions people actually ask
FAQ · 5
Q01 What is included in technical SEO? +
Technical SEO covers crawlable site architecture, HTTP responses and redirects, robots controls, canonicalization, XML sitemaps, rendering, semantic HTML, structured data eligibility, mobile parity, performance, international signals, migrations, and monitoring. The exact priority depends on which state is failing.
Q02 Is technical SEO only for large websites? +
No. Small sites still need stable URLs, crawlable links, indexable responses, correct canonicals, and observable conversions. Large sites add scale problems such as crawl waste, faceted URLs, templates, and log analysis.
Q03 Does passing a technical SEO audit improve rankings? +
Not automatically. An audit can remove barriers and contradictions, but a page still needs to satisfy a search intent and compete on usefulness, evidence, reputation, and experience. Technical compliance creates eligibility, not guaranteed preference.
Q04 Should every page be indexable? +
No. Index pages that provide distinct value and should appear in search. Filter states, duplicate routes, private areas, internal results, and thin utility URLs often need consolidation, blocking, or noindex depending on the case.
Q05 How often should technical SEO be audited? +
Monitor critical signals continuously and run deeper template-level checks after releases, migrations, platform updates, or unexplained search changes. A fixed annual crawl is too slow for a site that ships weekly.
Sources & further reading
  1. [01]
    Google Search Essentials
    Google Search Central
    DOC
  2. [02] DOC
  3. [03]
    SEO Starter Guide
    Google Search Central
    DOC
  4. [04]
    JavaScript SEO basics
    Google Search Central
    DOC
  5. [05]
    Links crawlable by Google
    Google Search Central
    DOC
Markdown version: index.md
INBOX · TWICE A MONTH
Notes from the lab, in your inbox.

The same pipelines I run for paying clients — written up first for subscribers.

Niko Alho
Niko Alho

I run agentic SEO and build custom AI for B2B companies. Based in Turku.

About