Hur man lägger till en siffermarkering på blogginläggets listningsida i Hugo

Vissa sökmotorer gillar inte när en webbplats har sidor med samma titlar...

Sidinnehåll

För att lägga till Sidanummer till blogginläggslistans sidtitel i Hugo, måste du modifiera din listmall

(vanligtvis layouts/blog/list.html eller layouts/_default/list.html, ibland även layouts/_default/baseof.html) för att upptäcka om du befinner dig på en paginerad sida. Därefter, anpassa titeln dynamiskt genom att lägga till sidanumret när det är lämpligt.

hugo-site-generator

Vanlig beskrivning

Den grundläggande idén är att använda Hugo’s inbyggda paginator-objekt och villkorligt rendera sidanumret om det är större än 1. Här är hur du kan göra det:

  1. Åtkomst till paginator: Använd .Paginator på din listasida för att arbeta med paginering.
  2. Kontrollera aktuell sida: Använd .Paginator.PageNumber för att få det aktuella sidanumret.
  3. Villkorlig titel-logik:
    • Om på sida 1, visa den vanliga titeln ({{ .Title }}).
    • Om på sida 2 eller högre, lägg till " - Sida X" till din titel.

Exempel Hugo mallkod (för din list.html-del, eller i ``-taggen i din baseof.html/layouts):

  {{ .Title }}{{ if gt .Paginator.PageNumber 1 }} - Sida {{ .Paginator.PageNumber }}{{ end }}

Eller, i din faktiska sidmarkering:

  {{ .Title }}{{ if gt .Paginator.PageNumber 1 }} - Sida {{ .Paginator.PageNumber }}{{ end }}

Anteckningar:

  • Detta fungerar på paginerade listor (avsnitt, taxonomi etc.) eftersom .Paginator är tillgänglig.
  • .Paginator.PageNumber returnerar det aktuella sidanumret.
  • Lägg endast till “Sida X” för efterföljande sidor, inte för första sidan.

Referenser:

  • Hugo list- och pagineringsguider visar .Paginator.Project och dynamiska rubriker är det rekommenderade sättet.
  • Anpassa platsen beroende på om du vill ha detta i webbläsarfönstret (dvs. <title>) eller på sidrubriker.

Om du vill att sidanumret ska visas i HTML <title>-elementet för SEO, placera logiken ovan på rätt plats i ditt HTML-head (ofta layouts/_default/baseof.html). För visuella sidrubriker, placera den var du utför avsnittstiteln.

Det finns ingen officiell kortkod för detta - det är ett mönster som sätts direkt med Hugo-mallning i dina layouts.

MainRoad-modifikation

Den här webbplatsen använder för närvarande Mainroad-temat. För att förbättra på-sidan SEO för den här webbplatsen har jag lagat titelgenerering på blogginläggsindexsidor så här:

<title>{{ block "title" . }}{{ if .IsHome }}{{ .Site.Title }}{{ if and (eq .Kind "home") .Paginator (gt .Paginator.PageNumber 1) }} - Sida {{ .Paginator.PageNumber }}{{ end }}{{ else }}{{ .Title }}{{ if and (in (slice "section" "taxonomy" "term") .Kind) .Paginator (gt .Paginator.PageNumber 1) }} - Sida {{ .Paginator.PageNumber }}{{ end }} - {{ .Site.Title }}{{ end }}{{ end }}</title>

Användbara länkar