PHP/ balises title
gtulian
-
js95 Messages postés 773 Date d'inscription Statut Membre Dernière intervention -
js95 Messages postés 773 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Le programmeur qui a crée mon site à mis juste 1 balise title pour tout mon site.
Est-ce qu'Il possible dans un site fait en php d'avoir 1 balise par page?
Si oui, comment le faire svp?
Le programmeur qui a crée mon site à mis juste 1 balise title pour tout mon site.
Est-ce qu'Il possible dans un site fait en php d'avoir 1 balise par page?
Si oui, comment le faire svp?
A voir également:
- Title php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
8 réponses
Bien sûr. J'ai fait un site en php, chaque page a son titre. Il suffit de faire comme si c'était du html. Poste ton code avec le nom des fichiers.
Modifie la partie en gras sur toutes les pages.
<title>Idées cadeaux petits-déjeuners frais du jour - Fête des pères - Cadeau de fête original </title>
Pour ce qui est de l'indexation, il est évident que ce sera mieux d'avoir des titres différents sur chaque page qu'un commun, et il en va de même pour les éléments <meta> description et keywords, qui permettent aux moteurs de recherche de cibler d'emblée la bonne page du site. Si ces éléments sont les mêmes sur toutes les pages, le moteur de recherche pourra orienter le visiteur vers n'importe-quelle page, et certainement une page qui ne correspondra pas précisément à celle recherchée, donc ça peut énerver les visiteurs.
Je pense que le vrai intérêt du fichier head est pour la cohérence du site, pour être sûr que les encodages et les styles seront les mêmes sur toutes les pages (doctype, meta content-type, liaisons css ou javascript, paramètres de langue, etc.)
Je pense que le vrai intérêt du fichier head est pour la cohérence du site, pour être sûr que les encodages et les styles seront les mêmes sur toutes les pages (doctype, meta content-type, liaisons css ou javascript, paramètres de langue, etc.)
Il faut profiter du caractere dynamique qu'offre PHP. Il y'a plusieurs solutions structurelles..mais dans ton cas ce qui resterait le plus simple ce serait de créer un modele de page commun à toutes les pages avec une variable $title puis avant l'appel de la page, il suffira de faire un print($title) au niveau de la balise.
Bon courage.
Bon courage.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
La solution de Benjamin est intéressante car on peut dans ce cas mettre le
Dans le fichier head (à côté des balises meta) :
Dans chaque page, le plus haut possible dans le fichier :
print($title)dans le fichier head, sachant que la chaîne
$titlesera affectée dans chaque page pour avoir un titre unique par page.
Dans le fichier head (à côté des balises meta) :
<title> <?php print($title); ?> </title>ou
<title> <?php echo $title; ?> </title>ce que tu préfères.
Dans chaque page, le plus haut possible dans le fichier :
<?php $title='Titre de la page'; ?>
J'explicite le code du début de chacune des pages (à adapter si besoin) :
sachant que le fichier head.php contient :
Quand le navigateur assemble chaque page, on retrouve un code correct complet.
<?php $title='Titre de la page'; include('head.php'); ?> <meta name="description" content="blabla" /> <meta name="keywords" content="blabla" /> <!--les blabla sont à remplacer par le contenu approprié --> </head> <body> <!--etc.-->
sachant que le fichier head.php contient :
<!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" dir="ltr"> <head> <title> <?php echo $title; ?> </title> <meta name="verify-v1" content="MvjYkxX8rK+5of58EBOlE/BiEh3IrDjZB+/IukFmYe8="/> <meta name="verify-v1" content="KmprDa5CQGX0WxlAt0ur2ja130ELppowr7mAG/AVMPU=" /> <meta http-equiv="content-language" content="fr-ca" /> <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1" /> <meta name="Identifier-url" content="https://www.monpaniergourmet.ca/" /> <meta name="robots" content="index,follow" /> <meta name="location" content="Montréal, Québec, Canada" />c'est à dire tout le reste des en-têtes qui seront donc incluses dans toutes les pages.
Quand le navigateur assemble chaque page, on retrouve un code correct complet.
présentement, mon code du header est :
<!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" dir="ltr">
<head>
<meta name="verify-v1" content="MvjYkxX8rK+5of58EBOlE/BiEh3IrDjZB+/IukFmYe8="/>
<MYMETA>
si j'ai bien compris, il faut que je remplace :
<head>
<meta name="verify-v1" content="MvjYkxX8rK+5of58EBOlE/BiEh3IrDjZB+/IukFmYe8="/>
<MYMETA>
par ce code ?
<title>
<?php
echo $title;
?>
</title>
<!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" dir="ltr">
<head>
<meta name="verify-v1" content="MvjYkxX8rK+5of58EBOlE/BiEh3IrDjZB+/IukFmYe8="/>
<MYMETA>
si j'ai bien compris, il faut que je remplace :
<head>
<meta name="verify-v1" content="MvjYkxX8rK+5of58EBOlE/BiEh3IrDjZB+/IukFmYe8="/>
<MYMETA>
par ce code ?
<title>
<?php
echo $title;
?>
</title>
Non. Ce code est à ajouter après la balise <head>.
Je ne sais pas à quoi correspond le
probablement une balise meta pour le référencement, donc dans le fichier head. Le site est complexe, ceci dit par rapport au code d'origine, il n'y a aucune balise <meta> à supprimer, simplement certaines sont à déplacer (meta description et keywords).
Comme dans mon post ci-dessus, dans le fichier head, il y a :
-> le doctype
-> la balise html ouvrante
-> la balise head ouvrante
-> la balise title contenant le code nécessaire qui renvoie la chaîne de caractères stockée dans la variable $title dont le contenu sera différent d'une page du site à l'autre (affecté en début de page)
-> toutes les balises meta communes à toutes les pages, là tu mets toutes les balises <meta> sauf description et keywords.
C'EST TOUT
Toutes les pages contiennent :
-> le code php pour affecter le titre de la page + le code php pour inclure le fichier head :
-> Tout le reste de la page (la suite), c'est à dire : les balises meta description et keywords, puis la balise </head> fermante, puis la balise <body> et son contenu.
BILAN : Il faut penser qu'au final la page affichée dans le navigateur est le résultat de l'assemblage des deux fichiers, après affichage, c'est comme s'il n'y avait qu'une seule page complète, d'ailleurs quand on demande au navigateur d'afficher la source de la page (inspecteur web sur Safari), le code php a disparu et on n'en voit que le résultat. Bien sûr si tu utilises un éditeur de pages web qui vérifie la saisie du code, son aperçu et le vérificateur n'appréciront pas d'avoir une moitié de page, il faudra se contenter des tests sur les navigateurs internet, mais de toute façon, c'est le résultat le plus important et pas les caprices de l'éditeur.
Je ne sais pas à quoi correspond le
<meta name="verify-v1" content="MvjYkxX8rK+5of58EBOlE/BiEh3IrDjZB+/IukFmYe8="/> <MYMETA>
probablement une balise meta pour le référencement, donc dans le fichier head. Le site est complexe, ceci dit par rapport au code d'origine, il n'y a aucune balise <meta> à supprimer, simplement certaines sont à déplacer (meta description et keywords).
Comme dans mon post ci-dessus, dans le fichier head, il y a :
-> le doctype
-> la balise html ouvrante
-> la balise head ouvrante
-> la balise title contenant le code nécessaire qui renvoie la chaîne de caractères stockée dans la variable $title dont le contenu sera différent d'une page du site à l'autre (affecté en début de page)
-> toutes les balises meta communes à toutes les pages, là tu mets toutes les balises <meta> sauf description et keywords.
C'EST TOUT
Toutes les pages contiennent :
-> le code php pour affecter le titre de la page + le code php pour inclure le fichier head :
<?php $title='Titre de la page'; //Titre à modifier pour chaque page include('head.php'); /*inclusion du fichier head. La chaîne entre guillemets simples contient le chemin relatif (ou absolu mais ce n'est dans ce cas pas possible de tester le site correctement) par exemple 'entetes/head.php' ou '../head.php' selon l'emplacement de head.php par rapport à la page actuelle. Ici en dehors de ce commentaire, le fichier head.php est dans le même dossier que la page.*/ ?>
-> Tout le reste de la page (la suite), c'est à dire : les balises meta description et keywords, puis la balise </head> fermante, puis la balise <body> et son contenu.
BILAN : Il faut penser qu'au final la page affichée dans le navigateur est le résultat de l'assemblage des deux fichiers, après affichage, c'est comme s'il n'y avait qu'une seule page complète, d'ailleurs quand on demande au navigateur d'afficher la source de la page (inspecteur web sur Safari), le code php a disparu et on n'en voit que le résultat. Bien sûr si tu utilises un éditeur de pages web qui vérifie la saisie du code, son aperçu et le vérificateur n'appréciront pas d'avoir une moitié de page, il faudra se contenter des tests sur les navigateurs internet, mais de toute façon, c'est le résultat le plus important et pas les caprices de l'éditeur.
Les autres pages commencent par ex :
<!-- open content_inner class-->
<div class="content_inner">
<p> </p>
<img src="images/fr/tittre1.jpg" width="530" height="40" />
<p>Vous pouvez rechercher un cadeau sur notre site en naviguant par rayon.</p>
<p><img src="images/fr/trouver.jpg" width="529" height="193" /></p>
<p> </p>
<img src="images/fr/tittre2.jpg" width="530" height="40" />
<p>En cliquant sur son image ou sur "détails", vous obtenez la description détaillée du produit. </p>
<img src="images/fr/savoirplus.jpg" width="532" height="355" />
il faut que j'inclus :
<?php
$title='Titre de la page';
include('head.php');
?>
<meta name="description" content="blabla" />
<meta name="keywords" content="blabla" />
<!--les blabla sont à remplacer par le contenu approprié -->
</head>
<!-- open content_inner class-->
<div class="content_inner">
<p> </p>
<img src="images/fr/tittre1.jpg" width="530" height="40" />
<p>Vous pouvez rechercher un cadeau sur notre site en naviguant par rayon.</p>
<p><img src="images/fr/trouver.jpg" width="529" height="193" /></p>
<p> </p>
<img src="images/fr/tittre2.jpg" width="530" height="40" />
<p>En cliquant sur son image ou sur "détails", vous obtenez la description détaillée du produit. </p>
<img src="images/fr/savoirplus.jpg" width="532" height="355" />
il faut que j'inclus :
<?php
$title='Titre de la page';
include('head.php');
?>
<meta name="description" content="blabla" />
<meta name="keywords" content="blabla" />
<!--les blabla sont à remplacer par le contenu approprié -->
</head>
Voici une partie du code d'une de mes pages:
<!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" dir="ltr">
<head>
<meta name="verify-v1" content="MvjYkxX8rK+5of58EBOlE/BiEh3IrDjZB+/IukFmYe8="/>
<meta name="verify-v1" content="KmprDa5CQGX0WxlAt0ur2ja130ELppowr7mAG/AVMPU=" />
<title>Idées cadeaux petits-déjeuners frais du jour - Fête des pères - Cadeau de fête original </title>
<meta http-equiv="content-language" content="fr-ca" />
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1" />
<meta name="Identifier-url" content="https://www.monpaniergourmet.ca/" />
<meta name="Description" lang="fr" content="Idées cadeaux petits-déjeuners : Idée cadeau original, fête des pères,, déjeuners tendance, du terroir, classique, produits frais du jour livrés à domicile, cadeaux d'anniversaire et fête, Montréal, Québec"/>
<meta name="keywords" lang="fr" content="cadeaux, original, cadeau fête des pères, anniversaire, idées cadeaux, idée cadeau, gifts, birthday's gifts, Montréal, petits-déjeuners, cadeaux de fête"/>
<meta name="robots" content="index,follow" />
<meta name="location" content="Montréal, Québec, Canada" />