delph43 Posté 1 Décembre 2012 Posté 1 Décembre 2012 Bonjour, Je m'explique, j'ai divisé mon site en 3 parties :header.php (le design en haut)index.php (le contenu du site)footer.php (le bas du design)Lorsque je créé une nouvelle page je rapelle le header et le footer à chaque fois avec ceci : <?phpinclude(header.php');?> Mais je me pose une question, comment faire pour que toutes les pages de mon site ait un titre différent pour le référencement google ?J'ai mis ceci dans le header.php : <head><title><?=$titre;?></title></head> Puis ceci à chaque fois que je créé une nouvelle page : <?phpsession_start();$titre="";$description="";$keywords="";$URL ="http://www.nomdusite.com/films/films_a.php";include('header.php');?> Seulement si je fais ça je pense que lorsque je taperai le nom de mon site et bien je n'aurai aucun titre sur la page du site : www.nomdusite.comAis-je raison ? comment procéder pour que cela soit le cas svp?
Aenoa Posté 1 Décembre 2012 Posté 1 Décembre 2012 tant que tu définis $titre, le titre sera affiché après, si tu a peur qu'a force d'inclure des fichiers la variable se perde, je peux te conseiller de faire (dans header.php) <?php global $titre; ?> en haut de ton "header.php" puis dans ta balise <title> laisser ce que tu a déjà tapé le titre restera ainsi affiché, aucun souci
delph43 Posté 1 Décembre 2012 Auteur Posté 1 Décembre 2012 Ah bah oui je viens de mettre ça dans l'index et cela fonctionne dans le nomdusite.com : <?phpsession_start();$titre="sites de chiens";include('header.php');?> et ceci ça veut dire quoi exactement ? define ("INDEX", true); <?phpsession_start();$titre="sites de chiens";define ("INDEX", true);include('header.php');?>
captain_torche Posté 2 Décembre 2012 Posté 2 Décembre 2012 La fonction define() crée une constante. La différence majeure avec une variable, est que son contenu ne peut pas être écrasé. Dans ton cas précis,tu pourrais faire define('TITRE', 'site de chiens'); Et, dans ton header.php : <title><?php echo TITRE; ?></title> (Il ne faut pas utiliser de guillemets quand tu appelles une constante. De manière générale, également, elles sont déclarées en majuscules). Par ailleurs, tu devrais éviter d'utiliser le raccourci "<?=" pour faire un echo, et de manière générale, tout raccourci PHP commencant uniquement par "<?" (Les Short Open Tags). Il vaut mieux, et de loin, faire "<?php echo" (Problèmes notamment, si tu essayes de manipuler du XML, qui commence par une déclaation "<?xml".
delph43 Posté 2 Décembre 2012 Auteur Posté 2 Décembre 2012 Ah oui c'est vrai, je l'avais lu en plus qu'il vallait mieux écrire <?php Il ne faut pas utiliser de guillemets quand on appelle une constante...donc lorsqu'il y a define() mais pour ceci <code>$titre="sites de chiens";</code> est-ce juste où faut-il mettre encore '' ? Sinon je sais qu'il existe un validator w3c, est-ce que ce genre de site existe aussi en php ? pour vérifier s'il n'y a pas d'erreur de ce type sur nos pages ?
Aenoa Posté 2 Décembre 2012 Posté 2 Décembre 2012 tu a plusieurs possibilités mais ne pas mélanger: Première: le DEFINE: /* PAGE Index.php */ <?php define('TITRE_PAGE', 'Site de chiens'); ?> /* PAGE Header.php */ <title><?php echo TITRE_PAGE; ?></title> l'on défini (DEFINE) une constante TITRE_PAGE, contenant "Site de chiens". Ensuite, dans le header, on affiche le contenu de la constante TITRE_PAGE. Seconde - la variable GLOBAL: /* PAGE index.php */ <?php $titre = "Site de chiens"; ?> /* PAGE header.php */ <titre><?php global $titre; echo $titre; ?></titre> On défini une variable classique dans l'index: $titre ensuite, dans le header.php, on signale que $titre existe déjà dans un fichier et qu'il faut la récupérer. ensuite, on l'affiche. Il peut en avoir d'autres, mais c'est celles indiquées ci dessus
captain_torche Posté 2 Décembre 2012 Posté 2 Décembre 2012 Juste une petite correction, Aenoa : il est quand même nécessaire d'utiliser les guillemets lors de la définition d'une constante : define('TITRE_PAGE', 'Site de chiens'); Ensuite, personnellement, j'essaye de ne pas utiliser de guillemets doubles quand il n'y a pas de variable à évaluer dans le contenu : le traitement en est ainsi légèrement accéléré.
delph43 Posté 4 Décembre 2012 Auteur Posté 4 Décembre 2012 Ok, merci beaucoup pour vos expliquations à tous les 2 :-)
Licorne Posté 19 Janvier 2013 Posté 19 Janvier 2013 Bonjour, Par contre, niveau référencement, il est très mauvais de conserver le même tire sur toutes vos pages. je vous conseillerai plutôt de renseigner la balise TITLE par une entête unique à chaque nouvelle page de votre site web.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant