PhP : balise title et référencement

Répondre
Partager Rechercher
Coucou les labeux,

P'tite question pour les connaisseurs. Je suis moyenne-pas-si-pro connaisseuse en la matière et suis en train de me monter un p'tit site en php. L'index.php contient les balises <head>, <body> et <footer>, et dans la balise <body> y'a les balises définissant un peu le background avant d'appeler la page de contenu, contenant aucune balise <body> puisqu'elle est dans l'index.php.
Le site ressemble ressemble à peu près à ça (les noms sont fictifs histoire de vous éviter l'organigramme complet ) :

index.php
|_ _ _ home
|_ _ _ a propos
|_ _ _ service 1
|_ _ _ service 2
|_ _ _ contact


Quand je lis à propos du référencement, on me parle sans cesse de la balise <title>. Comme le <head> est uniquement dans l'index.php, je me demandais si c'était possible, utile, correct, de placer la balise <title> dans le body de la page appelée plutôt que dans le <head> de l'index, pour que je puisse modifier le <title> selon le contenu de la page ?

Merci

~~~

Edit ~ En fait, le même problème se pose aussi pour la balise <meta name="description">... quelle serait la meilleure solution ? Un script qui arrive la description ou le title selon la page appelée ?

Dernière modification par Accipiens ; 02/09/2014 à 00h30.
Lightbulb
Bonsoir,

Tu peux utiliser ce concept-là :

index.php :
Code PHP:

<?php

// ici tes calculs, appels à la base de données, etc.

require_once 'template_principal.php';
require_once 
'lapagedetonchoix.php';

afficher_template_principal();
template_principal.php :
Code PHP:

<?php
function afficher_template_principal() { ?>
<!DOCTYPE html>
<html>
<head>
<title><?php
if (function_exists('afficher_titre'))
    
afficher_titre();
else { 
?>
Le titre par défaut
<?php ?>
</title>
<!-- ici les parties communes de l'en-tête -->
</head>
<body>
<!-- ici des parties communes du corps -->
<?php
if (function_exists('afficher_contenu'))
    
afficher_contenu();
else { 
?>
Le contenu par défaut
<?php ?>
<!-- ici encore des parties communes du corps -->
</body>
</html>
<?php }
lapagedetonchoix.php :
Code PHP:

<?php
function afficher_titre() { ?>
Ton titre
<?php }
function 
afficher_contenu() { ?>
Ton contenu
<?php }
Ce concept te permet de définir autant de blocs que tu le souhaites (à chaque nouveau bloc, tu déclares une nouvelle fonction PHP), et de donner du contenu par défaut à chaque bloc.

Si le site est vraiment simple, index et template_principal peuvent être fusionnés, mais je ne te le recommande pas car tu peux te retrouver avec des trucs sans rapport dans le même fichier, ce qui n'aide pas à maintenir le site par la suite.

Est-ce que ça répond à ta problématique ?
J'imagine que dans ton index.php il y a un switch pour include le body qui correspond à la page demandée dans l'url ?

Genre en pseudo code :

Code PHP:

<body>

<?php 
    
switch (url)
        case 
'home' : include home.php
?>

</body>
Tu fais pareil pour ton title :

Code PHP:

<?php 
    
switch (url)
        case 
'home' $title 'home'
?>

<head>
    <title><?php echo $title?></title>
</head>

Après si tu veux mon avis, pour un site statique avec 3 pages, je te conseillerais plutôt d'utiliser wordpress.
@ Exter-N & Raizin ~ Au début, on avait pensé éviter de reloader l'index à chaque fois, mais selon vos solutions, ça va reloader l'index chaque fois, je comprends. Le site est fait en php mais le contenu est quasi-exclusivement en javascript.
Je crois qu'en reloadant l'index, ça risque en effet de simplifier pas mal de choses, notamment pour l'affichage des URL et les "essentiels" de la balise <head>. Je prends tout ça en compte et vais revoir en conséquence.

Merci

Citation :
Publié par Raizin
Après si tu veux mon avis, pour un site statique avec 3 pages, je te conseillerais plutôt d'utiliser wordpress.
Non le site n'a pas 3 pages, c'était vraiment pour simplifier. Il n'en a pas des tonnes non plus, mais c'est un projet commun, on tient vraiment à le faire de A à Z nous-même
Le but du title et des metas descriptions et keywords c'est justement d'être différents selon l'URL donc même dans le cas où ton fichier PHP est le même pour toutes tes pages(avec des if ou switch), il est préférable que les metas données le soient aussi.

Tu peux mettre les mêmes conditions que celles utilisées pour le body pour afficher des metas différentes selon les urls.

(En clair fais comme Raizin dit )

Edit : le js/jq c'est bien pour faire des trucs dynamiques et jolis mais c'est nul pour le référencement.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés