Receitas de SEO

Receitas para Otimização de Mecanismos de Busca usando Polyglot

Se você instalou a gema jekyll-polyglot, essas adições ao cabeçalho do seu site podem facilmente fornecer ao seu blog jekyll bônus de SEO fornecidos pelo Google.

Declaração de Idioma HTML

De acordo com o WHATWG HTML Living Standard, você deve declarar o idioma da página usando o atributo lang no elemento HTML raiz. Adicione isso ao seu layout:

<html lang="{{ site.active_lang }}">

Isso permite que navegadores, mecanismos de busca e tecnologias assistivas (leitores de tela, ferramentas de tradução) processem seu conteúdo corretamente.

Multi-language SEO usando hreflang alternate tags

Você pode facilmente adicionar tags alternadas hreflang="pt-BR" ao seu site, obtendo SEO com pesquisas multilíngues do Google. Quando o navegador usa um idioma não suportado, o site retorna para a versão padrão com hreflang="x-default".

Certifique-se de incluir tags canônicas ao identificar conteúdo em páginas semelhantes do mesmo idioma.

{% if page.lang == site.default_lang %}
<link rel="canonical"
      href="http://yoursite.com{{page.permalink}}" />
{% else %}
<link rel="canonical"
      href="http://yoursite.com/{{page.lang}}{{page.permalink}}" />
{% endif %}
<link rel="alternate"
      hreflang="{{site.default_lang}}"
      href="http://yoursite.com{{page.permalink}}" />
<link rel="alternate"
      hreflang="x-default"
      href="http://yoursite.com{{page.permalink}}" />
{% for lang in site.languages %}
{% if lang == site.default_lang %}
  {% continue %}
{% endif %}
<link rel="alternate"
    hreflang="{{lang}}"
    href="http://yoursite.com/{{lang}}{{page.permalink}}" />
{% endfor %}

Todas as anteriores (hreflang e canonical)

Você pode obter o link canonical, links alternate hreflang e fallback x-default com uma única tag adicionada ao seu head.html:

{% I18n_Headers %}

Nota: Você ainda deve adicionar <html lang="pt-BR"> ao elemento raiz do seu layout separadamente, conforme descrito acima.

Com esse SEO, cada clique em uma página de um idioma do site contará para o total de cliques de todos os idiomas do site.

Usando polyglot com jekyll-seo-tag

jekyll-seo-tag é outro plugin do Jekyll que emite tags <title> e <meta> para SEO. O {% I18n_Headers %} do Polyglot foi projetado para conviver com ele: deixe o jekyll-seo-tag cuidar de tudo, exceto da URL canônica, e deixe o polyglot cuidar do canonical e dos hreflang alternates (algo que ele consegue fazer corretamente entre idiomas):

{% seo canonical=false %}
{% I18n_Headers %}

A opção canonical=false requer jekyll-seo-tag v2.9.0 ou posterior.

Canonical de fallback para páginas não traduzidas

Por padrão, uma página que não possui tradução no idioma ativo ainda recebe um canonical apontando para sua URL traduzida. Para melhorar o SEO, você pode fazer com que as páginas de fallback apontem sua URL canônica para a versão no idioma padrão. Adicione ao seu _config.yml:

fallback_canonical_to_default_lang: true

Com isso habilitado:

Isso consolida a autoridade de SEO no conteúdo original e evita que mecanismos de busca indexem páginas de fallback duplicadas entre idiomas.

Usando polyglot com jekyll-redirect-from

O plugin jekyll-redirect-from permite que páginas declarem URLs antigas das quais devem ser redirecionadas. O polyglot integra-se a ele de duas formas:

Redirecionamentos automáticos entre idiomas via page_id. Quando duas páginas compartilham um page_id mas possuem permalinks diferentes, o polyglot adicionará automaticamente os permalinks dos outros idiomas ao redirect_from da página. Nenhuma configuração manual é necessária — apenas garanta que ambas as páginas tenham o mesmo page_id no front matter.

redirect_from com escopo de idioma. Quando uma página em um idioma não padrão declara seu próprio redirect_from, o polyglot automaticamente prefixa os caminhos com o código de idioma da página, de modo que /old-path se torna /fr/old-path em uma página em francês. Caminhos que já começam com o código de idioma são mantidos como estão.

Inclua um layout redirect.html personalizado no seu site.

Localizando os _redirects do Netlify

Novo na versão 1.13.0.

Quando você faz deploy no Netlify com um arquivo _redirects, o Polyglot pode gerar automaticamente cópias prefixadas por idioma de cada regra, para que elas funcionem em todas as suas URLs localizadas.

Habilite no _config.yml:

localize_redirects: true
exclude_from_redirect_localization:
  - /signin
  - /app

Com isso, uma única regra como:

/github  https://github.com/org/repo  302

é expandida em cópias prefixadas por idioma para cada idioma configurado:

/github     https://github.com/org/repo  302
/fr/github  https://github.com/org/repo  302
/de/github  https://github.com/org/repo  302
/sv/github  https://github.com/org/repo  302

URLs de destino externas são preservadas como estão. Caminhos listados em exclude_from_redirect_localization não são localizados, o que é útil para endpoints de autenticação ou rotas de single-page-app que devem existir apenas na raiz.