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...
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.
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:
- Accedere al paginator:
Utilizza.Paginator
sulla tua pagina elenco per lavorare con la paginazione. - Verificare la pagina corrente:
Utilizza.Paginator.PageNumber
per ottenere il numero della pagina corrente. - 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.
- Se sei sulla pagina 1, mostra il titolo normale (
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>
Link utili
- Hugo Cheat Sheet
- Aggiungere markup dati strutturati a Hugo
- Metadati Opengraph per immagini in Hugo static site generator
- Come archiviare immagini miniature nella cartella del bundle della pagina per siti Hugo con tema Mainroad
- Confronto della qualità della traduzione delle pagine Hugo - LLMs su Ollama