Como adicionar um número de página ao título da página da lista de posts do blog no Hugo
Alguns motores de busca não favorecem sites que possuem páginas com títulos idênticos...
Para adicionar o Número da página ao título da página da lista de posts do blog no Hugo, você precisa modificar seu modelo de lista
(geralmente layouts/blog/list.html ou layouts/_default/list.html, às vezes até layouts/_default/baseof.html) para detectar se você está em uma página paginada. Em seguida, ajuste o título dinamicamente, anexando o número da página quando apropriado.

Descrição comum
A ideia essencial é usar o objeto paginador embutido do Hugo e condicionalmente renderizar o número da página se for maior que 1. Veja como você pode fazer isso:
- Acessar o paginador:
Use.Paginatorna sua página de lista para trabalhar com paginação. - Verificar a página atual:
Use.Paginator.PageNumberpara obter o número da página atual. - Lógica de título condicional:
- Se estiver na página 1, mostre o título regular (
{{ .Title }}). - Se estiver na página 2 ou superior, anexe
" - Página X"ao seu título.
- Se estiver na página 1, mostre o título regular (
Exemplo de código de modelo Hugo (para o seu parcial list.html, ou na tag `` do seu baseof.html/layouts):
{{ .Title }}{{ if gt .Paginator.PageNumber 1 }} - Página {{ .Paginator.PageNumber }}{{ end }}
Ou, na sua marcação de página real:
{{ .Title }}{{ if gt .Paginator.PageNumber 1 }} - Página {{ .Paginator.PageNumber }}{{ end }}
Notas:
- Isso funciona em páginas de lista paginadas (seção, taxonomia, etc.) pois
.Paginatorestá disponível. .Paginator.PageNumberretorna o número da página atual.- Apenas anexe “Página X” para páginas subsequentes, não para a primeira página.
Referências:
- Os guias de lista e paginação do Hugo mostram que
.Paginator.Projecte cabeçalhos dinâmicos são a maneira recomendada. - Ajuste a localização com base se você quer isso na aba do navegador (ou seja,
<title>) ou nos cabeçalhos da página.
Se você quiser que o número da página apareça no elemento HTML <title> para SEO, coloque a lógica acima na localização apropriada no seu cabeçalho HTML (geralmente layouts/_default/baseof.html). Para cabeçalhos de página visuais, coloque-o onde você exibe o título da seção.
Não há um shortcode oficial para isso - é um padrão definido diretamente usando o modelamento Hugo em seus layouts.
Modificação MainRoad
Este site está atualmente usando o tema Mainroad. Portanto, para melhorar o SEO on-page para este site, corrigi a geração de títulos nas páginas de índice de posts do blog assim:
<title>{{ block "title" . }}{{ if .IsHome }}{{ .Site.Title }}{{ if and (eq .Kind "home") .Paginator (gt .Paginator.PageNumber 1) }} - Página {{ .Paginator.PageNumber }}{{ end }}{{ else }}{{ .Title }}{{ if and (in (slice "section" "taxonomy" "term") .Kind) .Paginator (gt .Paginator.PageNumber 1) }} - Página {{ .Paginator.PageNumber }}{{ end }} - {{ .Site.Title }}{{ end }}{{ end }}</title>
Links úteis
- Hugo Cheat Sheet
- Adicionar marcação de dados estruturados ao Hugo
- Metadados de imagem Opengraph no gerador de sites estáticos Hugo
- Como armazenar imagens de miniatura na pasta de bundle de página para sites Hugo com tema Mainroad
- Comparação da qualidade de tradução de páginas do Hugo - LLMs no Ollama