← Voltar ao blog

Checklist de SEO técnico do Magento 2 para desenvolvedores

Rodrigo Biazzi

O Magento 2 dá a maior parte dos controles de SEO técnico que você precisa, mas os padrões não são ajustados para um catálogo grande, e algumas configurações interagem de formas que criam URLs duplicadas ou páginas fracas aos milhares. Este checklist é o que eu percorro numa loja Magento 2.4 antes de alguém começar a escrever meta descriptions. Ele trata de rastreabilidade, indexação e higiene de URLs, as partes que um dev controla.

1. URLs e rewrites

Comece pelas configurações em Stores > Configuration > Catalog > Catalog > Search Engine Optimization e Stores > Configuration > General > Web.

  • Use Web Server Rewrites (web/seo/use_rewrites) deve ser Yes, para que as URLs não contenham index.php.
  • Auto redirect to Base URL (web/url/redirect_to_base) deve enviar um 301, para que o domínio sem www e a versão com www não respondam os dois.
  • Use Categories Path for Product URLs (catalog/seo/product_use_categories). Quando está ligado, um produto em três categorias ganha três URLs. A menos que haja um motivo forte, deixe desligado e deixe os produtos viverem numa URL curta única.
  • Generate category/product URL Rewrites (catalog/seo/generate_category_product_rewrites). Com o caminho de categoria desligado, desligar este também impede o Magento de gravar linhas de rewrite para cada combinação de produto e categoria. Em catálogos grandes isso evita que a url_rewrite cresça até milhões de linhas.
  • Create Permanent Redirect for URLs if URL Key Changed (catalog/seo/save_rewrites_history) deve continuar ligado, para que um produto renomeado redirecione em vez de retornar 404.

Você pode definir isso pela CLI, o que faz parte das suas notas de deploy:

bin/magento config:set web/seo/use_rewrites 1
bin/magento config:set catalog/seo/product_use_categories 0
bin/magento config:set catalog/seo/save_rewrites_history 1
bin/magento config:set catalog/seo/product_canonical_tag 1
bin/magento config:set catalog/seo/category_canonical_tag 1

Mudar configurações de URL numa loja no ar tem efeitos colaterais nos rewrites existentes. Se a tabela já está inchada ou cheia de cadeias de redirect, limpe primeiro. O processo está em limpeza de URL rewrites.

2. Tags canonical

Ative Use Canonical Link Meta Tag For Products e For Categories. O canonical do produto aponta para a URL curta do produto, o que importa se o caminho de categoria está ligado em algum lugar. O canonical da categoria aponta para a URL da categoria sem parâmetros de query, o que cobre os parâmetros de filtro e ordenação da layered navigation.

Um efeito colateral conhecido: o canonical da categoria também descarta o parâmetro de página, então a página 2 de uma categoria declara a página 1 como canonical. Os mecanismos de busca podem então tratar páginas mais profundas como duplicadas e rastrear com menos frequência os produtos linkados só a partir delas. Se as suas páginas de categoria são longas, considere uma customização que mantém o p no canonical e continua descartando filtros e ordenação. Teste com cuidado, porque muda o head de toda página de categoria.

3. Layered navigation e URLs facetadas

A layered navigation é a maior fonte de desperdício de crawl nas lojas Magento. Cada combinação de filtros é uma URL como /shoes.html?color=49&size=167&product_list_order=price, e os crawlers vão seguir todas se os links forem âncoras simples.

A tag canonical diz aos mecanismos de busca qual URL indexar, mas não impede o rastreamento. Num catálogo grande você também quer:

  • Bloquear no robots.txt os parâmetros de ordenação, limite e modo, já que nunca produzem landing pages úteis.
  • Decidir quais filtros merecem landing pages indexáveis, como marca ou material principal, e construir essas como páginas de categoria de verdade ou landing pages de SEO em vez de depender de query strings.
  • Impedir que os links de filtro restantes sejam rastreados, com regras no robots.txt sobre os parâmetros deles.

Se você cria filtros customizados, decida nesse momento como as URLs deles são formadas e se devem ser rastreáveis.

4. robots.txt e meta robots

O Magento gera o robots.txt a partir da configuração. Vá em Content > Design > Configuration, edite o escopo e abra Search Engine Robots. Ali você define o valor padrão do meta robots e as instruções customizadas do robots.txt. Um ponto de partida para a maioria das lojas:

User-agent: *
Disallow: /checkout/
Disallow: /customer/
Disallow: /wishlist/
Disallow: /catalogsearch/
Disallow: /sendfriend/
Disallow: /review/product/list/
Disallow: /*?*product_list_order=
Disallow: /*?*product_list_limit=
Disallow: /*?*product_list_mode=
Disallow: /*?*SID=

Sitemap: https://www.example.com/sitemap.xml

A checagem mais importante em staging e desenvolvimento é a oposta: o robots padrão deve ser NOINDEX,NOFOLLOW lá e INDEX,FOLLOW em produção. Um banco de staging copiado para produção, ou o contrário, é um jeito clássico de desindexar uma loja no ar. Depois de toda atualização de banco, confira o valor.

Páginas de resultado de busca não devem ser indexadas. Bloquear /catalogsearch/ no robots.txt impede o rastreamento, e uma meta tag noindex cobre páginas que já foram encontradas. Você pode definir por handle de layout no seu tema:

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <head>
        <meta name="robots" content="NOINDEX,FOLLOW"/>
    </head>
</page>

Salve como catalogsearch_result_index.xml na pasta Magento_CatalogSearch/layout do seu tema. Lembre que numa página bloqueada no robots.txt o meta robots não pode ser lido, então para páginas de busca já indexadas, deixe-as serem rastreadas até saírem do índice e só então adicione a regra de disallow.

5. Sitemap XML

Configure o sitemap em Stores > Configuration > Catalog > XML Sitemap e crie o arquivo em Marketing > SEO & Search > Site Map. Pontos para conferir:

  • A geração está ativada e roda pelo cron, para que o arquivo não tenha meses.
  • O sitemap inclui só URLs que retornam 200 e são canonical. Produtos desativados e produtos não visíveis individualmente não devem estar nele.
  • Entradas de imagens de produto são úteis para a busca de imagens, mas deixam os arquivos muito maiores. Desligue se a geração ficar lenta.
  • Cada store view que é um site separado recebe o próprio sitemap, e o robots.txt daquele domínio aponta para ele.

6. Status codes

Rastreie uma amostra de URLs e confira as respostas:

  • Produtos desativados devem retornar 404. Se quiser manter o valor dos links deles, adicione um 301 para a categoria mais próxima com um URL rewrite customizado.
  • Categorias apagadas não devem deixar rewrites órfãos apontando para lugar nenhum.
  • Cadeias de redirect, em que A vai para B e B para C, devem ser colapsadas. Elas se acumulam a cada mudança de URL key.
  • A página 404 deve retornar um status 404 de verdade, não 200. A página CMS no-route padrão faz isso certo, mas temas customizados às vezes quebram.

Produtos sem estoque são uma decisão de negócio. Se Display Out of Stock Products está desligado, esses produtos somem das listagens mas as páginas deles ainda carregam. Em geral está bem para faltas temporárias de estoque. Para produtos descontinuados, redirecione.

7. HTTPS e mixed content

Todas as base URLs devem ser HTTPS, inclusive a base URL unsecure. Confira blocks CMS e descrições de produto em busca de links de imagem http:// fixos no texto, que causam avisos de mixed content. Uma busca SQL simples em cms_block, cms_page e nas tabelas de atributos de texto encontra todos.

8. Performance como sinal de ranking

Core Web Vitals fazem parte dos sinais de experiência da página, e lojas Magento com Luma muitas vezes falham em LCP e INP no mobile. Full page cache com Varnish, otimização de imagens e um frontend mais leve fazem a maior diferença. O checklist detalhado está em Core Web Vitals no Magento 2.

9. Structured data e SEO internacional

O Luma gera algum microdata do schema.org nas páginas de produto, mas é incompleto para rich results. A maioria das lojas deveria trocá-lo por JSON-LD, como explicado em structured data para Magento 2. Se você roda vários idiomas ou países, o Magento não gera tags hreflang de forma alguma. Veja hreflang para lojas Magento multilíngues.

10. O que reconferir depois de todo deploy

  • Meta robots padrão por store view.
  • Conteúdo do robots.txt e a referência ao sitemap.
  • Tags canonical num produto, numa categoria e numa categoria filtrada.
  • Uma URL de produto desativado retornando 404.
  • Nenhum block novo marcado como não cacheável nos layouts de produto ou categoria, o que prejudicaria a velocidade.

FAQ

Devo usar o caminho de categoria nas URLs de produto do Magento?

Em geral não. O caminho de categoria dá a cada produto várias URLs conforme a categoria, o que depende das tags canonical para corrigir a duplicação. URLs curtas de produto são mais simples e mantêm a tabela de rewrites menor.

O Magento adiciona tags canonical por padrão?

O Magento suporta tags canonical para produtos e categorias, controladas por duas configurações em Catalog Search Engine Optimization. Confira se as duas estão ativas em todas as store views.

Onde edito o robots.txt no Magento 2?

Em Content, Design, Configuration. Edite o escopo de website ou store view e abra a seção Search Engine Robots. As instruções customizadas ali são servidas como robots.txt.

As URLs de layered navigation devem ser indexadas?

Em geral não. Mantenha URLs de filtro e ordenação fora do índice e crie landing pages dedicadas para os poucos valores de filtro que correspondem a uma demanda de busca real.

Atendo como freelancer em Magento e Adobe Commerce, incluindo auditorias de SEO técnico. Se precisa de ajuda com isso, fale comigo.

Artigos relacionados