fnicollet Posté 17 Octobre 2006 Partager Posté 17 Octobre 2006 Bonjour, je developpe en ce moment un site en php et je souhaite soigner mon referencement. Je sais que la balise title est une des plus importantes pour l'indexation par les moteurs et qu'il est important de la modifier selon la page. La structure de mon site est faite avec beaucoup d'include mes métas sont pour l'instant les memes sur toutes les pages mais j'aimerai par exemple qu'ils changent lorsqu'un utilisateur consulte un article. Apres quelques tests, je me suis apercu que s'il on ne met pas la balises title dans le head mais n'importe ou dans le body, le titre de la page s'affiche bien ! Mais je me demande si un analyseur robot va le prendre en compte ou pas (étant donné que ce n'est pas la structure normale). Voila, je ne peux pas faire passer de variable au début du fichier pour modifier le titre en fonction du contenu puisque tout est determiné par les include suivants ... Merci à tous ceux qui pourront m'éclairer (ou me donner votre technique pour changer le titre alors que le head est au début du page ) fabien Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 17 Octobre 2006 Partager Posté 17 Octobre 2006 Le problème est que selon la norme W3C, la balise <title> doit être placée entre <head> et </head> Et comme les moteurs se basent sur les normes pour créer leurs indexeurs, je ne prendrais pas le risque de la mettre ailleurs. As-tu d'ailleurs vérifié sur tous les navigateurs, car certains sont vraiment laxistes quant-aux standards ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
fnicollet Posté 17 Octobre 2006 Auteur Partager Posté 17 Octobre 2006 sous firefox, cela marchait, je n'ai pas essayé sur IE merci de ta réponse, je pense que je vais tenter de trouver une autre solution pour adapter le title au contenu ! merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
fnicollet Posté 17 Octobre 2006 Auteur Partager Posté 17 Octobre 2006 après quelques recherches supplémentaires, on dirait que la meilleure methode est d'include une page php comme ceci : <title><?php include("titre-page.php");?></title> et ensuite d'adapter en fonction des variables de l'url (grace à l'url rewriting notamment). Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sebastien Posté 17 Octobre 2006 Partager Posté 17 Octobre 2006 Je ne me risquerai pas à mettre le <title> hors du <head> : ce n'est pas conforme, il y a donc des risques non négligeables de mauvais traitements par les "agent utilisateurs" que sont les navigateurs et les robots d'indexation... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kimberlyclarko Posté 17 Octobre 2006 Partager Posté 17 Octobre 2006 J'avais testé début 2005 : je n'avais pas le choix et les TITLE étaient dans le body. Google n'avait pas interprété cela comme des balises TITLE, donc mieux vaut eviter... Lien vers le commentaire Partager sur d’autres sites More sharing options...
yep Posté 17 Octobre 2006 Partager Posté 17 Octobre 2006 (modifié) http://www.w3.org/TR/html4/struct/global.html#h-7.4.2 (en) et http://www.la-grange.net/w3c/html4.01/stru...tml#h-7.4.2 (fr) tout est là Modifié 17 Octobre 2006 par yep Lien vers le commentaire Partager sur d’autres sites More sharing options...
Compte supprimé Posté 17 Octobre 2006 Partager Posté 17 Octobre 2006 Tu prends ton problème du mauvais coté. QU'est ce qui t'empêche de mettre ta balise <title> dans ton <body> ? Rien ! Le début de ton script php doit te servir à récupérer les données de ta page. A partir où elles sont disponible, tu peux faire l'affichage. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Mona Posté 18 Octobre 2006 Partager Posté 18 Octobre 2006 (modifié) Bonjour, Si ça peut t'aider, voici une technique que j'utilise. Elle consiste à lire le fichier php complet avant d'afficher la page... On peut donc générer un titre en fonction du contenu... Voici l'include "auto_titre.php": <?php// Génération automatique du titre (balise <TITLE>) en fonction du contenu de la page // pour améliorer le référencement. Cela permet d'obtenir une titre différent par page automatiquement//Chaines clés à trouver:// On cherche le premier titre dans le contenu : Exemple: <span class="Titre">Qu'appelle-t-on algèbre de Boole?<span> $trouve=false; $strkeydeb='<span class="titre">'; //titre extrait de son contenu. Si tes pages sont bien structurées, c'est facile... $strkeyfin='</span>'; // On lit la page elle-même $lines = file ($_SERVER['DOCUMENT_ROOT'].$HTTP_SERVER_VARS['PHP_SELF']); </span> foreach ($lines as $line) { if (!$trouve){ $deb=0; $fin=0; $deb = strpos(strtolower($line), $strkeydeb); if ($deb > 0){ $line=substr($line, $deb + strlen($strkeydeb) - 1); $fin = strpos(strtolower($line), $strkeyfin); if ($fin > 0) { $Titre=substr($line, 1, $fin - 1); $trouve=true; } } } }} Et cet include est dans l'entête d'un millier de pages: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html40/strict.dtd"><html> <head> <?php include($_SERVER['DOCUMENT_ROOT']."/inc/auto_titre.php"); echo '<title>'.$Titre.'</title>'; ?> Mona. PS: Désolé pour la lisibilité du code, je ne trouve pas le moyen de l'indenter sur le forum... ** /* edit modérateur: on indente le code en utilisant la balise [ code ] (bouton ) */ Modifié 18 Octobre 2006 par Dudu Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant