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

Uma tentativa de gerar e gravar a variável sitemap.xml ao diretório raiz resulta no seguinte erro:

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

Com o Adobe Commerce na infraestrutura em nuvem, você só pode gravar em diretórios específicos, como var, pub/media, pub/staticou app/etc. Ao gerar a variável sitemap.xml usando o painel Admin, você deve especificar o /media/ caminho.

Não é necessário gerar um robots.txt arquivo porque gera a variável robots.txt conteúdo sob demanda e o armazena no banco de dados. Você pode exibir o conteúdo no seu navegador com o <domain.your.project>/robots.txt ou <domain.your.project>/robots link.

Isso requer o ECE-Tools versão 2002.0.12 e posterior com uma atualização .magento.app.yaml arquivo. Veja um exemplo dessas regras na repositório da magento-cloud.

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

  1. Acesse o Admin.

  2. No Marketing clique em Mapa do site no SEO e pesquisa seção.

  3. No Mapa do site clique em Adicionar mapa do site.

  4. No Novo mapa de sites digite os seguintes valores:

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

  6. Clique no caminho no campo Link para o Google coluna.

Para adicionar conteúdo à robots.txt arquivo:

  1. Acesse o Admin.
  2. No Conteúdo clique em Configuração no Design seção.
  3. No Configuração de design clique em Editar para o site na Ação coluna.
  4. No Site principal clique em Robôs do mecanismo de pesquisa.
  5. Atualize o Editar instrução personalizada de robots.txt campo.
  6. Clique em Salvar configuração.
  7. Verifique se <domain.your.project>/robots.txt arquivo ou <domain.your.project>/robots URL no seu navegador.
NOTE
Se a variável <domain.your.project>/robots.txt arquivo gera um 404 error, Enviar 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. Gerar o sitemap.xml no painel Admin, conforme descrito acima, crie um trecho Fastly VCL personalizado para gerenciar o redirecionamento. Consulte Trechos de VCL Fastly 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

Criar um trecho de VCL personalizado para substituir o caminho por sitemap.xml para /media/sitemap.xml usando o type e content pares de valor-chave.

{
  "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 para 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:

Criar um pub/media/domain_robots.txt arquivo, onde o domínio é domain.come 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\"; }}"
}

As rotas de trecho do VCL http://domain.com/robots.txt e apresenta o pub/media/domain_robots.txt arquivo.

Para configurar um redirecionamento para robots.txt e sitemap.xml em um único trecho, crie pub/media/domain_robots.txt e pub/media/domain_sitemap.xml arquivos, onde o domínio é 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\"; }}"
}

No sitemap admin config, você deve especificar o local do arquivo usando pub/media/ em vez de /.

Configurar indexação por mecanismo de pesquisa

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

Use o Cloud Console para gerenciar ambientes

NOTE
Se você estiver usando o PWA Studio e não conseguir acessar o sistema robots.txt arquivo, adicionar robots.txt para o Nome da frente ➡ Incluir na lista de permissões em Lojas > Configuração > Geral > Web > Configuração de PWA ASCENDENTE.
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26