Comment modifier le chemin d'accès d'un sous-domaine ou domaine additionnel sur CPanel Imprimer

  • 0

Dans la lignée de notre article sur le déplacement de domaine principal dans votre arborescence de fichiers (voir ici), voici aujourd'hui un tuto sur comment déplacer le dossier d'un sous-domaine ou domaine additionnel.

L'intérêt peut être multiple comme le fait de réorganiser l'arborescence ou encore le renommage d'un projet.
Dans notre cas, le déplacement à pour but d'éviter du duplicate content et nécessite donc un déplacement au niveau racine.

 

 

Avant d'expliquer techniquement, revenons rapidement sur le duplicate content même si nom est plutôt parlant. Il s'agit du fait d'avoir deux pages avec le même contenu. Votre référencement SEO ne sera que meilleur sans ce genre d'anomalies rendant votre contenu moins qualitatif. De plus, Google mise énormément sur l'expérience utilisateur et celle-ci ne risque pas d'être bonne s'il se perd dans votre site web a cause de pages en doublon ..

 

Techniquement, pour faire simple votre arborescence Cpanel a une structure de répertoire comme suit :

  • home/user/public_html => Pointant vers le domaine principal
  • home/user/public_html/website1 => Pointant vers le site web 1
  • home/user/public_html/website2 => Pointant vers le site web 2
  • home/user/www => Etant un alias de public_html

 

Website 1 et 2 peuvent être des sous domaines comme des domaines additionnels. Quelque soit le cas la problématique existera.

Dans votre arborescence vous avez au même niveau que le /public_html/ un alias /www/ qui pointe vers celui-ci de façon à vous permettre aisément de basculer votre site en www.domain.tld (Au passage, comme pour http et https, pensez à rediriger l'un vers l'autre pour éviter tout duplicate).

Imaginons que website1 est un sous domaine de domain.tld. Son adresse est donc website1.domain.tld. Le problème avec l'alias www fonctionnement sur la totalité du public_html c'est qu'il embarque les dossiers appartenant aux sous-domaines et domains additionnels.

 

Votre sous domaine (ex. website1.domain.tld/) est donc également accessible via www.domain.tld/website1 faisant doublon avec votre adresse souhaitée.

 

Bien évidemment nous pourrions rajouter des redirections 301 du type :

  • www.domain.tld/website1/* vers website1.domain.tld/*

 

ou dans le cas d'un domaine additionnel :

  • www.domain.tld/website2/* vers website2.tld/*

 

A savoir que cette solution possède des défaut car elle favorise la congestion .htaccess et l'empilement de redirections qui n'est pas très apprécié par Google. Voici un exemple d'un cas mal géré :

  • http://domain.tld/website1/index.php -> http://www.domain.tld/website1/index.php
    • redirection 301 du domaine principal vers le www.
  • http://www.domain.tld/website1/index.php -> https://www.domain.tld/website1/index.php
    • redirection 301 du domaine principal vers le https.
  • https://www.domain.tld/website1/index.php -> https://website1.domain.tld/index.php
    • redirection 301 du sous-domaine vers l'url souhaitée.

 

Une autre solution simple est donc simplement de remonter vos (sous-)domaines tiers dans l'arborescence, et donc avant le /public_html dans votre /home/user/*

 

Pour se faire, prenez déjà quelques précautions :

  1. Si vous utilisez un CMS, voyez avec la procédure si celle-ci est spécifique (ex. variable path indiquée dans un config.php, license associé au path, ...)
  2. Vérifier votre error_log et corrigez les erreurs actuelles si nécessaire. Il faudra également le vérifier post-migration pour vérifier que tout va bien.
  3. Voir avec votre hébergeur ou votre sysadmin s'il est possible de remonter au delà du /public_html
  4. Effectuer un Backup complet de l'arborescence et de la base de données.
  5. Mettre en maintenance votre site web pour éviter pour mouvement de fichiers et/ou dans la base de données le temps de l'intervention.

 

Notre tutoriel vous montrera les grandes lignes mais nous pourra s'appliquer à tous les cas d'usages. Il sera d'ailleurs orienté vers les clients utilisant l'environnement Cpanel.

 

1 - Backup et changement de chemin

 

Sur Cpanel, effectuez donc un backup

 

Vérifier, si vous avez accès à la partie WHM, que le tweak setting 'Restrict document roots to public_html' est bien sur 'off'.

 

2 - Modification du chemin

Si des changements sont à effectuer côté CMS, pensez à le faire en premier car vous perdrez la main une fois les fichiers déplacés.

 

Modifiez donc, sur Cpanel, le path / chemin associé à votre domaine

 

Si nécessaire, modifiez la variable pouvant être enregistré côté configuration du site

 

3 - Déplacement des fichiers

Deux méthodes, soit via CPanel ou en commande SSH selon vos accès.

 

a. Via cpanel, simplement effectuer un 'move' du dossier vers l'emplacement désiré

 

b. en SSH, vous aurez le choix entre mv pour déplacer ou cp pour copier. de notre côté nous avons opté pour le mv puisque nous avions un backup.

$ cd /home/user/
$ mkdir datafolder # création du dossier
$ chown user:user datafolder # attribution des droits utilisateur
$ mv /home/user/public_html/datafolder/* /home/user/datafolder #Déplacement des fichiers et sous dossiers
$ rm /home/user/public_html/datafolder # pour supprimer le dossier vide

 

4 - Vérifications

Vérifiez donc que votre site web est de nouveau accessible. En cas d'erreur cela peut venir d'une configuration à spécifier côté CMS ou encore un fichier manquant (vérifier logs de sorti du mv) ou encore un .htaccess en défaut.
Le fichier error_log vous sera d'une grande aide pour comprendre le comportement du site web.

 

l'url que vous souhaitiez corrigé doit donc ne plus exister, voir encore mieux, rediriger vers une page 404

 

5 - Le cas de l'alias mail

Comme pour votre alias 'www.' Cpanel configure une entrée CNAME (vers votredomaine.com) pour mail.votredomaine.com ce qui le rend accessible avec le contenu du site principal. Il est donc primordial de modifier cela afin de rendre indépendant ce sous-domaine.

 

Pour se faire, il vous faudra modifier les fichiers de configuration apache et caches associés afin de retirer cet alias et également supprimer l'entrée DNS avant enfin de créer un sous-domaine 'mail.votredomaine.com'

 

  • Retirer l'entrée 'mail.votredomaine.com' des fichiers : 
    • /var/cpanel/userdata/$username/$domain.com
    • /var/cpanel/userdata/$username/$domain.com_SSL
  • Supprimer les fichiers de cache :
    • /var/cpanel/userdata/$username/$domain.com.cache
    • /var/cpanel/userdata/$username/$domain.com_SSL.cache
  • Reconstruire la configuration Apache via la commande :
    • /scripts/rebuildhttpdconf
  • Supprimer l'entrée DNS 'mail.votredomaine.com' dans votre zone DNS
  • Créer un sous-domaine 'mail.votredomaine.com' avec comme chemin /home/$username/mail afin de récupérer/garder le contenu des boites mails associées.

 

Vous pouvez ensuite y définir un index ou encore mettre en place une redirection (301) vers votre site principal.

 

5.1 - Le cas Cloudflare

 

En cas de gestion DNS par un CDN, il faut savoir que CloudFlare ne gérera pas les protocoles de messagerie. Quelques modifications sont donc à apporter en cas d'import de configuration depuis Cpanel.

Par défaut, CPanel génère une entrée 'CNAME' pour 'mail.votredomaine.com' qu'il faudra modifier en entrée 'A' sans activer Cloudflare sur celle-ci. L'entrée 'MX' celle devra ensuite pointer vers cette adresse 'mail.votredomaine.com'.

 

Sachez que sans cette configuration particulière, cela restera fonctionnel mais Cloudflare créera une entrée supplémentaire nommée avec une entrée du type 'dc-xxxxxxxxx.votredomaine.com' afin de gérer les protocoles de messageries et cela créera également du contenu dupliquée.

 

6 - Annexe : Nettoyer les SERPs et éviter les doublons grâce à la meta canonical

 

Vous pouvez utiliser l'outil de suppression de recherche Google pour supprimer le contenu dupliqué (vérifiez également qu'aucun lien ne pointe vers ces adresses) et également définir une adresse canonique afin de montrer aux moteurs de recherches les URL que vous souhaitez mettre en exergue.


Ex. d'entrée :

<link rel=”canonical” href=”http://votredomaine.fr/index.html” />




Cette réponse était-elle pertinente?

« Retour