Mapas do site
Crie arquivos de mapa de site gerados automaticamente para serem referenciados a partir do robots.txt
. Isso ajuda na SEO e na descoberta de novos conteúdos. O AEM pode gerar três tipos de mapas de site: sem qualquer configuração, com base exclusivamente em um índice de consulta ou com base em uma configuração manual de mapa de site.
Criação de um Mapa do site sem qualquer configuração
Se não fizer nada, você verá seu mapa do site no sitemap.xml
e têm um índice de mapa de site no sitemap.json
. Ele conterá uma lista de todos os documentos publicados.
Se você começou com outro tipo de mapa de site e deseja mudar para esse tipo, será necessário excluir o helix-sitemap.yaml
arquivo de configuração - definido manualmente no GitHub ou gerado automaticamente - e reindexe o site.
Nome de domínio usado em URLs externos
Para personalizar o domínio usado na criação de URLs externos, adicione uma propriedade chamada host
ou cdn.prod.host
na configuração do seu projeto (denominado .helix/config
ao usar o Google Drive como back-end ou .helix/config.xlsx
no Sharepoint) e visualize esse arquivo para ativá-lo.
Gerar uma configuração de Mapa do site com base em um índice
Consulte o documento Indexação para saber mais sobre indexação. Para gerar uma configuração de mapa de site com base em um índice, verifique se você já configurou um índice de consulta inicial, conforme explicado aqui. Isso gerará um mapa de site no local:
https://<branch>--<repo>--<owner>.hlx.page/sitemap.xml
E uma configuração de mapa de site no seguinte local:
https://<branch>--<repo>--<owner>.hlx.page/helix-sitemap.yaml
É recomendável criar um sitemap-index.xml
arquivo que faz referência a todos os mapas de site e os mantém como parte do código do projeto no repositório github. Dessa forma, é fácil adicionar novos mapas de site à medida que o projeto se expande.
Configuração manual do mapa do site
Se você precisar de mais personalização do que o arquivo de configuração de mapa de site gerado fornece, é possível copiar o conteúdo e colá-lo em um arquivo chamado helix-sitemap.yaml
na pasta raiz do seu projeto.
Nota: Ao usar um índice e um mapa de site configurados manualmente (por exemplo, o repositório de código inclui um arquivo helix-query.yaml e helix-sitemap.yaml ), a definição de índice deve incluir a propriedade robots para garantir que o mapa de site exclua páginas com robots: noindex
metadados. Ao usar definições de índice geradas automaticamente, siga as recomendações na documentação de indexação portanto, essas páginas são excluídas do índice.
As seções a seguir contêm os tipos de mapas de site compatíveis.
Mapa do site simples
Veja a seguir um exemplo simples helix-sitemap.yaml
. Ele pressupõe um único índice contendo todas as páginas que precisam aparecer no mapa de site.
sitemaps:
example:
source: /query-index.json
destination: /sitemap-en.xml
Se quiser que as datas da última modificação sejam incluídas nos URLs do mapa de site, adicione um lastmod
incluindo um formato para sua configuração.
sitemaps:
example:
source: /query-index.json
destination: /sitemap-en.xml
lastmod: YYYY-MM-DD
Vários mapas de site
É comum ter mapas de site por seção dos sites e/ou por país ou idioma. O AEM suporta mapas de site, incluindo os correspondentes hreflang
referências. No exemplo a seguir, pressupomos que haja um mapeamento de um para um entre os índices e os arquivos XML de mapas de site.
sitemaps:
example:
languages:
en:
source: /en/query-index.json
destination: /sitemap-en.xml
hreflang: en
fr:
source: /fr/query-index.json
destination: /sitemap-fr.xml
hreflang: fr
alternate: /fr/{path}
Se houver duas páginas na seção em inglês e francês que compartilhem um sufixo comum, elas serão relacionadas, por exemplo, se você tiver uma página /welcome
na seção em inglês e em uma página /fr/welcome
na seção francesa, a entrada resultante na variável /sitemap-en.xml
terá esta aparência:
<url>
<loc>https://wwww.mysite.com/welcome</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://wwww.mysite.com/welcome"/>
<xhtml:link rel="alternate" hreflang="fr" href="https://wwww.mysite.com/fr/welcome"/>
</url>
Uma entrada semelhante estará disponível em /sitemap-fr.xml
.
Especificação manual do idioma principal
Pode haver situações em que você tenha versões alternativas de uma página, mas não é possível usar um sufixo comum para identificá-las, possivelmente porque você está exportando um site herdado que não deve ter seus caminhos alterados. Nessa situação, você pode especificar um primary-language-url
para o local alternativo, nos metadados do documento.
Vamos supor que nosso idioma principal seja o inglês, temos uma página /welcome
na seção em inglês e /fr/bienvenu
na seção francesa, e a última é uma versão alternativa da primeira.
Primeiro, adicionamos essas informações ao documento em /fr/bienvenu
nos metadados:
Isso também pode ser adicionado a uma variável global metadata
planilha, conforme mostrado na Metadados em massa.
Em seguida, adicionamos uma propriedade indexada primary-language-url
ao índice francês:
primary-language-url:
select: head > meta[name="primary-language-url"]
value: attribute(el, "content")
Por fim, publicamos novamente a página em francês e recriar o mapa do site.
Especificação do idioma padrão
Outro requisito comum é especificar o idioma padrão para um mapa de site com vários idiomas. Isso pode ser feito adicionando uma propriedade default
no mapa do site:
sitemaps:
example:
default: en
languages:
en:
source: /en/query-index.json
destination: /sitemap-en.xml
hreflang: en
fr:
source: /fr/query-index.json
destination: /sitemap-fr.xml
hreflang: fr
alternate: /fr/{path}
No mapa de site resultante, todas as entradas da subárvore em inglês terão uma entrada alternativa extra com hreflang x-default
.
Especificação de vários hreflangs para uma subárvore
Às vezes, é necessário mapear vários hreflangs para apenas uma subárvore de idioma. Por exemplo, considere que queremos que o seguinte apareça no mapa de site resultante:
<url>
<loc>https://myhost/la/page</loc>
<xhtml:link rel="alternate" hreflang="es-VE" href="https://myhost/la/page"/>
<xhtml:link rel="alternate" hreflang="es-SV" href="https://myhost/la/page"/>
<xhtml:link rel="alternate" hreflang="es-PA" href="https://myhost/la/page"/>
</url>
Cada página na origem do mapa de site deve aparecer exatamente uma vez, mas ter vários hreflangs alternativos associados a ela. Para fazer isso, você deve especificar uma matriz de idiomas no hreflang
propriedade:
sitemaps:
example:
languages:
la:
source: /la/query-index.json
destination: /sitemap-la.xml
hreflang:
- es-VE
- es-SV
- es-PA
Vários Índices Agregados Em Um Mapa Do Site
Há casos em que é mais fácil ter um único mapa de site maior do que mapas de site pequenos fragmentados, especialmente porque há um limite de mapas de site que podem ser enviados para mecanismos de pesquisa por site.
O exemplo a seguir mostra como agregar vários índices separados em um único mapa de site.
sitemaps:
example:
languages:
dk:
source: /dk/query-index.json
destination: /sitemap.xml
hreflang: dk
alternate: /dk/{path}
no:
source: /no/query-index.json
destination: /sitemap.xml
hreflang: no
alternate: /no/{path}
Usando o mesmo destino, é possível combinar vários mapas de site pequenos em um mapa de site maior.
Incluir outros mapas de site como entrada
Em um cenário misto, em que nem todos os idiomas em um mapa de site são gerenciados no AEM, você pode incluir mapas de site de outras árvores de idioma especificando um caminho XML como origem, como em:
sitemaps:
example:
languages:
en:
source: /en/query-index.json
destination: /sitemaps/sitemap-en.xml
hreflang: en
fr:
source: https://www.mysite.com/legacy/sitemap-fr.xml
destination: /sitemaps/sitemap-fr.xml
hreflang: fr
alternate: /fr/{path}
Neste exemplo, usamos um mapa de site externo da França para calcular todos os locais do mapa de site. O AEM determinará alternativas para URLs de mapa de site em inglês, desconstruindo os equivalentes em francês no mapa de site externo usando o alternate
definição.