Guide OpenCart SEO
«How SEO works on OpenCart — the self-hosted, open-source ecommerce platform that ships with SEO mostly off by default. What core actually handles (canonical tags, a default robots.txt, meta fields), what needs a switch flipped (SEO URLs plus the .htaccess rename), what changed between OpenCart 3 and 4 (the sitemap regression), and what's missing entirely (structured data and hreflang).» _(Traduction)_ (Résumé en français du champ description : le texte source est conservé pour relecture francophone.)
1 indice probant sur cette page
- Outil en ligne associéHTTP Status & Redirect Checker
«OpenCart is a self-hosted, open-source PHP ecommerce platform, and unlike Shopify or BigCommerce it ships with SEO mostly off by default. Friendly URLs need two steps — a Use SEO URL toggle AND renaming .htaccess.txt to .htaccess — or you get 404s. Per-entity SEO keywords are manual, blank-by-default fields. Canonical tags ARE native (verified in source) and already handle the multi-category duplicate-product problem, which most guides get wrong. The XML sitemap is version-dependent: OpenCart 3 shipped one, OpenCart 4 removed it and needs an extension. Structured data and hreflang are absent from core entirely — a bigger native gap than WooCommerce, Shopify, or BigCommerce.» _(Traduction)_ (Résumé en français du champ tldr : le texte source est conservé pour relecture francophone.)
Preuve à l’appui de cette affirmation OpenCart's SEO URL feature requires enabling the setting and configuring the server rewrite file. Portée : OpenCart installations using the documented Apache-style setup; server configuration can differ. Niveau de confiance : élevé · Vérifié : OpenCart documentation: SEO URL Preuve à l’appui de cette affirmation OpenCart features and bundled extensions vary by major version and should be verified against the installed release. Portée : OpenCart source repository and release-specific behavior. Niveau de confiance : élevé · Vérifié : OpenCart GitHub repositoryTL;DR — OpenCart est a gratuit store plateforme vous install on votre propre hosting (pas a subscription service comme Shopify). c’est powerful, mais il ships avec la plupart SEO fonctionnalités turned off. Le deux choses que trip everyone up: friendly URLs besoin vous à modifier a paramètre et rename a fichier, et OpenCart 4 ne fait pas construire an XML sitemap pour vous le façon OpenCart 3 a fait. Le bon news est balise canonicals — le behind-le-scenes balises que arrêter duplicate pages depuis competing — sont déjà switched on.
Ce que “OpenCart SEO” signifie
OpenCart est a self-hosted, open-source ecommerce plateforme. Vous download il pour gratuit et install il on votre propre web hosting, et vous êtes responsible pour le serveur, mises à jour, et security. c’est le opposite de Shopify or BigCommerce, où a entreprise hosts tout pour vous et turns on clean URLs et sitemaps depuis day un.
“OpenCart SEO” est simplement regular SEO — getting votre produits et categories trouvé, exploré, indexé, et ranked — applied à a store que exécute on OpenCart. Il obtient son propre guide parce que OpenCart laisse an unusual number de SEO fonctionnalités switched off jusqu’à vous turn les on yourself.
Ce que OpenCart fait — and doesn’t — do pour vous
Déjà on:
- Balise canonicals. OpenCart ajoute ces à produit et category pages automatiquement. Ils quietly arrêter duplicate versions de une page depuis competing avec chaque autre.
- A starter
robots.txt. OpenCart ships a petit fichier que bloque messy filter/sort URLs depuis étant exploré. - Meta titre/description boxes. Le champs exist; vous fill les dans.
Off jusqu’à vous do something:
«- Friendly URLs. By default a product URL looks like
index.php?route=product/product&product_id=42. Turning on readable URLs takes
two steps — a setting and renaming a file (.htaccess.txt to .htaccess).
Miss either and your nice URLs show a “404 Not Found” error.
» (Traduction) (Résumé en français de la section douze, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- SEO keywords. OpenCart won’t invent a URL slug from your product name. You
type the keyword into each product, category, and page yourself.
» (Traduction) (Résumé en français de la section douze, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
«- XML sitemap. OpenCart 3 had one built in. OpenCart 4 removed it — you now
need to add an extension.
» (Traduction) (Résumé en français de la section douze, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Rich results and multi-language tags. Product star ratings in Google
(structured data) and the tags that tell Google which language version to show
(hreflang) don’t exist in OpenCart at all. Both need an extension or custom code.
» (Traduction) (Résumé en français de la section douze, sous-partie quatre : le texte source est conservé pour vérification lors de la relecture francophone.)
The chose la plupart personnes obtenir incorrect
Deux myths worth killing early. Premier, personnes think turning on “Utiliser SEO URL” est tout ils besoin — il n’est pas; le fichier rename est a séparé étape et est le number-un raison friendly URLs break. Deuxième, personnes think OpenCart a aucun balise canonicals et rush à install a “canonical corriger” extension — mais core déjà ajoute les, et déjà handles le classic “même produit dans deux categories” problème. ne pas pay à corriger quelque chose que n’est pas broken.
Vouloir le practitioner version — le exact deux-étape SEO URL setup, le source-code proof on canonicals, le OpenCart 3-à-4 sitemap regression, et comment ajouter le schema et hreflang core est manquant? Switch à le Avancé tab.
«> TL;DR — OpenCart is self-hosted open-source PHP: a high SEO ceiling (full
Preuve à l’appui de cette affirmation OpenCart's SEO URL feature requires enabling the setting and configuring the server rewrite file. Portée : OpenCart installations using the documented Apache-style setup; server configuration can differ. Niveau de confiance : élevé · Vérifié : OpenCart documentation: SEO URL Preuve à l’appui de cette affirmation OpenCart features and bundled extensions vary by major version and should be verified against the installed release. Portée : OpenCart source repository and release-specific behavior. Niveau de confiance : élevé · Vérifié : OpenCart GitHub repositoryserver access, nothing structurally blocked) but a low floor (SEO off by default). Friendly URLs need the
Use SEO URL = Yestoggle and renaming.htaccess.txtto.htaccesswithmod_rewrite— miss either and you get 404s. Per-entity SEO keywords are manual, blank-by-default fields. Canonical tags are native on product and category pages (I checked the source) and already neutralize the multi-category duplicate-product problem, so most “install a canonical extension” advice is unnecessary. The XML sitemap is version-dependent: OpenCart 3 shipped a Google Sitemap feed, OpenCart 4 removed it and needs an extension. Structured data and hreflang are absent from core entirely. » (Traduction) (Résumé en français de la section dix-huit, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Le frame: qu’est-ce que native, qu’est-ce que a switch, qu’est-ce que an extension
La plupart OpenCart SEO contenu est soit a listicle depuis an extension vendor en utilisant le article as a pretext à sell vous a sitemap plugin, or a forum thread frozen dans an old OpenCart 1,5/2.x mindset. Le utile déplacer est différent: go straight à OpenCart’s shipped code source et sort chaque fonctionnalité dans three buckets.
Native et déjà correct: balise canonicals on produit et category pages; a
static par défaut robots.txt; store-level et per-entity meta titre/description
champs; serveur-rendu PHP/Twig sortie (crawlable out de le box).
«Native but off — you flip a switch: SEO URLs (the toggle plus the .htaccess
rename); per-product/category/page SEO keywords (manual, blank by default).
» (Traduction) (Résumé en français de la section vingt-trois, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Absent from core — extension or custom theme code: XML sitemap on OpenCart 4;
données structurées of quelconque kind; hreflang / rel=alternate tags.
Que triage est le entier article. Tout ci-dessous est qui bucket chaque chose lands dans et pourquoi.
Enabling SEO URLs — le deux-étape gotcha
Out de le box, OpenCart sert requête-string URLs. Le plateforme’s propre docs utiliser ce
exact exemple de le “avant” state: “Définir à Oui à enable friendly URLs (e.g.,
/iphone au lieu de /index.php?route=product/product&product_id=42).” Turning on
readable URLs est a deux-étape traiter, et skipping le deuxième étape est le unique
la plupart courant OpenCart SEO prise en charge modèle.
Step 1 — the setting. In System → Settings → Server, trouver Utiliser SEO URL and définir it to Yes, alors enregistrer.
Étape 2 — le serveur rewrite. OpenCart ships le rewrite règles dans a fichier named
.htaccess.txt, et Apache ne va pas lire il sous que nom. Per le docs: “Apache:
Rename htaccess.txt à .htaccess dans votre root directory et garantir
mod_rewrite est enabled.” Je confirmed OpenCart 4 encore ships le fichier as
.htaccess.txt — le shipped fichier
opens avec le literal instruction à rename il. Le docs sont blunt à propos de ce que
se produit si vous skip il: “SEO URLs exiger proper serveur rewrite configuration.
Sans il, votre friendly URLs va retourner 404 ‘Introuvable’ erreurs.”
Two choses nobody sinon flags:
- Le rename requirement est actuel, pas a legacy quirk. Older guides frame le
.htaccessrename as an OpenCart 1,5/2.x relic. Il n’est pas — c’est unchanged as de le actuel release (OpenCart 4.1.0.3). Si a guide implies newer versions auto-handle ce, c’est incorrect. - c’est an upgrade trap. Chaque major version upgrade re-ships
.htaccess.txt, qui peut silently clobber a customized.htaccessduring an mettre à jour. Back le vôtre up avant upgrading et diff il afterward.
Si a spécifique produit encore montre product_id= après les deux étapes, le usual
culprit est que le produit simplement a aucun SEO mot-clé filled dans yet — qui est le
suivant section.
SEO mots-clés — le manual, blank-par-default champ
OpenCart ne fait pas auto-slug URLs depuis produit or category noms. Chaque entity’s
mot-clé est a champ vous fill dans, mapped via OpenCart’s Clé/Valeur/Mot-clé système.
Le docs décrire a typical produit mapping: “Pour a typical produit page, vous voudrait
ont deux entries: 1. Clé: route, Valeur: product/product 2. Clé: product_id,
Valeur: 42.” Vous alors attach a mot-clé à que route/ID pair.
The rules que matter:
«- Format. “Use only lowercase characters (a-z), numbers (0-9), and hyphens (-)
or underscores (_). Use a forward slash (/) for nested paths like
electronics/phones.” Nested category paths are a manual authoring decision:
“Use forward slashes to indicate category depth (e.g., /clothing/men/shirts)” —
OpenCart won’t build the path from your category tree for you.
» (Traduction) (Résumé en français de la section trente-six, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Uniqueness. “Keywords MUST be unique for each store/language combination.”
» (Traduction) (Résumé en français de la section trente-six, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Change = break. “Changing an existing keyword will break old links. Set up
301 redirects if necessary.” Treat a slug change like any other URL change:
redirect the old one.
» (Traduction) (Résumé en français de la section trente-six, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
À catalog scale, filling ces par hand est tedious, qui est exactly pourquoi a cottage industry de auto-slug extensions exists on le OpenCart Marketplace. c’est le practical corriger — mais remarque c’est an ajouter-on, pas a core fonctionnalité. Ce est a sharper contrast que WooCommerce, Shopify, or BigCommerce, tout de qui slug automatiquement depuis le produit nom.
Balise canonicals — native, et le myth worth correcting
Ici’s le finding la plupart OpenCart SEO écrire-ups obtenir incorrect. A courant claim est que
OpenCart a aucun canonical prise en charge, donc vous doit install a canonical extension à corriger
contenu dupliqué. c’est a myth, et le code source settles il. Dans OpenCart
4’s shipped produit controller, lune page calls addLink(..., 'canonical'), et le
canonical toujours resolves à le flat product/product&product_id=X route —
regardless de qui category le visitor arrived via
(produit.php).
Le category controller fait le même on category pages
(category.php).
«What that means in practice: a product placed in multiple categories does not create Google-facing duplicate-content risk from OpenCart’s own canonical logic, because every entry path canonicalizes back to the same flat product URL. Core already solves the classic ecommerce “same product, many category URLs” problem. The visible URL can still differ by entry path in some breadcrumb/theme configurations — that’s a UX/consistency issue, not an indexing one, because the canonical tag neutralizes the ranking risk. » (Traduction) (Résumé en français de la section quarante, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Le un réel caveat: on paginated category pages, OpenCart self-references le
canonical avec &page=N appended, plutôt que consolidating à a view-tous URL. Que
se produit à line up avec Google’s propre advice — Google’s ecommerce guidance est à donner
chaque paginated page son propre canonical plutôt que pointing les tout à page un — donc
c’est a caveat à être aware de, pas an alarm. Remember que a canonical est a hint, pas
a directive; as Google puts il, “indicating a canonical preference est a hint, pas a
règle.”
XML sitemap — le OpenCart 3-à-4 regression nobody mentions
Ce is a genuinely utile, verifiable fact pour anyone auditing a recently-upgraded store, and I haven’t seen it stated anywhere sinon clearly: “Fait OpenCart have a sitemap?” nécessite a version-qualified réponse.
- OpenCart 3 shipped a native Google Sitemap feed controller dans core
(
extension/feed/google_sitemap) — a basic mais réel, toggle-on XML sitemap sous Extensions → Feed. Confirmed présent dans le 3.0.5.0 source (OpenCart 3’s actuel release). - OpenCart 4 supprimé il. Le equivalent controller ne fait pas exist à soit
plausible v4 chemin, et le old
docs.opencart.com/administration/seo/doc URL que older guides lien maintenant 404s. On OpenCart 4 vous besoin a marketplace extension à generate a sitemap.
«Most existing guides were written against OpenCart 3 and never updated, so they confidently tell you OpenCart “has a built-in sitemap” — true for 3, false for 4. Whichever version you’re on, a sitemap is worth having: as Google notes, “when creating a sitemap, you’re telling search engines about which URLs you prefer to show in search results,” though “submitting a sitemap is merely a hint.” Whatever generates yours, it should exclude filter/sort/cart/checkout parameter URLs and stay under Google’s 50,000-URL / 50 MB per-file limit (use a sitemap index above that). » (Traduction) (Résumé en français de la section quarante-cinq, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
robots.txt — a static par défaut que nécessite a manual examiner
OpenCart ships a static robots.txt dans le produit root. Son entier out-de-box job
est blocking parameterized sort/filter/pagination requête strings depuis étant exploré.
As de le actuel release (OpenCart 4.1.0.3), le shipped fichier lit:
user-agent: *
Disallow: /*?page=$
Disallow: /*&page=$
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
Disallow: /*?filter_name=
Disallow: /*&filter_name=
Disallow: /*?filter_sub_category=
Disallow: /*&filter_sub_category=
Disallow: /*?filter_description=
Disallow: /*&filter_description=
Disallow: /*?filter_group=
Disallow: /*&filter_group=«That’s a sensible default — it maps directly onto what Google flags as a classic
duplicate source, “the results of sorting and filtering functions of a category
page.” One version note worth flagging: OpenCart 3’s current release (3.0.5.0)
ships a different default — it capitalizes User-agent: properly and adds a
Disallow: /*?route=product/search / &route=product/search pair that OpenCart 4
doesn’t have, while OpenCart 4 has the filter_group rule that OpenCart 3 doesn’t.
The two defaults used to be byte-identical in older tags; they’ve since diverged, so
don’t assume your OC3 and OC4 stores share the same file — check the one you’re
actually running. Three more things to know:
» (Traduction) (Résumé en français de la section quarante-neuf, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- It doesn’t declare a sitemap. There’s no Sitemap: line shipped by default.
Once you have a sitemap URL, add one.
» (Traduction) (Résumé en français de la section cinquante, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- It’s not auto-generated or auto-updated. Enabling SEO URLs doesn’t touch it.
Audit it by hand — and remember robots.txt blocks crawling, not indexing, so
don’t rely on it to deindex anything (that’s noindex’s job, on a crawlable page).
» (Traduction) (Résumé en français de la section cinquante, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
«## Meta tags — store-level fallback plus per-entity fields » (Traduction) (Résumé en français de la section cinquante et un, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«OpenCart has meta title/description at two levels. The store-level fields (System → Settings → General) are the global fallback; the docs call the store Meta Title “(Required)… critical for SEO” and recommend a description around 160 characters. The Meta Keywords field ships too, but it’s a dead ranking signal everywhere — leave it empty. Individual products, categories, and information pages each have their own SEO tab with page-level meta fields, which is where the real work is: write unique titles and descriptions per key product and category rather than leaning on the store default. » (Traduction) (Résumé en français de la section cinquante-deux, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«## Structured data — absent from core, full stop » (Traduction) (Résumé en français de la section cinquante-trois, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«I searched OpenCart 4’s default product template for schema.org,
application/ld+json, and itemprop — zero matches. OpenCart core ships no
structured data of any kind, on any page: no Product schema with
price/availability/rating, no BreadcrumbList, no Organization, nothing. This is a
meaningfully bigger gap than WooCommerce (which outputs basic native Product JSON-LD)
or Shopify and BigCommerce (schema built into their default themes).
» (Traduction) (Résumé en français de la section cinquante-quatre, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«Everything is extension or custom-theme territory. If you want product rich results, the two eligibility paths worth knowing are Google’s Merchant Listings (feed- or markup-driven, price/availability heavy) and Product Snippets (rating/review driven) — they have different required properties, so pick the one that matches the result you’re chasing and mark up accordingly. Add it via a marketplace schema extension or hand-written JSON-LD in your theme’s product template; JSON-LD is the format Google recommends. » (Traduction) (Résumé en français de la section cinquante-cinq, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«## Multi-language and hreflang — a switcher, not hreflang tags » (Traduction) (Résumé en français de la section cinquante-sept, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Être precise ici, parce que le docs sont facile à misread. OpenCart’s multi-langue
système est a langue-switcher dropdown, pas an automatic hreflang implementation.
Je lire le shipped langue controller dans complet
(langue.php);
il construit a liste pour a <select>-style switcher, et il y a aucun hreflang or
rel=alternate lien generation anywhere dans le fichier — or anywhere dans OpenCart’s
moteur couche.
Le docs dire “OpenCart automatiquement handles le SEO technique aspects de
multi-langue URLs, mais vous doit provide le localized mots-clés.” Lire strictly,
“le technique SEO aspects” signifie generating a langue-spécifique URL variant quand vous
switch languages — pas emitting <link rel="alternate" hreflang="x"> balises dans le
<head>, qui le source confirms ne pas exist. ne pas let que sentence convince vous
OpenCart fait hreflang. Si vous exécuter a multi-langue store, réel hreflang balises besoin a
theme edit or an extension. (Le mechanics actif dans le
hreflang deep dive.)
Headless et le API — flexibility, mais SEO becomes votre problème
OpenCart fait ship a premier-party API pour building custom or headless frontends — le docs décrire il as enabling “integrations avec inventory systèmes, ERP software, mobile apps, custom frontends, et autre tiers services.” Mais là est aucun premier-party PWA/SSR produit analogous à Shopify’s Hydrogen or BigCommerce’s Catalyst. Chaque “headless OpenCart” offering est a tiers agency construire layering React or Vue on top de que API.
Le SEO takeaway: a par défaut OpenCart storefront est serveur-rendu PHP/Twig, qui est bon pour crawlability out de le box. Going headless trades que native crawlability pour developer flexibility et puts SSR/rendu correctness entirely on le agency building le frontend — OpenCart itself donne vous aucun rendu guarantees le façon a premier-party headless framework voudrait. Si vous go ce route, le JavaScript SEO règles sont le vôtre à enforce.
Le native blog (CMS → Articles)
«OpenCart 4.1.0.0, released January 2025, added a native lightweight blog/CMS — OpenCart’s own release notes list “Blog system” among that version’s additions. It lives in the admin under CMS → Articles: each entry supports rich text, images, categorization, and — relevant here — its own Meta Title, Meta Description, and Meta Keywords fields, the same per-entity SEO pattern as products and categories. It closes a real gap: OpenCart previously had no native blog, forcing users onto a separate WordPress install or a marketplace blog extension for content marketing and topical authority — the same content-platform advantage WooCommerce (native WordPress) and Shopify (native blog) always had. It’s been out for a while now, but plenty of OpenCart SEO guides still predate it or were written against OpenCart 3, so it’s still worth flagging if you haven’t checked CMS → Articles on a 4.1+ store. » (Traduction) (Résumé en français de la section soixante-quatre, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
OpenCart vs le hosted platforms — le honest version
«| | OpenCart | Shopify / BigCommerce |
|---|---|---|
| Hosting | Self-hosted, full server access | Fully hosted SaaS |
| Friendly URLs | Off by default (toggle + .htaccess rename) | On from install |
| URL slugs | Manual per entity | Auto from product name |
| Canonical tags | Native (product + category) | Native |
| XML sitemap | OC3 native / OC4 needs extension | Auto-generated |
| Structured data | None in core | In default theme |
| hreflang | None in core | Manual (BigCommerce) / app (Shopify) |
| Ceiling | Very high (real PHP/MySQL) | Capped by the platform |
» (Traduction) (Résumé en français de la section soixante-six, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
OpenCart’s story est le mirror image de le SaaS platforms: ils donner vous a strong
floor et a capped ceiling; OpenCart donne vous a faible floor et aucun ceiling. Rien est
structurally bloqué parce que vous propre le serveur — mais rien est fait pour vous soit.
Obtenir SEO URLs et le .htaccess rename correct, fill dans votre mots-clés, vérifier le
native canonicals, ajouter a sitemap (extension on OC4), tidy robots.txt, et couche on
schema et hreflang, et an OpenCart store competes avec n’importe quoi.
AI summary
A condensed prendre on the Avancé version:
«- OpenCart is a self-hosted, open-source PHP ecommerce platform — high ceiling
(full server access), low floor (SEO mostly off by default). Opposite trade-off
from Shopify/BigCommerce.
» (Traduction) (Résumé en français de la section soixante-douze, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- SEO URLs need two steps: the Use SEO URL = Yes toggle and renaming
.htaccess.txt to .htaccess with mod_rewrite. Miss either → 404s. The rename
is current (not a legacy quirk) and an upgrade trap (re-shipped each major version).
» (Traduction) (Résumé en français de la section soixante-douze, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
«- SEO keywords are manual, blank-by-default fields — no auto-slugging from the
product name. Auto-slug extensions exist because this is tedious at scale.
» (Traduction) (Résumé en français de la section soixante-douze, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Canonical tags ARE native on product and category pages (verified in source),
and the product canonical always points to the flat product_id route — so
multi-category products are already canonical-safe. Most “install a canonical
extension” advice is unnecessary. Caveat: category pagination self-canonicalizes
with &page=N.
» (Traduction) (Résumé en français de la section soixante-douze, sous-partie quatre : le texte source est conservé pour vérification lors de la relecture francophone.)
«- XML sitemap is version-dependent: OpenCart 3 shipped a Google Sitemap feed;
OpenCart 4 removed it — needs a marketplace extension.
» (Traduction) (Résumé en français de la section soixante-douze, sous-partie cinq : le texte source est conservé pour vérification lors de la relecture francophone.)
«- robots.txt ships as a static default blocking sort/filter/pagination params;
it has no Sitemap: line and isn’t auto-updated. The OpenCart 3 and OpenCart 4
defaults have diverged (different rules in each) — audit the one you actually run.
» (Traduction) (Résumé en français de la section soixante-douze, sous-partie six : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Structured data and hreflang are absent from core entirely — both extension or
custom-theme only. A bigger native gap than WooCommerce, Shopify, or BigCommerce.
» (Traduction) (Résumé en français de la section soixante-douze, sous-partie sept : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Headless: first-party API exists, but no official PWA/SSR product — crawlability
becomes the agency’s responsibility.
» (Traduction) (Résumé en français de la section soixante-douze, sous-partie huit : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Native blog (CMS → Articles): added in OpenCart 4.1.0.0 (January 2025), with
its own per-article Meta Title/Description/Keywords fields — closes the
content-marketing gap versus WooCommerce/Shopify.
» (Traduction) (Résumé en français de la section soixante-douze, sous-partie neuf : le texte source est conservé pour vérification lors de la relecture francophone.)
Documentation officielle
Primary-source docs depuis OpenCart et Google, plus le OpenCart code source le source-verified claims dans ce article sont vérifié contre.
OpenCart
- SEO URL — le deux-étape enable traiter, le
.htaccessrename, Clé/Valeur/Mot-clé mapping, mot-clé règles, et le multi-langue “technical aspects” line. - Serveur paramètres — le
Use SEO URLstoggle et son documented ugly-URL exemple. - General paramètres (meta balises) — store-level Meta Titre/Description/Mots-clés champs.
- API — le credential système pour custom/headless frontends.
OpenCart code source (GitHub — le highest-confidence source)
.htaccess.txt(v4) — ships as.htaccess.txt, avec le rename instruction dans le fichier itself.robots.txt(v4) et (v3) — le static par défaut; le deux versions’ defaults ont diverged (v4 ajoute afilter_grouprègle, v3 ajoute aproduct/searchrègle) — vérifier le un vous êtes running.- Produit controller — native
addLink(..., 'canonical')on le flat produit route. - Category controller — native canonical, avec
&page=Non pagination. - Langue controller — le dropdown switcher, avec aucun hreflang logic.
- Google Sitemap feed (v3 seulement) — présent dans OpenCart 3, supprimé dans OpenCart 4.
- Construire et submit a sitemap — pourquoi sitemaps matter, et le 50 000-URL / 50 MB limite.
- Consolidate duplicate URLs (canonicalization) — canonical as a hint, et sort/filter as a classic duplicate source.
«## Quotes from the source » (Traduction) (Résumé en français de la section quatre-vingt-deux, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«On-the-record statements from OpenCart’s own docs and Google. Each search-engine link deep-links to the quoted passage; the OpenCart-docs quotes are verbatim from the pages linked in Official Docs. » (Traduction) (Résumé en français de la section quatre-vingt-trois, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
OpenCart — SEO URLs (docs)
«- “Set to Yes to enable friendly URLs (e.g., /iphone instead of /index.php?route=product/product&product_id=42).” — the documented before/after of an unconfigured URL.
» (Traduction) (Résumé en français de la section quatre-vingt-cinq, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- “Apache: Rename htaccess.txt to .htaccess in your root directory and ensure mod_rewrite is enabled.” — the second, separate step beyond the toggle.
» (Traduction) (Résumé en français de la section quatre-vingt-cinq, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
«- “SEO URLs require proper server rewrite configuration. Without it, your friendly URLs will return 404 ‘Not Found’ errors.” — why skipping the rename breaks everything.
» (Traduction) (Résumé en français de la section quatre-vingt-cinq, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
«- “Keywords MUST be unique for each store/language combination.” and “Changing an existing keyword will break old links. Set up 301 redirects if necessary.” — the two keyword rules that cause the most trouble.
» (Traduction) (Résumé en français de la section quatre-vingt-cinq, sous-partie quatre : le texte source est conservé pour vérification lors de la relecture francophone.)
«- “OpenCart automatically handles the technical SEO aspects of multi-language URLs, but you must provide the localized keywords.” — the sentence people misread as hreflang support (it isn’t; the source has no hreflang tags).
» (Traduction) (Résumé en français de la section quatre-vingt-cinq, sous-partie cinq : le texte source est conservé pour vérification lors de la relecture francophone.)
OpenCart — API (docs)
«- “This enables integrations with inventory systems, ERP software, mobile apps, custom frontends, and other third-party services.” — the first-party API for headless builds. » (Traduction) (Résumé en français de la section quatre-vingt-sept, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Google — sitemaps and canonicalization
«- “When creating a sitemap, you’re telling search engines about which URLs you prefer to show in search results.”
Jump to quote
» (Traduction) (Résumé en français de la section quatre-vingt-neuf, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- “submitting a sitemap is merely a hint: it doesn’t guarantee that Google will download the sitemap or use the sitemap for crawling URLs on the site.”
Jump to quote
» (Traduction) (Résumé en français de la section quatre-vingt-neuf, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
«- “indicating a canonical preference is a hint, not a rule.”
Jump to quote
» (Traduction) (Résumé en français de la section quatre-vingt-neuf, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
«- “the results of sorting and filtering functions of a category page” — Google’s own example of a classic ecommerce duplicate source, exactly what OpenCart’s default robots.txt blocks.
Jump to quote
» (Traduction) (Résumé en français de la section quatre-vingt-neuf, sous-partie quatre : le texte source est conservé pour vérification lors de la relecture francophone.)
#:~:text= fragment anchors, donc ceux citations sont lié à lune page plutôt que deep-linked. Le source-code claims (canonical calls, le shipped .htaccess.txt et robots.txt, le absence de hreflang et schema) sont verified directement contre le tagged GitHub fichiers lié dans Official Docs. «## OpenCart-specific SEO audit checklist » (Traduction) (Résumé en français de la section quatre-vingt-treize, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«Ordered by impact — top items are the ones that most often break on OpenCart specifically. » (Traduction) (Résumé en français de la section quatre-vingt-quatorze, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«High impact — the OpenCart gotchas
» (Traduction) (Résumé en français de la section quatre-vingt-quinze, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- [ ] Use SEO URL set to Yes (System → Settings → Server) — otherwise every
URL is a query string.
» (Traduction) (Résumé en français de la section quatre-vingt-quinze, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
«- [ ] .htaccess.txt renamed to .htaccess with mod_rewrite enabled — the
separate step that causes “SEO URL returns 404.” Re-verify after every upgrade
(it gets re-shipped and can overwrite your file).
» (Traduction) (Résumé en français de la section quatre-vingt-quinze, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
«- [ ] SEO keywords filled in per product, category, and information page — nothing
is auto-slugged; blank keywords fall back to product_id= URLs.
» (Traduction) (Résumé en français de la section quatre-vingt-quinze, sous-partie quatre : le texte source est conservé pour vérification lors de la relecture francophone.)
«- [ ] XML sitemap present — OpenCart 3 has a native Google Sitemap toggle
(Extensions → Feed); OpenCart 4 needs a marketplace extension. Submit it in
Google Search Console and Bing Webmaster Tools.
» (Traduction) (Résumé en français de la section quatre-vingt-quinze, sous-partie cinq : le texte source est conservé pour vérification lors de la relecture francophone.)
«- [ ] Native canonicals verified — confirm product/category pages emit
rel=canonical (they should, from core); don’t install a canonical extension to
“fix” a problem core already handles.
» (Traduction) (Résumé en français de la section quatre-vingt-quinze, sous-partie six : le texte source est conservé pour vérification lors de la relecture francophone.)
«Standard setup
» (Traduction) (Résumé en français de la section quatre-vingt-seize, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- [ ] robots.txt reviewed by hand — add a Sitemap: line, confirm it still blocks
sort/filter/pagination params, and that it isn’t blocking anything you want
indexed.
» (Traduction) (Résumé en français de la section quatre-vingt-seize, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
«- [ ] Store-level meta title/description set as a fallback; leave Meta Keywords empty.
» (Traduction) (Résumé en français de la section quatre-vingt-seize, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
«- [ ] Unique page titles + meta descriptions on top products and categories (not just
the store default).
» (Traduction) (Résumé en français de la section quatre-vingt-seize, sous-partie quatre : le texte source est conservé pour vérification lors de la relecture francophone.)
«- [ ] 301 redirects planned for any SEO-keyword change (changing a keyword breaks the
old URL).
» (Traduction) (Résumé en français de la section quatre-vingt-seize, sous-partie cinq : le texte source est conservé pour vérification lors de la relecture francophone.)
«Where OpenCart ships nothing — add it » (Traduction) (Résumé en français de la section quatre-vingt-dix-sept, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- [ ] Structured data added via extension or theme JSON-LD (core ships none) — Product/Merchant Listing schema on product pages, BreadcrumbList on category pages. » (Traduction) (Résumé en français de la section quatre-vingt-dix-sept, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.) «- [ ] hreflang added via extension or theme edit if multi-language (core ships none — the language dropdown is not hreflang). » (Traduction) (Résumé en français de la section quatre-vingt-dix-sept, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.) «- [ ] If headless: SSR/rendering and crawlability verified on your custom frontend (OpenCart gives no first-party PWA/SSR guarantees). » (Traduction) (Résumé en français de la section quatre-vingt-dix-sept, sous-partie quatre : le texte source est conservé pour vérification lors de la relecture francophone.)
«## The mental models » (Traduction) (Résumé en français de la section cent, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
1. Three buckets: native / a switch / an extension.
Chaque OpenCart SEO task est soit native-et-correct (canonicals, par défaut
robots.txt, meta champs), native-mais-off (SEO URLs, SEO mots-clés), or absent depuis
core (OC4 sitemap, données structurées, hreflang). Knowing le bucket indique vous si à
vérifier il, flip il, or construire il.
2. Élevé ceiling, faible floor. OpenCart est le inverse de a SaaS plateforme. Shopify/BigCommerce donner vous a strong floor et a capped ceiling; OpenCart donne vous a faible floor et aucun ceiling (vous propre le serveur, donc rien est bloqué). Budget votre effort pour le floor — le plateforme ne va pas raise il pour vous.
3. SEO URLs = toggle × rename. Les deux sont requis; soit alone donne vous 404s. Treat il as un deux-partie gate, pas un paramètre, et re-vérifier il après chaque upgrade parce que le rename peut silently revert.
4. Vérifier avant vous extension-shop. Le OpenCart Marketplace sells corrections pour problèmes core parfois déjà solves (canonicals étant le big un). Lire le shipped behavior — or ce article — avant paying à “corriger” contenu dupliqué que native canonicals déjà handle.
5. Version-qualify le sitemap réponse. “Does OpenCart have a sitemap?” has aucun unique réponse: yes on OC3, aucun on OC4. Quelconque claim à propos de OpenCart’s built-in SEO fonctionnalités devrait carry a version, parce que OC4 quietly dropped choses OC3 had.
OpenCart SEO cheat sheet
Où choses live in the admin
| Paramètre | Chemin |
|---|---|
| Utiliser SEO URL toggle | Système → Paramètres → Serveur |
| Store-level meta balises | Système → Paramètres → General |
| Per-entity SEO mot-clé | Le produit/category/page’s propre SEO tab (or Design → SEO URL) |
| Google Sitemap feed (OC3 seulement) | Extensions → Feed → Google Sitemap |
| API credentials (headless) | Système → Utilisateurs → API |
Le deux-étape SEO URL setup
Use SEO URL→ Oui (et enregistrer).- Rename
.htaccess.txt→.htaccess, avecmod_rewriteenabled. (Skip → 404s.)
Native vs manquant — Référence rapide
| Fonctionnalité | Dans core? |
|---|---|
| Balise canonicals (produit + category) | Oui |
Par défaut robots.txt (bloque sort/filter/page) | Oui |
| Meta titre/description (store + per entity) | Oui |
| Friendly URLs | Oui, mais off (toggle + rename) |
| Auto-slug depuis nom | Aucun (manual mot-clé) |
| XML sitemap | OC3 oui / OC4 aucun |
| Données structurées / schema | Aucun |
hreflang / rel=alternate | Aucun |
Unconfigured product URL: index.php?route=product/product&product_id=42
Don’ts
- ne pas enable
Use SEO URLet arrêter — le.htaccessrename est a séparé étape. - ne pas assume
.htaccesssurvives an upgrade — il obtient re-shipped as.htaccess.txt. - ne pas install a canonical extension avant checking core déjà handles il.
- ne pas lire “handles le technique SEO aspects” as hreflang prise en charge — il n’est pas.
- ne pas confiance “OpenCart has a built-in sitemap” on OpenCart 4 — il était supprimé.
Outils pour OpenCart SEO
«- Google Search Console — submit your sitemap, use URL Inspection to confirm a
friendly URL resolves (not a 404) and that the native canonical is what you expect,
and watch Page Indexing for duplicate-URL patterns.
» (Traduction) (Résumé en français de la section cent dix-neuf, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Bing Webmaster Tools — second sitemap submission and crawl control. Bing tends
to treat a declared canonical more literally, so a bad canonical in a customized
OpenCart theme is riskier here — verify it.
» (Traduction) (Résumé en français de la section cent dix-neuf, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Screaming Frog / Ahrefs Site Audit — crawl your store to catch product_id=
URLs slipping through (keywords not filled in), redirect chains after keyword
changes, category pages missing canonicals, and whether your robots.txt is
blocking anything it shouldn’t.
» (Traduction) (Résumé en français de la section cent dix-neuf, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Rich Results Test / Schema Markup Validator — since core ships no structured
data, use these to confirm the schema you add via extension or theme code is valid
and eligible.
» (Traduction) (Résumé en français de la section cent dix-neuf, sous-partie quatre : le texte source est conservé pour vérification lors de la relecture francophone.)
«- An OpenCart sitemap extension (OC4) — required to generate a sitemap at all on
OpenCart 4; confirm current listings/pricing on the OpenCart Marketplace before
committing to one.
» (Traduction) (Résumé en français de la section cent dix-neuf, sous-partie cinq : le texte source est conservé pour vérification lors de la relecture francophone.)
«- An auto-slug extension — fills SEO keywords from product names at catalog scale,
the manual field core leaves blank.
» (Traduction) (Résumé en français de la section cent dix-neuf, sous-partie six : le texte source est conservé pour vérification lors de la relecture francophone.)
«- PageSpeed Insights / Lighthouse — OpenCart’s server-rendered output is crawlable
by default, but self-hosting means server response time is on you; benchmark it,
especially before and after going headless.
» (Traduction) (Résumé en français de la section cent dix-neuf, sous-partie sept : le texte source est conservé pour vérification lors de la relecture francophone.)
Ressources utiles
On-site, connexe
- Canonicalization — le mechanics behind OpenCart’s native produit/category canonicals et le pagination caveat.
- Faceted navigation — le plateforme-agnostic deep dive on le
sort/filter explorer problème OpenCart’s par défaut
robots.txtest trying à contrôler. - hreflang — comment ajouter le multi-langue balises OpenCart core ne fait pas emit.
- JavaScript SEO — le rendu règles que become le vôtre à enforce si vous exécuter OpenCart headless.
«OpenCart official » (Traduction) (Résumé en français de la section cent vingt-quatre, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- SEO URL docs and Server settings — the two-step enable process from both sides of the admin. » (Traduction) (Résumé en français de la section cent vingt-quatre, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.) «- OpenCart on GitHub — the shipped source; the fastest way to settle “is this native or not” for any OpenCart version. » (Traduction) (Résumé en français de la section cent vingt-quatre, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
- Construire et submit a sitemap et Canonicalization — le general guidance behind le sitemap et canonical sections ci-dessus.
Depuis autour le industry
- Numinix — Comment Améliorer OpenCart SEO — a broad practitioner tips liste (written largely contre OpenCart 3; version-vérifier son sitemap claims contre votre install).
- Webkul — Guide à Améliorer OpenCart SEO — an extension-vendor overview de le courant OpenCart SEO gaps.
- Matt Jackson — OpenCart canonicals et contenu dupliqué — le duplicate-contenu framing ce article’s canonical section pushes back on; utile à lire alongside le source-verified behavior.
- iSenseLabs — Solving le contenu dupliqué problème dans OpenCart — le multi-category duplication discussion, worth reading contre ce que le canonical controller en réalité fait.
«## OpenCart SEO mistakes worth preventing » (Traduction) (Résumé en français de la section cent vingt-neuf, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Concrete mistakes personnes en réalité faire on OpenCart, pas generic SEO advice.
Flipping “Utiliser SEO URL” et stopping là
Le mistake: Paramètre Use SEO URL à Oui dans Système → Paramètres → Serveur et
assuming friendly URLs maintenant fonctionner.
Pourquoi c’est incorrect: Le toggle seulement indique OpenCart à generate friendly URLs. Le
serveur encore nécessite mod_rewrite règles à en réalité servir les, et ceux règles ship
dans a fichier named .htaccess.txt — Apache ignores il sous que nom. Skip le rename
et chaque friendly URL 404s.
Que faire à la place: Treat le toggle et le .htaccess.txt → .htaccess
rename as un deux-partie gate. Faire les deux, alors spot-vérifier a produit URL avant moving
on. Re-vérifier après chaque major-version upgrade, since le rename obtient re-shipped
et peut silently clobber a customized .htaccess.
Installing a canonical extension to “fix” contenu dupliqué
Le mistake: Seeing a produit listed dans deux categories, assuming OpenCart a aucun canonical prise en charge, et paying pour a canonical-balise extension.
Pourquoi c’est incorrect: OpenCart’s produit et category controllers déjà appel
addLink(..., 'canonical'), et le produit canonical toujours resolves à le flat
product/product&product_id=X route regardless de entry category. Core déjà
neutralizes le classic multi-category duplicate-produit problème — le extension
corrections rien c’est en réalité broken.
Que faire à la place: Vérifier le rendu <head> (or exécuter l’URL via a
canonical checker) avant buying n’importe quoi. Spend le money on le gaps core
genuinely a — données structurées or hreflang — à la place.
Assuming OpenCart 4 has the même sitemap OpenCart 3 did
The mistake: Suivant an older guide’s claim que OpenCart “has a built-in sitemap” sans checking qui version it was written contre.
Pourquoi c’est incorrect: OpenCart 3 shipped a native Google Sitemap feed controller. OpenCart 4 supprimé il entirely — il y a aucun equivalent controller dans le shipped source. A store on OC4 que jamais ajoute a sitemap extension est silently running avec aucun XML sitemap à tout.
Que faire à la place: Confirmer votre OpenCart major version premier, et si vous êtes on 4, install a marketplace sitemap extension plutôt que assuming un exists.
Leaving SEO mots-clés blank à catalog scale
Le mistake: Enabling SEO URLs et alors jamais filling dans le per-produit SEO mot-clé champ, on le assumption OpenCart slugs il depuis le produit nom comme WooCommerce or Shopify faire.
«Why it’s wrong: OpenCart’s keyword field is manual and blank by default. A
product with no keyword filled in falls straight back to the
index.php?route=product/product&product_id=X URL, even with Use SEO URL on —
which looks like a broken setup when it’s really an empty field.
» (Traduction) (Résumé en français de la section cent quarante-cinq, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Que faire à la place: Fill mots-clés pour au moins votre top-selling produits et categories par hand, or utiliser a marketplace auto-slug extension pour catalog-wide coverage. Si vous ever modifier a mot-clé afterward, définir up a 301 redirection depuis le old slug — modification il breaks le old URL.
Reading “handles le technique SEO aspects” as hreflang prise en charge
Le mistake: Reading OpenCart’s propre line que il “automatiquement handles le SEO technique aspects de multi-langue URLs” et concluding hreflang balises sont déjà étant emitted.
Pourquoi c’est incorrect: Que sentence décrit le langue-switcher URL mechanics, pas
<link rel="alternate" hreflang="x"> balises. Le shipped langue controller construit a
dropdown liste — il y a aucun hreflang or rel=alternate generation anywhere dans
OpenCart’s moteur couche.
Que faire à la place: Si vous exécuter a multi-langue store, ajouter réel hreflang balises yourself via a theme edit or extension, et vérifier ils sont en réalité rendu — ne pas prendre le “technique SEO aspects” line as proof ils exist.
Proving votre OpenCart SEO changements en réalité took effect
Réussir/échouer vérifications pour le spécifique changements covered ci-dessus — exécuter chaque après vous faire le corresponding modifier, pas simplement une fois à launch.
Friendly URLs are en réalité resolving
Tester to run: Requête a friendly product or category URL directement — curl -I https://yourstore.com/your-product-keyword or paste it into
/outils/http-status-checker/.
Attendu résultat: HTTP/1.1 200 OK on le friendly URL itself, et le old
requête-string URL (?route=product/product&product_id=X) soit resolving or
redirecting cleanly — pas les deux erroring.
Échec interpretation: A 404 on le friendly URL signifie soit le Use SEO URL
toggle n’est pas définir, le .htaccess.txt rename n’était pas fait, or mod_rewrite n’est pas
enabled on le serveur.
Monitoring window: Immediate — vérifier correct après enabling, et à nouveau après quelconque upgrade (le rename peut obtenir silently reverted).
Rollback trigger: Si le 404 persists après re-confirming les deux étapes, définir Utiliser SEO URL back à Aucun temporarily donc le store garde fonctionnement on requête-string URLs
pendant que vous debug le serveur rewrite.
Le native canonical est présent et pointing à le correct URL
Tester to run: Reach a product via a secondary category and vérifier its canonical with /outils/canonical-checker/.
Attendu résultat: Le canonical resolves à le flat product/product&product_id=X
route, matching regardless de qui category lune page était reached via.
Échec interpretation: A manquant or incorrect canonical usually signifie a theme
customization overrode or stripped the native addLink() appel — pas que core
stopped emitting it.
Monitoring window: Immediate, and à nouveau après quelconque theme edits to product or category templates.
Rollback trigger: Si a recent theme modifier supprimé or broke the canonical, revert que spécifique theme modifier plutôt que ajout a canonical extension on top.
robots.txt encore blocks the correct choses and declares le sitemap
Tester to run: Run votre live robots.txt via
/outils/robots-txt-tester/.
Attendu résultat: Le par défaut sort/filter/pagination Disallow règles sont encore
présent, et une fois vous ont a sitemap, a Sitemap: line points à son actif URL.
Échec interpretation: A manquant Sitemap: line signifie it was jamais ajouté (it
doesn’t ship by par défaut); a rule blocking une page vous vouloir indexé signifie a manual
edit went aussi far.
Monitoring window: Immediate après quelconque robots.txt edit or restore.
Rollback trigger: Si Search Console commence showing pages vous vouloir indexé as bloqué par robots.txt, revert le offending règle.
Le sitemap validates and seulement listes ce que devrait be indexé
Tester to run: Submit votre sitemap URL to /outils/sitemap-validator/ — surtout après ajout an OpenCart 4 sitemap extension.
Attendu résultat: Valide XML, sous le 50 000-URL/50MB limite, listing seulement canonical/indexable produit et category URLs — aucun filter, cart, or checkout parameter URLs.
Échec interpretation: Invalid XML or parameter URLs in the feed signifie the extension’s configuration nécessite adjusting.
Monitoring window: Immédiatement après generation, alors periodically après grand catalog changements.
Rollback trigger: Si Recherche Google Console’s Sitemaps rapport montre erreurs or a sustained drop dans indexé-depuis-sitemap pages, disable or reconfigure le extension plutôt que leaving a broken sitemap submitted.
Ajouté données structurées is valid and eligible
Tester to run: Après ajout Product/Merchant Listing schema via extension or theme code, vérifier a product page with /outils/schema-validator/ or /outils/rich-result-eligibility/.
Attendu résultat: Valide JSON-LD avec aucun critical erreurs, et le properties requis pour le rich résultat vous êtes targeting (price/availability pour Merchant Listings, or rating/examiner pour Produit Extraits).
Échec interpretation: Syntax errors or manquant requis properties mean the extension or hand-written JSON-LD nécessite fixing avant Google va considérer it eligible.
Monitoring window: Immédiatement après ajout the markup, alors re-check après quelconque price or availability données sync.
Rollback trigger: Si Search Console’s Enhancements rapport montre a spike dans invalide éléments, pull le markup jusqu’à c’est fixed plutôt que leaving broken schema actif.
Testez vos connaissances: OpenCart SEO
Five rapide questions on how SEO fonctionne on OpenCart. Pick an réponse pour chaque, alors vérifier.
Journal des modifications
Mis à jour le 19 juil. 2026.
Résumé éditorial et détails enregistrés des changements.Détails des changements
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
Comparaison complète indisponible — aucun instantané antérieur n’a été archivé pour cette révision.