⚙️ ConfigurationIntermédiaire PS 1.6 PS 1.7 PS 8.x

Changer le nom de domaine PrestaShop : guide complet sans coupure

Guide pas à pas pour migrer votre boutique PrestaShop vers un nouveau nom de domaine sans perte de données, de SEO ni de temps d'arrêt. Apache, Nginx, base de données.

En bref : Pour changer le nom de domaine d'une boutique PrestaShop, il faut intervenir à trois niveaux : configurer le nouveau domaine sur le serveur web (Apache ou Nginx), mettre à jour les tables ps_shop_url et ps_configuration en base de données, puis mettre en place des redirections 301 depuis l'ancien domaine pour préserver le référencement.

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

Pourquoi changer de nom de domaine sur PrestaShop ?

Rebranding, rachat d'un domaine plus court, passage d'un .fr à un .com, fusion de boutiques… Les raisons de migrer votre PrestaShop vers un nouveau nom de domaine sont nombreuses. L'opération n'est pas complexe en soi, mais elle touche simultanément le serveur web, la base de données et le référencement. Une étape oubliée et c'est la page blanche — ou pire, un effondrement SEO silencieux.

Ce guide couvre la procédure complète, que vous soyez sur un serveur dédié (Apache ou Nginx) ou sur un hébergement mutualisé.

Étape 1 — Préparer la migration

Sauvegarde intégrale

Avant toute manipulation :


# Sauvegarde des fichiers
tar -czf /backup/prestashop_$(date +%Y%m%d).tar.gz /var/www/html/monsite.com/

# Sauvegarde de la base de données
mysqldump -u root -p prestashop_db > /backup/prestashop_db_$(date +%Y%m%d).sql

Conservez ces archives en dehors du serveur (S3, disque local, etc.). En cas de problème, vous pourrez restaurer l'état initial en quelques minutes.

Vérifier les prérequis DNS

Avant de toucher au serveur, configurez les enregistrements DNS du nouveau domaine chez votre registrar :

TypeNomValeurTTL Anouveaudomaine.comIP_DU_SERVEUR300 CNAMEwwwnouveaudomaine.com300

Réduisez le TTL à 300 secondes (5 minutes) quelques jours avant la migration. La propagation DNS peut prendre jusqu'à 48 heures, mais un TTL court accélère la bascule.

Étape 2 — Configurer le serveur web

Option A : Apache (serveur dédié / VPS)

Sur une distribution Debian/Ubuntu, créez un nouveau VirtualHost :


sudo nano /etc/apache2/sites-available/nouveaudomaine.com.conf

Contenu du fichier :


<VirtualHost *:80>
    ServerAdmin admin@nouveaudomaine.com
    ServerName nouveaudomaine.com
    ServerAlias www.nouveaudomaine.com
    DocumentRoot /var/www/html/nouveaudomaine.com/prestashop

    <Directory /var/www/html/nouveaudomaine.com/prestashop>
        Options -Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/nouveaudomaine_error.log
    CustomLog ${APACHE_LOG_DIR}/nouveaudomaine_access.log combined
</VirtualHost>

Activez le site et rechargez Apache :


sudo a2ensite nouveaudomaine.com.conf
sudo apache2ctl configtest
sudo systemctl reload apache2

Point important : utilisez reload et non restart. Le reload applique la configuration sans couper les connexions en cours.

Si vos fichiers PrestaShop restent au même emplacement physique sur le disque, adaptez simplement le DocumentRoot vers le dossier existant. Il n'est pas nécessaire de déplacer les fichiers.

Option B : Nginx

Sur les infrastructures modernes (et c'est la configuration que je recommande en 2026), Nginx est souvent préféré :


server {
    listen 80;
    server_name nouveaudomaine.com www.nouveaudomaine.com;
    root /var/www/html/nouveaudomaine.com/prestashop;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff2|svg)$ {
        expires 30d;
        access_log off;
    }
}

sudo nginx -t
sudo systemctl reload nginx

Option C : Hébergement mutualisé

Sur un hébergement mutualisé (OVH, o2switch, Infomaniak…), vous n'avez pas d'accès SSH au VirtualHost. La procédure est différente :

  1. Ajoutez le nouveau domaine dans le panel d'administration de l'hébergeur
  2. Pointez-le vers le répertoire de votre PrestaShop
  3. L'hébergeur génère automatiquement la configuration serveur
  4. Étape 3 — Mettre à jour la base de données PrestaShop

    C'est l'étape la plus critique. PrestaShop stocke l'URL de la boutique en base de données dans la table ps_shop_url.

    Via le back-office (méthode recommandée)

    PrestaShop 8.x : Rendez-vous dans Paramètres de la boutique → Trafic & SEO → section « URL de la boutique ».

    Modifiez :

    • **Domaine** : `nouveaudomaine.com`
    • **Domaine SSL** : `nouveaudomaine.com`

    PrestaShop 1.6 / 1.7 : Le chemin est Préférences → SEO & URLs.

    Via SQL (si le back-office est inaccessible)

    Si le changement de domaine rend le back-office inaccessible (boucle de redirection, page blanche), intervenez directement en base :

    
    -- Mettre à jour l'URL principale
    UPDATE ps_shop_url
    SET domain = 'nouveaudomaine.com',
        domain_ssl = 'nouveaudomaine.com'
    WHERE main = 1;
    
    -- Vérifier les valeurs de configuration associées
    UPDATE ps_configuration
    SET value = 'nouveaudomaine.com'
    WHERE name IN ('PS_SHOP_DOMAIN', 'PS_SHOP_DOMAIN_SSL');
    

    Attention au préfixe des tables : remplacez ps_ par votre préfixe réel si vous l'avez personnalisé à l'installation.

    Mettre à jour le fichier parameters.php

    Sur PrestaShop 8.x, vérifiez le fichier app/config/parameters.php. Sur les versions 1.6, c'est config/settings.inc.php :

    
    // PrestaShop 8.x — app/config/parameters.php
    'ps_shop_domain' => 'nouveaudomaine.com',
    'ps_shop_domain_ssl' => 'nouveaudomaine.com',
    

    Étape 4 — Vider tous les caches

    PrestaShop met en cache de nombreux éléments qui contiennent l'ancien domaine :

    
    # Supprimer le cache Smarty
    rm -rf var/cache/prod/*
    rm -rf var/cache/dev/*
    
    # Pour PrestaShop 1.6
    rm -rf cache/smarty/compile/*
    rm -rf cache/smarty/cache/*
    

    Dans le back-office : Paramètres avancés → Performances → Vider le cache.

    Étape 5 — Activer le HTTPS sur le nouveau domaine

    Avec Let's Encrypt et Certbot, l'obtention d'un certificat SSL est gratuite et automatique :

    
    # Apache
    sudo certbot --apache -d nouveaudomaine.com -d www.nouveaudomaine.com
    
    # Nginx
    sudo certbot --nginx -d nouveaudomaine.com -d www.nouveaudomaine.com
    

    Puis dans le back-office PrestaShop, activez « Activer le SSL » et « Forcer le SSL sur toutes les pages » dans Paramètres de la boutique → Général.

    Étape 6 — Redirections 301 depuis l'ancien domaine

    C'est la clé pour préserver votre référencement. Chaque URL de l'ancien domaine doit rediriger en 301 vers son équivalent sur le nouveau.

    .htaccess (Apache)

    
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^(www\.)?anciendomaine\.com$ [NC]
    RewriteRule ^(.*)$ https://nouveaudomaine.com/$1 [R=301,L]
    

    Bloc Nginx

    
    server {
        listen 80;
        listen 443 ssl;
        server_name anciendomaine.com www.anciendomaine.com;
    
        ssl_certificate /etc/letsencrypt/live/anciendomaine.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/anciendomaine.com/privkey.pem;
    
        return 301 https://nouveaudomaine.com$request_uri;
    }
    

    Conservez l'ancien domaine et ses redirections pendant au moins 12 mois. Google a besoin de temps pour indexer les nouvelles URLs.

    Étape 7 — Vérifications post-migration

    Une checklist rigoureuse après la bascule :

    
    # Vérifier que le nouveau domaine répond
    curl -I https://nouveaudomaine.com
    # Attendu : HTTP/2 200
    
    # Vérifier la redirection 301 depuis l'ancien domaine
    curl -I https://anciendomaine.com
    # Attendu : HTTP/1.1 301 Moved Permanently
    # Location: https://nouveaudomaine.com/
    
    # Vérifier le back-office
    curl -I https://nouveaudomaine.com/admin-dev/
    

    Points à contrôler manuellement :

    • Les images produit s'affichent correctement (pas de liens cassés vers l'ancien domaine)
    • Le panier et le tunnel de commande fonctionnent
    • Les modules de paiement sont opérationnels (certains sont liés au domaine)
    • Les emails transactionnels contiennent le nouveau domaine
    • Le sitemap XML pointe vers les nouvelles URLs

    Étape 8 — Mettre à jour les outils externes

    Dernière étape, souvent oubliée :

    • **Google Search Console :** ajoutez le nouveau domaine comme propriété et utilisez l'outil de changement d'adresse
    • **Google Analytics / GA4 :** mettez à jour l'URL du flux de données
    • **Google Merchant Center :** si vous faites du Shopping, mettez à jour l'URL de la boutique
    • **Réseaux sociaux :** mettez à jour les liens dans vos profils
    • **Modules de paiement :** Stripe, PayPal et autres vérifient souvent le domaine — reconfigurez les webhooks

    Erreurs fréquentes à éviter

    ErreurConséquenceSolution Oublier `ps_shop_url` en basePage blanche ou boucle de redirectionMise à jour SQL directe Ne pas vider le cacheAncien domaine dans les liens CSS/JS`rm -rf var/cache/*` Pas de redirection 301Perte de référencement brutal`.htaccess` ou bloc Nginx dédié Oublier le domaine SSLMixed content, cadenas absentMettre à jour `domain_ssl` en base Ne pas renouveler l'ancien domaineRedirections 301 casséesGarder l'ancien domaine 12+ mois
#nom de domaine #migration #apache #nginx #configuration serveur #DNS #SEO

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.