Hoe voeg je een paginanummer toe aan de titel van de blogpostlijstpagina in Hugo
Sommige zoekmachines houden niet van websites met pagina's die dezelfde titels hebben...
Om de Paginanummer toevoegen aan de blogpostlijspagina titel in Hugo toe te voegen, moet je je lijstsjabloon aanpassen
(meestal layouts/blog/list.html of layouts/_default/list.html, soms zelfs layouts/_default/baseof.html) om te detecteren of je op een paginagezette pagina bent. Vervolgens, pas de titel dynamisch aan door het paginanummer toe te voegen wanneer dat van toepassing is.
Algemene beschrijving
Het essentiële idee is om gebruik te maken van Hugo’s ingebouwde paginatorobject en het paginanummer voorwaardelijk weergeven als het groter is dan 1. Hier is hoe je dat kunt doen:
- Toegang tot de paginator:
Gebruik.Paginator
op je lijstpagina om te werken met paginering. - Controleer de huidige pagina:
Gebruik.Paginator.PageNumber
om het huidige paginanummer te verkrijgen. - Voorwaardelijke titellogica:
- Als je op pagina 1 bent, toon dan de reguliere titel (
{{ .Title }}
). - Als je op pagina 2 of hoger bent, voeg
" - Pagina X"
toe aan je titel.
- Als je op pagina 1 bent, toon dan de reguliere titel (
Voorbeeld Hugo sjablooncode (voor je list.html gedeelte, of in de `` tag van je baseof.html/layouts):
{{ .Title }}{{ if gt .Paginator.PageNumber 1 }} - Pagina {{ .Paginator.PageNumber }}{{ end }}
Of, in je werkelijke paginamarkup:
{{ .Title }}{{ if gt .Paginator.PageNumber 1 }} - Pagina {{ .Paginator.PageNumber }}{{ end }}
Opmerkingen:
- Dit werkt op paginagezette lijstpagina’s (sectie, taxonomie, enz.) omdat
.Paginator
beschikbaar is. .Paginator.PageNumber
retourneert het huidige paginanummer.- Voeg alleen “Pagina X” toe aan volgende pagina’s, niet aan de eerste pagina.
Referenties:
- Hugo lijst- en paginatiegidsen tonen
.Paginator.Project
en dynamische koppen als de aanbevolen methode. - Pas de locatie aan op basis van of je dit in de browser tab (d.w.z.,
<title>
) of op pagina koppen wilt hebben.
Als je het paginanummer wilt laten zien in de HTML <title>
element voor SEO, plaats dan de logica hierboven op de juiste plek in je HTML hoofd (vaak layouts/_default/baseof.html). Voor visuele paginakoppen, plaats het op de plek waar je de sectietitel uitvoert.
Er is geen officiële shortcode voor dit - het is een patroon dat direct wordt ingesteld met Hugo sjablonering in je layouts.
MainRoad aanpassing
Deze website gebruikt momenteel de Mainroad theme. Om de op-pagina SEO van deze site te verbeteren, heb ik de titelgeneratie in blogpostindexpagina’s op deze manier aangepast:
<title>{{ block "title" . }}{{ if .IsHome }}{{ .Site.Title }}{{ if and (eq .Kind "home") .Paginator (gt .Paginator.PageNumber 1) }} - Pagina {{ .Paginator.PageNumber }}{{ end }}{{ else }}{{ .Title }}{{ if and (in (slice "section" "taxonomy" "term") .Kind) .Paginator (gt .Paginator.PageNumber 1) }} - Pagina {{ .Paginator.PageNumber }}{{ end }} - {{ .Site.Title }}{{ end }}{{ end }}</title>