Most businesses that “do SEO” never touch technical SEO. They write blog posts, chase a few backlinks, tweak a title tag, and then wonder why nothing moves. Meanwhile the actual problem is that a third of their pages are not in Google’s index at all, their category pages are competing with each other, and their largest template loads its main content 4.2 seconds after the browser starts painting.
Technical SEO is the layer underneath everything else. It decides whether Google can find your pages, whether it chooses to keep them, and whether the experience is good enough to justify ranking them. You can have the best content in your industry and still be invisible if this layer is broken — and, uncomfortably, the reverse is also true: fixing technical debt on a site with mediocre content often produces faster gains than another six blog posts would.
This guide walks through the whole discipline in the order Google actually experiences your site: discovery, crawling, indexing, rendering, ranking signals, and the newer layer of making your pages machine-readable for AI answer engines. At the end there is a prioritised checklist you can work through in an afternoon.
What Technical SEO Actually Covers (and What It Doesn’t)
Technical SEO is everything that affects a search engine’s ability to access, understand and serve your pages — as distinct from what those pages say. A rough dividing line:
- Technical SEO: crawlability, indexability, site architecture, internal linking structure, page speed and Core Web Vitals, mobile rendering, HTTPS, redirects, canonicalisation, structured data, XML sitemaps, JavaScript rendering, log-level crawl behaviour, international targeting.
- On-page SEO: title tags, headings, body copy, keyword targeting, internal link anchor text, image alt text.
- Off-page SEO: backlinks, brand mentions, citations, reviews, third-party authority.
These overlap at the edges — internal linking is both technical and on-page, structured data is both technical and content — and that is fine. The reason to keep the categories separate is diagnostic: when rankings are flat, you want to know which of the three is actually the constraint before you spend three months on the wrong one.
A blunt rule of thumb we use when auditing: if a page is not indexed, nothing else matters. If it is indexed but ranks position 60+ for its own exact-match title, the constraint is almost always authority, not technical. If it ranks 8-20 and will not break the top five, the constraint is usually content depth or intent match. Diagnose in that order.
Step 1: Crawling — Can Google Reach Your Pages?
Before Google can rank a page it has to fetch it. Crawling problems are the least glamorous and most expensive category of SEO bug, because they silently remove pages from consideration without any error appearing anywhere a business owner would look.
robots.txt: the file that can quietly delete your traffic
Your robots.txt sits at the root of the domain and tells crawlers where they may and may not go. It is four lines of text that can, if written carelessly, block your entire site. Things worth checking:
- Fetch
yourdomain.com/robots.txtin a browser and read it. A strayDisallow: /left over from a staging environment is one of the most common catastrophic SEO bugs in existence. - Make sure you are not blocking CSS or JavaScript directories. Google renders pages like a browser; if it cannot load your stylesheet it may judge your mobile layout as broken.
- Blocking a URL in robots.txt does not remove it from the index — it only stops crawling. If a blocked URL has inbound links it can still appear in results as a bare URL with no description. To remove a page, allow crawling and use a
noindextag instead. - Declare your XML sitemap location at the bottom of the file.
- If you care about AI search, explicitly allow the AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended) rather than leaving it ambiguous.
Crawl budget: real, but rarely your problem
Crawl budget is the number of URLs a search engine is willing to fetch from your site in a given period. For a 40-page service business it is a non-issue. It starts to matter above roughly 10,000 URLs, or on any site that generates near-infinite URL combinations — faceted eCommerce navigation, calendar pages, search result pages, session parameters.
The symptom is that new or updated pages take weeks to be picked up while the crawler burns its allowance on junk. The fixes are structural: block parameter-generated URL patterns in robots.txt, avoid linking to filtered combinations, return proper 404s instead of soft 200s, and remove long redirect chains that waste a fetch each hop.
Internal linking and orphan pages
Google discovers most pages by following links from pages it already knows. A page linked from nowhere — an “orphan” — may sit in your sitemap and still be treated as low priority, because nothing on the site vouches for it.
Every important page should be reachable within three clicks of the homepage, and should receive contextual links from related content, not just from a footer list. Footer links are cheap and Google knows it. A relevant in-body link from a related article carries far more weight for both discovery and ranking.
Practical audit: crawl your own site with Screaming Frog (free up to 500 URLs), export the list of URLs with zero inlinks, and compare it against your sitemap. Anything important on that list needs a home in your internal link structure.
XML sitemaps
A sitemap is a hint, not a command. It helps discovery, especially for large or poorly linked sites, but it does not force indexing. Keep it clean:
- Include only canonical, indexable, 200-status URLs. Redirects, 404s and noindexed pages in a sitemap dilute the signal.
- Keep
lastmodhonest. Sitemaps that claim every page changed today teach Google to ignore the field. - Submit it in Search Console and check the “Discovered URLs” count against reality.
- Watch for caching. On LiteSpeed and similar stacks the sitemap XML itself sometimes gets served from cache, so newly published pages do not appear for days. Fetch it with a cache-busting query string to check whether it is genuinely stale or just cached.
Step 2: Indexing — Will Google Keep the Page?
Crawled and indexed are different states. Google now crawls far more than it indexes, and “Crawled — currently not indexed” is the single most common complaint in Search Console. It is not a bug. It is a judgement: Google fetched the page, evaluated it, and decided it was not worth storing.
The three reasons pages fail to index
- Explicit exclusion. A
noindexmeta tag or header, a canonical pointing elsewhere, or a robots.txt block. These are self-inflicted and easy to find in Search Console’s Page Indexing report. - Duplication. Google found another URL it considers a better version — either on your site or someone else’s. Near-identical pages targeting the same query are the classic case.
- Quality threshold. The page is unique and crawlable but Google does not consider it valuable enough to index, usually because the site as a whole has limited authority or the page adds nothing to what is already indexed.
The third is the hardest to accept and the most common on newer sites. If a domain is six months old with few external links, Google is stingy with index slots. The answer is not to publish more thin pages — it is to consolidate, improve, and earn enough external validation that the domain gets more generous treatment. We wrote about the diagnostic process in detail in our SEO audit checklist.
Canonical tags
A canonical tag tells Google which URL is the master version when several show the same content. Get this wrong and you can deindex your own pages.
- Every page should have a self-referencing canonical unless it genuinely is a duplicate.
- Canonicals must point to the exact live URL — correct protocol, correct www/non-www, correct trailing slash.
- Never canonicalise a paginated series to page one. Let paginated pages self-canonicalise.
- A canonical is a suggestion. If your content genuinely differs, Google may ignore it and pick its own; Search Console will tell you when that happens under “Duplicate, Google chose different canonical”.
Keyword cannibalisation
Cannibalisation is when several of your own pages target the same intent, so Google cannot decide which to rank and often ranks none of them well. It is extremely common on sites that published a burst of similar blog posts.
To find it: in Search Console, open the Performance report, filter by a query, and look at which pages receive impressions for it. If three URLs share the impressions, you have a problem. The fix is consolidation — pick the strongest page, merge the useful content from the others into it, then 301 redirect the losers to the winner. Redirect; do not just delete. Deleting throws away whatever link equity those URLs accumulated.
Step 3: Site Architecture and URL Structure
Architecture is how your pages relate to each other. Good architecture makes topical relationships obvious to both users and crawlers, and concentrates authority where you want it.
The pattern that works for most businesses is the hub-and-spoke, or topic cluster: one comprehensive pillar page per major topic, supported by several deeper articles that each link back to the pillar and to each other where relevant. The pillar accumulates internal authority and targets the competitive head term; the spokes capture long-tail queries and feed the pillar.
For URLs themselves, the rules are unglamorous and stable:
- Short, readable, lowercase, hyphen-separated.
/technical-seo-guide/beats/blog/2026/08/post-id-4471/. - Include the primary keyword once, naturally. Do not stuff.
- Avoid dates in URLs for evergreen content — you will want to update it in two years without the URL announcing its age.
- Pick one convention for trailing slashes and stick to it, with redirects enforcing it.
- Changing URLs costs you rankings temporarily even with perfect redirects. Only restructure when the gain is real.
Step 4: Page Speed and Core Web Vitals
Core Web Vitals are Google’s attempt to quantify user experience with three field metrics, measured from real Chrome users rather than lab tests:
- LCP (Largest Contentful Paint) — how long until the main content element renders. Target under 2.5 seconds. Usually the hero image, the H1 block, or a large text container.
- INP (Interaction to Next Paint) — how quickly the page responds after a user taps or clicks, across the whole visit. Target under 200 milliseconds. This replaced First Input Delay in 2024 and is significantly harder to pass, because it measures every interaction rather than just the first.
- CLS (Cumulative Layout Shift) — how much the layout jumps around while loading. Target under 0.1. Caused by images without dimensions, injected banners, and late-loading web fonts.
Speed is a real but modest ranking factor. Its bigger effect is on conversion: a site that takes five seconds on mobile loses a large share of visitors before they see anything, and that behaviour eventually feeds back into rankings anyway. The highest-leverage fixes, in order:
- Image weight. Still the number one cause of slow pages. Serve WebP or AVIF, size images to their display dimensions, and lazy-load anything below the fold — but never lazy-load the LCP element itself.
- Render-blocking resources. Inline the critical CSS needed for the first screen and defer the rest. Defer non-essential JavaScript.
- Third-party scripts. Chat widgets, heat maps, multiple analytics tags and ad pixels are frequently the single biggest INP contributor. Audit what is actually loading and remove what nobody reads.
- Font loading. Use
font-display: swap, preconnect to the font host, and subset to the character sets you actually use. - Hosting and caching. Server response time (TTFB) under 600ms, full-page caching, and a CDN if your audience is geographically spread.
Measure with field data, not just lab data. PageSpeed Insights shows both; the CrUX field section at the top is what Google actually uses. A perfect Lighthouse score with failing field metrics means your test conditions are nothing like your users’ conditions.
Step 5: Mobile-First Indexing
Google indexes the mobile version of your site. Not the desktop version, not “both” — the mobile rendering is the canonical one for ranking purposes. Consequences that still catch sites out:
- Content hidden on mobile is content Google may not weigh. Accordions and tabs are fine because the text exists in the DOM; content that is stripped out entirely on small screens effectively does not exist.
- Structured data must be present on the mobile version.
- Tap targets need spacing, text needs to be legible without zoom, and horizontal scrolling should never happen.
- Interstitials that cover the content on mobile can trigger a demotion.
The practical test is not a simulator. Open your site on an actual mid-range Android phone on a real mobile connection and try to complete your primary conversion action. Most technical problems become obvious in ninety seconds.
Step 6: Structured Data
Structured data is machine-readable markup, normally JSON-LD, that tells search engines what a page is about in unambiguous terms: this is an article, this is its author, this is a product, this is its price, these are the questions it answers.
It does not directly boost rankings. What it does is make your page eligible for rich results — star ratings, FAQ accordions, breadcrumb trails, product prices — which lift click-through rate substantially. It also, increasingly, determines whether AI answer engines can parse and cite you.
The types worth implementing for most businesses:
- Organization (or LocalBusiness) on the homepage — name, logo, address, phone, sameAs links to your verified social and directory profiles. This is your entity anchor.
- Article on blog content — headline, author, publisher, datePublished, dateModified.
- BreadcrumbList sitewide — cheap to add, improves how your URL displays in results.
- FAQPage where you genuinely answer questions on the page. The markup must match visible content; inventing Q&As that do not appear on the page is a guideline violation.
- Product, Service, Review and Event where applicable.
Validate every implementation with Google’s Rich Results Test and Schema.org’s validator. A frequent and invisible bug: a page whose meta description is being generated from the raw text of its own JSON-LD block, because a plugin grabbed the first text node it found. Always check the rendered <meta name="description"> on the live URL rather than trusting your SEO plugin’s preview.
Step 7: JavaScript SEO
Google can render JavaScript, but rendering happens in a second pass that may be queued for days, and other crawlers — including several AI crawlers — do far less of it. If your primary content, internal links or metadata only exist after client-side JavaScript executes, you are gambling.
Guidance that holds up:
- Server-side render or statically generate anything that needs to rank. Next.js, Nuxt and similar frameworks make this straightforward.
- Internal links must be real
<a href>elements. Adivwith an onclick handler is invisible to a crawler. - Never put the canonical, title or meta description only in client-side JavaScript.
- Verify with Search Console’s URL Inspection “View crawled page” — it shows the HTML Google actually processed, which is the only version that counts.
Step 8: HTTPS, Redirects and Status Codes
Unglamorous plumbing that quietly costs sites a great deal of equity:
- HTTPS everywhere, with all HTTP variants 301-redirecting to the canonical HTTPS version. Fix mixed-content warnings.
- One canonical hostname. The four variants (http/https × www/non-www) must all resolve to one, in a single hop.
- 301 for permanent moves, 302 only for genuinely temporary ones. Long-lived 302s are a common accidental way to withhold equity from the destination.
- No redirect chains. A to B to C to D wastes crawl budget and leaks signal at each hop. Update the source links to point directly at the final URL.
- Real 404s for real missing pages. A “not found” message returned with a 200 status (“soft 404”) tells Google to keep crawling and indexing an empty page.
- 410 when content is genuinely gone forever and you want it dropped quickly.
When you migrate a site or restructure URLs, build a complete old-to-new redirect map before launch and test it after. Preserving rankings through a redesign is entirely a function of how carefully this is done, as we cover in our guide to planning a website build.
Step 9: International and Multi-Location Targeting
If you serve several countries, hreflang tells Google which version to show which audience. It is fiddly and frequently misimplemented:
- Every language or region variant must reference every other variant, including itself.
- Use correct ISO codes —
en-CA,en-GB,en-AU,hi-IN. - Include an
x-defaultfor users who match none of your variants. - hreflang does not create rankings in a new country. It resolves which of your pages shows, once you can rank there at all.
For a service business targeting several countries without separate sites, the more practical route is clear geographic signals in content, a Google Business Profile per real location, and country-specific landing pages where the offer genuinely differs.
Step 10: The AI Search Layer (AEO and GEO)
This is the newest part of technical SEO and the part most audits still skip. AI answer engines — Google AI Overviews, ChatGPT Search, Perplexity, Gemini, Copilot — select a handful of sources per answer. Being crawlable and parseable now decides whether you are eligible for that citation set at all.
- Allow AI crawlers explicitly in robots.txt if you want the visibility. Blocking them protects content but removes you from AI answers entirely.
- Publish an llms.txt at your root — a plain-text summary of what your site is and which pages matter. It is an emerging convention, cheap to add, and machine-friendly.
- Answer the question in the first two sentences under each heading. Models extract self-contained passages; a paragraph that only makes sense after three preceding paragraphs will not be quoted.
- Use question-shaped headings that match how people phrase things conversationally.
- Be specific. Numbers, prices, timelines and named comparisons get quoted. Vague marketing copy never does.
- Keep entity signals consistent — identical business name, address and phone across your site, Google Business Profile and every directory, plus a sameAs array in your Organization schema. Models cross-reference to decide whether you are a real, verifiable entity.
Our deeper treatment of this sits in the AEO and GEO guide and the generative engine optimisation walkthrough.
The Prioritised Technical SEO Checklist
Work top to bottom. The first block is where nearly all real-world wins are.
Critical — fix this week
- robots.txt does not block anything important, and allows CSS/JS.
- No accidental
noindexon money pages (check the live HTML, not the plugin UI). - All four hostname variants resolve to one canonical version in a single 301 hop.
- Every important page returns 200 and is present in Search Console’s index.
- Self-referencing canonicals are correct sitewide.
- XML sitemap contains only canonical, indexable URLs and is submitted.
- No duplicate pages competing for the same query.
High priority — fix this month
- Every important page is within three clicks of the homepage and has contextual inbound internal links.
- No orphan pages among your commercial URLs.
- Redirect chains collapsed to a single hop.
- Soft 404s returning proper status codes.
- LCP under 2.5s on mobile field data for your main templates.
- CLS under 0.1 (image dimensions declared, no late-injected layout).
- Title tags under about 60 characters and unique; meta descriptions 140-160 characters and unique.
- Exactly one H1 per page, with a sane H2/H3 hierarchy beneath it.
Medium priority — next quarter
- Organization/LocalBusiness, Article, BreadcrumbList and FAQPage schema implemented and validating.
- INP under 200ms — audit third-party scripts first.
- Images converted to WebP/AVIF and correctly sized.
- Descriptive alt text on all meaningful images.
- hreflang implemented if you target multiple countries.
- Pagination handled with self-canonicalising pages.
- AI crawlers allowed; llms.txt published.
Ongoing
- Monitor Search Console Page Indexing monthly for new exclusion patterns.
- Re-crawl the site quarterly and diff against the previous crawl.
- Watch Core Web Vitals field data after every significant design or plugin change.
- Check live meta titles and descriptions with a real fetch, not the plugin preview.
The Tools You Actually Need
- Google Search Console — free, non-negotiable, and the only source of truth for how Google sees your site. The Page Indexing and Performance reports answer most questions.
- Screaming Frog SEO Spider — free to 500 URLs. Crawls your site the way a bot does and surfaces broken links, redirect chains, duplicate titles and orphan pages.
- PageSpeed Insights / CrUX — field and lab performance data.
- Rich Results Test — validates structured data eligibility.
- Bing Webmaster Tools — free, often surfaces crawl issues Google’s reports do not, and Bing’s index feeds several AI assistants.
- A plain terminal.
curl -Ito check status codes and headers is faster and more honest than any dashboard.
Paid platforms like Ahrefs, Semrush and Sitebulb are excellent, but a business that has never done a technical audit will find eighty percent of its problems with the free tools above.
How Often Should You Audit?
A full technical audit once or twice a year is right for most sites, with a light monthly review of Search Console’s indexing and performance reports. Audit immediately after any of these events, because each one reliably breaks something:
- A redesign or platform migration.
- A URL structure change.
- A hosting move or major plugin change.
- A sudden unexplained drop in impressions or indexed pages.
- A confirmed Google core update, if your traffic moved with it.
Common Technical SEO Myths Worth Discarding
- “Submitting to Search Console makes Google index a page.” It requests consideration. Google still decides.
- “A perfect Lighthouse score means fast.” Lab data on a fast connection is not field data on a mid-range phone.
- “More pages means more traffic.” More thin pages usually means a lower proportion indexed and a diluted site.
- “Keyword density matters.” It has not been a meaningful signal for well over a decade.
- “Technical SEO is a one-time project.” Every deployment can regress it. Treat it as maintenance, not a milestone.
What to Do If Everything Is Technically Clean and You Still Do Not Rank
This is a genuinely common position, and it is worth naming honestly because the SEO industry rarely does. If your pages are indexed, fast, well-structured and comprehensively written, and you are still sitting at position 60 for your target terms, the constraint is almost certainly authority — the volume and quality of independent sites that reference yours.
At that point, publishing a tenth article on the same topic will not change much. What moves the needle is genuine external validation: real directory citations, a verified Google Business Profile, industry listings, partnerships, digital PR, and content other people in your field actually have a reason to link to. It is slower and less comfortable than writing another post, which is precisely why most sites never do it.
Technical SEO removes the obstacles. It cannot manufacture the authority. Do the technical work first because it is fast, cheap and fully within your control — then spend your remaining effort on the thing that is actually holding you back.
Frequently Asked Questions
What is technical SEO?
Technical SEO is the practice of making a website easy for search engines to crawl, index, render and understand. It covers robots.txt and sitemaps, indexing and canonical tags, site architecture and internal linking, page speed and Core Web Vitals, mobile rendering, structured data, redirects and status codes. It is distinct from on-page SEO (what the page says) and off-page SEO (who links to it).
How long does technical SEO take to show results?
Fixes that unblock indexing can show within days once Google re-crawls the affected pages. Speed and architecture improvements typically take four to twelve weeks to reflect in rankings, because Google needs to re-crawl, re-evaluate and gather fresh user data. Anything dependent on authority takes months regardless of how clean your technical setup is.
Why are my pages crawled but not indexed?
Almost always one of three reasons: the page is explicitly excluded (noindex, a canonical pointing elsewhere, or a robots.txt block), it duplicates another page Google prefers, or Google judged it not valuable enough to store. On newer or low-authority domains the third reason dominates. The fix is consolidating thin pages, improving depth, and earning external links so the domain gets more index slots.
What are Core Web Vitals and do they affect rankings?
Core Web Vitals are three field metrics: LCP (main content render time, target under 2.5s), INP (responsiveness to interaction, target under 200ms) and CLS (layout stability, target under 0.1). They are a confirmed but modest ranking factor. Their larger commercial effect is on conversion rate, since slow mobile pages lose visitors before they ever see the offer.
Does structured data improve rankings?
Not directly. Structured data makes pages eligible for rich results such as FAQ accordions, breadcrumbs, star ratings and product prices, which raises click-through rate from the same position. It is also increasingly important for AI answer engines, which rely on machine-readable markup to parse and cite sources.
How do I make my site work with AI search engines like ChatGPT?
Allow AI crawlers in robots.txt, publish an llms.txt summary at your root, answer each question directly in the first two sentences under a question-shaped heading, include specific figures and comparisons rather than vague copy, add FAQPage and Organization schema, and keep your business name, address and phone identical across your site, Google Business Profile and directories so models can verify you as a real entity.
Can I do technical SEO myself?
Most of the critical checklist is achievable without a developer: reading robots.txt, checking for stray noindex tags, fixing canonicals, cleaning the sitemap, compressing images and tightening internal links. Server configuration, JavaScript rendering, redirect maps for a migration and INP debugging usually need developer support. Start with the free tools and escalate only where you actually get stuck.
How often should I run a technical SEO audit?
A full audit once or twice a year, plus a light monthly check of Search Console’s indexing and performance reports. Always audit immediately after a redesign, a platform or hosting migration, a URL structure change, or any unexplained drop in impressions or indexed pages, because each of those reliably breaks something.
Want a Free Technical SEO Audit?
We will crawl your site, check indexing, speed and structured data, and send you a prioritised fix list – free, within 48 hours.
Get My Free Audit →