Annonces Google

Vous êtes ici : Dossiers référencement > Conseils en référencement naturel

Comment référencer des pages en PHP

Par , le 04 août 2008

Utiliser PHP sur son site pose-t-il un problème pour le référencement ? Cet article explique que ce n'est pas le cas et donne quelques conseils associés.

Le PHP peut-il être néfaste pour le référencement ?

Dans la plupart des cas, cela ne gêne absolument pas. L'extension du nom de fichier n'a en général aucune influence (GoogleBot par exemple ne fait aucune différence entre un fichier .htm, .php ou .asp). Ce qui compte, c'est que la page respecte la norme HTML.

Ce qui peut éventuellement gêner, c'est l'utilisation de pages dynamiques avec de nombreux paramètres dans l'URL, comme par exemple :

article.php?id=12&p=3&t=10&style=p

Dans ce cas il faut mettre en place la technique de l'URL rewriting, décrite en détails au travers de plusieurs articles sur ce site.

Ce qui bloque très souvent l'indexation, c'est l'utilisation de variables de session PHP (lire mon article "Les sessions PHP et le référencement").

Enfin, dans certains cas extrêmes, si le serveur gérant le PHP chez votre hébergeur est surchargé (hébergeurs gratuits par exemple), vos pages risquent de mettre du temps à s'afficher, et au pire de ne pas être accessibles du tout... Si le robot passe à ce moment, ce n'est pas bon ! Mieux vaut opter pour un bon hébergement web payant, d'autant plus que c'est maintenant à la portée de tous les budgets.

Le principe des pages dynamiques en PHP

Schéma très simplifié du PHP pour les débutants
Schéma très simplifié d'une requête d'une page PHP à un serveur

Le PHP est utile pour ajouter de la programmation dans les pages. Dans certains cas, il est possible d'utiliser aussi bien un langage serveur (PHP) qu'un langage client (JavaScript), par exemple pour insérer la date dans une page.

Pour interagir avec une base de données, il faut que le script soit sur le serveur.
Pour réagir aux actions de l'utilisateur (par exemple lorsque le curseur de la souris passe au-dessus d'une image), il faut utiliser un script sur le poste client.

Quoi qu'il en soit, aussi bien pour un internaute que pour un robot d'indexation comme GoogleBot, la page PHP reçue du serveur est une page contenant du code HTML, exactement comme une page statique ayant par exemple l'extension .html.

D'ailleurs il n'est même pas possible de savoir si la page a été interprétée par un serveur PHP. Le code PHP n'est plus visible par les internautes. Les pages PHP s'écrivent donc comme des pages HTML, avec un bon titre de page, des bonnes balises META, etc.

Les identifiants de sessions dans les URL : facteur bloquant pour le référencement

C'est le cas des variables de session PHP qui empêchent l'indexation par les moteurs de recherche (sauf rares exceptions). La raison est simple et s'explique par le principe des sessions : un identifiant de session est attribué automatiquement (par tirage au sort) à chaque visiteur qui arrive sur un site utilisant les sessions (par exemple les sites de commerce en ligne). Cet identifiant va l'accompagner pendant toute sa visite sur le site, ce qui permettra au serveur de gérer par exemple son panier d'achat.

Si cet identifiant de session est transmis dans l'URL (sous forme de variable id ou sessionid...), alors à chaque fois qu'un robot d'indexation tel GoogleBot viendra visiter un site, toutes les pages auront une nouvelle URL. Plus précisément, une même page aura à chaque visite une nouvelle URL.

Si GoogleBot indexait ce genre de pages, il pourrait saturer son index rien qu'avec un seul site !

La solution est soit de se passer de sessions, soit de désactiver les sessions quand le visiteur est en fait un robot d'indexation de moteur de recherche (c'est une forme de cloaking acceptée par les moteurs).

Voici un exemple de code PHP de détection de robot (à vous de l'adapter, il est très simplifié) :

// ----------------------------------------------------------------
// renvoie true si le visiteur est un robot de moteur de recherche
// ----------------------------------------------------------------
function isRobot()
{
  $robots = array("Googlebot", "bingbot", "VoilaBot");
  $is_robot = false;
  foreach($robots as $robot)
  {
    if (eregi($robot, $_SERVER["HTTP_USER_AGENT"]))
    {
      $is_robot = true;
      break;
    }
  }
  return $is_robot;
}

Ce script se base sur une correspondance partielle du UserAgent, à vous de l'adapter selon vos besoins.

Remarque : sur vos pages dynamiques, n'oubliez pas de créer des URL propres avec l'URL Rewriting !

Gestion du header HTTP en langage PHP

Chaque page au format HTML comprend un entête, transmis par le serveur juste avant la page elle-même. Cet entête comprend entre autres un code HTTP indiquant le statut de la page. Par exemple si la page est introuvable, l'entête indiquera le code 404 et le navigateur affichera un message d'erreur adapté. Si la page a été définitivement déplacée, le code HTTP doit être 301.

Utilisation de la fonction header() de PHP

Pour gérer soi-même ce code, par exemple pour indiquer à GoogleBot ou aux autres robots qu'une page a été définitivement déplacée ailleurs sur le site (ou sur un autre site), on peut utiliser la fonction header() du langage PHP. C'est très simple ! Par exemple si votre site a déménagé et que vous souhaitez indiquer sur l'ancienne page d'accueil l'adresse de la nouvelle, il suffit d'écrire dans le fichier situé à l'ancienne adresse :

<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.nouveausite.com/");
exit;
?>

Attention !

2 remarques importantes :

  • La fonction header() doit être utilisée avant tout envoi de caractère vers la page générée (l'entête doit être transmis en premier, avant la page elle-même). Une erreur très classique est de lire un fichier avec include() ou require(), et de laisser des espaces ou des lignes vides, qui génèreront un affichage avant que la fonction header() ne soit appelée.
  • Par défaut, la redirection effectuée par la fonction header('location: ...") est une redirection temporaire (302). Il faut absolument ajouter une précision sur le type de code demandé (301 dans cet exemple, car c'est en général ce qu'il faut pour le référencement).

Voir aussi

Liens externes :

Cet article vous a-t-il plu ?
Cliquez pour voter !

A propos de l'auteur : Olivier Duffez Olivier Duffez sur Google+ Olivier Duffez sur Twitter Olivier Duffez sur Facebook Olivier Duffez sur Pinterest Olivier Duffez sur LinkedIn

Consultant en référencement, Olivier Duffez a travaillé pour les plus grands sites (Doctissimo, FNAC,...). Il édite le site WebRankInfo qu'il a créé en 2002, devenu la + grande communauté francophone sur le SEO (+300.000 membres, 1,5 million de posts). Il est aussi cofondateur de Ranking Metrics, leader des formations webmarketing en France (SEO, AdWords, Analytics, réseaux sociaux) et éditrice de la plateforme MyRankingMetrics (crawler et audit SEO en ligne).

Article (Le référencement de pages PHP : conseils aux débutants en SEO) publié par WebRankInfo dans la rubrique Conseils en référencement naturel. Si vous souhaitez publier un extrait de cet article sur votre site, assurez-vous de respecter les conditions générales d'utilisation de WebRankInfo.

Un commentaire

  • Jack a dit le

    Bonjour,
    Je suis par d'accord sur le fait que les sites dynamiques ne gênent pas... Si pour moi il me gênent.
    Exemple : Une majorité de sites de communiqué de presse n'ont pas accepté un lien php...

    Bref je trouve plus de diffucltés pour référencer mon site dynamique.
    Je vais voir du coté URL rewriting.
    Bonne journée.

Postez un commentaire !

Les champs marqués du signe * sont obligatoires. L'adresse email ne sera pas affichée.

En postant un commentaire, vous acceptez les CGU du site WebRankInfo.

Catégories des dossiers

Consultez les dossiers par thématiques :

Annonces Google

Formation référencement et webmarketing

Venez chez Ranking Metrics vous former au référencement, à Google AdWords et Analytics ainsi qu'aux réseaux sociaux ! Plus de 4000 entreprises sont déjà venues (Dossier possible OPCA...).

Préparés et animés par Olivier Duffez (WebRankInfo) et Fabien Faceries (AgentWebRanking), 2 professionnels reconnus dans le domaine, nos modules sur le référencement naturel sont très complets tout en laissant une grande place à l'interactivité pour répondre à toutes les questions des participants.

Pour connaître le plan détaillé de chaque module, le prix, les dates et les lieux, consultez le site de Ranking Metrics (organisme de formation).

Hébergement web

Hébergement web mutualisé et dédié

Pour un bon référencement, il faut un bon hébergeur. Testez Sivit by Nerim, l'hébergeur choisi par Olivier Duffez pour son site WebRankInfo.

A partir de 3€ HT/mois.

Annonces Google