// Une liste autorisée de noms de page
$liste_pages = array (
'contact',
'mentions-legales',
'presentation'
);
// Un paramètre d'URL permettant d'afficher telle ou telle page (qu'il y ait ou non URL rewriting)
$page = (isset ($_GET['page']) && in_array ($_GET['page'], $liste_pages))? $_GET['page']: null;
// Définition du titre de la page
switch ($page)
{
case 'contact':
$titre = 'Contact - Nom du site';
break;
case 'mentions-legales':
$titre = 'Mentions légales - Nom du site';
break;
case 'presentation':
$titre = 'Présentation - Nom du site';
break;
default:
$titre = 'Accueil - Nom du site';
break;
}
Et, plus loin, dans le gabarit HTML contenu dans ton fichier site-entete-inc.php :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title><?php echo $titre; ?></title>
<!-- Le reste des éléments HTML contenus dans head (link, meta, script, style) -->
</head>
<!-- Le reste de la structure HTML -->
Est-ce clair ? <? include("../inc/front.inc.php"); ?>
<?
$ref_Titre_Page = "...";
$ref_Classification_Page$ref_Titre_Page = "...";
$ref_Description_Page ="...";
$ref_Keywords_Page ="..";
?>
<? include("../inc/entete.inc.php"); ?>
<? include("../inc/haut.inc.php"); ?>
...
Ces balises ont l'air muettes. Seul les balises html de la page entete.inc.php sont appelées.
function donne_titre($id_page)
{
switch($id_page)
{
case 1 : $titre="Mon site, page d'accueil";break;
case 2 : $titre="Mon site, Autre page";break;
//...
default : $titre="Mon site le plus beau";break;
}
return $titre;
}
function donne_keywords($id_page)
{
//METTRE environ 10 mots cles par page séparés par des virgules
switch($id_page)
{
case 1 : $sortie="jeux, internet, mots-cles, test";break;
case 2 : $sortie="page, videos, annonces";break;
//...
default : $sortie="themes, spectacles,";break;
}
return $sortie;
}
function donne_description($id_page)
{
$description="La description de mon site!";
if($id_page==1)$description="Nouvelle description pour page 1";
if($id_page==2)$description="Nouvelle description plus mieux encore.";
//...
return $description
}
function affiche_header($id_page)
{
$titre=donne_titre($id_page);
$keywords=donne_titre($id_page);
$description=donne_titre($id_page);
echo'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="keywords" content="'.$keywords.'">
<meta name="description" content="'.$description.'">
<title>
'.$titre.'
</title>
</head>';
}
Tu crées des fonctions pour afficher tes entetes des pages HTML grossomodo à la manière de cidessus.<?php affiche_header(1);?> <html>
<head>
</head>
...<?php
include_once "fonctions_header.php";
$id_page=1;
affiche_header($id_page);
?>
sur la page 2 :<?php
include_once "fonctions_header.php";
$id_page=2;
affiche_header($id_page);
?>
...Il y a quelque chose que je ne comprends pas bien dans tes explications, c'est la relation entre tes fichiers. Est-ce que tu écris les titres de tes pages manuellement dans ton entête HTML (<title>le titre de la page actuelle</title>) et tu as du code PHP après, dans lequel tu essaies de récupérer la valeur du titre ? ou bien ton code PHP se trouve avant l'entête HTML dans ta page et tu ne sais pas comment réutiliser les infos que tu génères en PHP dans l'entête HTML qui suit ?Mais non, je veux que chaque page ait son propre titre, ses propres mots clés. Si j'appelle une page, toutes les pages seront homogènes au niveau du référencement.
Cela n'aurait aucun sens.Il y a quelque chose que je ne comprends pas bien dans tes explications, c'est la relation entre tes fichiers. Est-ce que tu écris les titres de tes pages manuellement dans ton entête HTML (<title>le titre de la page actuelle</title>) et tu as du code PHP après, dans lequel tu essaies de récupérer la valeur du titre ?
Si justement il sait le faire.ou bien ton code PHP se trouve avant l'entête HTML dans ta page et tu ne sais pas comment réutiliser les infos que tu génères en PHP dans l'entête HTML qui suit ?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<!-- Le titre de ta page (on affiche la variable $ref_Titre_Page) -->
<title><?php echo $ref_Titre_Page; ?></title>
<!-- Son classement (on affiche la variable $ref_Classification_Page) -->
<meta name="classification" content="<?php echo $ref_Classification_Page; ?>" />
<!-- Sa description (on affiche la variable $ref_Description_Page) -->
<meta name="description" content="<?php echo $ref_Description_Page ?>" />
<!-- Ses mots clés (on affiche la variable $ref_Keywords_Page) -->
<meta name="keywords" content="<?php echo $ref_Keywords_Page ?>" />
<meta name="y_key" content="9edd28db0c528c26" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="<?php echo URL; ?>style/style.css" rel="stylesheet" type="text/css" />
<link href="<?php echo URL; ?>favicon.ico" rel="shortcut icon" type="image/x-icon" />
<link href="<?php echo URL; ?>css/lightbox.css"rel="stylesheet" type="text/css" media="screen" />
<script type="text/javascript" src="<?php echo URL; ?>script/mootools.js"></script>
<script type="text/javascript" src="<?php echo URL; ?>script/viewer.js"></script>
<script type="text/javascript" src="<?php echo URL; ?>script/script.js"></script>
<!--<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="js/lightbox.js"></script>-->
</head>
Est-ce vraiment plus clair ?
Regarde le principe que t'indique Victor pour mieux comprendre, car ta phrase ci-dessus n'a pas de sens, ou plutôt si c'est une confirmation que ton code PHP n'était pas opérationnel, ou alors simplement c'était une coïncidence et ta page était déjà entrain de gagner des places quand tu as fait le changement.J'ai essayé de mettre des metas HTML dans une de mes pages php à la place des metas php (= celles que j'ai collées dans mon message précédent)
Au bout de quelques jours, ma page a gagné 73 places dans le classement google.