inemaSEO 1 — Fundação: o raio-x e o alicerce do seu site|INEMA.CLUB-PRO

Aula 5 · 15 min

Sitemaps com data real e hreflang

O sitemap é a lista de páginas que você entrega ao buscador. Ele só ajuda se disser a verdade: as páginas que existem e a data em que cada uma mudou de fato. Se o site tem versões em outros idiomas, o hreflang diz qual é qual, e isso abre um mercado inteiro.

Começar a aula
Mapa de papel aberto sobre uma mesa de madeira, com alfinetes ligados por barbante.

Nesta aula você vai

  1. 1Por que o sitemap sai do mesmo dado que gera as páginas
  2. 2Data real de mudança, nunca a hora do build
  3. 3hreflang de ida e volta, em cada página
  4. 4O caso da página em espanhol do INEMA

Objetivo: gerar o sitemap do mesmo dado das páginas, com data real de mudança e hreflang recíproco quando houver tradução.

01Um dado, duas saídas

Clique em cada bloco.

Clique em cada bloco do diagrama para ver o que ele faz.

Sitemap escrito à mão envelhece no primeiro dia. Sitemap gerado do dado não mente.

02Montar e conferir

Clique em cada etapa.

1. Achar o gerador

Muitas plataformas de site geram o sitemap sozinhas. Descubra onde ele é gerado e de que dado sai.

Se o sitemap foi escrito à mão, ele é a primeira coisa a trocar.

03Como fica e como conferir

O formato do sitemap com hreflang, o padrão do gerador e o comando de conferência.

sitemap.xml · uma URL com tradução
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://www.seusite.com/</loc>
<xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.seusite.com/" />
<xhtml:link rel="alternate" hreflang="en" href="https://www.seusite.com/en/" />
<xhtml:link rel="alternate" hreflang="es" href="https://www.seusite.com/es/" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://www.seusite.com/" />
<lastmod><aaaa-mm-dd da última mudança></lastmod>
</url>
</urlset>
Next.js · app/sitemap.ts (padrão do portal, resumido)
// a data vem do dado; nunca a hora do build
const languages = { 'pt-BR': `${SITE_URL}/`, en: `${SITE_URL}/en/`, es: `${SITE_URL}/es/`, 'x-default': `${SITE_URL}/` }
return ['/', '/en/', '/es/'].map(path => ({
  url: `${SITE_URL}${path}`,
  lastModified: latest,
  alternates: { languages },
}))
Terminal · URLs e hreflang do sitemap
x=$(curl -4 -m 20 -s https://www.seusite.com/sitemap.xml)
echo "$(echo "$x" | grep -c '<loc>') URLs, $(echo "$x" | grep -c 'hreflang') anotações hreflang"
echo "$x" | grep -oE '<lastmod>[^<]*' | sort | uniq -c | sort -rn | head
Exemplo do repositório

Primeira URL do sitemap de www.inema.club em 19/10/2026:

<loc>https://www.inema.club/</loc>
<xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.inema.club/" />
<xhtml:link rel="alternate" hreflang="en" href="https://www.inema.club/en/" />
<xhtml:link rel="alternate" hreflang="es" href="https://www.inema.club/es/" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://www.inema.club/" />
<lastmod>2026-10-19</lastmod>

A home muda quando o catálogo muda; por isso a data é a do catálogo.

04Prática: um sitemap que diz a verdade

Use os blocos de Sitemaps do seu raio-x.txt.

E1 · Três datas

20 min

Escolha 3 URLs do seu sitemap e compare o lastmod com a data da última mudança real de cada página.

Pronto quando: as 3 datas batem, ou você anotou de onde o gerador tira a data e o que mudar.

E2 · Ida e volta do hreflang

20 min

Se o site tem tradução, abra uma página em cada idioma e confira se cada uma lista todas as versões. Sem tradução, anote "não se aplica" e o idioma que faria sentido.

Pronto quando: a ida e a volta foram conferidas nas versões, ou o "não se aplica" está anotado com o motivo.

05Teste o que aprendeu

A explicação aparece depois da sua resposta.

Pergunta 1 de 4

Todas as URLs do seu sitemap têm a data de hoje. O que isso indica?competência

06Para levar

Do dadoPáginas e sitemap saem da mesma lista.
Data reallastmod = mudança do conteúdo, nunca o build.
hreflangRecíproco, com x-default, em cada página.

Para ir além

Aula anteriorPróxima aula