Chapter 8: Technical SEO — The Time Bomb You Defuse Once
The source teaching's fourth lesson is phrased as a warning: ignoring technical SEO is a time bomb. Stores pour months into content while Google quietly can't index half the catalog, or indexes it so slowly and reluctantly that rankings never form. The good news is that technical SEO is the most finite part of this book: unlike content and links, it can be brought to "done" and then merely maintained. This chapter is the defusal procedure.
First: Can Google Even See Your Pages?
Indexing is the gate everything else stands behind. A page Google hasn't indexed cannot rank, full stop. Check your status in Google Search Console (Coverage / Pages report), which sorts your URLs into indexed and not-indexed with Google's stated reasons. The reasons you will meet most often on a store:
- "Discovered – currently not indexed" / "Crawled – currently not indexed": Google knows the page exists but hasn't bothered. Common for thin, duplicate-ish, or deep pages. The cures are Chapters 4–6 (make the page worth indexing and link it properly), not repeated manual submission.
- Blocked by robots.txt or noindex: sometimes deliberate (cart, checkout, account pages — correct), sometimes a platform default or a migration leftover silently blocking money pages (a disaster, and more common than you'd think). Check this first whenever a whole section is missing.
- Duplicate without user-selected canonical: Google found near-identical pages and picked one. See "Duplicates" below.
Submit your XML sitemap in Search Console (your platform generates one, usually at /sitemap.xml) and keep it clean: it should list only live, canonical, indexable URLs. A sitemap full of dead or redirected URLs is a small but real credibility leak — and the source teaching's growth-plan audits treat "sitemap submitted, indexation healthy" as a foundation metric to verify, with the example audit showing a few hundred cleanly indexed pages.
robots.txt: Small File, Large Consequences
The robots.txt file tells crawlers where not to go. A store's correct configuration usually blocks: cart/checkout/account paths, internal search results, and sometimes faceted/filter URLs (next section). Two disciplines:
- Blocking a page in robots.txt is not the same as removing it from Google. A blocked page can still appear in results (as a bare link) if other sites link to it; and a page blocked before Google ever crawled it can get stuck in the index in that ghost form. To remove a page, use noindex or delete it properly — Chapter 9 covers the decision tree.
- Never block what you sell. It sounds impossible; it happens constantly, usually via a copied robots.txt or a staging-site setting carried into production. After any platform change or migration, fetch your own money pages with Search Console's URL Inspection tool and confirm "Indexing allowed? Yes."
The Store-Specific Problem: Filters, Variants, and Duplicates
eCommerce platforms generate duplicate and near-duplicate URLs industrially:
- Faceted navigation: every filter combination (color × size × sort order) can mint a new URL:
/yoga-mats?color=cork&size=xl&sort=price. Multiply a few filters and your store has thousands of URLs for dozens of products. Crawlers waste their budget on these, and thin filter pages compete with your real category pages. - Variant URLs: the same product at
?variant=12345per color/size. - Session and tracking parameters appended by marketing tools.
The professional handling, in order of preference:
- Canonical tags: the platform should emit a
rel="canonical"pointing every variant/filter URL at the one clean primary URL — consolidating signals onto the page you actually want ranked. Verify on real pages (view source, or URL Inspection); do not assume. - Keep genuinely valuable filter pages, control the rest. A filter combination that maps to a real mapped keyword ("yoga mats under $50" — Chapter 4) may deserve to be a proper, indexable landing page with its own content. The other ten thousand combinations should be canonicalized, noindexed, or blocked from crawling — your platform's SEO settings and documentation cover the switches; the strategy (which few deserve life) is yours to decide from the keyword map.
- Internal links always point at the clean canonical URL, never at a parameterized one.
Speed: Fast Enough Is a Feature
The source growth plan sets an aggressive target — pages loading in under about two seconds — and checks it with Google's PageSpeed Insights. Treat "under 2 seconds" as a healthy ambition, not a law: Google's own formal metrics are the Core Web Vitals (loading speed as experienced — LCP; responsiveness — INP; visual stability — CLS), which Google uses as a minor ranking input and, more importantly, which correlate with whether shoppers stay and buy. A slow store loses more money at the checkout than at the ranking, which is why speed work pays twice.
The usual store culprits, in usual order:
- Images — uncompressed, oversized (Chapter 7). Fix first; biggest win.
- Apps and plugins — every Shopify app or WooCommerce plugin adds scripts to every page. Audit quarterly; remove what you don't use; the app you installed for a 2023 promotion is still taxing every visitor.
- Cheap or overloaded hosting / theme bloat — heavy themes with five sliders and a video background. A lighter theme is often the single biggest speed purchase a store can make.
- No caching/CDN — your platform probably offers both; confirm they're on.
Measure with PageSpeed Insights (it reports real-user data where available) and fix in culprit order, then re-measure. Perfection is not required; escaping the slowest tier is.
The Error Audit: 404s, Chains, and Loops
The growth-plan audits in the source teaching boast of a zero-404 state, and while "zero" is an ideal rather than a permanent condition (products sell out; suppliers change), the discipline behind it is sound:
- Find your 404s: Search Console's Pages report ("Not found 404") plus a crawl of your own site (free tools like Screaming Frog's free tier handle small stores) lists every dead URL.
- For each dead URL, one decision: if the page had value (links, traffic, a mapped keyword), redirect it — permanently (301) — to the closest live equivalent (the same product's successor, or its category). If it never had value, let it stay 404; a truthful 404 for a page that should not exist is correct behavior, not an error to panic about.
- Kill redirect chains (A→B→C): each hop wastes crawl and leaks a little strength. Point A directly at C. Loops (A→B→A) are worse; fix on sight.
- Server-log common sense: the source audits check that Googlebot can actually reach the site (logs or Search Console's crawl stats). If your host or security plugin is blocking bots, everything else in this book is theater. Worth one verification after any hosting or security change.
The Day-One Technical Checklist
From the source teaching's own day-one list, consolidated — run it on any new store, migration, or relaunch before spending a day on content:
- [ ] Fast, reliable hosting chosen; HTTPS active on every page (padlock, no mixed-content warnings).
- [ ] Mobile rendering tested on a real phone (Chapter 7's thumb test).
- [ ] Search Console verified; sitemap submitted and error-free.
- [ ] robots.txt reviewed: money pages crawlable; cart/checkout/search blocked.
- [ ] Canonicals verified on product, variant, and filter pages.
- [ ] One URL per product; www/non-www and http/https resolve to a single version via redirects.
- [ ] 404 audit done; valuable dead URLs redirected to live equivalents; no chains or loops among money pages.
- [ ] PageSpeed Insights checked on homepage, a category, and a product template; the worst image/app offenders fixed.
None of this is weekly work. It is a foundation you pour once, inspect after every platform change, and then mostly forget — which is exactly why the "time bomb" metaphor is apt: the stores that skip it find out late, and all at once.
Chapter 8 Action Checklist
- [ ] Review Search Console's Pages report; explain every category of non-indexed money page.
- [ ] Submit/refresh the XML sitemap; confirm it lists only live canonical URLs.
- [ ] Audit robots.txt against your money pages; URL-inspect 3 key pages and confirm indexing is allowed.
- [ ] Verify canonical tags on a product page, a variant URL, and a filtered category URL.
- [ ] Decide the fate of filter pages from the keyword map: keep-and-build (few) vs canonicalize/noindex (the rest).
- [ ] Run PageSpeed Insights on 3 templates; fix images and remove unused apps first.
- [ ] Complete the 404 audit: redirect valuable dead URLs one-to-one; collapse chains.