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:
-
Acesse o Admin.
-
No menu Marketing, clique em Mapa do Site na seção SEO e Pesquisa.
-
Na exibição Mapa do Site, clique em Adicionar Mapa do Site.
-
Na exibição Novo Mapa de Site, insira os seguintes valores:
- Nome do arquivo:
sitemap.xml
- Caminho:
/media/
- Nome do arquivo:
-
Clique em Salvar e gerar. O novo mapa do site fica disponível na grade Mapa do Site.
-
Clique no caminho na coluna Link for Google.
Para adicionar conteúdo ao robots.txt
arquivo:
- Acesse o Admin.
- No menu Conteúdo, clique em Configuração na seção Design.
- No modo de exibição Configuração de Design, clique em Editar para o site na coluna Ação.
- Na exibição Site Principal, clique em Robôs do Mecanismo de Pesquisa.
- Atualize a Editar instrução personalizada do campo robots.txt.
- Clique em Salvar configuração.
- Verifique o arquivo
<domain.your.project>/robots.txt
ou a URL<domain.your.project>/robots
no navegador.
<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.
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.
-
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, adicionerobots.txt
ao Incluo na lista de permissões de Nome principal em Lojas > Configuração > Geral > Web > Configuração de PWA ASCENDENTE.