web-dev-qa-db-fra.com

La redirection de http vers https à l'aide de RewriteEngine préserve-t-elle l'équité des liens sur mon site?

Exécution d’un serveur Web Apache, si j’utilise un fichier .htaccess pour rediriger tout mon trafic http:// vers https://, à l’aide de quelque chose comme:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_Host}%{REQUEST_URI} [L,R=301]

cela préservera-t-il tous mes "liens" depuis Google considère que mon site http est différent de mon site https? Est-il plus sûr et/ou plus précis de mettre en œuvre 301 redirections?

De plus, sur un site Wordpress, le référencement dans les paramètres généraux de HTTP à HTTPS et le maintien du lien sont-ils sécurisés pour le site Web?

2
Talk Nerdy To Me

301 Impact

Pour répondre à votre question principale sur la perte de Juice, oui, vous en perdez un peu. Le problème est que tous les liens externes utiliseront HTTP pour votre site et maintenant tous ces liens comprendront un 301 ...

Un site externe contient un lien vers l'une de mes pages: http://my.website.example.com/this-page. Google trouve cette page sur ce site et enregistre ce lien. À un moment donné, l'araignée GoogleBot décide de suivre ce lien, elle reçoit un 301. Enregistrez la destination de ce 301 et ajoutez une petite pénalité à ce lien à cause de cela. Pourtant, plus tard, il vérifie la destination 301 et trouve ma page. Cette fois, cela a fonctionné comme prévu l'araignée a eu une page. L'araignée attribue ce jus de liaison en retour à ce classement de page, mais avec cette petite pénalité en raison de la 301.

Donc, dans votre scénario actuel, vous seriez frappé par la petite pénalité de 301. Si vous avez un grand site avec de nombreux liens externes pointant vers votre site, vous remarquerez certainement un impact. Si vous avez un petit site avec seulement quelques liens externes et quelques visites par mois (moins de 100 000 par mois), vous ne remarquerez rien. Si vous avez un grand site avec des millions de visites, vous remarquerez probablement un petit changement.

La façon dont les grands sites le font est par:

  1. Avoir les deux versions fonctionnant simultanément,
  2. Veillez à ce que Google Console connaisse les deux versions et la version préférée (c'est-à-dire HTTPS dans votre cas).
  3. 301 redirige les pages nouvellement créées - en d'autres termes, ne créez jamais de pages supplémentaires réservées à HTTP uniquement après le basculement (je ne sais pas si WordPress aurait cette capacité?)
  4. Assurez-vous que les anciennes pages du site Web HTTP affichent maintenant "https://www.example.com/..." dans leur URL canonique.
  5. Corrigez toutes les URL internes qui incluent le protocole (http:...) pour utiliser maintenant le nouveau protocole (https:...) - pour cela, WordPress dispose de plugins qui vous aideront lors de la conversion de votre site. de HTTP à HTTPS.

Je ne pense pas que WordPress vous permette de faire tout cela sans beaucoup de travail. Comme Google, WordPress considère les deux versions du site comme deux sites Web distincts et ne fonctionnerait donc probablement pas correctement de toute façon. Donc, vraiment, je sauterais dessus. À moins d'avoir un site Web à un million de dollars, cela ne vaut probablement pas la peine (de surcroît, des coûts supplémentaires) de toute façon.


A propos de la redirection

Si vous pouvez modifier le fichier .conf au lieu de .htaccess, vous pouvez ajouter cette redirection vers votre VirtualHost. Cela vous permet de supprimer le RewriteCond %{HTTPS} off.

<VirtualHost *:80>
  ServerName example.com
  ServerAlias www.example.com
  ...other parameters...

  RewriteEngine On
  RewriteRule (.*) https://example.com/\1 [L,R=301]
</Virtual>

Ici, je redirige tout vers https://example.com/ en gardant le chemin intact.

Notez que j'ai supprimé les ^ et $ car ils ne sont pas nécessaires. .* lui-même correspond au chemin complet du début à la fin. Je pense qu'il est également plus logique d'utiliser \1 (et c'est pourquoi vous avez la parenthèse!) Puisque vous venez d'analyser cela avec le .*.

De mon côté, j'ai aussi commencé à utiliser la version prolixe du indicateurs RewriteRule pour clarifier les choses dans mon code Apache:

[last,redirect=permanent]

Je ne le montre pas ci-dessus, mais si vous voulez conserver la chaîne de requête, vous avez également besoin du qsappend:

 RewriteRule (.*) https://example.com/\1 [last,redirect=permanent,qsappend]

De cette façon, http://www.example.com/?page=3 fonctionnera également. Sans la qsappend, il deviendra simplement https://www.example.com/ et aucune information de page ne s'affichera ... en d'autres termes, l'utilisateur sera envoyé au mauvais endroit. Google ne serait probablement pas content de ça!

1
Alexis Wilke

Si votre redirection sera un 301 permanent de http à https, cela devrait aller.

Si vous redirigez 301 en utilisant .htaccess ou en utilisant le code, tant que la réponse du serveur est 301 permanente, tout devrait bien se passer.

Si vous ne définissez pas la redirection (301), Google peut traiter les adresses http et https en tant qu'URL distinctes, ce qui entraîne des problèmes de contenu et de classement en double.

Une fois la redirection mise en œuvre, vous pouvez utiliser un vérificateur de redirection en ligne pour vous assurer que la réponse est 301.

Remarque: Vous devez également vous assurer que vos autres versions d'URL sont redirigées vers le protocole HTTPS préféré. Vous pouvez également utiliser l'outil préféré et les autres URL pour vous assurer d'être couvert.

Drop de classement: si le site Web est en bon état, le classement ne sera pas affecté si la redirection est bien effectuée.

Si vous avez peut-être défini canonique dans le code, vous devrez également en tenir compte.

Wordpress: Vous devrez également appliquer les modifications requises dans .htaccess, en plus des modifications dans les paramètres WP.

1
TopQnA

Je recommanderais de placer cela dans le fichier d’hôte virtuel Apache et d’imposer l’utilisation de ssl afin qu’il n’affiche rien d’insécurité. /etc/Apache2/sites-available/default-ssl.conf et utilisez le port 443. Recherchez-en plus. En gros, vous dites à Apache de le faire lorsque les demandes Web arrivent. Je recommande de ne pas utiliser la méthode 301, car cela aurait un effet négatif sur le référencement.

0
Webmaster TheCMG