Redirect selon HTTP_REFERER

Consultez la formation sur les stratégies de liens de WebRankInfo / Ranking Metrics


klp
WRInaute discret
WRInaute discret
 
Messages: 106
Enregistré le: 19 Oct 2016

Redirect selon HTTP_REFERER

Message le Mer Mai 10, 2017 9:30

Bonjour,

J'ai une page (A) de faible qualité (à la place de celle que je voudrais (B)) qui arrive à bien se positionner sur plusieurs mots clé principaux pour mon site.

J'ai réfléchi aux options possibles (balise no index, dégradation de la qualité de la page (A),etc.) mais j'aimerai me tourner vers une redirection vers la page (B) lorsque l'internaute arrive sur la page (A) à partir des moteurs de recherche.
Je sais que cette méthode est facilement contournable mais ça ne me dérange pas car la page (A) doit être accessible mais pas quand on arrive des SERP (au moins Google et Bing).

J'ai commencé à écrire des règles dans mon .htaccess mais je n'y arrive pas du tout.

Voilà mon .htaccess, fonctionnel.

Code: Tout sélectionner
RewriteEngine ON

# Redirect non-www to www
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{THE_REQUEST} ^.*/pagequelconque.php
RewriteRule ^(.*)pagequelconque.php$ /$1 [R=301,L]

RewriteCond %{THE_REQUEST} ^.*/pagequelconque2.html
RewriteRule ^(.*)pagequelconque2.html$ /$1 [R=301,L]

Rewritecond    %{REQUEST_FILENAME}  !-d
RewriteCond    %{REQUEST_FILENAME}  !-f
RewriteRule .* router.php


J'aimerai rajouter quelque chose du genre (ça ne fonctionne pas):

Code: Tout sélectionner
RewriteCond %{HTTP_REFERER} !^http://www.google.com [NC]
RewriteRule ^(.*)$ http://www.example.com/pageB.html [R=301,L]


Mais la page est redirigée trop de fois et ne s'affiche pas.

Avez vous des pistes pour que je puisse faire des recherches ?
Ou directement une solution fonctionnelle ? :)

Cordialement.

AntoineMot
WRInaute discret
WRInaute discret
 
Messages: 91
Enregistré le: 28 Nov 2016

Re: Redirect selon HTTP_REFERER

Message le Mer Mai 10, 2017 9:49

J'ai l'impression que tu prend le problème à l'envers.
Si ta page A est bien positionner alors tant mieux même si elle n'est pas parfaite.
Ce qu'il faut c'est que tu améliore la page B, si elle est moins bien positionner c'est que google ne la trouve pas mieux et tu risque de perdre en positionnement.
Incité les personnes sur la page A à aller sur la page B est plus cohérent que les forcer.


klp
WRInaute discret
WRInaute discret
 
Messages: 106
Enregistré le: 19 Oct 2016

Re: Redirect selon HTTP_REFERER

Message le Mer Mai 10, 2017 10:43

Bonjour, merci pour ta réponse.

A vrai dire, la page (A) est une page qui ne devrait pas être accessible directement via les SERP, c'est pour ça que j'ai pensé à une balise noindex mais je n'aimerai pas perdre son positionnement.
Je préférerai que les internautes atterrissent sur la page (B) quand ils cliquent sur cette page dans les SERP.
Le but est de ne pas toucher à la page (B).
La méthode que je veux utiliser n'est peut être pas optimale mais je n'en vois pas d'autres.


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 12068
Enregistré le: 23 Nov 2005

Re: Redirect selon HTTP_REFERER

Message le Mer Mai 10, 2017 12:52

C'est du cloaking, tu tends le bâton pour te faire battre.


klp
WRInaute discret
WRInaute discret
 
Messages: 106
Enregistré le: 19 Oct 2016

Re: Redirect selon HTTP_REFERER

Message le Mer Mai 10, 2017 13:31

Ah oui...
Du coup je vais devoir abandonner cette idée.

Si quelqu'un a la solution pour le .htaccess, ça m'intéresse quand même pour ma culture personnelle et pour faire des tests perso.

Merci pour vos retours.


Madrileño
Madrileño
Madrileño
 
Messages: 37560
Enregistré le: 7 Juil 2004

Re: Redirect selon HTTP_REFERER

Message le Mer Mai 10, 2017 14:11

Bonjour,
klp a écrit:j'aimerai me tourner vers une redirection vers la page (B) lorsque l'internaute arrive sur la page (A) à partir des moteurs de recherche.

Redirection 301 et adapter la page B pour qu'elle se positionne à la place de la page A.

Cordialement.


jeanluc
WRInaute accro
WRInaute accro
 
Messages: 3273
Enregistré le: 3 Mai 2004

Re: Redirect selon HTTP_REFERER

Message le Mer Mai 10, 2017 20:30

klp a écrit:
Code: Tout sélectionner
RewriteCond %{HTTP_REFERER} !^http://www.google.com [NC]
RewriteRule ^(.*)$ http://www.example.com/pageB.html [R=301,L]


Mais la page est redirigée trop de fois et ne s'affiche pas.

Essaie plutôt quelque chose comme ceci:
Code: Tout sélectionner
RewriteCond %{HTTP_REFERER} ^https?://www\.google\.
RewriteRule ^pageA.html$ http://www.example.com/pageB.html [L,R]

Avec ton code, la redirection s'applique si le referrer n'est pas Google et elle s'applique un nombre infini de fois puisqu'elle s'applique à toutes les adresses, donc aussi à pageB.html.

Dans mon code, ces problèmes devraient être réglés. De plus, j'utilise une redirection 302 au lieu d'une 301 car, avec une 301, Internet Explorer met la redirection en cache, ce qui rend impossible l'accès à pageA.html dès qu'il y a eu une redirection.


klp
WRInaute discret
WRInaute discret
 
Messages: 106
Enregistré le: 19 Oct 2016

Re: Redirect selon HTTP_REFERER

Message le Jeu Mai 11, 2017 11:27

Bonjour,

Merci pour ton explication.
J'ai testé ta solution mais ça ne fonctionne malheureusement pas.


jeanluc
WRInaute accro
WRInaute accro
 
Messages: 3273
Enregistré le: 3 Mai 2004

Re: Redirect selon HTTP_REFERER

Message le Jeu Mai 11, 2017 12:48

klp a écrit:J'ai testé ta solution mais ça ne fonctionne malheureusement pas.

Si tu souhaites plus d'aide, il faudrait en dire un peu plus :mrgreen:

1. peux-tu copier ici le code que tu as ajouté dans ton .htaccess, celui qui "ne fonctionne malheureusement pas" ?

2. que veut dire "ne fonctionne malheureusement pas" : "aucune redirection ? redirection vers une mauvaise adresse ? boucle infinie de redirections ?


klp
WRInaute discret
WRInaute discret
 
Messages: 106
Enregistré le: 19 Oct 2016

Re: Redirect selon HTTP_REFERER

Message le Jeu Mai 11, 2017 13:14

J'ai testé ta solution :

Code: Tout sélectionner
RewriteCond %{HTTP_REFERER} ^https?://www\.google\.
RewriteRule ^pageA.html$ http://www.example.com/pageB.html [L,R]


Sans succès, il n'y a pas de redirection.

Puis j'ai modifié un peu en tâtonnant, comme à chaque fois avec les redirections, avec par exemple :

Code: Tout sélectionner
RewriteCond %{HTTP_REFERER} ^https://www\.google\.fr
RewriteRule http://www.example.com/pageA.html$ http://www.example.com/pageB.html [L,R]


J'ai enlevé le "?" de la première ligne et rajouté "fr"
J'ai rajouté le chemin absolu de la page A

Toujours sans succès, aucune redirection n'est faite.

Merci encore.


jeanluc
WRInaute accro
WRInaute accro
 
Messages: 3273
Enregistré le: 3 Mai 2004

Re: Redirect selon HTTP_REFERER

Message le Jeu Mai 11, 2017 13:32

Merci pour la réponse.

Je confirme qu'il ne faut pas mettre le chemin absolu de la page A, uniquement "pageA.html" (pas de / devant).

Ta rewritecond avec google.fr me semble correcte (redirection seulement si le referrer est google.fr)

Il faut évidemment placer ceci avant toute règle qui changerait le nom pageA.html en autre chose.

Pour info, j'utilise une redirection comme celle-là sur un site et elle fonctionne sans problème. La seule différence est que c'est la page d'accueil que je redirige vers une autre page quand le referrer est un certain site.

Tu peux peut-être essayer de rediriger la page d'accueil pour voir ce que ça donne:
Code: Tout sélectionner
RewriteCond %{HTTP_REFERER} ^https://www\.google\.fr
RewriteRule ^$ http://www.example.com/pageB.html [L,R]


klp
WRInaute discret
WRInaute discret
 
Messages: 106
Enregistré le: 19 Oct 2016

Re: Redirect selon HTTP_REFERER

Message le Jeu Mai 11, 2017 13:54

Toujours sans succès :(

Voici l'intégralité de mon .htaccess
Code: Tout sélectionner
RewriteEngine ON

# Redirect non-www to www
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ /$1 [R=301,L]

#RewriteCond %{THE_REQUEST} ^.*/pageB.html
#RewriteRule ^(.*)pageB.html$ /$1 [R=301,L]

RewriteCond    %{REQUEST_FILENAME}  !-d
RewriteCond    %{REQUEST_FILENAME}  !-f
RewriteRule .* router.php

RewriteCond %{HTTP_REFERER} ^https://www\.google\.fr
RewriteRule ^$ http://www.example.com/pageB.html [L,R]


J'ai une règle qui concerne aussi la page B mais je l'ai temporairement commenté, sans succès. J'ai aussi placé la solution que tu me donnes avant, toujours sans succès.

Les redirections, plus j'en fais, moins je comprends...


jeanluc
WRInaute accro
WRInaute accro
 
Messages: 3273
Enregistré le: 3 Mai 2004

Re: Redirect selon HTTP_REFERER

Message le Jeu Mai 11, 2017 14:06

Je ferais un essai en remontant les deux dernières lignes juste après la partie "Redirect non-www to www".


klp
WRInaute discret
WRInaute discret
 
Messages: 106
Enregistré le: 19 Oct 2016

Re: Redirect selon HTTP_REFERER

Message le Jeu Mai 11, 2017 14:14

Ça fonctionne !

Voici mon .htaccess si quelqu'un a besoin de la solution :
Code: Tout sélectionner
RewriteEngine ON

# Redirect non-www to www
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{HTTP_REFERER} ^https://www\.google\.fr
RewriteRule ^pageA.html$ http://www.example.com/pageB.html [L,R]
...


Merci à tous pour vos retours et plus particulièrement à toi jeanluc !

Je vais pouvoir tester l'impact d'une telle technique sur un site.

Bonne journée


Madrileño
Madrileño
Madrileño
 
Messages: 37560
Enregistré le: 7 Juil 2004

Re: Redirect selon HTTP_REFERER

Message le Jeu Mai 11, 2017 16:01

Bonjour,
UsagiYojimbo a écrit:C'est du cloaking, tu tends le bâton pour te faire battre.

+1, mais peut-être que le site n'a pas besoin de SEO dans le temps. :)

Cordialement.


Formation recommandée sur ce thème :

Formation Netlinking (liens et référencement) : apprenez ce qu'est réellement un bon lien pour le référencement et comment éviter ou sortir d'une pénalité manuelle ou algorithmique due aux liens. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :