Forcer le www dans les URLs

Forum dédié aux techniques de référencement que vous avez mis en place. Test, études de cas, analyses des résultat obtenus.

Modérateur: Modérateurs


Forcer le www dans les URLs

Messagede dcz » Sam Mai 20, 2006 4:23 pm

J'ai pensé qu'il pourrait être utile de lancer un sujet sur le www dans les URLs.

Le WWW :
    Tout d'abord, www.example.com est un authentique sous domaine de example.com, même s'il est, la plupart du temps définit par défaut avec les mêmes paramètres que le domaine principale.

    Le problème qui se pose ici est que le domaine principal est lui aussi tout à fait fonctionnel, example.com et www.example.com renverront à la même page si rien n'est fait.

    Votre référencement risque d'en pâtir, car ces deux URLs sont des duplicates de la même page, et pire, par défaut, toutes les URLs de votre site auront ce duplicate. Parce que les deux URLs, avec ou sans le www, marcheront. Le sou domaine www pointe sur le même host que le domaine.

    Certain Bots testent des URL en retirant le www sans qu'il ait eût besoin de suivre un lien de cette sorte. Et des utilisateurs pourraient également poster de tels liens. Si vous ne faites rien à ce sujet, vous avez de bonnes chances de trouver des duplicates de vos pages dans les résultats des moteurs de recherches et de finalement vous retrouver avec un moins bon Page Rank (PR).

    La solution est d'utiliser une redirection http 301 pour forcer l'utilisation d'une seule des deux possibilités.

Que choisir ?
    Internet est fait de standard, les Moteurs de Recherche et leur Bots les suivent, ou pour le moins sont construit en relation étroite avec ces standards. Le choix évident est ici de toujours conserver le www dans vos URLs.

    Et cela ne concerne pas seulement ce qu'en feront les roBots, qui associent "forcement" le www à un domaine principale et non un sous domaine (et donc plus important ?).
    Standards ? www.example.com vs example.com . Lequel des deux est le plus efficace selon vous ?

    PhpBB n'est pas le seul script favorisant l'usage du www, pratiquement tous les formulaires capable de créer des liens automatiquement le feront en utilisant une Expression Régulière basé sur le www, pas de www, pas de lien actif automatique
    Il faudrait écrire http://example.com , ce qui, vous en conviendrez, est moins susceptible de se produire.

    Certains sites s'arrangent même pour conserver le www dans les URL de leurs sous domaines, mais cela peut rallonger les URLs, ce qui est aussi un paramètre important.

Les solutions :
    mod Rewrite Apache :

      Comme souvent pour gérer les URLs, le mod rewrite d'Apache est une solution parfaite.
      L'idée est ici de s'assurer que le www est présent dans l'URL demandée, et de, si ce n'est pas le cas, la rediriger, en utilisant un header http 301, vers la même URL pourvue du www. LLes utilisateurs ne remarqueront pratiquement rien, la redirection se fait avant l'exécution de php, et les Bots "sauront" que cette dernière URL est la seule à prendre en compte.

      Différentes approches sont possibles, et dépendent des spécificités de votre hébergement.

      Tout d'abord, nous pouvons vérifier que le www est ou n'est pas présent en testant l'égalité avec www.example.com ou l'inégalité avec example.com.
      Ensuite, comme le "." est un caractère spéciale pour le mod rewrite, nous devrions l'échapper avec un "\", mais j'ai observé des cas pour lesquels cela posait certains problèmes.

      Ces différences dans la façon d'appréhender des rewriterules valables pour toutes les url d'un site, ré écrites ou pas, proviennent la plupart du temps des personnalisation d'Apache et du mod Rewrite réalisé par les hébergeur.

      Au final, il est nécessaire de s'assurer que la redirection fonctionne dans tous les cas, et d'effectuer quelques tests si cela ne fonctionne pas directement.

      Les RewriteCond et RewriteRule proposées doivent évidement être mise dans le .htaccess se trouvant à la racine de votre site, juste après :
      Code: Tout sélectionner
      RewriteEngine on


      Première méthode : URL = example.com.

      Code: Tout sélectionner
      RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
      RewriteRule ^(.*) http://www.example.com/$1 [QSA,L,R=301]


      Notez que si ces règles ne remplissent pas leur office sur votre serveur, vous pouvez essayer de retirer le "\", le $ et le [NC] dans la RewriteCond.
      L'avantage de cette méthode est que vous ne risquez pas de bloquer l'accès à des sous domaines qui se trouveraient hébergés au même endroit.

      Deuxième méthode : URL !=www.example.com.

      Code: Tout sélectionner
      RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
      RewriteRule ^(.*) http://www.example.com/$1 [QSA,L,R=301]


      La même remarque s'applique quant aux "\", $ et [NC] dans la RewriteCond.
      Si pour quelques raisons cette variante serait la seul fonctionnelle pour votre site et que vous ayez des sous domaines pointant vers le même dossier, vous pouvez alors modifier la RewriteCond de cette façon :
      Code: Tout sélectionner
      RewriteCond %{HTTP_HOST} !^(www|sub1|sub2|sub3)\.example\.com$ [NC]

      Et conservez la RewriteRule telle qu'elle. Tous ce qui ne se trouverais pas dans la liste entre parenthèses sera alors redirigé, par http 301, vers www.example.com/uri_demandée

    Redirection PHP :

      Pour ceux qui n'auraient pas la chance d'utiliser le serveur Apache avec le mod Rewrite actif, deux solutions :
      1) Changez d'hébergement :)
      2) Essayer ce qui suit ;)

      Code: Tout sélectionner
      $req_uri = $_SERVER['REQUEST_URI'];
      $req_domain = $_SERVER['HTTP_HOST'];
      $sub = substr( $domaine, 0, strpos($domaine,".") );
      if ($sub != 'www')
      {
         header("Status: 301 Moved Permanently", false, 301);
         header("Location: http://www.example.com/$req_uri");
         exit();
      }


      Attention, cela peut engendrer des erreurs si ce code n'est pas appliqué assez tôt dans le code de votre page. Le bon endroit pour cela pour phpBB devrait être le fichier common.php, juste avant le "?>".

    Vous pouvez bien entendu appliquer ces principes pour ne pas utiliser le www dans l'URL de votre domaine, bien qu'il y ait beaucoup de chances que cela soit moins efficace pour le référencement de votre site.
Dernière édition par dcz le Mer Mar 07, 2007 10:12 am, édité 1 fois.
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 19909
Inscription: Ven Avr 28, 2006 9:03 pm

Publicité

Messagede zibus » Jeu Juin 01, 2006 8:59 pm

Si je gère le www par un alias, est ce que c'est bon quand même.

Je peux accéder à mon forum avec ou sans le www
zibus
 
Messages: 26
Inscription: Jeu Juin 01, 2006 8:50 am
Localisation: Gard

Messagede dcz » Jeu Juin 01, 2006 9:06 pm

zibus a écrit:Si je gère le www par un alias, est ce que c'est bon quand même.

Je peux accéder à mon forum avec ou sans le www


L'idée ici est bien de forcer un choix unique. Dans le cas d'un domaine, il est presque toujours mieux de forcer le préfixe www dans les url, pour les sous domaines, lorsque c'est possible, c'est mois évident.

Théoriquement, le préfixe www est un plus, en pratique, il ne faut pas trop rallonger ses URL, c'est une question de goûts.

Par contre ce qui est toujours valable, c'est de s'assurer que l'on ne se retrouve pas avec un duplicate par URL a cause du préfixe www . Il vaut mieux toujours s'assurer qu'une seule "version" de l'URL n'est accessible.

Dans tous les cas, changer n'est pas un problème, vu qu'une fois en place, la redirection http 301 va maintenir les Backlinks et le PageRank de tes pages.

Car si non, tu risques de voir fleurir les duplicates au fur et à mesure de la vie de ton site.

++
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 19909
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede zibus » Ven Juin 09, 2006 8:54 am

Salut dcz.

Je veux que l'url http://www.bricoforum.net soit redirigée sur http://bricoforum.net

Est ce que le code suivant est bon

Code: Tout sélectionner
RewriteCond %{HTTP_HOST} ^www.bricoforum\.net$ [NC]
RewriteRule ^(.*) http://bricoforum.net/$1 [QSA,L,R=301]
zibus
 
Messages: 26
Inscription: Jeu Juin 01, 2006 8:50 am
Localisation: Gard

Messagede dcz » Ven Juin 09, 2006 9:07 am

C'est l'idée, mais ça ne marche pas chez toi.

Essai :

Code: Tout sélectionner
RewriteCond %{HTTP_HOST} !^bricoforum\.net$ [NC]
RewriteRule ^(.*) http://bricoforum.net/$1 [QSA,L,R=301]


Comme tu l'as lu, il y de nombreuses variantes dans ce cas, qui ne marchent pas toutes chez tout le monde.

donc essai aussi :

Code: Tout sélectionner
RewriteCond %{HTTP_HOST} !^bricoforum.net [NC]
RewriteRule ^(.*) http://bricoforum.net/$1 [QSA,L,R=301]


et en cas :


Code: Tout sélectionner
RewriteCond %{HTTP_HOST} !^bricoforum.net [NC]
RewriteRule (.*) http://bricoforum.net/$1 [QSA,L,R=301]


Dans tous les cas ou va trouver ;)

Note qu'il vaut mieux que tu n'utilises qu'un unique .htaccess pour que cette règle se propage bien.
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 19909
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede jcg11290 » Mer Juil 05, 2006 2:55 pm

Bonjour,

J'ai constaté dans que dans les urls reprises par les moteurs j'avais :

-clic-nature.info/forum/
et
-www.clic-nature.info/forum

si je modifie le .htaccess (à la racine du site) de cette manière :
Code: Tout sélectionner
RewriteCond %{HTTP_HOST} ^clic-nature\.info$ [NC]
RewriteRule ^(.*) http://www.clic-nature.info/$1 [QSA,L,R=301]
est-ce correct.. ?

Merci..
J.Cl. :wink:
Avatar de l’utilisateur
jcg11290
phpBB SEO Team
phpBB SEO Team
 
Messages: 817
Inscription: Lun Juin 19, 2006 4:11 pm
Localisation: Carcassonne(11)

Messagede dcz » Mer Juil 05, 2006 4:05 pm

Dans le principe et la syntaxe oui, après, comme je l'ai dit, cette redirection a beaucoup de variantes possibles qui ne marchent pas toutes sur tous les serveurs.

Il faut donc essayer.

Si celle là ne marche pas direct (portail et forum), essai de mettre ça par exemple :

Code: Tout sélectionner
RewriteCond %{HTTP_HOST} ^clic-nature\.info [NC]
RewriteRule ^(.*) http://www.clic-nature.info/$1 [QSA,L,R=301]


ou même ça si ça ne suffit pas :

Code: Tout sélectionner
RewriteCond %{HTTP_HOST} ^clic-nature.info [NC]
RewriteRule ^(.*) http://www.clic-nature.info/$1 [QSA,L,R=301]


Je ne fait que rendre la RewriteCond moins stricte, donc, si celle que tu as posté marche, c'est la meilleur à garder, si non, dans l'ordre, il faut essayer.

Il faut aussi mettre ces deux ligne juste après

Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on
RewriteBase /


dans le .htaccess situé à la racine du domaine et de préférence ne pas ajouter de rewriterules dans des sous dossiers.

PS oublie pas de faire un petit Hors sujet pour ce soir, ça a bien marché jusqu'à présent je trouve :D

++
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 19909
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede jcg11290 » Mer Juil 05, 2006 4:29 pm

Re,

Mon .htaccess pourrait être comme ceci pour un 1er essai..
Code: Tout sélectionner
DirectoryIndex portal.php index.php index.html

RewriteCond %{HTTP_HOST} ^clic-nature\.info$ [NC]
RewriteRule ^(.*) http://www.clic-nature.info/$1 [QSA,L,R=301]

Options +FollowSymlinks
RewriteEngine On
RewriteBase /

#########################################################
# PHPBB SEO REWRITE RULES            #
#########################################################
# AUTHOR : DCZ http://www.phpbb-seo.com/
# STARTED : 01/2006
#####################################################
# FORUMS PAGES
########################
# FORUM PROTECTION RULE
RewriteRule ^forum/.+/([^/]+\.html)$ /forum/index.php [R=301,L]
# CATEGORIES
RewriteRule ^forum/.+-vc([0-9]+)\.html$ /forum/index.php?c=$1 [QSA,L]
# PAGINATED FORUM
RewriteRule ^forum/.+-vf([0-9]+)-([0-9]+)\.html$ /forum/viewforum.php?f=$1&start=$2 [QSA,L]
# FORUM
RewriteRule ^forum/.+-vf([0-9]+)\.html$ /forum/viewforum.php?f=$1 [QSA,L]
# PAGINATED TOPIC
RewriteRule ^forum/topic([0-9]+)-([0-9]+)\.html$ /forum/viewtopic.php?t=$1&start=$2 [QSA,L]
# TOPIC
RewriteRule ^forum/topic([0-9]+)\.html$ /forum/viewtopic.php?t=$1 [QSA,L]
# POST
RewriteRule ^forum/post([0-9]+)\.html$ /forum/viewtopic.php?p=$1 [QSA,L]
#PROFILES
RewriteRule ^forum/membre([0-9]+)\.html$ /forum/profile.php?mode=viewprofile&u=$1 [QSA,L]
# END PHPBB PAGES
#########################################################
# MX GG_SITEMAPS REWRITE RULES            #
#########################################################
# phpBB
RewriteRule ^forum/sitemaps.xml$ /forum/sitemap.php [L]
RewriteRule ^forum/forum-sitemap-([0-9]+).xml$ /forum/sitemap.php?fid=$1 [L]
RewriteRule ^forum/sitemap-forum.xml$ /forum/sitemap.php?forum [L]
#####################################################



J.Cl. :wink:
PS : J'y pense au HS.. :lol: :lol:
Avatar de l’utilisateur
jcg11290
phpBB SEO Team
phpBB SEO Team
 
Messages: 817
Inscription: Lun Juin 19, 2006 4:11 pm
Localisation: Carcassonne(11)

Messagede dcz » Mer Juil 05, 2006 4:43 pm

dcz a écrit:Il faut aussi mettre ces deux ligne juste après

Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on
RewriteBase /




Après donc, là tu les a mis avant ;)

++
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 19909
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede jcg11290 » Mer Juil 05, 2006 4:50 pm

dcz a écrit:
dcz a écrit:Il faut aussi mettre ces deux ligne juste après

Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on
RewriteBase /




Après donc, là tu les a mis avant ;)

++

Je ne comprend pas, elles sont bien après..
Code: Tout sélectionner
DirectoryIndex portal.php index.php index.html

RewriteCond %{HTTP_HOST} ^clic-nature\.info$ [NC]
RewriteRule ^(.*) http://www.clic-nature.info/$1 [QSA,L,R=301]

Options +FollowSymlinks
RewriteEngine On
RewriteBase /

ou alors en fin du fichier... :?:

J.Cl. :wink:
Avatar de l’utilisateur
jcg11290
phpBB SEO Team
phpBB SEO Team
 
Messages: 817
Inscription: Lun Juin 19, 2006 4:11 pm
Localisation: Carcassonne(11)

Messagede dcz » Mer Juil 05, 2006 5:07 pm

Ah lol, c'est le coup du sous entendu, ces deux lignes, c'est celles que tu ajoutes ;)

donc il faut mettre :
Code: Tout sélectionner
DirectoryIndex portal.php index.php index.html
Options +FollowSymlinks
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^clic-nature\.info$ [NC]
RewriteRule ^(.*) http://www.clic-nature.info/$1 [QSA,L,R=301]


Car il faut bien démarrer le moteur de réécriture d'URL pour lui demander de bosser ;)

++
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 19909
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede dcz » Mer Juil 05, 2006 5:17 pm

bon alors comme d'hab, c'est bon, mais alors que si ils gagnent .... :D
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 19909
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede jcg11290 » Jeu Juil 06, 2006 6:39 am

Bonjour,

Voici comment j'ai créé le fichier .htaccess.. (1ère méthode complete)

Code: Tout sélectionner
DirectoryIndex portal.php index.php index.html
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
#
RewriteCond %{HTTP_HOST} ^clic-nature\.info$ [NC]
RewriteRule ^(.*) http://www.clic-nature.info/$1 [QSA,L,R=301]
#
#########################################################
# PHPBB SEO REWRITE RULES            #
#############################################


A priori ça à l'air de fonctionner mais comment peut-on en être certain à 100%... :?:

J.Cl. :wink:
PS: Pour le petit HS.. c'est bon.. :lol:
Avatar de l’utilisateur
jcg11290
phpBB SEO Team
phpBB SEO Team
 
Messages: 817
Inscription: Lun Juin 19, 2006 4:11 pm
Localisation: Carcassonne(11)

Messagede dcz » Jeu Juil 06, 2006 8:48 am

Et bien c'est magnifique, et tu es promu grand sorcier du HS :lol:

Donc, pour être certain que tout va bien, il faut tester clic-nature.info et au moins une URLs mentionnant un dossier pour tester la propagation, et laclic-nature.info/forum/ est bien géré aussi.

Donc

c'est tout bon ;)
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 19909
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede jcg11290 » Jeu Juil 06, 2006 10:08 am

Bonjour,

J'avais testé les liens comme toi, je présume c'est ce que tu as fait, et à chaque fois je retombe bien sur -www.clic-nature....
donc OK.. c'est parfait.. la suite dans les autres posts..

Merci..
J.Cl. :wink:
PS: Merci aussi pour la promotion de grand sorcier du HS..:lol: mais moins certain pour dimanche.. :?
Avatar de l’utilisateur
jcg11290
phpBB SEO Team
phpBB SEO Team
 
Messages: 817
Inscription: Lun Juin 19, 2006 4:11 pm
Localisation: Carcassonne(11)

Suivante

Retourner vers Techniques de Référencement

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


 
cron