PHP Solutions : Robots d'indexation et référencement
Article paru dans le magazine PHP Solutions (Août 2008). Attention cet article n’est pas soumis à la licence Creative Commons : tous les droits de cet article sont réservés.
La visibilité de votre site internet est l’un des principaux atouts de son succès, et la maîtrise des moteurs de recherche et du référencement peut vous faire gagner de précieuses visites.
Note : Cet article contient plusieurs références n’étant pas à jour, notamment concernant les informations techniques liées aux traces laissées par les robots d’indexation des moteurs de recherche sur votre site, ou même le nom du moteur de recherche de Microsoft (qui s’appelle maintenant Bing, mais vous le savez déjà).
Cet article explique :
- Les bases d’un algorithme d’exploration et d’indexation du web,
- Les principales règles d’optimisation du référencement (SEO),
- Comment concevoir un terrain d’accueil pour améliorer l’expérience de l’utilisateur.
Ce qu’il faut savoir :
- Les principaux éléments de la syntaxe des expressions régulières,
- Des bonnes notions du langage PHP et les bases de la programmation orientée objet.
Vous allez voir dans les grandes lignes comment se comporte un robot d’indexation (ou spider) afin de mieux en comprendre le fonctionnement. Pour cela, vous allez tenter de concevoir le notre. Un robot est un programme chargé de parcourir automatiquement le web pour enregistrer des informations issues des documents visités.La plupart du temps, les robots ne sont capables d’analyser que du contenu textuel, ce qui correspond à un grand nombre de types de fichiers. Le contenu binaire comme les images, la musique ou les vidéos est beaucoup plus difficile à indexer, c’est pourquoi nous n’en parlerons pas dans cette partie.
Les robots d’indexation sont utilisés par les moteurs de recherche avant tout, pour alimenter leur base de données. Mais ils sont aussi utilisés dans des outils de veille, souvent dans des projets d’études universitaires, comme les outils de statistiques d’utilisation et de modification du contenu de wikipédia, ou encore les institutions ou organismes nationaux chargés de contrôler pour certains la présence de contenu litigieux. Alors que certains
robots ont tout intérêt à signaler leur visite, les robots des moteurs de recherche notamment, d’autres chercheront à être plus discrets.
On décrit l’indexation des pages par les robots en deux phases. La première est couramment appelée crawling, elle correspond au parcours du web le plus largement possible. La seconde phase est l’indexation du document, c’est à dire l’analyse du contenu. À partir de ce principe simple, il est possible de créer des robots ayant des applications particulièrement variées.
Pour indexer correctement un document, il faut choisir les éléments porteurs de sens. L’analyse des fichiers comme les images, les applets Java ou les animations flash ne sera pas traitée ici car elle nécessite l’utilisation d’algorithmes complexes. On se limitera également à l’analyse d’une page HTML, mais le principe reste le même pour des documents comme les PDF, OpenDocument (format utilisé par OpenOffice) ou OpenXML (format apparu avec Microsoft Office 2007).
Certains éléments de la page n’ont aucune utilité pour un robot, il faut donc être capable de sélectionner ceux qui seront porteurs de contenu pour gagner en pertinence. On peut lister les principales balises HTML utiles. Les éléments d’en-tête et meta : ils contiennent des informations techniques ou sémantiques sur la page web fournies par le créateur de la page. Ils peuvent contenir des informations pertinentes, mais sont aussi utilisés de manière détournée pour spammer les robots, c’est pourquoi les moteurs de recherche y accordent de moins en moins d’importance. On pourra tout de même s’y intéresser car ils contiennent généralement quelques informations utiles.
La balise <title> est particulièrement utilisée par les moteurs de recherche, c’est pourquoi aujourd’hui elle contient généralement le titre de la page mais aussi des mots clés précieux et pertinents sur le contenu. Les balises <h1> à <h6> sont les titres de section. Ils ont le même intérêt que le titre de la page : ils donnent généralement des mots clés pertinents pour identifier le sujet du contenu qui le suit.
Les ancres et liens hypertextes <a> sont essentiels pour plusieurs raisons. Ils permettent d’établir une carte du web, utilisée pour le crawling, mais aussi pour évaluer la pertinence de la page dans le cadre étudié. Par exemple, le pagerank de Google consiste à attribuer une notre de pertinence en fonction du nombre de pages qui lient celle étudiée et le pagerank de celles-ci. Les emphases, telles que <strong> ou <em> peuvent permettre de mettre en valeur un mot ou une phrase particulièrement pertinente, mais leur intérêt reste relativement limité.
Par ailleurs, il faut également pouvoir détecter les commentaires HTML pour les ignorer : ils n’apportent pas de contenu pour la page puisqu’ils ne sont pas affichés, il n’est donc pas nécessaire d’en tenir compte pour indexer une page. On peut aussi lister un certains nombres d’attributs de balises HTML qu’il faut prendre en compte pour créer notre robot.
- L’attribut
hrefcontient l’adresse d’un lien vers une page depuis la page que nous analysons, srccontient l’adresse d’un document inclus dans la page (une image ou un fichier javascript par exemple),titleest généralement utilisé pour commenter une image ou un lien,altcontient du texte alternatif affiché à la place d’une image quand cela est impossible, comme il nous est impossible d’analyser une image, cet attribut doit être utilisé pour ne pas manquer d’informations,- les attributs
reletrevservent à préciser le comportement à avoir pour suivre les références avant et arrière de la page (href).
Même si nous n’essayerons pas de développer cette fonctionnalité, on peut envisager d’introduire un système de pondération permettant de valoriser différemment le contenu des différents types de balises, en intégrant par exemple un coefficient de 1 pour l’ensemble du contenu, de 10 pour l’ensemble des mots clés du titre <title> et 3 points pour les emphases comme <strong> ou <em>. Cette idée permettrait d’améliorer la qualité de l’analyse, mais rendrait l’indexation probablement beaucoup plus gourmande en mémoire.
Développer notre robot
Maintenant que nous avons fixé les éléments sur lesquels notre robot doit porter son attention, nous pouvons passer à son développement. PHP permet d’ouvrir certains fichiers sur des serveurs distant grâce à l’implémentation de certains protocoles, notamment HTTP et FTP. Cependant, pour que ceci soit possible, il faut que la directive allow_url_fopen soit activée dans le fichier de configuration php.ini, sachant qu’il est impossible de l’activer dynamiquement avec la fonction ini_set()pour des raisons de sécurité.
Nous pouvons donc simplement appeler notre fichier en utilisant file_get_contents($url);. Reportez vous au constructeur (__construct(), du code source) de la classe spider pour en savoir plus. Il serait judicieux de vérifier si le fichier téléchargé est bien un document HTML, voire même effectuer ce test avant l’appel à file_get_contents(), mais ce test n’est pas toujours évident à réaliser, nous effectuerons donc cette tâche pendant l’analyse du fichier.
On commencera par supprimer les commentaires puis séparer l’entête du contenu (le <head> du <body>) pour limiter le domaine de recherche des expressions, afin d’économiser un peu de temps d’exécution et de ressources. On utilisera plusieurs expressions régulières
dans cet article, elles fonctionnent dans un cas standard mais probablement moins bien quand le code est mal conçu, c’est à vous de les adapter aux usages rencontrés, ce qui constitue probablement le principal défi posé par le développement d’un robot de ce type. Idéalement, si toutes les pages analysées étaient bien conçues, nous aurions pu utiliser l’implémentation en PHP de l’API DOM, rendant
l’analyse moins hasardeuse et plus commode à développer.
Pour supprimer les commentaires, on utilisera l’expression régulière PERL `<!--(?:(?:\s|.)*?)-->`im. Elle n’est peut-être pas idéale mais n’est pas très lourde. Voici son fonctionnement :
- Les caractères
`délimitent la chaîne recherchée, iest un modificateur qui indique à PHP que la recherche est insensible à la casse,mest un second modificateur permettant de faire une recherche sur plusieurs lignes,- une assertion (entre parenthèses) est définie comme «non-capturante» par les caractères
?:, par souci d’économie, \s|.permet de choisir n’importe quel caractère (.) ou un caractère blanc (\s, espace, retour à la ligne, etc),- enfin, le quantificateur
*permet de sélectionner ce motif zéro, une ou plusieurs fois, il est suivi de?qui rend ce quantificateur non-gourmand, il capturera donc la chaîne la plus courte possible qui satisfait le motif, et s’arrête donc avant le premier motif-->.
On remplace le motif précédant par une chaîne vide de cette façon : preg_replace('`<!--(?:(?:\s|.)*?)-->`im', '', $contenu);. Les autres motifs utiliseront généralement une syntaxe similaire, c’est pourquoi nous ne détaillerons que les éléments variants. Pour obtenir séparément le contenu de l’entête, on utilise cette expression régulière : `<body(?:[^>]*)?>((?:\s|.)*?)</body>`im, qui ne change pas beaucoup de la précédente : on ajoute la prise en charge des différents attributs possibles de la balise <body> grâce au motif (?: [^>]*)?, ce qui correspond à un nombre quelconque de caractères différents du > ([^>]*).
On peut maintenant analyser les méta-tags et vérifier le type de fichier que nous analysons. On retiendra deux types mime : text/htmltext/xhtml+xml, même si ce dernier est peu utilisé car les navigateurs trop anciens ne le reconnaissent pas. Pour analyser l’ensemble des métas, on utilise la fonction preg_match_all() et le motif `<meta (?:http-equiv|name)="(.+?)" +content="(.+?)"(?:/)?>`im qui n’apporte rien de nouveau dans sa syntaxe, sauf l’ajout de l’éventuel / présent en XHTML. Il est maintenant possible d’analyser le contenu. Les balises comme <p>, <h[1-6]>, et <strong> utilisent des expressions régulières presque identiques, c’est pourquoi je ne détaillerai que l’analyse des paragraphes <p>. Le contenu de la page étant placé dans le corps, la recherche est limitée à notre section <body>. On utilisera une expression régulière basée sur la même syntaxe que les précédentes : `<p(?: [^>]*)?>((?:\s|.)*?)?</p>`im, c’est pourquoi je ne la détaillerai pas non plus. Après avoir capturé le contenu des paragraphes, nous pouvons le débarrasser des balises HTML avec la fonction strip_tags() pour compter les caractères avec strlen() et les mots (c’est à dire chaque suite de caractères entourée d’espaces) avec sizeof(explode(' ', $chaine)).
L’analyse des liens et des images utilise à nouveau les même filons, comme présenté dans la fonction Parse() du code source de la classe, vous constaterez que le code est relativement répétitif. L’analyse des liens permet de dresser la carte des pages accessibles depuis la page étudiée, c’est pourquoi elle est importante pour la suite (l’étape de crawling). Les liens peuvent être indiqués de manière relative dans la page, il faut donc que nous les modifions pour obtenir l’adresse absolue de chaque lien sur la page. La première étape est de vérifier si on trouve un schéma d’adresse tel que http:// (indiquant qu’elle est exprimée de manière absolue) en début de chaîne, si il est absent, l’adresse doit être complétée. Sinon, on remplace une éventuelle chaîne ./ par le complément.
On devine généralement le complément grâce à l’adresse de la page courante, mais il peut arriver que les liens soient définis relativement à une autre adresse, définie par la balise <base />. Vous pouvez vérifier en détail comment sont analysées les liens dans la fonction Link() et comment est devinée la racine des liens avec la fonction Root() de la classe. Une fois notre classe Spider terminée, nous pouvons ajouter une fonction statique qui permet de lancer les opérations de crawling et d’analyse (appelée Analyse()).
Code source de la classe Spiders
Apprivoiser les robots et les moteurs de recherche sur son site
La plupart des robots des moteurs de recherche visitent votre site en s’annonçant, il peut donc être pratique de les détecter pour par exemple, les compter séparément des visiteurs dans les statistiques. Commençons par dresser une liste (non exhaustive) des principaux robots connus. Googlebot, le principal robot de Google visite le web très régulièrement en mode Fresh Bot, il peut faire plusieurs passages sur une page par jour. Le Fresh Bot analyse le texte et non la structure, tandis que le Deep Bot visite une page plus rarement mais l’analyse, comme son nom l’indique, plus en profondeur.
Le robot Slurp d’inktomi, racheté par Yahoo! fonctionne d’une manière assez similaire à Googlebot, mais ne classe pas pour autant les pages de la même manière. Par ailleurs le crawling semble moins régulier, mais généralement assez profond. Le robot de MSN Live est un peu moins célèbre, mais possède quelques options intéressantes, comme la possibilité, depuis peu, de lui conseiller la fréquence des visites la plus pertinente pour indexer vos pages (liée à la fréquence des mises à jour).
Ces robots peuvent analyser une page en profondeur grâce aux balises HTML et leur sens, c’est pourquoi les respecter vous permet d’optimiser intelligemment vos pages pour un meilleur référencement. Il est temps de dire définitivement adieu à la mise en page basée sur les tableaux.
L’art du référencement et de la SEO (pour Search Engine Optimization) est assez complexe mais puissant, et il impose de suivre quelques règles dont certains sont devenus spécialistes. La règle absolue, c’est la qualité du contenu : plus il est intéressant, plus votre site aura de chances de devenir populaire. Les artifices techniques ne permettront pas à eux seuls une bonne visibilité sur internet, mais ils ne sont pas non plus négligeables. Les robots ne parcourent pas toujours toute la page, stratégiquement, placer les liens en début de page et au sein du contenu, sur des mots clés choisis avec soin, valorisera le référencement des pages cibles. Par exemple, lorsque vous publiez un article, n’hésitez pas à faire des liens vers d’autres pages sur le même sujet, car le robot pourra l’étudier avec le contenu autour de ce lien pour multiplier les mots clés. Par ailleurs, remplissez aussi les attributs title des liens avec d’autres mots clés, vous multiplierez ainsi vos chances d’apparaître dans des listes de résultats. Par ailleurs, des organismes travaillent sur des nouvelles normes et technologies pour qu’un document numérique soit le plus efficacement compréhensible par les systèmes informatiques.
Ces technologies pourraient permettre d’indexer efficacement un maximum de pages, elles servent aujourd’hui certaines bibliothèques et archives (comme la banque de données de l’organisation mondiale de la santé). L’une des normes les plus prometteuses est probablement RDF (pour Resource Description Framework), appliquée notamment à la syntaxe XML. Elle permet de décrire intelligemment une grande variété de contenu comme des ressources web et leurs métadonnées (données à propos d’autres données). Vous pouvez commencer à travailler avec ces technologies dans vos documents XML, car des robots d’indexation de fils XML (comme les flux RSS et ATOM) apparaissent depuis quelques années.
Le projet Dublin Core, avec l’utilisation du couple XML/RDF permet de décrire 15 propriétés sur un document numérique, comme le titre, la description, le format ou l’auteur. Il permet donc de mettre une certaine ressource numérique en lien avec d’autres ressources. Dans une page HTML, il est possible d’introduire les métadonnées Dublin Core à l’aide de la balise meta, comme présenté ci-dessous. Vous aurez plus de détails sur cette syntaxe sur le site officiel du projet Dublin Core : http://dublincore.org/documents/dcq-html/.
<meta name="DC.Title" content="Titre de document" />
Pour en savoir plus sur les métadonnées et leur utilisation, rendez vous sur la page http://peccatte.karefil.com/software/metadata.htm qui vous renseignera sur un bon nombre d’initiatives lancées ces dernières années.
Il est important aussi de faire un point sur le comportement des robots vis-à-vis du contenu binaire, comme les images ou les animations Flash. Bien que Google étudie une manière d’analyser le contenu direct des images dans ses laboratoires, aucun moteur de recherche n’est actuellement capable de référencer directement une illustration. Dublin Core par exemple, pourrait palier à ce soucis, mais son application en ligne n’est pas vraiment développée. Par ailleurs, d’autres architectures de métadonnées comme EXIF permettent d’inclure des tags ou des détails sur l’image, mais celle-ci n’est pas réellement standardisée et n’est donc pas plus utilisée sur le web.
On peut faire une petite exception pour les photographies prises avec un appareil numérique qui contiennent des informations sur la date de prise de vue et le type d’appareil, mais généralement, les logiciels de retouche d’image font disparaître ces informations, on les trouve donc vraiment peu sur Internet. La meilleure manière actuellement pour référencer une image est de placer des mots clés dans le nom du fichier, et en renseignant les attributs title et alt des balises HTML img. Par ailleurs, les robots utilisent souvent les mots clés trouvés dans le texte entourant l’image, quelques lignes avant et après la balise img, les robots ne s’occupent pas de la mise en forme réalisée grâce aux CSS.
Le référencement des animations Flash est lui aussi problématique, en fonction de son utilisation. Un site entièrement basé sur une animation (schématiquement un nombre minimal de pages HTML avec une animation principale dynamique) sera presque impossible à référencer correctement. Si l’unité du site reste la page, une utilisation, même intensive, de Flash n’est plus vraiment un problème, et des solutions pour une intégration valide selon les normes du W3C et accessible (pour les victimes d’un handicap et les robots) on été trouvées.
Le code suivant présente la solution la plus facile et pratique, son inconvénient majeur est la perte de la détection automatique de la version du lecteur flash minimum requise.
D’autres solutions sont proposées sur l’excellent site Web Rank Info : http://www.webrankinfo.com/actualites/200705-referencement-flash.htm, notamment une technique très à la mode le Flash satay, où un fichier flash fait office de contrôleur frontal pour toutes les autres animations, chargées en fonction des paramètres passés. Cette technique est également applicable aux applets Java, par exemple.
Enfin, une dernière problématique qu’il convient d’étudier concerne le référencement des sites internet intégrant la technologie Ajax ou d’autres fonctionnant avec Javascript. En effet, du contenu rendu disponible uniquement par un appel Javascript est rarement lu par un robot, bien qu’il semble que certains (Googlebot notamment) soient capables d’interpréter certaines fonctions Javascript basiques. Le meilleur moyen de rendre le contenu d’une page facile à référencer est de suivre les recommandations liées à l’accessibilité des pages dynamiques, notamment proposer une alternative plus classique pour obtenir le contenu.
Identifier et gérer le passage d’un robot
Les robots d’indexation des moteurs de recherche peuvent être identifiés grâce au client qu’ils annoncent utiliser ou leurs adresses. Ces informations sont disponibles dans les variables $_SERVER['HTTP_USER_AGENT'] ou $_SERVER['REMOTE_ADDR'].
Googlebot se présentera par l’une de ces chaînes :
Googlebot/2.1 (+http://www.google.com/bot.html),Mozilla/5.0 (compatible; Googlebot/2.1;+http://www.google.com/bot.html),Googlebot-Image/1.0.
et sera connu grâce à une adresse au format crawl*.googlebot.com.
Slurp, d’inktomi et Yahoo! peut être identifié par ces chaînes User-Agent :
Mozilla/5.0 (compatible; Yahoo! Slurp;http://help.yahoo.com/help/us/ysearch/slurp),Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html)
et l’adresse sera au format crawl.yahoo.net.
Le troisième robot le plus connu est le robot utilisé par MSN :
msnbot/1.* (+http://search.msn.com/msnbot.htm),Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322),Mozilla/4.0 (compatible; MSIE 4.01; Windows NT; MSN Mobile Proxy),Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12).
msnbot*.search.msn.com ou livebot-*.search.live.com.Vous pouvez obtenir plus de détails et références sur les autres robots d’indexation, leurs User-Agent ou leurs adresses sur ces pages :
- http://www.robots.darkseoteam.com/ qui est une excellente référence informative, bien que tous les conseils ne soient pas à appliquer,
- http://www.actulab.com/identification-des-robots.php qui propose une liste assez complète, bien qu’un peu datée des hôtes et User-Agent des principaux robots. qui est une excellente référence informative, bien que tous les conseils ne soient pas à appliquer,
L’identification des robots peut vous permettre d’améliorer le comptage de vos visiteurs et d’optimiser la fréquence de mise à jour de vos pages (les robots aiment les pages mises à jour).
Vous pouvez également demander à un robot de ne pas indexer certaines parties de votre site internet en plaçant à la racine d’un répertoire un fichier robots.txt contenant les règles User-Agent et Disallow, comme ceci :
User-agent: * # commentaire : tous les robots
Disallow: /cgi-bin/
Disallow: /perso/
Disallow: /entravaux/
Disallow: /abonnes/prix.html
La règle Allow est comprise par certains robots, mais n’existe pas réellement et n’est pas standardisée, il est donc déconseillé de l’utiliser. La règle User-Agent prend une valeur différente par robot (par exemple msnbot, googlebot) ou la valeur * pour concerner tous les robots. La règle Disallow précise quelles ressources ne doivent pas être indexées. Notez que vous ne devez pas laisser de ligne vide dans ce fichier, et qu’il est possible d’introduire des commentaires avec le symbole #.
Vous pouvez également indiquer d’autres règles de conduites au robots dans les balises HTML meta, en utilisant cette syntaxe :
<meta name="robots" content="attribut1,attribut2" />
où attribut1, peut prendre la valeur index (autorise l’indexation) ou noindex (pour l’interdire), et attribut2 peut prendre la valeur follow, pour que le robot suive les liens contenus dans la page et nofollow pour lui demander de ne pas suivre les liens de la page. Ce comportement peut également être décidé lien par lien grâce à l’attribut rel="nofollow" de la balise HTML a. Par défaut, un robot appliquera logiquement les règles index et follow. Par ailleurs, les robots peuvent également faire le choix de ne pas tenir compte de ces mesures (ce peut être le cas d’un robot de contrôle cherchant à être discret ou d’un renifleur utilisée à des fins parfois litigieuses), elles ne permettent donc pas rendre du contenu invisible sur internet.
Limites et dangers des techniques de Black Hat
Les techniques dites de Black Hat sont des techniques permettant de modifier l’analyse d’une page en détournant le comportement d’un robot. Ces techniques peuvent avoir différentes natures : insérer dans son code des mots clés rendus invisibles pour le visiteur par les CSS, ou retourner une page différente de la page publique quand le robot est détecté. D’autres techniques beaucoup plus poussées existent, mais le but cet article n’est pas de les détailler.
Ces techniques sont dangereuses car elles peuvent très rapidement pénaliser le référencement plus que l’améliorer. En effet, la plupart des moteurs de recherches sont capables de détecter ces techniques, même les plus poussées, et peuvent mettre les pages concernées ou le site en liste noire et le bannir définitivement de ses résultats.
Concevoir son terrain d’accueil
Un terrain d’accueil (ou page d’atterrissage, landing page) est une page (ou un élément de la page) qui apparaît quand un utilisateur accède au site internet depuis un moteur de recherche et qui contient généralement du contenu adapté à la requête du visiteur. Un terrain d’accueil est particulièrement intéressant pour proposer du contenu qui pourrait intéresser le visiteur même si il n’est pas n’est pas arrivé sur une page correspondant à sa recherche.
Un terrain d’accueil efficace doit fonctionner avec plusieurs moteurs de recherche. Pour vérifier qu’un utilisateur vient d’un moteur de recherche, on utilise la variable $_SERVER['HTTP_REFERER']. On vérifie alors si l’adresse de la page d’origine est l’adresse d’un moteur de recherche. Nous allons faire la vérification avec les trois principaux moteurs de recherche du marché : Google, Yahoo! et MSN.
Les adresses des pages de résultats de ces trois moteurs de recherche sont les suivantes :
http://www.google.fr/search?hl=fr&q=mon+mot+cle,http://www.google.fr/search?hl=fr&q=mon+mot+cle,http://search.msn.fr/results.aspx?q=mon+mot+cle.
Elles peuvent admettre d’autres paramètres qui ne sont pas intéressants, mais il sera nécessaire d’en tenir compte dans notre analyse du referer. On tiendra aussi compte de l’extension du nom de domaine qui peut varier. Il reste à étudier les expressions régulières à créer d’après ces adresses.
`http: //www\.google\.[a-z\.]+/search?.*?&?q=([\w%:+]+?)(?:&|$)`i,`http://\w+\.search.yahoo.com /search?.*?&?p=([\w%:+]+?)(?:&|$)`i,`http://search.msn.fr/results.aspx?.*?&?q=([\w%:+]+?)(?:&|$)`i.
On utilise une fois de plus la fonction preg_match() pour tester si l’adresse du referer est celle d’un moteur connu et récupérer les mots clés tapés par l’utilisateur grâce aux parenthèses capturantes, et urldecode() pour que ces mots clés soient exploitables.
if(preg_match('`http://www\.google\.[a-z\.]+/search?.*?&?q=([\w%:+]+)(?:&|$)`i', $_SERVER['HTTP_REFERER'], $kw) > 0) { } elseif(preg_match('`http://\w+\.search.yahoo.com/search?.*?&?p=([\w%:+]+)(?:&|$)`i', $_SERVER['HTTP_REFERER'], $kw) > 0) { } elseif(preg_match('`http://search.msn.fr/results.aspx?.*?&?q=([\w%:+]+)(?:&|$)`i', $_SERVER['HTTP_REFERER'], $kw) > 0) { } else { $keywords = null; }
Avec ces mots clés, vous pourrez effectuer une recherche interne à votre site pour proposer d’autres de vos pages susceptibles d’intéresser le visiteur, mettre en valeur ces mots clés dans la page ou encore proposer d’autres références pour l’inciter à rester sur votre site.
Les terrains d’accueil permettent d’améliorer le taux de rebond (ou taux de visite à une page) d’un site internet, et donc de le faire découvrir plus en détail au visiteur.
Conclusion
Vous avez maintenant quelques pistes pour analyser vos pages et améliorer leur référencement. Cependant, gardez en tête que le succès de votre site sera principalement lié à son contenu aux efforts de communication que vous ferez. N’hésitez pas à partir en quête d’informations sur internet, la SEO est devenue une discipline très à la mode depuis quelques années.