Busca

SEO para websites em diferentes idiomas

Práticas de SEO técnico para identificar idiomas e organizar versões de páginas.

Synca2 min de leitura
Detalhe de um globo com países da Europa identificados em sueco.
Foto de Calvin Hanson no Unsplash.

Por que o idioma importa para o SEO?

Os mecanismos de busca precisam de sinais claros sobre o idioma e o público regional de uma página. Um website com versões em diferentes idiomas pode atender públicos de vários países. O website da Synca utiliza somente português do Brasil.

Atributos hreflang

O atributo hreflang identifica o idioma de cada versão de uma página. Este exemplo ilustra a configuração de um website multilíngue:

<link rel="alternate" hreflang="pt-BR" href="https://example.com/pt-br/about" />
<link rel="alternate" hreflang="en" href="https://example.com/en/about" />
<link rel="alternate" hreflang="x-default" href="https://example.com/about" />

O projeto gera esses atributos por meio da função hreflangLinks() em src/lib/seo.ts, de acordo com os idiomas ativos.

URLs canônicas

Cada página deve identificar sua URL principal:

export function canonicalUrl(locale: Locale, path: string): string {
const prefix = localePrefix(locale);
const normalized = path.replace(/\/$/, "");
return `${SITE_CONFIG.url}${prefix}${normalized || ""}`;
}

Dados estruturados em JSON-LD

O projeto utiliza dados estruturados para o website e os artigos. Exemplo de metadados:

const websiteJsonLd = jsonLdWebSite({
title: "Synca",
description: "Websites e sistemas para pequenas e médias empresas",
locale: "pt-BR",
path: "/",
});

Sitemap

A integração @astrojs/sitemap gera o arquivo sitemap-index.xml, que ajuda os mecanismos de busca a descobrir as páginas publicadas.

Desempenho

  • Geração estática: as páginas são construídas antes da publicação.
  • Distribuição por CDN: a rede global do Cloudflare distribui o conteúdo.
  • Core Web Vitals: enviar somente o JavaScript necessário contribui para uma experiência rápida.