web-dev-qa-db-fra.com

Adresse IP de domaine pour www et non-www pour URL canonique

Pour gérer l'URL canonique, est-il préférable de faire une redirection 301 ou mieux d'avoir la même adresse IP pour les domaines www et non www?

Par exemple:

L'URL canonique/le domaine recherché est http://mydomain.com

Domain           | A Record
------------------------------------
mydomain.com     | 58.162.62.34
www.mydomain.com | 58.162.62.34

Je comprends que les gens peuvent avoir un enregistrement CNAME pour www (alias, étant donné que CNAME est appelé nom canonique); Je ne sais pas si c'est la meilleure pratique par rapport à l'utilisation de la même adresse IP.

Ou est-ce mieux?.

Domain           | A Record
------------------------------------
mydomain.com     | 58.162.62.34
*  www.mydomain.com 301 redirect to mydomain.com
46
Wasabi Developer

Les mécanismes que vous décrivez (A et CNAME records vs. 301 redirections) font partie de deux protocoles différents (DNS et HTTP). Les enregistrements A et CNAME n'ont aucun rapport avec le site utilisé par votre serveur HTTP pour différentes requêtes.

Regardons deux configurations DNS différentes:

Configuration 1 (enregistrement CNAME)

Host             | Type  | Data
-----------------+-------+-------------
mydomain.com     | A     | 58.162.62.34
www.mydomain.com | CNAME | mydomain.com
  • nslookup mydomain.com résout en 58.162.62.34
  • nslookup www.mydomain.com résout en 58.162.62.34

Configuration 2 (enregistrements A)

Host             | Type  | Data
-----------------+-------+-------------
mydomain.com     | A     | 58.162.62.34
www.mydomain.com | A     | 58.162.62.34
  • nslookup mydomain.com résout en 58.162.62.34
  • nslookup www.mydomain.com résout en 58.162.62.34

Dans les deux cas, votre domaine canonique et votre sous-domaine www se résolvent en 58.162.62.34. Cependant, la seule chose que votre serveur HTTP reconnaîtra, c’est qu’il reçoit des demandes à la fois mydomain.com et www.mydomain.com sur la même adresse IP. Mais il ne sait pas si vous avez utilisé A ou CNAME enregistrements pour cela.

TL; DR

Vous devez utiliser les redirections HTTP 301 pour appliquer le code canonique mydomain.com dans les requêtes HTTP. Mais cela n'a rien à voir avec votre configuration DNS.

122
PoByBolek

Vous pouvez essayer redirect.center . Ses domaines de redirection utilisant uniquement DNS.
Il remplira donc vos configurations DNS:

Domain           | A Record
------------------------------------
mydomain.com     | 58.162.62.34
*  www.mydomain.com 301 redirect to mydomain.com

définissez votre dossier DNS sur:

CNAME | www | mydomain.com.opts-https.redirect.center

Remarque:
Le .opts-https. paramètre redirige vers https domaine
Si vous utilisez uniquement http domaine, utilisez .opts-uri.

5
Chetabahana

Dans le DNS, l'enregistrement de nom canonique pointe vers "une seule entrée DNS vraie". Le résultat final est que DNSName1 a la même adresse IP que DNSName2.

La compréhension est compliquée par le fait que le CNAME n'est pas le nom canonique. L'enregistrement CName pointe vers le nom canonique. (Le nom canonique est l'enregistrement A).

Lien canonique: pour les moteurs de recherche, le lien canonique dans l'en-tête HTML d'une page spécifie la "une vraie page". Vous pouvez accéder à plusieurs pages, mais vous utilisez le lien canonique pour indiquer au moteur de recherche que cette page est identique à l'autre. Cela rend le moteur de recherche heureux que vous ne jouiez pas au système en prétendant fournir plus de contenu s'il ne s'agit que d'une duplication. Il ne l'indexe qu'une fois.

301 (http) redirections: Pour les moteurs de recherche, cela signifie que la page x est remplacée par la page y et que tout le classement de la recherche peut être transféré vers la page y. S'il s'agit d'une normalisation "esthétique" des noms de domaine, elle indique également au moteur de recherche de n'indexer qu'une page et constitue à nouveau un moyen de montrer que vous n'essayez pas de tromper le moteur de recherche.

1
PeterO