Comment ajouter un numéro de page au titre de la page de liste des publications de blog dans Hugo
Certains moteurs de recherche n'apprécient pas lorsqu'un site web possède des pages ayant des titres identiques...
Pour ajouter le numéro de page au titre de la page de liste des articles de blog dans Hugo, vous devez modifier votre modèle de liste
(généralement layouts/blog/list.html ou layouts/_default/list.html, parfois même layouts/_default/baseof.html) pour détecter si vous êtes sur une page paginée. Ensuite, ajustez le titre dynamiquement en ajoutant le numéro de page lorsqu’il convient.
Description commune
L’idée essentielle est d’utiliser Hugo’s objet de pagination intégré et d’afficher le numéro de page conditionnellement s’il est supérieur à 1. Voici comment vous pouvez le faire :
- Accéder à la pagination :
Utilisez.Paginator
sur votre page de liste pour travailler avec la pagination. - Vérifier la page actuelle :
Utilisez.Paginator.PageNumber
pour obtenir le numéro de la page actuelle. - Logique de titre conditionnelle :
- Si vous êtes sur la page 1, affichez le titre normal (
{{ .Title }}
). - Si vous êtes sur la page 2 ou supérieure, ajoutez
" - Page X"
à votre titre.
- Si vous êtes sur la page 1, affichez le titre normal (
Exemple de code de modèle Hugo (pour votre partial list.html ou dans la balise `` de votre baseof.html/layouts) :
{{ .Title }}{{ if gt .Paginator.PageNumber 1 }} - Page {{ .Paginator.PageNumber }}{{ end }}
Ou, dans votre markup de page réel :
{{ .Title }}{{ if gt .Paginator.PageNumber 1 }} - Page {{ .Paginator.PageNumber }}{{ end }}
Notes :
- Cela fonctionne sur les pages de liste paginées (section, taxonomie, etc.) car
.Paginator
est disponible. .Paginator.PageNumber
retourne le numéro de la page actuelle.- N’ajoutez “Page X” que pour les pages suivantes, pas pour la première page.
Références :
- Les guides de Hugo sur les listes et la pagination montrent que
.Paginator.Project
et les titres dynamiques sont la méthode recommandée. - Ajustez l’emplacement en fonction de savoir si vous souhaitez que cela soit dans l’onglet du navigateur (c’est-à-dire
<title>
) ou dans les titres de page.
Si vous souhaitez que le numéro de page s’affiche dans l’élément HTML <title>
pour le référencement, placez la logique ci-dessus à l’endroit approprié dans votre balise <head>
(souvent layouts/_default/baseof.html). Pour les titres visuels de page, placez-la là où vous affichez le titre de la section.
Il n’existe pas de court-code officiel pour cela - c’est un modèle directement défini à l’aide de Hugo dans vos modèles.
Modification MainRoad
Ce site utilise actuellement le thème Mainroad. Ainsi, pour améliorer le SEO sur cette page, j’ai corrigé la génération du titre sur les pages d’index des articles de blog comme suit :
<title>{{ block "title" . }}{{ if .IsHome }}{{ .Site.Title }}{{ if and (eq .Kind "home") .Paginator (gt .Paginator.PageNumber 1) }} - Page {{ .Paginator.PageNumber }}{{ end }}{{ else }}{{ .Title }}{{ if and (in (slice "section" "taxonomy" "term") .Kind) .Paginator (gt .Paginator.PageNumber 1) }} - Page {{ .Paginator.PageNumber }}{{ end }} - {{ .Site.Title }}{{ end }}{{ end }}</title>
Liens utiles
- Feuille de triche Hugo
- Ajouter des balises de données structurées à Hugo
- Métadonnées Opengraph pour l’image dans le générateur de site statique Hugo
- Comment stocker les images miniatures dans le dossier de page bundle pour les sites Hugo avec le thème Mainroad
- Comparaison de la qualité de la traduction des pages Hugo - LLMs sur Ollama