[Resolu] Gestion des meta sur site statique

WRInaute discret
Bonjour, j'ai déjà posté sur le Hub, mais on y cherche plus à me dire comment j'aurais dû construire mon site plutôt que me donner une réponse.

Ma question relève plus du développement que d'une réelle problématique de référencement, mais soulève le problème de la gestion des meta pour les sites riches en pages statiques.

Auparavant, vu que je procédais à l'intégration de mes contenus par include, il me suffisait d'appeler mes meta par un .php suivant le nom de la page, par un GET. Ayant abandonné les includes pour les contenus (mais pas pour les menus), je me demande un peu comment je vais gérer mes meta sur un site statique de plus de 300 pages, à part me taper les meta de chaque page...

En gros, comment procédez vous ? Je précise que ce site est statique, qu'on a pas pu faire autrement, je cherche donc une solution pour gérer au mieux mes meta... 8) :roll:
 
WRInaute impliqué
Statique, c'est sans code chez moi.

Pour gérer tous tes métas, tu utilise un switch($PHP_SELF) et pour chaque cas tu fais un echo de ce que tu vfeux voir s'afficher. Bon après tu gères comme tu veux, avec un include par exemple.
 
WRInaute discret
ca a l'air bien ta solution, mais c'est un peu obscur. T'aurais pas un bout de code ? Si je pige pas grand chose à la théorie du php, je sais un peu lire le code, je vais surement comprendre.
 
WRInaute impliqué
Erf ok ^^

tu fais un include 'entetes.php'; a l'endroit ou tu veux voir apparaitre tes metas dans chaque page.

Dans cette page entete.php, il y'aura un code comme ca :

switch($PHP_SELF) {
case '/test.php' :
$entetes = '<meta name tout le bordel>';
break;
case '/test2.php' :
$entetes = '<meta name tout le bordel>';
break;

et ainsi de suite. fr.php.net/switch pour plsu d'infos. Après tu fais un echo $entetes et le tour est joué. Après faut vérifier ce que renvoie $PHP_SELF;
C'est uen variable qui contient le nom de ta apge mais c'est variable selon les hébergeurs.
 
WRInaute passionné
Autrement, je me sert d'une astuce similaire mais peut-être moins lourde.

Avec ta solution ton fichier entete_inc.php devient un vrai dico.

Moi je me sers de différentes variables sur chaque page, et j'inclus mon entete après ces variable.
Ainsi, je peux doinner un titre, mots clés, description, mise en cache ou non, indexée ou non, etc. Très facilement en fonction des pages.
Voici le code que j'utilise :

Code:
echo '<?xml version="1.0" encoding="iso-8859-1"?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Transitional//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>';
	if		($nom_page == TITRE_SITE || eregi(NOM_SITE, $nom_page) ){
			echo '<title>~~ '.htmlentities($nom_page).' ~~</title>';
			}
	else	{
			echo '<title>~~ '.htmlentities($nom_page).' ~~ '.NOM_SITE.'</title>';
			}
echo '<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="Description" content="'.htmlentities($description).'" />
<meta name="Keywords" content="'.htmlentities($keywords).'" />
<meta name="author" content="Crochot William" />
<meta name="Copyright" content="'.COPYRIGHT.'" />
<meta http-equiv="Content-Language" content="fr" />
<meta name="robots" content="follow,'.$robot.'index" />
<meta name="robots" content="noarchive" />
<meta name="Revisit-After" content="10 days" />
<meta name="Expires" content="never" />
<meta name="Rating" content="General" />
<meta name="Category" content="science et techniques" />
<meta name="Date-Creation-yyyymmdd" content="20021018" />
<meta name="abstract" content="'.htmlentities($description).'" />
<link href="'.URL_INCLUDES.'/style.css" rel="stylesheet" type="text/css" />
</head>
<body>';

Et sur mes pages :
:arrow: exemple avec l'erreur 404 :
Code:
$robot			= 'no';
$pub			= 'allopass';
$nom_page		= 'Erreur internet 404';
$nom_page_xiti	= 'Erreur 404';
$description	= '';
$keywords		= '';
:arrow: exemple les bannières de mon site :
Code:
$largeur_mini	= 940;
$nom_page		= 'Bannières de '.NOM_SITE;
$nom_page_xiti	= 'Bannières du site';
$description	= 'Toutes les bannières, boutons et autre logos pour faire un lien vers '.NOM_SITE.' en insérant le code fourni pour la solution de votre choix.';
$keywords		= 'bannière, logo, gestion banniere, logo couleur, echange de banniere, logo gratuit, banniere publicitaire, logo animé, banniere de pub, logo publicitaire, un logo, bannière web, bannieres, le logo, slogan, bannières, les meilleurs, banderoles, skyscrapper, bannière de pub, taille bannière, graphisme, statistique, publicité, graticiel, inscrire, banniere gif, banniere site informatique, boutons, leaderboard, skyscraper';
 
Discussions similaires
Haut