Adicionar mapa do site e robôs de mecanismo de pesquisa

Uma tentativa de gerar e gravar o arquivo sitemap.xml no diretório raiz resulta no seguinte erro:

Please make sure that "/" is writable by the web-server.

Com o Adobe Commerce na infraestrutura de nuvem, você só pode gravar em diretórios específicos, como var, pub/media, pub/static ou app/etc. Ao gerar o arquivo sitemap.xml usando o painel Administrador, você deve especificar o caminho /media/.

Você não precisa gerar um arquivo robots.txt porque ele gera o conteúdo robots.txt sob demanda e o armazena no banco de dados. Você pode exibir o conteúdo em seu navegador com o link <domain.your.project>/robots.txt ou <domain.your.project>/robots.

Isso requer o ECE-Tools versão 2002.0.12 e posterior com um arquivo .magento.app.yaml atualizado. Veja um exemplo dessas regras no repositório magento-cloud.

Para gerar um arquivo sitemap.xml na versão 2.2 e posterior:

  1. Acesse o Admin.

  2. No menu Marketing, clique em Mapa do Site na seção SEO e Pesquisa.

  3. Na exibição Mapa do Site, clique em Adicionar Mapa do Site.

  4. Na exibição Novo Mapa de Site, insira os seguintes valores:

    • Nome do arquivo:sitemap.xml
    • Caminho:/media/
  5. Clique em Salvar e gerar. O novo mapa do site fica disponível na grade Mapa do Site.

  6. Clique no caminho na coluna Link for Google.

Para adicionar conteúdo ao robots.txt arquivo:

  1. Acesse o Admin.
  2. No menu Conteúdo, clique em Configuração na seção Design.
  3. No modo de exibição Configuração de Design, clique em Editar para o site na coluna Ação.
  4. Na exibição Site Principal, clique em Robôs do Mecanismo de Pesquisa.
  5. Atualize a Editar instrução personalizada do campo robots.txt.
  6. Clique em Salvar configuração.
  7. Verifique o arquivo <domain.your.project>/robots.txt ou a URL <domain.your.project>/robots no navegador.
NOTE
Se o arquivo <domain.your.project>/robots.txt gerar um 404 error, Envie um tíquete de Suporte da Adobe Commerce para remover o redirecionamento de /robots.txt para /media/robots.txt.

Regravar usando o trecho Fastly VCL

Se você tiver domínios diferentes e precisar de mapas de site separados, poderá criar uma VCL para rotear para o mapa de site apropriado. Gere o arquivo sitemap.xml no painel Admin como descrito acima e crie um trecho Fastly VCL personalizado para gerenciar o redirecionamento. Consulte Fragmentos de VCL personalizados.

NOTE
Você pode fazer upload de trechos de VCL personalizados na interface do usuário do Administrador ou usando a API do Fastly. Consulte Exemplos e tutoriais de trechos de VCL personalizados.

Use um trecho Fastly VCL para redirecionar

Crie um trecho de VCL personalizado para reescrever o caminho de sitemap.xml para /media/sitemap.xml usando os pares de valores-chave type e content.

{
  "name": "sitemapxml_rewrite",
  "dynamic": "0",
  "type": "recv",
  "priority": "90",
  "content": "if ( req.url.path ~ \"^/?sitemap.xml$\" ) { set req.url = \"/media/sitemap.xml\"; }"
}

O exemplo a seguir demonstra como reescrever o caminho de robots.txt e sitemap.xml para /media/robots.txt e /media/sitemap.xml

{
  "name": "sitemaprobots_rewrite",
  "dynamic": "0",
  "type": "recv",
  "priority": "90",
  "content": "if ( req.url.path ~ \"^/?sitemap.xml$\" ) { set req.url = \"/media/sitemap.xml\"; } else if (req.url.path ~ \"^/?robots.txt$\") { set req.url = \"/media/robots.txt\";}"
}

Para usar um trecho de VCL do Fastly para um redirecionamento de domínio específico:

Crie um arquivo pub/media/domain_robots.txt, onde o domínio seja domain.com, e use o próximo trecho VCL:

{
  "name": "domain_robots",
  "dynamic": "0",
  "type": "recv",
  "priority": "90",
  "content": "if ( req.url.path == \"/robots.txt\" ) { if ( req.http.host ~ \"(domain).com$\" ) { set req.url = \"/media/\" re.group.1 \"_robots.txt\"; }}"
}

O trecho VCL roteia http://domain.com/robots.txt e apresenta o arquivo pub/media/domain_robots.txt.

Para configurar um redirecionamento para robots.txt e sitemap.xml em um único trecho, crie arquivos pub/media/domain_robots.txt e pub/media/domain_sitemap.xml, em que o domínio seja domain.com, e use o próximo trecho VCL:

{
  "name": "domain_sitemaprobots",
  "dynamic": "0",
  "type": "recv",
  "priority": "90",
  "content": "if ( req.url.path == \"/robots.txt\" ) { if ( req.http.host ~ \"(domain).com$\" ) { set req.url = \"/media/\" re.group.1 \"_robots.txt\"; }} else if ( req.url.path == \"/sitemap.xml\" ) { if ( req.http.host ~ \"(domain).com$\" ) {  set req.url = \"/media/\" re.group.1 \"_sitemap.xml\"; }}"
}

Na configuração do administrador sitemap, você deve especificar o local do arquivo usando pub/media/ em vez de /.

Configurar indexação por mecanismo de pesquisa

Para ativar as personalizações de robots.txt na Produção, você deve habilitar a opção A indexação por mecanismos de pesquisa está ativada para<environment-name> nas configurações do projeto.

Usar o Cloud Console para gerenciar ambientes

NOTE
  • A indexação por mecanismos de pesquisa só pode ser ativada na Produção, mas não em nenhum dos ambientes inferiores.

  • Se você estiver usando o PWA Studio e não puder acessar o arquivo robots.txt configurado, adicione robots.txt ao Incluo na lista de permissões de Nome principal em Lojas > Configuração > Geral > Web > Configuração de PWA ASCENDENTE.

recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26