Les fichiers de mon site basés sur PHP commencent par
<?php include("PHP/header.php"); ?>
qui inclut tout le code HTML (métadonnées, scripts, etc.) partagé par chaque page - avec <head>
et <title>
. Les options que j'ai envisagées pour les titres de page dynamiques sont les suivantes:
<title id="title">...</title>
...
<script>window.onload=function(){document.getElementById('title').innerHTML="New title"}
</script>
et
<?php include("PHP/header1.php"); ?> <!-- code in header.php before <title> -->
<title>New title</title>
<?php include("PHP/header2.php"); ?> <!-- code after </title> -->
(J'entends la même chose pour les descriptions de page - omises par souci de brièveté.)
Laquelle de ces options est préférable pour l'optimisation des moteurs de recherche - existe-t-il de meilleures approches? Enfin, les différences de performances à noter (scripts vs php, etc.)?
Définissez le titre en tant que variable et transmettez-le à votre include:
<?php
$page_title = 'Welcome to my site';
include("PHP/header.php");
?>
Ensuite, dans votre en-tête PHP, vous pouvez utiliser cette variable. Ici, j'utilise htmlspecialchars
pour m'assurer que <>&
est correctement échappé s'ils sont utilisés dans le titre.
<title><?php echo htmlspecialchars($page_title); ?></title>
Vous pouvez même mettre du code dans votre en-tête PHP pour vérifier que le titre a été défini et pour utiliser un titre par défaut s'il ne l'a pas déjà été:
if (empty($page_title)) {
$page_title = 'This page gets this default title';
}
Vous pouvez utiliser la même technique pour d'autres éléments que vous souhaitez personnaliser dans l'en-tête, tels que la méta-description.
La méthode la plus fiable et la plus correcte pour définir la méthode de référencement optimale consiste à définir les en-têtes dans la configuration du serveur Web, et pas seulement les en-têtes PHP, car cela ne ferait que couvrir le titre des pages Web.