Redirection 301 en htaccess de certaines pages. Comment configurer une redirection si vous n'avez aucune expérience en programmation Web

Le code de réponse 301 (Moved Permanently) signifie que le document demandé est désormais disponible en permanence à la nouvelle adresse. Une redirection 301 peut être nécessaire dans plusieurs cas : déplacement vers un nouveau domaine, modification de l'adresse de la page ou . Les objectifs de ces événements sont assez transparents :

  • Transfert d'anciennes métriques vers une nouvelle page ou un nouveau domaine.
  • Éliminer les liens brisés, tant externes qu'internes.
  • Éliminer les pages en double.

Il existe plusieurs façons de faire une redirection 301, mais mon option préférée est d'utiliser le fichier .htaccess situé dans le dossier racine FTP de votre site (s'il n'y est pas, créez-le simplement, il n'a pas d'extension).

Configurer des redirections 301 de page en page

Très souvent, une situation se produit lorsqu'une page de site a été supprimée ou forcée de changer son URL. En accédant à son ancienne adresse, l'utilisateur verra bien sûr une page d'erreur 404 (introuvable).

Si la page n'est pas importante, alors ce n'est pas la peine de s'en soucier, mais si les visiteurs du site y accèdent souvent (et, peut-être, elle est mise en signet par quelqu'un), si des liens externes qui ne sont pas sous votre contrôle ou, à l'inverse, des liens internes sous votre contrôle, y mènent, mais dans des volumes tels que vous voulez vraiment les éditer, alors mettre en place une redirection 301 de l'ancienne page vers la nouvelle sera la solution idéale pour vous.

Il peut également être utilisé pour traiter les pages en double. En général, vous devez écrire un livre sur le thème "99 façons d'utiliser la redirection 301". Voici sa syntaxe :

Redirection 301 /old-page.html http://new-domain.ru/new-page.html

Ou alors, le résultat sera le même:

Redirection permanente /old-page.html http://new-domain.ru/new-page.html

J'explique : /old-page.html - l'adresse relative de l'ancienne page. Il peut être imbriqué : /old-category/old-page.html, ou comme ceci : /old-category/old-page/ - il n'y a aucune restriction ici. Il en va de même pour http://new-domain.ru/new-page.html (nouvelle page), à ​​la seule différence que le chemin ici est absolu (il n'est pas nécessaire qu'il s'agisse d'un nouveau domaine - il peut simplement s'agir d'un nouvelle adresse de page interne).

Configurer une redirection 301 lors du déplacement d'un site vers un nouveau domaine

Situation non moins compréhensible. Il était nécessaire de passer à un nouveau domaine, tout en conservant les indicateurs de l'ancien (, PR). Dans ce cas, ajoutez ce qui suit au .htaccess de l'ancien domaine :

Options +SuivreSymLinks
Moteur de réécriture activé

Moteur de réécriture désactivé

RewriteCond %(HTTP_HOST) ^ancien-domaine\.ru
Réécrire la règle ^(.*)$ http://nouveau-domaine.ru/$1
RewriteCond %(HTTP_HOST) ^www.oldsite\.ru
Réécrire la règle ^(.*)$ http://old-domain.ru/$1

Dans cet exemple, nous définissons une redirection de toutes les pages de l'ancien domaine vers les pages du nouveau (à condition que leurs adresses relatives correspondent). Dans le même temps, nous avons laissé le fichier robots.txt sur l'ancien domaine sans redirection afin que le processus de transfert soit plus complet. Nous y écrivons :

Agent utilisateur: *
Refuser:
Hébergeur : newsite.ru
Plan du site : http://newsite.ru/sitemap.xml

Eh bien, nous attendons quelques mois jusqu'à ce que le transfert de domaine soit crédité et que toutes les caractéristiques soient transférées.

Collage de miroirs de site : redirection 301 de www vers sans www et vice versa

Il existe plusieurs options pour accéder au site - avec www et sans www (par exemple, site et www.site). L'utilisateur ne se soucie pas de savoir exactement comment saisir l'URL, car il se retrouvera de toute façon sur la même page. La situation est différente avec les moteurs de recherche. Ils considèrent www.site.ru et site.ru comme deux domaines complètement différents (qui remontent aux profondeurs de l'histoire du World Wide Web, quand il l'était vraiment).

Ces doublons gênent l'indexation et la promotion du site en général, car, d'une part, ce sont de banales pages dupliquées (je m'excuse pour la répétition) et, d'autre part, les liens entrants rentreront également dans des paniers différents. Il en va de même pour les doublons de la page principale : site.ru, site.ru/index.html, site.ru/index.php, etc. Pour cette raison, même au stade de la création d'un site, il convient de se préoccuper de ce problème et de rediriger l'une des versions du site (par exemple, depuis www) vers une autre (par exemple, sans www). Si le moment a été manqué, alors il n'y a rien à craindre.

Considérez le processus de fusion de miroirs à l'aide de redirections 301 étape par étape.

1. Déterminez le domaine principal sélectionné pour l'indexation par les moteurs de recherche.

Le miroir principal peut être facilement identifié par les résultats de Yandex et . Entrez le nom de domaine et voyez quelle adresse sera affichée : www.site.ru ou site.ru. Si le site n'est pas encore indexé, choisissez-le à votre discrétion. Si les domaines principaux de Google et de Yandex sont différents, il est préférable de quitter Yandex.

2. Nous enregistrons la redirection 301 dans .htaccess.

Nous trouvons le fichier .htaccess à la racine du site FTP, le téléchargeons et l'ouvrons dans le bloc-notes, puis y apportons les modifications nécessaires. La première option est une redirection de domaine 301 sans www vers avec www :

Options +SuivreSymLinks
Moteur de réécriture activé

Moteur de réécriture désactivé

RewriteCond %(HTTP_HOST) ^site.ru$
Règle de réécriture (.*) http://www.site.ru/$1

Situation inverse - de www à sans www :

Options +SuivreSymLinks
Moteur de réécriture activé

Moteur de réécriture désactivé

RewriteCond %(HTTP_HOST) ^www.site.ru$
Règle de réécriture (.*) http://site.ru/$1

Une fois l'édition terminée, enregistrez le fichier et téléchargez-le dans le dossier racine FTP avec écrasement.

En option, vous pouvez immédiatement vous occuper des doublons de la page principale des vues index.php et index.html, ajoutez le code suivant ci-dessous :


Réécrire la règle ^index\.html$ http://www.site.ru/

Réécrire la règle ^index\.php$ http://www.site.ru/

Eh bien, encore une fois, si vous avez site.ru :

RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.html\ HTTP/
Réécrire la règle ^index\.html$ http://site.ru/
RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.php\ HTTP/
Réécrire la règle ^index\.php$ http://site.ru/

3. Configuration du fichier robots.txt

Vous voyez la directive familière qui laisse robots.txt intact ? C'est vrai, nous apportons une modification à robots.txt :

Hébergeur : main-mirror.ru

4. Vérification du site.

Nous entrons l'adresse à partir de laquelle nous avons déposé la redirection, par exemple www.site.ru ou site.ru/index.html, et si lorsque vous l'entrez, vous allez sur site.ru, alors tout est configuré correctement.

5. Configuration de Yandex et du webmaster de Google.

De plus, appliquez les paramètres appropriés dans personal. Dans le cas de Yandex :

Eh bien, pour Google :

Cela semble être tout. Bonne chance et si vous avez des questions, écrivez dans les commentaires.

Si vous souhaitez modifier l'URL de la page affichée dans les résultats de recherche, il est recommandé d'utiliser redirection 301(301 Permanent Redirect) effectuée par le serveur. C'est le meilleur moyen de s'assurer que les utilisateurs et les moteurs de recherche accèdent à la bonne page.

Le code d'état 301 signifie que la page demandée a été définitivement déplacée vers un nouvel emplacement.

En fait, il existe plusieurs redirections. Vous pouvez voir comment faire une redirection 301 dans l'infographie.

Quand utiliser une redirection 301 ?

L'utilisation d'une redirection 301 est particulièrement utile dans les cas suivants :

  1. Lors du changement de domaine . Vous avez déplacé votre site vers un domaine différent et vous voulez qu'il semble que la transition ne se soit jamais produite.
  2. Pour transférer le nouveau domaine Page Rank et TIC.
  3. Pour économiser le trafic de recherche.
  4. Les utilisateurs peuvent accéder au site en utilisant plusieurs URL différentes. Par exemple, il existe plusieurs façons d'accéder à la page : //site.ru/sub, //sub.site.ru ou //www.site.ru. Il peut être pratique de choisir l'une de ces URL comme canonique (de base) et utilisez une redirection 301 pour y rediriger le trafic provenant d'autres URL. Vous pouvez utiliser les outils pour les webmasters pour le configurer.
  5. La fusion de deux sites nécessite que tous les liens vers des pages obsolètes pointent vers des pages actuellement actives.
  6. Lors du déplacement d'une page de site vers un nouvel emplacement.
  7. Pour coller le nom du site avec le préfixe www et sans celui-ci.

Article associé: Yandex remplace TCI par X - un nouvel indicateur de la qualité du site

L'erreur 301 (301 Permament Redirect) renvoyée lors de l'accès à une adresse de page spécifique signifie que le site a été définitivement déplacé vers une nouvelle adresse, également spécifiée dans l'en-tête HTTP. Les utilisateurs qui se sont connectés via le navigateur et les robots de recherche seront redirigés vers la nouvelle adresse, tandis que pour les moteurs de recherche, toutes les propriétés de l'ancienne adresse (page) seront transférées vers la nouvelle URL. Avec une redirection 301, l'ancienne et la nouvelle adresse seront fusionnées : les paramètres tels que PageRank et TIC, ainsi que le poids de la page et le poids du lien de l'ancienne adresse seront transférés vers la nouvelle URL.

Une redirection avec un numéro d'erreur 301 (déplacé de façon permanente) est le meilleur moyen de conserver le classement d'un site dans les moteurs de recherche lors de son déplacement vers un nouveau domaine ou de la modification du système de gestion de contenu. Le transfert peut se faire de plusieurs manières, selon le logiciel que vous avez installé.

redirection 301 c. htaccess

Lorsque vous utilisez le serveur Apache, les redirections peuvent simplement être effectuées à l'aide du fichier .htaccess, cependant, n'oubliez pas d'activer les modules mod_alias (pour prendre en charge les directives Redirect , RedirectPermanent et RedirectMatch) et/ou mod_rewrite (pour utiliser la réécriture) dans php.ini .

Pour cela, placez le fichier .htaccess dans le dossier racine de votre site.

Rediriger avec directive Réorienter ou RedirigerPermanent module mod_alias

Redirection 301 /old-page.html //new-domain.ru/new-page.html

Redirection permanente /old-page.html //new-domain.ru/new-page.html

L'inconvénient de cette méthode est que toutes les adresses qui doivent être redirigées doivent être répertoriées une par une, chacune séparément. Vous pouvez également utiliser RedirectPermanent à des fins similaires.

RedirectPermanent /old-url.html //new-site.ru/new-url.html

Rediriger avec directive RedirectMatch

Cette redirection est similaire à la précédente, sauf que vous pouvez utiliser une expression régulière pour les anciennes URL. Supposons que lors du changement de moteur de PHP vers ASP, vous puissiez rediriger les anciennes adresses comme suit :

RedirectMatch /(.*).php$ /$1.aspx

Rediriger avec directive Réécrire la règle module mod_rewrite

Pour utiliser la directive RewriteRule, vous devez vous assurer que le module mod_rewrite est activé dans httpd.conf et que l'option FollowSymLinks est activée. L'utilisation du module de réécriture vous offre de nombreuses options pour rediriger les pages vers de nouvelles adresses.

Fichier de configuration .htaccess pour les serveurs Web Apache. La plupart des hébergeurs fonctionnent via ce serveur, donc chaque site a un fichier htaccess. Les webmasters peuvent gérer partiellement son travail en y apportant leurs propres modifications. Dans cet article, nous examinerons les directives et les règles qui peuvent être modifiées sur le serveur à l'aide de htaccess.

S'il vous plaît soyez prudent lors de l'édition du fichier .htaccess! Lors de l'enregistrement d'un tel fichier en codage UTF-8, il ne doit pas contenir de signature BOM. Pour modifier un fichier .htaccess et d'autres fichiers de configuration, nous vous recommandons d'utiliser non pas le Bloc-notes Windows, mais des éditeurs de texte spéciaux, tels que Notepad++.

Le fichier .htaccess est situé à la racine du site.

Ses actions s'appliquent au répertoire courant et à tous les sous-répertoires. Ceux. Les propriétaires de sites ont la possibilité d'influencer uniquement le travail de leur projet, sans interférer avec le fonctionnement de l'ensemble du serveur. Si ce fichier est manquant, il peut être créé à l'aide de n'importe quel bloc-notes. L'essentiel est que le nom du fichier soit ".htaccess" - sans les formats .txt, .doc, etc.

Grâce au fichier .htaccess, les redirections 301 sont le plus souvent mises en place au niveau du serveur, ce qui accélère considérablement le processus de déplacement vers une nouvelle page, car. pas besoin de charger la page intermédiaire. Il spécifie également quel fichier gère les erreurs 404.

Un peu plus bas, nous examinerons toutes les options courantes de redirection via .htaccess, mais nous nous familiariserons d'abord avec les options et les règles.

Pour pouvoir travailler avec les redirections, vous devez activer le module ReWriteEngine. Pour ce faire, vous devez écrire deux lignes de code (de préférence tout en haut du fichier .htaccess) :

Options +SuivreSymLinks
Moteur de réécriture activé

Placez ces lignes tout en haut de votre fichier .htaccess afin de pouvoir travailler avec les directives mod_write.

L'hébergement doit également avoir les modules mod_alias activés (pour prendre en charge Redirect, RedirectPermanent et RedirectMatch).

Règles de configuration de redirection, RewriteRule et RewriteCond

Directive de redirection dans htaccess

Syntaxe de redirection :

Rediriger /de http://vers_adresse_complète

Redirect met en place une redirection directe d'une page à une autre.

Dans status écrivez le code de redirection. Est un paramètre facultatif. Le plus souvent, ils écrivent 301, ce qui signale un changement permanent de l'adresse de la page.

Il est important que la page "de" soit écrite au format sans spécifier l'adresse complète du site, mais avec l'URL relative complète commençant par une barre oblique "/" (c'est-à-dire à partir de la racine du site). La page où va la redirection doit être écrite en entier, c'est-à-dire l'adresse absolue de la page URL (c'est-à-dire avec le nom de domaine et le protocole http ou https).

Par exemple:

Redirection 301 /oldpage.php https://htaccess.ru/newpage.php

Vous pouvez aussi écrire différemment

RedirectPermanent 301 /oldpage.php https://htaccess.ru/newpage.php ou

Redirection permanente 301 /oldpage.php https://htaccess.ru/newpage.php

Directive RewriteRule

La directive RewriteRule définit les règles de transition. La syntaxe est la suivante :

RewriteRule Pattern Substitution [codes]

  • Avec une redirection externe, l'url de l'adresse dans la ligne du navigateur change - ""
  • Avec interne - ne change pas l'url de l'adresse dans la ligne du navigateur - "" ou "[L]"

Directive RewriteCond

La directive RewriteCond définit les conditions dans lesquelles les règles de RewriteRule sont exécutées.

RewriteCond Compare_String Condition

Par exemple, ces termes peuvent être le navigateur, l'adresse IP, le titre, etc. de l'utilisateur.

Directive RedirectMatch

La directive RedirectMatch dans htaccess est similaire à Redirect avec la seule différence qu'elle vous permet d'écrire des expressions régulières.

RedirectMatch d'où aller

Exemples de configuration de redirections 301 dans htaccess

Vous trouverez ci-dessous les règles de configuration de fichier .htaccess les plus couramment utilisées pour les redirections 301. Il est préférable de placer toutes les règles après deux lignes :

Options +SuivreSymLinks
Moteur de réécriture activé

Un commentaire dans un fichier htaccess est indiqué par un signe dièse "#" au début de la ligne

# Commentaire textuel, cette ligne ne sera pas traitée.

Redirection 301 d'un domaine sans WWW vers un domaine avec le préfixe WWW

RewriteCond %(HTTP_HOST) ^site\.ru$

Du domaine avec préfixe WWW à sans

RewriteCond %(HTTP_HOST) ^www.site\.ru$
Règle de réécriture ^(.*)$ http://site.ru/$1

Pour la version HTTPS :


RewriteCond %(HTTP)=on
Règle de réécriture ^(.*)$ https://site.ru/$1

Redirection 301 standard d'une page statique à une autre

Redirection 301 /was.php http://www.site.ru/new.php

En même temps, dans le fichier htaccess, la nouvelle adresse doit être précisée en entier avec http et le nom de domaine.

Dans certains cas, une redirection via RewriteRule est utile

RewriteRule ^dir /dir-new/$1

Configurer une redirection 301 pour une page avec des paramètres GET

Disons que l'adresse de la page ressemble à : http://www.htaccess.ru/dir/index.php?IBLOCK_ID=1&SECTION_ID=111 puis dans htaccess pour mettre en place une redirection 301 vers une nouvelle adresse, vous devez utiliser la règle suivante :

RewriteCond %(QUERY_STRING) ^IBLOCK_ID=1&SECTION_ID=111$

Si un (ou plusieurs) des paramètres GET n'est pas défini(s) ou peut avoir une valeur arbitraire (dans notre exemple, il s'agit de SECTION_ID), vous pouvez utiliser le code suivant :

RewriteCond %(QUERY_STRING) ^IBLOCK_ID=1&SECTION_ID=(.*)$
Règle de réécriture ^dir/index\.php$ /new/sef/?

Suppression de tous les paramètres GET après le point d'interrogation (?)

RéécritureRègle(.*) $1 ?

Position après : RewriteBase /

Redirection 301 d'une page sans paramètre spécifié vers la racine

Si l'adresse ressemble à ceci : http://www.htaccess.ru/?abc, alors la séquence de lignes convient à une redirection :

RéécritureCond %(QUERY_STRING) ^abc$
Règle de réécriture ^$ /?

Redirection 301 pour un fichier spécifique, pas un dossier entier

Si vous souhaitez mettre en place une redirection dans le fichier htaccess uniquement pour l'adresse http://www.htaccess.ru/dir/, mais en même temps que la page http://www.htaccess.ru/dir/index .php?IBLOCK_ID=1 s'ouvre dans l'ancienne adresse, vous devez utiliser le caractère spécial $ dans la règle.

RéécrireRègle ^dir/$ http://www.htaccess.ru/new-dir/

Que faire des domaines dans la zone RF ?

Pour les domaines de la zone RF, toutes les mêmes règles s'appliquent, mais seuls tous les caractères cyrilliques doivent être remplacés par un code alternatif (il est en latin). En particulier, la zone .rf elle-même est convertie en .xn--p1ai.

Redirection 301 de domaine à domaine

RewriteCond %(HTTP_HOST) ^ancien site\.ru$
Règle de réécriture ^(.*)$ http://www.site.ru/$1

Et pour un domaine dans la zone RF :

RewriteCond %(HTTP_HOST) ^xn-...\.xn--p1ai$
Règle de réécriture ^(.*)$ http://www.site.ru/$1

Mise en place d'une redirection vers des dossiers avec un slash à la fin /

RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_URI) !\..(1,10)$
RewriteCond %(REQUEST_URI) !(.*)/$
Règle de réécriture ^(.*)$ http://www.site.ru/$1/

Mettre en place une redirection vers des dossiers sans slash (supprimer le slash à la fin)

RewriteCond %(REQUEST_FILENAME) !-d
RewriteCond %(REQUEST_URI) ^(.+)/$
Règle de réécriture ^(.+)/$ http://www.site.ru/$1

Redirection 301 d'un domaine vers un dossier d'un autre domaine

RewriteCond %(HTTP_HOST) ^si-te\.ru$
Règle de réécriture ^(.*)$ http://www.site.ru/si-te/

Rediriger à partir de tous les fichiers du domaine, à l'exception du dossier de l'administrateur bitrix

Réécrire la règle ^bitrix/ /bitrix/admin/
RéécrireRègle ^(.*)$ http://www.newsite.ru/new/

Rediriger tous les fichiers d'un dossier vers un fichier donné

RewriteRule ^dir(.*)$ /nouveau-fichier.php

Rediriger les fichiers d'un dossier donné à l'exception d'un fichier spécifique

RewriteRule ^dir/no-file.html /no-file-new.html
Règle de réécriture ^dir(.*)$ /all.php

Modification des pages de l'extension html à l'extension php

RedirectMatch 301 (.*)\.html$ http://www.new-site.ru$1.php

Transfert de photos / images du dossier /img/ vers un sous-domaine

Règle de réécriture ^img/(.+)\.jpg$ http://img.domain.ru/$1.jpg

Définition du type de page d'index (php, html, htm et autres)

Spécifie l'ordre de chargement des types de fichiers d'index situés à la racine du répertoire.

RépertoireIndex index.html index.php index.htm index.shtml

Rediriger de la page d'index php vers le dossier lui-même (racine)

RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.php\ HTTP/
Réécrire la règle ^index\.php$ http://www.site.ru/

Pour toutes les pages d'index du site :
Règle de réécriture ^(.*)index\.php$ http://www.site.ru/$1

Redirection d'un sous-domaine vers le domaine principal de second niveau

RewriteCond %(HTTP_HOST) ^test.site.ru$
Réécrire la règle ^(.*)$ http://site.ru%(REQUEST_URI)

Rediriger pour un fichier donné dans différents répertoires (dossiers)

RewriteRule [^abc]/fichier-unique.html /fichier-unique.html

Le code vous permet de mettre une redirection 301 de tous les dossiers comme http://htaccess.ru/***/uniqe-file.html vers un fichier dans la racine /unique-file.html. Cela peut être utile lors de la refonte du site et de la modification des liens.

Si vous souhaitez créer une copie CNC de n'importe quelle page dynamique, cela peut également être fait en utilisant .htaccess.

Réécrire la règle ^testovyi/test/?$ /studio/news/detail.php?ID=230354&PAGEN_2=11

Le code vous permet de créer une copie de la page avec l'adresse relative /studio/news/detail.php?ID=230354&PAGEN_2=11 à /testovyi/test/

Redirection 301 de la version HTTPS vers HTTP

RewriteCond %(HTTPS) "on"
RéécrireRègle .* http://%(HTTP_HOST)%(REQUEST_URI)

Vous permet d'éliminer la présence d'URL en double avec HTTPS dans l'index du moteur de recherche.

Transfert d'un site vers une version avec HTTPS (pour toutes les pages)

RewriteCond %(SERVER_PORT) ^80$
RewriteCond %(HTTP)=on
Règle de réécriture ^(.*)$ https://htaccess.ru/$1

Définition du code de réponse du serveur 403 pour le spam de référence (redirection 301 pour le spam par REFERER) pour la liste de ressources

RewriteCond %(HTTP_REFERER) ref-spam-site.ru
RewriteCond %(HTTP_REFERER) autre-ref-spam.ru
RéécrireRègle .* - [F]

Le paramètre vous permet de rejeter le trafic de renvoi de spam provenant d'un certain nombre de ressources à l'aide de l'en-tête HTTP_REFERER.

Spécification du chemin d'accès au fichier d'erreur 404 à l'aide de .htaccess

Attention, il est important que le code de réponse du serveur pour une erreur 404 soit exactement 404. Le chemin vers le fichier est indiqué à l'aide de la ligne suivante :

ErreurDocument 404 /404-for-me.php

Toutes les règles sont exécutées dans l'ordre direct où elles apparaissent dans le fichier .htaccess et la règle écrite plus tard sera exécutée plus tard.

Pour les sites qui n'utilisent pas le serveur Apache, des redirections 301 similaires sont facilement configurables à l'aide de PHP.

header("HTTP/1.1 301 Déplacé définitivement");
header("Emplacement : http://www.htaccess.ru/dir/");
sortie();
?>

Il est optimal de configurer toutes les redirections immédiatement vers la page finale (sans redirections intermédiaires, en une seule étape), cela améliore leur perception par les moteurs de recherche et les utilisateurs.

Si vous souhaitez configurer une redirection uniquement pour certains USER_AGENT, et non pour tous les utilisateurs

RewriteCond %(HTTP_USER_AGENT) (iPad|ipad|iphone|iPhone|ipod|iPod|android|midp|j2me|symbian|series\ 60|symbos|windows\ mobile|windows\ ce|ppc|smartphone|blackberry|mtk|bada| Téléphone Windows)
Réécrire la règle (.*) http://mobile.htaccess.ru/

Si vous souhaitez mettre en place une redirection pour tous les robots de recherche (une liste de leurs USER_AGENT est présentée)

RewriteCond %(HTTP_USER_AGENT) !(accoona|ia_archiver|antabot|ask\ jeeves|baidu|dcpbot |eltaindexer|feedfetcher|gamespy|gigabot|googlebot |gsa-crawler|grub-client|gulper|slurp|mihalism|msnbot|worldindexer |ooyyo |pagebull|scooter|w3c_validator|jigsaw|webalta|yahoofeedseeker |yahoo!\ slurp|mmcrawler|yandexbot|yandeximages |yandexvideo|yandexmedia|yandexblogs|yandexaddurl|yandexfavicons |yandexdirect|yandexmetrika|yandexcatalog|yandexnews |yandeximageresizer)
Réécrire la règle (.*) http://no-search.site.ru/

Quelques redirections simples

Rediriger de www.htaccess.ru/component/content/?view=featured vers www.htaccess.ru/

RewriteCond %(QUERY_STRING) ^view=vedette$
RewriteRule ^composant/contenu/$/?

Syntaxe pour les expressions régulières des fichiers htaccess

Le point remplace un caractère arbitraire.
- désigne une liste de caractères correspondant aux lettres a, b ou c.
[^abc] - une liste de caractères qui ne sont pas inclus dans la plage spécifiée. Correspond à n'importe quel caractère sauf a, b ou c.
* - signifie que le caractère précédent peut être répété (0 fois ou plus).
* - la commande trouvera des caractères consécutifs dans le jeu spécifié.
[^abc]* - exactement le contraire.

.* - remplace absolument n'importe quel jeu de caractères. ".*" - trouve toutes les sous-chaînes entre guillemets.
^ - le début d'une chaîne (si utilisé au début d'une expression).
$ - marque la fin de la ligne.

\w - lettre, chiffre ou trait de soulignement _.
\d - remplace n'importe quel chiffre.
\D - remplace n'importe quel caractère, mais pas un nombre.
- remplace n'importe quel nombre.
- toute lettre de a à z (tout le jeu de caractères latins) en minuscules.
- toute lettre de A à Z en MAJUSCULE.
- n'importe quelle lettre de a à Z dans tous les cas.
- le même.

Tant que vous avez accès au répertoire de votre site sur le serveur, de telles actions ne seront pas difficiles. Supposons que votre site fonctionne sur le serveur Web Apache (comme la plupart des sites), alors parlons un peu de la partie technique de la mise en œuvre des redirections 301 dans Apache.

D'abord un peu de théorie

En termes de sites Web, une redirection est un moyen de rediriger automatiquement un utilisateur final d'une URL à une autre. Bien qu'il existe techniquement plusieurs façons d'effectuer une redirection, pour les tâches d'optimisation des moteurs de recherche (SEO), nous vous recommandons d'utiliser une redirection permanente HTTP 301.

Contrairement à la redirection temporaire HTTP 302 par défaut, 301 indique que l'ancienne URL ancrée n'est plus utilisée (alors que 302 indique que l'ancienne est temporairement inutilisée mais devrait réapparaître à l'avenir).

La différence entre 301 et 302 est particulièrement importante lors de l'exploration d'un site avec des moteurs de recherche. Lorsque le robot d'exploration du moteur de recherche trouve un lien vers votre site qui est définitivement défini pour rediriger, le serveur Web interagit avec le code d'état 301, puis redirige l'utilisateur vers la nouvelle URL. Les moteurs de recherche acceptent non seulement la redirection vers la nouvelle URL, mais transfèrent également la valeur métrique de la page de l'ancienne URL vers la nouvelle page de redirection (c'est la deuxième caractéristique de ce processus, qui est très importante pour l'optimisation SEO, ce qui ne peut pas être fait en utilisant 302).

Dans tous les exemples, le domaine de ce site est indiqué, n'oubliez pas de le remplacer par l'adresse de votre site.

Comparaison des redirections 301 et canonical rel="canonical"

Par exemple:

Le but de la balise rel=canonical est d'indiquer au moteur de recherche une seule adresse complète du contenu de la page. Ceci est très utile lorsqu'un site utilise des variables d'attributs dynamiques pour les URL. Les URL dynamiques peuvent aider à indexer plusieurs versions de l'URL pour chaque page individuelle, ce qui entraîne (ce que les moteurs de recherche détestent !)

Bien que l'utilisation d'une balise rel=canonical soit utile pour une page de site Web, ce n'est pas un remplacement fiable pour une redirection 301. Il y a plusieurs raisons à cela :

La balise rel=canonical est toujours considérée par les moteurs de recherche comme des demi-indices plutôt que comme des directives d'exécution spécifiques. Alors qu'une redirection 301 est perçue comme une instruction spécifique. Et enfin, contrairement à la redirection 301, qui peut être configurée dans un seul fichier pour tout le site, le code de la balise rel=canonical devra être inséré sur chaque page.

Tout cela nous dit que l'utilisation des balises rel=canonical peut être utile lors de la redirection des pages du blog (bien sûr, si vous avez accès à son code et afin d'insérer les balises de module nécessaires dans les pages). Après tout, utiliser des 301 peut signifier perdre les pages d'origine et leurs commentaires associés, des liens sociaux qui ont leur propre signification dans le référencement.

Nous vous recommandons d'envisager d'utiliser la balise rel=canonical pour minimiser la duplication du contenu indexé. Quelles que soient les raisons standard pour remapper les fonctions et les valeurs d'index de recherche d'une ancienne URL vers une nouvelle, nous vous recommandons de vous en tenir à la méthode éprouvée des redirections 301.

Comment faire une redirection 301 en .htaccess ?

Sur le serveur Web Apache, une redirection 301 peut être effectuée via des codes de script dans l'un des deux fichiers de configuration textuels : soit .htaccess (pour les répertoires représentant des sites individuels sur le serveur), soit httpd.conf (dans le répertoire racine du programme d'installation d'Apache). La méthode avec un changement de configuration est généralement utilisée, nous allons donc l'examiner plus en détail.

La première chose à faire est ouvrir un fichier texte appelé .htaccess. Il se trouve dans le répertoire de votre site sur le serveur Web Apache. Assurez-vous de l'ouvrir avec un simple éditeur de texte tel que le Bloc-notes sur les ordinateurs Windows.

Après avoir ouvert le fichier, avant d'ajouter le code de script personnalisé, vous devez effectuer deux opérations :

  • Activez le module Apache mod_rewrite.
  • Activez ReWriteEngine dans le module mod_rewrite.

Pour cela, ajoutez ces deux lignes de code :

Options + SuivreSymLinks RewriteEngine activé

Notez que ces lignes ne doivent être ajoutées qu'une seule fois dans le fichier. Une fois qu'elles sont ajoutées, vous pouvez commencer à ajouter le code de redirection 301 au script.

Le script de redirection suivant est utilisé lors du déplacement des fichiers de données, du répertoire et du nom de domaine vers le code sélectionné. Et, bien sûr, n'oubliez pas de mettre les données de votre site ! Cette page ne contient que des exemples d'un tel code !

Rediriger 301 une page vers une autre URL

Pour effectuer une redirection 301 d'une URL vers une autre URL, collez la ligne de code suivante :

Redirection 301 /staraja.html http://www..html

Dans le fichier. htaccess, vous pouvez insérer n'importe quel nombre de lignes de redirection.

Rediriger 301 le répertoire entier et tous les fichiers vers une autre URL

Si vous avez repensé la conception architecturale de votre site et renommé un répertoire, vous devrez effectuer une redirection 301 sur l'intégralité de ce répertoire. Fais-le comme ça:

RedirectMatch 301 ^/anciennom/ http://www.site/nouveaunom/

Rediriger le nom de domaine 301 vers une autre URL

Si vous avez acheté un nom de domaine avec un bon historique, vous souhaiterez probablement augmenter le trafic de votre site. Ici, vous pouvez utiliser une redirection 301 de tout le trafic d'un tel nom de domaine vers votre site actuel. Utilisez le code suivant comme exemple :

RedirectMatch 301 ^(.*)$ http://www.site

Assurez-vous de créer une telle redirection dans le fichier. htaccess du site source depuis lequel vous allez rediriger le trafic, et non dans le site cible !

Redirection 301 pour canoniser vers une autre URL

Étant donné que les moteurs de recherche indexent les URL, le fait d'avoir différentes URL qui redirigent vers des pages avec le même contenu pour l'indexation peut affecter le PageRank. Bien sûr, cette situation n'est pas la meilleure pour l'optimisation ! L'essentiel est que si vous souhaitez attacher le PageRank à une seule URL (canonique), alors afin d'optimiser la recherche, vous devez faire attention au contenu des pages du site.
Une fois que vous aurez appris les meilleurs exemples de canonisation, vous voudrez l'appliquer à votre site. Cela signifie que vous devez envisager toutes les alternatives possibles pour rediriger une URL vers une URL canonique. Utilisez l'exemple de code suivant pour la page principale du site :

RewriteCond %(HTTP_HOST) ^web-profy\.com RewriteRule ^(.*)$ http://www..(html|php|htm)\ HTTP/ RewriteRule ^(([^/]+/)*)( default|main|index)\.(html|php|htm)$ http://www.website/$1

Le premier bloc de deux lignes redirige les URL qui omettent les préfixes "www." vers une adresse de page d'accueil, telle que "www.xyz.com"..website/.

Le deuxième bloc de code redirige les URL des pages spécifiées vers les URL par défaut. Ce code garantit que toute URL de page d'accueil comportant plusieurs orthographes et liens directs, tels que default.htm ou index.html, sera redirigée vers une page d'URL canonique, telle que http://site

Documentation et test du travail

# Rediriger tout ce domaine, abc..*)$ http://www.site

Une bonne documentation et des commentaires sur les processus vous aideront toujours (ainsi que ceux qui maintiendront le site plus tard) à comprendre quel code est responsable de quoi. Ces informations seront utiles lors de la recherche de problèmes, lorsque quelque chose ne fonctionne pas, pour savoir quelle partie du code doit être corrigée pour le bon fonctionnement du site.

Bien sûr, il est nécessaire de tester le travail des modifications apportées. Si vous utilisez FTP pour télécharger le fichier corrigé. htaccess dans le répertoire racine de votre site, il est temps de le vérifier. Tapez dans le navigateur l'URL de la page vers laquelle vous avez redirigé. Il devrait rediriger instantanément vers l'URL spécifiée.

Dépannage

Si la redirection ne fonctionne pas comme prévu, il est temps de procéder au dépannage.

Tout d'abord, si la redirection est encodée dans votre fichier .htaccess et qu'elle est correctement orthographiée mais ne fonctionne pas, vérifiez l'état d'installation de l'extension mod_rewrite dans Apache. Ce module est généralement installé par défaut, mais s'il n'y est pas, l'encodage .htaccess ci-dessus ne fonctionnera pas. Assurez-vous également d'ajouter les deux lignes de code qui activent mod_rewrite et ReWriteEngine.

De plus, notez que l'utilisation de RewriteCond dans les chaînes indique une différence entre les données d'entrée et les caractéristiques spécifiées. Si vous manquez ce point, les URL en majuscules et minuscules peuvent ne pas fonctionner comme prévu. Notez que l'utilisation de L dans le code indique que le fichier moteur est perçu comme la dernière ligne de code de l'ensemble du processus de confirmation de saisie de données. Si vous avez une configuration de code incohérente dans .htaccess, utilisez le code L sur la ligne marquée comme prioritaire.

Et enfin, on note que l'utilisation fréquente des redirections 301 n'est pas bonne pour la santé de l'ensemble du site. Bien que cela soit très utile, vous devez mettre à jour les liens entrants du site vers les URL correctes. En ignorant vos anciens liens entrants et en utilisant plusieurs redirections 301 (301, puis 301, puis 301) pour les parcourir, vous augmentez le temps de chargement du site, ce qui est mauvais pour la promotion du site. Et s'il y a beaucoup de redirections, les robots d'exploration peuvent tout simplement ne pas atteindre le site cible. Si cela se produit, cela fait du mal à votre site de progresser dans le moteur de recherche. En outre, si vous mettez à jour les liens de votre site, assurez-vous que les fichiers sitemap.xml sont également mis à jour avec les nouvelles URL mises à jour.

Prenez le contrôle de votre site avec les redirections 301, une bonne pratique standard pour le référencement white hat. Assurez-vous d'aider les robots des moteurs de recherche à atteindre les pages de votre site et, ce faisant, le PageRank que vous gagnez est activement investi dans la promotion de votre site.

Dans certains cas, il est très important d'utiliser des redirections 301. Mais il est important de savoir comment l'appliquer correctement pour chaque situation individuelle. Voici donc une sélection de réponses à toutes les principales questions liées à sa configuration.

Qu'est-ce qu'une redirection 301 et pourquoi est-elle nécessaire ?

Les redirections 301 sont conçues pour aider les webmasters à rediriger les utilisateurs d'une URL qui se trouvait à l'origine dans la barre d'adresse du navigateur vers une autre complètement différente. En termes d'optimisation pour les moteurs de recherche, 301 Moved Permanently est une redirection permanente qui permet de déplacer jusqu'à 99 % du poids du lien vers une nouvelle URL et de "marquer" l'ancienne comme obsolète. C'est-à-dire que grâce à cela, il sera possible de maintenir des positions dans les moteurs de recherche, et si vous changez simplement l'adresse URL sans faire de redirection, alors pour Yandex et Google ce sera une nouvelle page qui sera classée sans référence au histoire précédente.

Il existe plusieurs options lorsque vous devez utiliser cette redirection :

  • lors de la fusion de domaines ;
  • pour déplacer le site vers une nouvelle adresse, par exemple, en cas de baisse de trafic due à la chute de votre ressource dans les filtres des moteurs de recherche. Une redirection 301 empêchera ceux qui ont marqué votre site de le perdre de vue ;
  • pour augmenter les indicateurs du TIC, PR, trafic de PS sur le site principal. Dans ce cas, vous devrez acheter un domaine qui a de bonnes performances et mettre en place une redirection vers la ressource qui doit améliorer ces paramètres ;
  • lors du changement d'adresse d'une page spécifique pour maintenir des positions élevées dans le PS (par exemple, cela peut être pertinent lors du déplacement d'un site d'un CMS à un autre) ;
  • et etc.

Comment faire une redirection 301 ?

Il existe plusieurs options pour résoudre le problème de la mise en place d'une redirection 301. Lequel utiliser dépend des capacités techniques de l'hébergement. Mais les hébergeurs modernes n'ont généralement pas de tels problèmes, et s'ils en ont, ils sont rapidement résolus grâce au support technique. Voici quelques situations de redirection simples de base que vous pourriez rencontrer. Pour ce faire, vous devez créer un fichier appelé .htaccess (s'il n'existe pas), puis y ajouter le code de redirection nécessaire. Si vous ne pouvez tout simplement pas le créer sur le bureau, essayez de le faire via le programme Total Commander ou FileZilla en renommant simplement tout document inutile.

Vous devez donc rediriger les utilisateurs vers un autre site. Il ressemblera à ceci:

Redirection 301 / http://site.ru

Et si vous avez besoin d'organiser une redirection de page en page du site, alors il vous faut le code suivant :

Redirection 301 /old-page.html http://new-domain.ru/new-page.html

RedirectPermanent /old-page. html http://nouveau-domaine.ru/nouvelle-page.html

Comment coller un domaine avec www avec une variante sans ?

À l'heure actuelle, l'utilisation de www dans le nom des sites est considérée comme obsolète. Cependant, cette option n'est pas rare. S'il ne s'agit pas de l'achat d'un site prêt à l'emploi, lors de la création d'une nouvelle ressource, il est préférable d'indiquer partout sans www. Lors du collage de domaines, tous leurs paramètres les plus importants sont combinés, tels que TIC, PR et fréquentation. De plus, cela aidera à optimiser la ressource et à éviter la situation où le PS considère le site Web de www comme un "imposteur" avec un contenu "volé".

Le code pour coller un domaine utilisant www à un domaine sans www ressemble à ceci :

RewriteEngine sur RewriteCond %(HTTP_HOST) ^www.site.ru$ RewriteRule ^(.*)$ http://site.ru/$1

Dans ce cas, la valeur on/off de RewriteEngine est une directive spécialisée qui sert à connecter ou à mettre fin à l'accès au code du fichier lui-même. Et l'accès se fait via le module mod_rewrite. RewriteCond est une directive utilisée pour former des conditions selon des règles de transformation. Et la RewriteRule est une prescription responsable des transformations effectuées, dans une situation précise, une redirection 301.

Redirection 301 lors du passage à HTTPS

La tendance actuelle est au transfert des sites vers le protocole sécurisé HTTPS. Parallèlement, la mise en place de redirections depuis des pages HTTP vers HTTPS est une étape clé. Cela se fait comme suit dans le fichier .htaccess.

RewriteCond %(SERVER_PORT) !^443$ RewriteRule ^(.*)$ https://site.ru/$1

Remarques et erreurs

Ce que vous pouvez rencontrer et quels détails vous ne devez pas oublier lors de la configuration d'une redirection 301 :

  • garder une trace de la séquence des règles de redirection est la première chose à garder à l'esprit. Par conséquent, si une certaine règle n'est pas suivie, il convient de vérifier s'il existe d'autres redirections qui la contredisent ;
  • Les redirections 301 ont beaucoup de fonctionnalités et une syntaxe complexe, tout cela est difficile à garder à l'esprit tout le temps - donc les manuels officiels vous aideront. En plus d'eux, une énumération logique et séquentielle de plusieurs options peut aider;
  • vérifier la fonctionnalité du site et toutes les règles de redirection implémentées est une condition préalable à la réussite de sa configuration. Ne soyez pas trop paresseux pour accéder aux sections et aux pages de la ressource, pas seulement à la page principale, afin d'éliminer tout problème à l'avenir. Si des erreurs sont commises dans la syntaxe des instructions, l'ensemble du site peut très bien cesser de fonctionner.

Il existe également quelques situations où l'utilisation d'une redirection 301 serait erronée. Il est donc préférable de ne pas utiliser une redirection multidirectionnelle si elle prend trop de temps à mettre en œuvre. Ou, par exemple, s'il y a du contenu qui est dupliqué, et pour un certain nombre de raisons, vous devez enregistrer les deux pages pour les utilisateurs. Si la page et son contenu ne sont pas pertinents, la redirection doit également être abandonnée. Ce sera une erreur de configurer une redirection vers une page qui ne fonctionne pas correctement (la page doit être avec une réponse de serveur 200 ou 404). Et enfin, la redirection du fichier robots.txt sera incorrecte.

Autres types de redirections

Les webmasters expérimentés, en plus de la redirection 301 la plus populaire, en utilisent également d'autres : de la 300e à la 307e. Par exemple, 302 et 307 est une redirection temporaire, 305 est un accès exclusivement via un proxy, etc. Meta Refresh peut également être appelé un type de redirection assez populaire. Il ne s'exécute pas au niveau du serveur, mais au niveau de la page. Cependant, les experts recommandent d'utiliser une telle redirection aussi rarement que possible. Cela se justifie par le fait que les portiers et les spammeurs y ont souvent recours. De plus, l'utilisation de cette redirection ne permet pratiquement pas de transférer le poids du lien.



Avoir des questions?

Signaler une faute de frappe

Texte à envoyer à nos rédacteurs :