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...

Inhoud

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.

hugo-site-generator

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:

  1. Toegang tot de paginator:
    Gebruik .Paginator op je lijstpagina om te werken met paginering.
  2. Controleer de huidige pagina:
    Gebruik .Paginator.PageNumber om het huidige paginanummer te verkrijgen.
  3. 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.

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>