[reglé] Title, Meta et Includes

Nouveau WRInaute
Bonjour,

Je m'adresse à vous parce que j'ai un problème pour lequel je ne trouve pas de solution ...

Mon site utilise des pseudo frames ...
Mon index est en php et inclut dans une pseudo frame des fichiers htm ...

J'aimerais que le titre et la balise meta description puissent changer en fonction du contenu de l'include ... Et je ne trouve vraiment pas comment faire ...

Mon site est ici : http://www.imogen-heap.fr

Et ça m'embête parce qu'effectivement, google me signale des descriptions et titres en double et depuis quelques jours j'ai énormément reculé dans les positions de google alors que j'y étais super bien placé avant ... J'imagine que ça a un rapport !

Merci pour toute aide !
Je serai reconnaissant à vie à celui qui m'aide ! :mrgreen:
 
WRInaute accro
Re: Title, Meta et Includes

>> Mon site utilise des pseudo frames

outch, je n'avais pas entendu cette abomination depuis quelques années. je ne sais pas qui a inventé ce terme, mais il aurait mieux fait de s'abstenir :)

bref pour ta solution, tout dépend de ton code, mais il faut de toute maniere générer ton tile en php :

if ($_GET['page']='accueil') $titre="c'est l'accueil";
else if ($_GET['page']='actu') $titre="c'est l'actu";
...

echo "<title>".$titre."</title>";
 
Nouveau WRInaute
Re: Title, Meta et Includes

e-kiwi a dit:
>> Mon site utilise des pseudo frames

outch, je n'avais pas entendu cette abomination depuis quelques années. je ne sais pas qui a inventé ce terme, mais il aurait mieux fait de s'abstenir :)


Oop, désolé, je ne sais pas quelle est l'expression consacrée ... :oops:

e-kiwi a dit:
bref pour ta solution, tout dépend de ton code, mais il faut de toute maniere générer ton tile en php :

if ($_GET['page']='accueil') $titre="c'est l'accueil";
else if ($_GET['page']='actu') $titre="c'est l'actu";
...

echo "<title>".$titre."</title>";


Merci, est-ce que tu pourrais m'expliquer un peu plus ?

Parce que la ... je vois pas d'entrée de jeu comment utiliser ça ...

mon code ressemble à ça :

Code:
 <?php 
if (!isset($_GET['page'])) $page= 'news'; else $page= $_GET['page']; 
 switch($page)
{
case 'contact': include ('contact.htm') ;break;
case 'discographie': include ('discographie.htm');break;
case 'forum': include ('forum.htm');break;
case 'news': include ('news.htm');break;
case 'surprise': include ('surprise.htm');break;
case 'perf': include ('perf.htm');break;
case 'blog': include ('blog.htm');break;
case 'albums': include ('albums.htm');break;
case 'singles': include ('singles.htm');break;
case 'collabs': include ('collabs.htm');break;
} 
?>


j'ai bien tenté de le modifier avec un paramètre pour le titre mais ça n'a pas marché ...

Je suis un peu désemparé la ...
 
WRInaute accro
Re: Title, Meta et Includes

Tu peux faire un truc comme ça :

Comme E Kiwi le disait, d'abord définir dans une variable $title le titre que tu veux pour chaque cas. Avec ton code, ca donne quelquechose comme ça :

Code:
<?php
if (!isset($_GET['page'])) $page= 'news'; else $page= $_GET['page'];
$title=""; // initialisation de la variable $title
switch($page)
{
case 'contact': $title="Titre de la page contact"; include ('contact.htm') ;break;
case 'discographie': $title="Titre de la page discographie"; include ('discographie.htm');break;
case 'forum': $title="Titre de la page forum"; include ('forum.htm');break;
case 'news': $title="Titre de la page News";  include ('news.htm');break;
case 'surprise': $title="Titre de la page surprise";  include ('surprise.htm');break;
case 'perf': $title="Titre de la page perf"; include ('perf.htm');break;
case 'blog': $title="Titre de la page Blog"; include ('blog.htm');break;
case 'albums': $title="Titre de la page albums"; include ('albums.htm');break;
case 'singles': $title="Titre de la page singles"; include ('singles.htm');break;
case 'collabs': $title="Titre de la page collabs"; include ('collabs.htm');break;
}
?>

Ensuite, à l'endroit qui affiche <title>blablablablabl</title, tu remplaces ce titre "statique" par le titre dynamique :
Code:
<title><?php echo $title; ?></title>


Voilà. Tu peux aussi déclarer une variable Meta différente pour chaque cas. Mais ca risque de devenir un peu lourd.
Ou alors tu creuses un peu plus et tu mets en place une base de donnée qui contient un champ "page", un champ "title", un champ "description", et en fonction de la page que tu appelles, tu récupères le titre et la description associée, ce qui s'avérera sans doute le plus pratique à l'usage.
 
WRInaute accro
Re: Title, Meta et Includes

Bonjour,

Je vais te donner un conseil qui n'engage que moi, hein??!!
Mais je te conseille de stopper quelques instants le développement de ton site actuel et de visiter cette page:
http://www.scriptol.fr/cms/liste.php

Celle-ci te liste tous les CMS que tu peux trouver sur le web (ou du moins une bonne partie)

Ce site est un développement personnel et c'est très bien.... mais si tu souhaites mettre en avant tes produits en vue de développer ta clientèle... j'ai un doute à l'heure actuelle :)

Visite des CMS comme joomla, spip, etc... qui sont spécialisés dans ce genre de sites !
De plus, tu as de très belles template et une très grande communauté pour t'aider !

Tu as plein de super plugins pour rendre ton site encore plus attrayant genre galeries de photos dynamiques, lecteur audio, vidéo, etc...

Bonne chance ;)
 
Nouveau WRInaute
Re: Title, Meta et Includes

Merci nickargall ! C'est ce que j'avais testé mais ça ne fonctionne pas ...

Et je n'arrive pas à comprendre pourquoi !


Passion, mon site n'est pas un site de vente ... je n'ai pas de clientèle à développer ! :) De plus, j'aime faire les choses moi même et comprendre le fonctionnement ... J'ai tout fait au bloc notes et je veux continuer ... Pour apprendre et m'améliorer ...


Bouarf, du coup, ça m'énerve de ne pas comprendre ce qui ne va pas !


Ou alors tu creuses un peu plus et tu mets en place une base de donnée qui contient un champ "page", un champ "title", un champ "description", et en fonction de la page que tu appelles, tu récupères le titre et la description associée, ce qui s'avérera sans doute le plus pratique à l'usage.

J'imagine que ce serait encore le mieux ! Il faudrait faire appel à un fichier qui compile toutes ces données ?
Alors la, je sais encore moins faire ... :(

D'autres pistes pour trouver ce qui peut clocher ?

Merci beaucoup en tous cas !
 
WRInaute accro
Re: Title, Meta et Includes

Apparemment ta balise <title> est situé avant ton code PHP qui fait les include, je me trompe ? Du coup elle connaît pas la variable $title qui est déclarée plus tard.

Dans ce cas, ce que tu peux faire :
En tête de page du colles ça :

Code:
<?php
if (!isset($_GET['page'])) $page= 'news'; else $page= $_GET['page'];
$title=""; // initialisation de la variable $title
switch($page)
{
case 'contact': $title="Titre de la page contact"; $include='contact.htm' ;break;
case 'discographie': $title="Titre de la page discographie"; $include='discographie.htm';break;
case 'forum': $title="Titre de la page forum"; $include='forum.htm';break;
case 'news': $title="Titre de la page News";  $include='news.htm';break;
case 'surprise': $title="Titre de la page surprise";  $include='surprise.htm';break;
case 'perf': $title="Titre de la page perf"; $include='perf.htm';break;
case 'blog': $title="Titre de la page Blog"; $include='blog.htm';break;
case 'albums': $title="Titre de la page albums"; $include='albums.htm';break;
case 'singles': $title="Titre de la page singles"; $include='singles.htm';break;
case 'collabs': $title="Titre de la page collabs"; $include='collabs.htm';break;
}
?>

Après celà, normalement, tu as ton code qui te colle la balise <title>blablabla</title>, que tu dois alors remplacer par
Code:
<title><?php echo $title; ?></title>

Et après, à l'endroit ou se trouvait le bloc de code initial que tu nous as indiqué

Code:
     <?php
    if (!isset($_GET['page'])) $page= 'news'; else $page= $_GET['page'];
 [....................]
    case 'collabs': include ('collabs.htm');break;
    }
    ?>

tu le remplaces simplement par
Code:
<?php 
include ($include); 
?>

et ça devrait marcher.
 
Nouveau WRInaute
Re: Title, Meta et Includes

ça maaaaaaaaaaaaaaaarche !

Ce n'était donc qu'une histoire d'ordre alors !!!

C'est vrai que je n'y aurais pas pensé !


Merci 1000 fois, je suis ravi !!! Merci merci !
 
WRInaute accro
Re: Title, Meta et Includes

de rien :) Il te reste maintenant à optimiser tes <titles> pour qu'ils soient pertinents par rapport à tes volontés de positionnement et au contenu de la page.
 
Nouveau WRInaute
Re: Title, Meta et Includes

Voila !

Et puis je vais essayer de faire la même pour les meta description ...
Si je suis le même raisonnement, je devrais y arriver ?


Enfin je vais d'abord essayer seul et je réclamerai de l'aide si vraiment j'y arrive pas !

Merci encore !
 
WRInaute accro
Re: Title, Meta et Includes

Le même code sans trop de redondance:
Code:
<?php
$titles = array(
	'contact' => 'Titre de la page contact',
	'discographie' => 'Titre de la page discographie',
	'forum' => 'Titre de la page forum',
	'news' => 'Titre de la page news',
	'surprise' => 'Titre de la page surprise',
	'perf' => 'Titre de la page perf',
	'blog' => 'Titre de la page blog',
	'albums' => 'Titre de la page albums',
	'singles' => 'Titre de la page singles',
	'collabs' => 'Titre de la page collabs'
);

if(isset($_GET['page']) && is_readable('./'.$_GET['page'].'.htm')){
	$page = $_GET['page'];
}
else{
	$page = 'news';
}

if(isset($titles[$page])){
	$title = $titles[$page];
}
else{
	$title = '';
}

include('./'.$page.'.htm');
?>

Edit:
Et avec meta description en plus:
Code:
<?php
$pages = array(
	'contact' => array(
		'title' => 'Titre de la page contact',
		'meta_description' => 'Meta de la page contact'
		),
	'discographie' => array(
		'title' => 'Titre de la page discographie',
		'meta_description' => 'Meta de la page discographie'
		)
);

if(isset($_GET['page']) && is_readable('./'.$_GET['page'].'.htm')){
	$page = $_GET['page'];
}
else{
	$page = 'news';
}

if(isset($pages[$page]['title'])){
	$title = $pages[$page]['title'];
}
else{
	$title = '';
}

if(isset($pages[$page]['meta_description'])){
	$metaDescription = $pages[$page]['meta_description'];
}
else{
	$metaDescription = '';
}

include('./'.$page.'.htm');
?>
 
Nouveau WRInaute
Re: Title, Meta et Includes

Super merci !
Je vais pouvoir encore optimiser ça !


Mon nouveau problème c'est que pour la description, quelque chose cloche ... En affichant la source de la page fournie en ligne, je m'aperçois que seule la première chaine de caractère (mot) est valide ... Dès qu'un espace arrive derrière, il y a un blème ..

Ce que l'on voit bien la :

sourceg.jpg


Et ce que confirme le w3c validator :

sanstitre1wm.jpg


J'aimerais bien régler ça parce que je ne sais pas comment les moteurs peuvent interpréter la chose ...

Merci pour tout indice !
 
Discussions similaires
Haut