Come aggiungere un numero di pagina al titolo della pagina elenco articoli nel blog con Hugo

Alcuni motori di ricerca non approvano quando un sito web ha pagine con titoli identici...

Indice

Per aggiungere il Numero della pagina nel titolo della pagina elenco dei post blog in Hugo, è necessario modificare il tuo modello di elenco

(di solito layouts/blog/list.html o layouts/_default/list.html, a volte anche layouts/_default/baseof.html) per rilevare se ti trovi su una pagina paginata. Poi, aggiusta dinamicamente il titolo aggiungendo il numero della pagina quando appropriato.

hugo-site-generator

Descrizione comune

L’idea essenziale è utilizzare Hugo’s oggetto paginator predefinito e visualizzare il numero della pagina in modo condizionale se è maggiore di 1. Ecco come puoi farlo:

  1. Accedere al paginator:
    Utilizza .Paginator sulla tua pagina elenco per lavorare con la paginazione.
  2. Verificare la pagina corrente:
    Utilizza .Paginator.PageNumber per ottenere il numero della pagina corrente.
  3. Logica del titolo condizionale:
    • Se sei sulla pagina 1, mostra il titolo normale ({{ .Title }}).
    • Se sei sulla pagina 2 o successiva, aggiungi " - Pagina X" al titolo.

Esempio di codice del modello Hugo (per il tuo file list.html parziale, o all’interno del tag `` nel tuo baseof.html/layouts):


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

O, nel markup effettivo della pagina:


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

Note:

  • Questo funziona sulle pagine elenco paginata (sezione, taxonomia, ecc.) poiché .Paginator è disponibile.
  • .Paginator.PageNumber restituisce il numero della pagina corrente.
  • Aggiungi “Pagina X” solo per le pagine successive, non per la prima pagina.

Riferimenti:

  • Le guide di Hugo su elenco e paginazione mostrano .Paginator.Project e gli header dinamici sono il metodo consigliato.
  • Modifica la posizione in base a se desideri che questa informazione appaia nell’intestazione del browser (ovvero <title>) o nei titoli in pagina.

Se desideri che il numero della pagina venga visualizzato nell’elemento HTML <title> per l’ottimizzazione dei motori di ricerca, posiziona la logica sopra nella posizione corretta all’interno dell’head HTML (spesso layouts/_default/baseof.html). Per i titoli visivi in pagina, posizionala dove mostri il titolo della sezione.

Non esiste un breve codice predefinito per questo - è un modello impostato direttamente utilizzando Hugo nel tuo layout.

Modifica MainRoad

Questo sito web utilizza attualmente il tema Mainroad. Per migliorare l’SEO su questa pagina ho corretto la generazione del titolo nelle pagine indice dei post blog in questo modo:

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