🔍 SEOIntermédiaire PS 1.6 PS 1.7 PS 8.x

URLs 404 avec double domaine dans PrestaShop : diagnostic et correction

Résolvez les erreurs 404 avec URLs dupliquées dans PrestaShop. Diagnostic catégorie par défaut, régénération .htaccess et balise canonical correcte.

En bref : Les URLs 404 avec nom de domaine dupliqué dans PrestaShop proviennent généralement de produits ayant la catégorie « Accueil » comme catégorie par défaut. La correction passe par la réaffectation des catégories, la régénération du .htaccess et l'implémentation de balises canonical robustes.

Publié le 21 mars 2026 6 min de lecture Alexandre Carette

Comprendre le problème : des URLs 404 avec un nom de domaine dupliqué

Vous découvrez dans Google Search Console des URLs indexées au format https://monsite.com/https://monsite.com/ma-categorie/mon-produit.html — le domaine apparaît deux fois, générant des erreurs 404 en masse. Ce problème, fréquent sur PrestaShop, a des causes bien identifiées et des solutions fiables.

Ce type d'anomalie dégrade votre référencement de plusieurs façons : budget de crawl gaspillé, dilution du jus SEO, et signaux négatifs envoyés à Google sur la qualité technique de votre site.

Cause principale : la catégorie par défaut mal configurée

Dans 90 % des cas, ces URLs aberrantes proviennent d'une mauvaise affectation de la catégorie par défaut des produits. Quand un produit a pour catégorie par défaut la catégorie « Accueil » (ID 2 dans PrestaShop), le système génère des URLs malformées car la catégorie racine n'a pas vocation à apparaître dans la structure d'URL.

Vérifier et corriger les catégories par défaut

Sur PrestaShop 8.x :

  1. Allez dans **Catalogue > Produits**
  2. Éditez chaque produit concerné
  3. Dans l'onglet **Catégories**, vérifiez que la « Catégorie par défaut » est bien une catégorie de niveau inférieur, jamais « Accueil »
  4. Enregistrez
  5. En masse via SQL (PrestaShop 8.x) :

    
    -- Identifier les produits dont la catégorie par défaut est "Accueil" (id_category = 2)
    SELECT p.id_product, pl.name, p.id_category_default
    FROM ps_product p
    JOIN ps_product_lang pl ON p.id_product = pl.id_product AND pl.id_lang = 1
    WHERE p.id_category_default = 2;
    

    Si des produits sont listés, corrigez leur catégorie par défaut manuellement ou par SQL :

    
    -- Exemple : réaffecter à la catégorie 15 (adaptez à votre arborescence)
    UPDATE ps_product
    SET id_category_default = 15
    WHERE id_product IN (SELECT id_product FROM (...) AS tmp);
    

    Attention multiboutique : Si votre installation fonctionne en mode multiboutique, les catégories racine diffèrent par boutique. La catégorie « Accueil » peut avoir un ID différent selon le contexte boutique, ce qui complique le diagnostic. Vérifiez la table ps_category_shop pour identifier la racine de chaque boutique.

    Régénérer le fichier .htaccess

    Une fois les catégories corrigées, il faut régénérer le .htaccess pour que les règles de réécriture d'URL reflètent la nouvelle structure.

    Procédure sur PrestaShop 8.x

    1. Allez dans **Paramètres de la boutique > Trafic & SEO**
    2. Dans la section « Configuration des URL », passez **« URL simplifiée »** sur **Non**
    3. Cliquez sur **Enregistrer**
    4. Repassez **« URL simplifiée »** sur **Oui**
    5. Cliquez à nouveau sur **Enregistrer**
    6. Cette manipulation force PrestaShop à réécrire intégralement le fichier .htaccess avec les règles de redirection à jour. C'est une opération sans risque mais qui doit être faite sur un site en fonctionnement (pas en maintenance).

      Vérification manuelle du .htaccess

      Après régénération, vérifiez que le fichier .htaccess à la racine contient bien les RewriteRule attendues :

      
      # Exemple de règles générées par PrestaShop
      RewriteEngine On
      RewriteRule . - [E=REWRITEBASE:/]
      RewriteRule ^api(?:/(.*))?$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]
      
      # Les règles de réécriture pour les URLs simplifiées
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^(.*)$ index.php [L]
      

      Si le fichier est vide ou contient des règles corrompues, la régénération via le back-office est le moyen le plus sûr de le restaurer.

      Implémenter la balise canonical correctement

      Même après correction des URLs, Google peut mettre des semaines à nettoyer son index. Pour accélérer le processus et éviter toute récidive, il est essentiel d'implémenter une balise canonical robuste sur toutes les pages.

      Sur PrestaShop 8.x (natif)

      Depuis PrestaShop 1.7.6+, la gestion des canonicals est intégrée nativement. Vérifiez dans Paramètres de la boutique > Trafic & SEO que l'option est bien activée.

      Solution Smarty personnalisée (PrestaShop 1.6)

      Pour les versions antérieures ou si vous avez besoin d'un contrôle fin, voici une implémentation Smarty robuste à placer dans votre header.tpl :

      
      {* Gestion canonical selon le type de page *}
      {if $page_name == 'index'}
          <link rel="canonical" href="{$base_dir}" />
      {elseif $page_name == 'product'}
          <link rel="canonical" href="{$link->getProductLink($product)}" />
      {elseif $page_name == 'category'}
          <link rel="canonical" href="{$link->getCategoryLink($category)}" />
      {else}
          <link rel="canonical" href="{$base_dir}{$request_uri|ltrim:'/'|regex_replace:'/[\?#].*/':''}" />
      {/if}
      

      Points techniques importants :

      • **Page d'accueil :** Le canonical doit pointer vers `{$base_dir}` sans paramètres
      • **Pages produit :** Utilisez `{$link->getProductLink()}` plutôt que de construire l'URL manuellement — cette méthode respecte la configuration multilingue et multiboutique
      • **Pages catégorie :** Même logique avec `{$link->getCategoryLink()}`
      • **Autres pages :** On nettoie les paramètres GET et les ancres pour obtenir une URL propre

      Bonne pratique PrestaShop 8.x : Préférez les hooks et modules aux modifications de thème. Créez un module qui se greffe sur displayHeader pour injecter vos canonicals personnalisés. Cela survit aux mises à jour du thème.

      Analyser l'origine des URLs fantômes dans Google

      Avant de corriger, il est crucial de comprendre d'où viennent ces URLs malformées. Dans Google Search Console :

      1. Allez dans **Pages > Non indexées** ou **Couverture**
      2. Cliquez sur une URL 404 problématique
      3. Consultez l'onglet **« Référencé sur »** — il indique les pages qui contiennent un lien vers cette URL cassée
      4. Cette information est précieuse car elle révèle souvent :

        • Un **sitemap.xml** contenant des URLs malformées (à régénérer)
        • Des **liens internes** dans des pages CMS ou des widgets
        • Un **backlink externe** pointant vers une ancienne URL
        • Un **cache Google** qui indexe encore une version corrompue du sitemap

        Régénérer le sitemap

        
        # Supprimer les sitemaps existants
        rm -f sitemap.xml sitemap-*.xml
        
        # Régénérer via le back-office :
        # Paramètres de la boutique > Trafic & SEO > Génération du fichier sitemap
        

        Sur PrestaShop 8.x, le module gsitemap gère cette génération. Vérifiez que les URLs générées dans le sitemap sont correctes avant de le soumettre à Google.

        Checklist de résolution complète

        1. **Diagnostic** — Lister toutes les URLs 404 dans Search Console et identifier leur source (onglet « Référencé sur »)
        2. **Catégories** — Vérifier qu'aucun produit n'a « Accueil » comme catégorie par défaut
        3. **Multiboutique** — Si activé, vérifier la cohérence des catégories racine par boutique
        4. **Régénération .htaccess** — Basculer URL simplifiée OFF/ON
        5. **Canonical** — Vérifier la présence et la justesse des balises canonical sur chaque type de page
        6. **Sitemap** — Régénérer et vérifier l'absence d'URLs malformées
        7. **Redirections 301** — Créer des redirections pour les URLs indexées qui n'existent plus
        8. **Suivi** — Surveiller Search Console pendant 4 à 6 semaines pour confirmer la disparition des 404
#erreur-404 #url-rewriting #canonical #htaccess #categories #seo-technique

Questions fréquentes

Tout ce que vous devez savoir sur ce sujet.

Un projet PrestaShop ?

Discutons-en directement.

★★★★★

193 projets livrés

Gratuit & sans engagement — réponse sous 24h

Alexandre Carette

Alexandre Carette

Expert PrestaShop & Architecture E-commerce

Développeur PrestaShop depuis 2014, 193 projets livrés. Je conçois des architectures headless Nuxt + PrestaShop et des outils d'automatisation IA pour les e-commerçants.