Guide Ecommerce SEO Audit

Comment Je audit an online store — et pourquoi Je commencer avec Recherche Google Console et explorer données, pas sur la page tweaks. A prioritized, scale-premier ecommerce SEO audit framework: crawlability, indexation, contenu dupliqué, sur la page à scale, technique, données structurées, lien internes, out-de-stock handling, et hors page — sorted par impact et effort.

Première publication : 25 juin 2026 · Dernière mise à jour : 3 août 2026 · Avancé

An ecommerce SEO audit n’est pas a 500-point liste de contrôle — c’est le fonctionner de finding le petit définir de problèmes holding a store's rankings et revenue back, alors prioritizing les par impact et effort. Parce que ecommerce sites hit problèmes à scale, Je commencer le audit dans la recherche Google Console (lune page Indexation rapport) et explorer données, pas sur la page tweaks: le biggest wins sont généralement exploration et indexation problèmes affecting thousands de URLs à une fois. Contenu dupliqué depuis facets, collections, et variants est le #1 ecommerce-spécifique problème audits uncover; thin category pages sont #2. Le goal est à corriger le stuff que matters la plupart et skip le busywork.

«> TL;DR — I audit a store in roughly this order: crawlability → indexation →

duplicate content → on-page at scale → technical (CWV, HTTPS, canonicals) → structured data → internal links → out-of-stock handling → off-page. I start in the GSC Page Indexing report and a fresh crawl, not on-page, because on a store the highest-leverage problems hit thousands of URLs at once: faceted-nav duplication, accidental sitewide noindex, “Discovered – currently not indexed” at scale, sitemaps full of redirects. The deliverable is a prioritized impact/effort list, not a 500-point report. Most stores never need to worry about crawl budget — but the ones that do really do. » (Traduction) (Résumé en français de la section dix-neuf, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

Preuve à l’appui de cette affirmation Search Console's Page indexing report identifies indexed and non-indexed URLs and groups reasons pages are not indexed. Portée : Google Search Console audit data. Niveau de confiance : élevé · Vérifié : Search Console Help: Page indexing report Preuve à l’appui de cette affirmation Google's Rich Results Test and product structured-data requirements can be used to validate product markup eligibility. Portée : Google product structured-data validation. Niveau de confiance : élevé · Vérifié : Google Search Central: Product structured data

Audit philosophy: client-first, pas issue-first

A robot d’exploration va hand vous 170+ problème types. Si vous dump tout de les dans a rapport, vous avez produced a document, pas an audit. Le job est à trouver le handful que déplacer rankings et revenue et ignore le rest.

Le starting point n’est pas le outil — c’est le pain. As j’ai put il avant: “Si clients sont coming à vous asking pour an audit, ils déjà ont a pain point. Talk à les. Solve que un chose et ils’ll être happy avec le audit.” On a store le pain est généralement concrete: trafic dropped, a category stopped classement, a migration went sideways, nouveau produits ne sont pas getting indexé. Anchor le audit à que, alors expand.

Et know quand à arrêter. Depuis notre study de over a million domains: “Parfois, le meilleur course de action est à ne faites pashing parce que le coûts outweigh le avantages.” Pas chaque flagged problème est worth a developer ticket.

Pourquoi I commencer with Search Console and explorer données, pas on-page

Le instinct à ouvrir le audit avec titre balises et titres est le la plupart courant mistake Je voir. On an ecommerce site le math est contre il: tweaking a titre aide un page; fixing an indexation modèle aide thousands. Le biggest wins on a store sont presque toujours exploration et indexation problèmes à scale, et le stakes sont highest exactly ici — “un mistake peut garder millions de pages out de le indexer or supprimer an entier site depuis résultats de recherche.”

So the audit runs in priority order, top to bottom. Here’s the whole chose.


Step 1 — Crawlability

«Can bots reach what matters, and are they wasting their time on what doesn’t? » (Traduction) (Résumé en français de la section trente et un, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«The ecommerce-specific traps: » (Traduction) (Résumé en français de la section trente-deux, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«- Faceted navigation URL explosion. Filters (color, size, price range) combine into thousands of unique URLs. Google is candid about the cost: “the crawlers will typically access a very large number of faceted navigation URLs before the crawlers’ processes determine the URLs are in fact useless.” » (Traduction) (Résumé en français de la section trente-trois, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- Parameter variants — session IDs, tracking codes (?utm_source=), sort orders — multiply the same content across URLs. » (Traduction) (Résumé en français de la section trente-trois, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.) «- Crawl traps — internal search results, infinite calendars, unbounded filter stacking. » (Traduction) (Résumé en français de la section trente-trois, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.) «- robots.txt over- or under-blocking — accidentally blocking CSS/JS needed to render, or a valid product path; or failing to block a junk parameter space. » (Traduction) (Résumé en français de la section trente-trois, sous-partie quatre : le texte source est conservé pour vérification lors de la relecture francophone.) «- JS-gated navigation. Google wants real links: “use <a href> tags when creating links to other content. Don’t use JavaScript events on other HTML DOM elements for navigation.” » (Traduction) (Résumé en français de la section trente-trois, sous-partie cinq : le texte source est conservé pour vérification lors de la relecture francophone.)

«Audit steps: » (Traduction) (Résumé en français de la section trente-quatre, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

  • Récupérer et lire robots.txt; confirmer rien important est disallowed et que faible-valeur parameter spaces are.
  • Dans le robot d’exploration, pull “Blocked by robots.txt” — quelconque pages importantes caught?
  • GSC Statistiques d’exploration: regarder pour spikes dans exploré URLs contre a flat indexé count — que gap est explorer waste.
  • Export tout exploré URLs et cluster par chemin/parameter modèle à size le faceted/parameter problème.

On budget d’exploration — de-escalate premier. La plupart stores ne pas ont a explorer-budget problème, et je vais dire donc dans le audit plutôt que invent un: “La plupart sites ne pas besoin à worry à propos de budget d’exploration, mais là sont quelques cas où vous peut vouloir à prendre a regarder.” Il becomes real around Google’s thresholds — “Grand sites (1 million+ unique pages)…” modification weekly, or 10 000+ pages modification daily — or quand “Discovered – currently not indexed” est grand. Quand il is réel, vous corriger il par removing waste, pas par asking Google à explorer plus. (Deep dive: budget d’exploration.)

Step 2 — Indexation

Crawlable n’est pas indexé. Le GSC Page Indexation rapport est le center de gravity pour le entier audit — “voir qui pages Google peut trouver et indexer on votre site, et apprendre à propos de quelconque indexation problèmes encountered.”

The statuses que matter la plupart on a store:

  • Duplicate sans utilisateur-selected canonical / Google chose a différent canonical — le faceted/variant duplication problème, fait visible.
  • Exploré – currently non indexée — généralement thin produit or near-duplicate filter pages.
  • Découvert – currently non indexée — Google knows l’URL mais hasn’t exploré il; on grand catalogs ce est a explorer-priority signal.
  • URL marked ‘noindex’ — vérifier c’est intentional. Le accidental sitewide version est le “un mistake” scenario.
  • Soft 404 — a 200 réponse on une page c’est effectively vide (out-de-stock, zero-résultat recherche). Google warns ces “va continuer à être exploré, et waste votre budget.”

Audit steps:

  • Export “Pas indexé” URLs par raison; quantify chaque bucket.
  • Comparer GSC indexé count contre votre connu catalog size — a grand gap signifie Google n’est pas finding pages.
  • Exécuter Inspection d’URL on a sample depuis chaque raison bucket.
  • Audit le XML sitemap: il devrait liste seulement canonical, indexable, 200-status URLs. Redirigé, noindexed, or canonicalized-away URLs dans a sitemap send conflicting signaux — pull les.

Step 3 — Contenu dupliqué (the #1 ecommerce problème)

Ce est le unique la plupart courant chose an ecommerce audit uncovers, et c’est worth son propre étape. Google’s Gary Illyes a estimated que roughly 60% de le internet est contenu dupliqué — et stores sont overrepresented.

Où it comes from:

  • Faceted navigation — ?color=blue, ?size=S&color=blue, ?size=S&color=blue&sort=price tout servir near-identical contenu.
  • Parameter-order permutations — ?color=blue&size=S et ?size=S&color=blue sont le même page twice.
  • Produit variants as séparé URLs — ?variant=… sans a self-referencing canonical or a canonical à le parent.
  • A produit living sous plusieurs category paths, les deux indexable.
  • HTTP/HTTPS, www/non-www, trailing-slash inconsistency que ne fait pas 301 à un canonical.

Le Shopify gotcha worth appel out par nom. Shopify does canonicalize /collections/{collection}/products/{product} à le clean /products/{product} URL — donc personnes assume c’est handled. Il n’est pas entièrement: le lien internes from collection pages encore point à le non-canonical /collections/... version, donc le canonical produit URL receives aucun internal popularité des liens via normal navigation, et il peut montrer up as an orphan. Corrections: ajouter an “All products” page que liens le canonical /products/ URLs, or edit collection templates à lien le URL canonique directement.

Audit steps:

  • GSC: pull les deux “Duplicate” buckets depuis Page Indexation.
  • Robot d’exploration Qualité du contenu / duplicate-cluster rapport: trouver clusters avec aucun canonical specified.
  • Confirmer faceted parameter URLs sont handled — Google’s recommended prevention est robots.txt blocking de filter parameters, or fragment-based (#) filtering, qui “va ont aucun impact on exploration.” ne pas reach pour noindex ici (voir Myths).
  • Spot-vérifier que Shopify /collections/*/products/* URLs canonicalize à /products/* — et que quelque chose liens le canonical version.

(Background: contenu dupliqué and canonicalization.)

Étape 4 — Sur la page à scale

On a store, on-page is a templating problem, pas a copywriting un — you’re auditing patterns, pas pages.

The recurring problèmes:

  • Thin category pages (le #2 ecommerce problème). John Mueller est direct à propos de il: “Quand le ecommerce category pages ne pas ont quelconque autre contenu à tout, autre que liens à le produits, alors c’est vraiment difficile pour us à classer ceux pages.” Mais ne pas overcorrect dans a wall de texte — “maybe 90%, 95% de que texte est unnecessary,” et “notre algorithms parfois obtenir confused quand ils ont a liste de produits on top et essentially a giant article on le bottom.” Le cible est a court, utile bloquer (sourcing, materials, sizing, popularity) near le top — pas filler que buries le grid.
  • Templated titre collisions — Buy {Product} | Store patterns que go near-identical à travers produits, or deux produits sharing a nom.
  • Manquant/vide H1s et titles à le template level.
  • Meta descriptions — worth doing on votre top category et produit pages, moins worth il on le long tail (Google rewrites les la plupart de le temps anyway).

Audit steps:

«- [ ] Crawler On-Page report: filter for missing title, missing H1, missing meta description, duplicate titles, duplicate H1s. » (Traduction) (Résumé en français de la section cinquante-six, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- [ ] Flag category pages with little to no unique body copy (thin-content candidates) and cross-reference against “Crawled – currently not indexed.” » (Traduction) (Résumé en français de la section cinquante-six, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.) «- [ ] Export titles and check for template collisions. » (Traduction) (Résumé en français de la section cinquante-six, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)

A remarque on ce que not à spend audit temps on: plusieurs H1s. ils sont valide HTML5 et near-irrelevant à classement — 51,3% de sites ont les somewhere, per mon propre million-domain study. Skip il.

Étape 5 — Technique (CWV, HTTPS, canonicals, mobile)

Core Web Vitals. Google’s passing thresholds: LCP < 2,5s, INP < 200ms, CLS < 0,1. Ecommerce échec modes sont predictable — unoptimized hero images et tiers scripts (chat, A/B, pixels) hurt LCP; ajouter-à-cart et checkout JS hurt INP; images sans explicit dimensions et injected promo bars hurt CLS. Audit par URL groupe dans le GSC CWV rapport donc vous pouvez voir si c’est produit, category, or checkout templates failing, alors confirmer on representative templates dans PageSpeed Insights. (Voir Core Web Vitals.)

HTTPS. Everything — product, cart, checkout — on HTTPS, aucun mixed content (HTTP images/resources on HTTPS pages), and canonicals/redirections pointing at the HTTPS version.

Canonicals. Le courant ecommerce erreurs: canonicals pointing à 4XX pages; non-URL canoniques dans le sitemap; paginated pages canonicalized à page un (ne pas); et — le quiet un — lien internes pointing à non-canonical versions donc le canonical jamais accumulates popularité des liens. Plusieurs rel=canonical balises on un page obtenir ignored.

Mobile-premier. Google indexes le mobile version. Assurez-vous le mobile produit page n’est pas a stripped-down un manquant le description, le données structurées, or complet-size images.

Raw versus rendu produit evidence. On representative PDPs, enregistrer le initial HTML et a rendu capture après a fresh navigation. Ne faites pas treat resizing an déjà-chargé desktop page as a mobile-rendu tester. Le raw réponse devrait expose le core produit identity, selected/par défaut SKU et attributs, price, currency, availability, crawlable variant liens où requis, et matching Produit/Offer données. Alors comparer le rendu DOM et visible selection. Google peut rendre JavaScript, mais autre robots d’exploration et agents vary; a successful rendre aussi ne fait pas cure contradictory produit facts.

Pour chaque sampled variant, continuer le comparaison via le feed, cart, et checkout. L’URL, visible PDP, rendu JSON-LD, feed élément, et transaction devrait agree on produit identity, SKU, groupe ID, selected attributs, price, currency, et availability. Record intentional emplacement- or client-spécifique revalidation séparément depuis unexplained mismatches. Voir Produit Page SEO pour le raw/rendu boundary et Produit Variant SEO pour le complet selected-offer contract.

Step 6 — Données structurées

Pour a store, le priority types sont Produit / ProductGroup, BreadcrumbList, Organization (avec retourner policy), et Examiner / AggregateRating. Ajout plus valide properties widens eligibility — Google: “ajout le plus properties vous pouvez ajouter, le plus enhancements votre page peut être eligible pour.” (Le un myth à garder dans votre head: schema rend vous eligible pour résultats enrichis; il ne fait pas faire vous classer.)

Audit steps:

  • Exécuter le Résultats enrichis Tester on a representative produit et category page.
  • GSC Enhancements: vérifier Produit Extraits et Merchant Listings pour erreurs/warnings.
  • Vérifier requis vs. recommended séparément per fonctionnalité — ne pas collapse les. Pour merchant listings, Google’s requis définir est name, image, et offers (an Offer, avec price, priceCurrency, et availability). Pour produit extraits, name est requis et vous besoin au moins un de review, aggregateRating, or offers à être eligible — Google listes aggregateRating, offers, et review as recommended, pas requis, on que fonctionnalité.
  • Courant faults: manquant image, manquant offers, manquant availability, schema prices que ne pas match le visible price (a policy violation), breadcrumb schema que ne fait pas match le visible trail.

Step 7 — Maillage interne

Le problèmes: orphan produit pages (classic Shopify symptom, ci-dessus); important category/produit pages buried 5+ clicks deep; lien internes pointing à redirections or 404s; meilleur sellers pas lié depuis élevé-autorité hubs. Google: “ajouter liens depuis menus à category pages, depuis category pages à sub-category pages, et finalement depuis sub-category pages à tout produit pages.”

Audit steps:

  • Robot d’exploration Liens rapport: pull orphan pages et explorer depth; confirmer clé pages sit dans ~3 clicks de le homepage.
  • Pull liens à redirections et broken liens.
  • Vérifier que votre highest-revenue produits sont lié depuis le principal nav et editorial/hub pages.

Étape 8 — Out-de-stock et discontinued produits

A genuinely ecommerce-seulement section. Mon honest réponse ici est le SEO cliché pour a raison: “though c’est a joke dans le SEO community, ‘il dépend’ est vraiment le réponse quand dealing avec out-de-stock produits.” Et “ultimately, il y a aucun perfect solution.” Le décision turns on si c’est temporary vs. permanent et si lune page a trafic or liens:

ScenarioCe que Je fairePourquoi
Temporarily OOSGarder lune page actifAjouter restock dates, waitlist, notify-me; ne pas throw away classement
Permanently discontinued, fermer replacement301 à le similaire produitPreserves popularité des liens si ils sont genuinely similaire
Discontinued, aucun match, a liens/traficGarder actif avec “related products”Retains classement potential; route utilisateurs onward
Discontinued, aucun liens/trafic404 or 410Clean il up; corriger lien internes pointing à il

Ne faites pas audit availability depuis le visible étiquette alone. Sample an ordinary dans-stock SKU, a temporary stockout, a recently restocked élément, un indisponible variant à l’intérieur an disponible produit groupe, et a postcode-restricted offer. Pour chaque, reconcile le authoritative backend state, selected variant, visible page, Produit/Offer markup, merchant feed ligne, cart line, et checkout résultat. Record le market, postcode, channel, collection temps, et feed-processing temps donc a personalized fulfillment résultat n’est pas mistaken pour le catalog’s general state. Le complet mapping est dans le Produit Schema availability contract.

Watch pour soft 404s: out-de-stock pages, zero-résultat searches, or vide cart/account pages returning 200. Pull le Soft 404 bucket dans GSC et resolve par modèle. (Voir out-de-stock produits pour le complet framework.)

Step 9 — Off-page

Lighter pour la plupart stores, but worth a réussir:

  • GSC Performances: branded vs. non-branded click share — heavy branded reliance signifie weak non-branded discovery.
  • Backlink profile par page type — sont category/produit pages earning liens, or seulement le homepage et blog?
  • Trouver 404 pages que ont backlinks et 301 les à le closest actif page (reclaim le equity).
  • Concurrent lien gap on category pages.

Comment prioritize le findings

Tout ci-dessus produces a liste. Le liste n’est pas le deliverable — le sorted liste est. Je score chaque finding on an impact/effort matrix: “n’importe quoi élevé-impact et faible-effort est a rapide win, donc ceux tasks devrait être tackled premier.” Pour a store:

  • Élevé impact / faible effort — faire premier: a stray sitewide noindex; a sitemap complet de redirection/noindex URLs; manquant canonicals on variant URLs; lien internes pointing à redirections; out-de-stock soft 404s.
  • Élevé impact / élevé effort — plan et schedule: faceted-nav architecture; Core Web Vitals fonctionner; rolling Produit schema à travers templates; explorer-depth / architecture corrections.
  • Faible impact / faible effort — quand temps permet: meta descriptions on long-tail produits; minor titre-template tidy-ups.
  • Faible impact / élevé effort — skip: redirect-chain cleanup on zero-traffic pages; Ouvrir Graph balises (social, pas classement).

Le entier point de le matrix est permission à not faire choses.

Template patterns faire prioritization visible: le même problème peut être urgent dans un cohort et irrelevant dans un autre.

An illustrative cohort matrix compare contenu pauvre, non-canonical pages, deep URLs, et schema erreurs. Produit pages score 22, 11, 36, et 48 percent; category pages 18, 8, 54, et 12 percent; facet URLs 71, 83, 64, et 5 percent; blog pages 9, 3, 14, et 2 percent. Ces sont synthetic rates, pas client or site données.

Courant myths to clair up in the report

«- “More indexed pages = better SEO.” No — Google’s own advice is to “eliminate duplicate content to focus crawling on unique content rather than unique URLs.” Inflating the index with thin variant pages usually hurts. » (Traduction) (Résumé en français de la section quatre-vingt-huit, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- “Use noindex to save crawl budget on facets.” No: “don’t use noindex, as Google will still request, but then drop the page… wasting crawling time.” Block the fetch (robots.txt) or use fragment filtering instead. » (Traduction) (Résumé en français de la section quatre-vingt-huit, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.) «- “Shopify handles all canonicalization.” It sets the canonical tag, but it doesn’t fix the internal-linking-to-non-canonical problem. See Step 3. » (Traduction) (Résumé en français de la section quatre-vingt-huit, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.) «- “Crawl budget affects every store.” It doesn’t — most stores never need to think about it. » (Traduction) (Résumé en français de la section quatre-vingt-huit, sous-partie quatre : le texte source est conservé pour vérification lors de la relecture francophone.)

Ajouter une note d’expert

Épingler une citation d’expert

Nouvelle personne ? Créez son profil non revendiqué à /admin/experts/ → Épingler une citation d’expert d’abord.