A VTEX entrega boa parte da base técnica de SEO pronta: canonical automático, sitemap, redirecionamentos e campos de título e descrição. O problema é que ela não é uma plataforma só. Uma loja pode rodar em FastStore, em Store Framework (VTEX IO) ou no CMS legado, e cada uma tem lugares diferentes para configurar o mesmo item.
O resultado costuma ser previsível: o time acredita que o SEO está resolvido porque a plataforma “já faz”, e só descobre um filtro indexável, uma paginação sem link ou um robots.txt bloqueando categorias quando o tráfego cai. Este guia organiza o que configurar, onde, e o que conferir no HTML renderizado.
Seguimos a documentação oficial da VTEX e do Google. Quando um ponto não está confirmado na documentação, dizemos isso no texto, em vez de afirmar. Para o panorama geral de loja virtual, veja também o guia de SEO para Shopify, que usa a mesma lógica de checagem.
Qual VTEX você tem: FastStore, Store Framework ou CMS legado
Segundo o guia Storefront SEO da VTEX, a configuração de SEO muda conforme a tecnologia de front-end. Identificar a sua é o primeiro passo, porque as instruções abaixo variam.
| Plataforma | Onde configurar título e descrição | Robots.txt | Sitemap |
|---|---|---|---|
| FastStore | Arquivo discovery.config.js (chave seo e templates de PLP e PDP) | Não confirmado na documentação lida | Não confirmado na documentação lida |
| Store Framework (VTEX IO) | Admin, em Store Settings > Storefront > Store; títulos de categoria via Intelligent Search | Um arquivo por binding em lojas cross-border | App vtex.store-sitemap |
| CMS legado (Portal) | Admin, em Store Settings > Storefront > Settings > SEO, e campos do cadastro de produto | Editável no Admin (padrão index e follow) | Conferir se está listado no robots.txt |
PLP é a página de listagem (categoria, busca, marca) e PDP é a página de produto. Os dois templates concentram a maior parte do tráfego orgânico de uma loja e merecem configuração própria. Detalhes de cada tipo estão nos guias de SEO para página de produto e de SEO para página de categoria.
Títulos, descrições e H1 por template
No FastStore, a documentação de SEO overview lista as chaves seo do discovery.config.js: title, description, titleTemplate e author. Para listagens e produtos, os templates plp.titleTemplate, plp.descriptionTemplate, pdp.titleTemplate e pdp.descriptionTemplate usam %s como espaço do nome dinâmico.
Dois cuidados aparecem na própria documentação de configuração de PLP e PDP:
- A descrição da PDP usa o campo metaTagDescription do catálogo somente se a feature flag do Intelligent Search estiver ativa, o que exige solicitação ao suporte da VTEX. Sem a flag, o sistema usa a descrição longa ou o template.
- O carregamento preguiçoso (lazy loading) pode esconder do HTML inicial seções customizadas que contenham o H1. O título principal precisa estar no HTML entregue ao rastreador.
No Store Framework e no CMS legado, o título e a URL do produto, da categoria e da marca vêm dos campos de cadastro, conforme o guia de gestão de SEO. A URL do produto usa o campo textLink, com hífens e texto curto e descritivo.
Canonical e URLs: um sinal único por página
A VTEX gera canonical automaticamente em produto, categoria, marca e páginas customizadas. Na prática, você não precisa criá-lo, mas precisa conferi-lo. A documentação do Google sobre URLs duplicadas trata redirecionamento e rel=canonical como sinais fortes e o sitemap como sinal fraco. Recomenda canonical absoluto, autorreferente e dentro do head, e alerta contra usar robots.txt ou noindex para escolher a versão canônica.
Uma regra operacional ajuda: redirecione páginas removidas e use canonical para duplicatas que precisam continuar acessíveis, como filtros e parâmetros de rastreamento. Em lojas cross-border, a VTEX orienta configurar o canonical por binding.
Para conferir, abra a PDP e uma PLP com filtro aplicado, use a Inspeção de URL do Search Console e confirme no HTML renderizado que existe uma única tag canonical, com URL absoluta, e que ela aponta para a versão que você quer ranquear.
Sitemap e robots.txt
No Store Framework, o app vtex.store-sitemap gera /sitemap.xml com arquivos separados por tipo de página (produto, categoria, subcategoria, marca, departamento e rotas), com até 5 mil rotas por arquivo. A VTEX informa que a geração leva cerca de 5 minutos para 5 mil produtos e cerca de 30 minutos para 60 mil. No Admin, em Account settings > Apps > My apps > Sitemap, é possível ligar ou desligar tipos de rota. Rotas customizadas entram com “isSitemapEntry”: true. Em lojas cross-border, a geração exige a mutation generateSitemap.
No CMS legado, a VTEX orienta editar o robots.txt pelo Admin e conferir se o sitemap.xml está listado. Em lojas cross-border do Store Framework, cada binding tem seu próprio arquivo de robots, criado a partir do boilerplate store-theme-robots. A documentação lida não informa o conteúdo padrão do robots.txt, então revise o seu em vez de presumir.
Depois de gerar o sitemap, envie-o no Search Console, cite-o no robots.txt e compare URLs enviadas e indexadas. Se o sitemap de uma loja grande vier incompleto, lembre que a geração é assíncrona e que a VTEX mantém um problema conhecido para contas com subcontas: acompanhe a geração em vez de assumir que terminou.
Filtros, facetas e paginação
Filtros de cor, tamanho e preço multiplicam URLs. A orientação do Google sobre navegação facetada diz que, se os filtros não precisam aparecer na busca, o caminho mais eficaz é bloquear o rastreamento por robots.txt, porque canonical e nofollow são sinais mais fracos. Combinações vazias ou inexistentes devem devolver 404. Use & como separador de parâmetros, mantenha a ordem dos filtros e evite fragmentos com #, que o Google não trata como URLs distintas.
Na paginação, a documentação do Google pede URL única e canonical próprio para cada página, sem #, e links <a href> rastreáveis mesmo em “carregar mais” e scroll infinito. O rel=next/prev não é mais usado pelo Google.
No Store Framework, a VTEX orienta, no guia de SEO das listagens, configurar os botões “Show more” e “Show previous” como “Link to page” no Site Editor (Search Result Flexible Layout), para que os rastreadores sigam os links entre páginas. Repita em cada template de PLP e confira o visual. No FastStore, a documentação lida não confirma esse comportamento: valide no HTML renderizado.
Redirecionamentos
A VTEX permite criar redirecionamentos em Storefront > Redirects, permanentes ou temporários (o temporário exige data final), e importar em lote por CSV com separador ponto e vírgula. Segundo o guia de redirecionamentos, os caminhos não levam domínio, a query string não é repassada por padrão e rotas predefinidas, como home, login e conta, não podem ser redirecionadas. No FastStore, acima de 1.024 redirecionamentos é preciso ativar a flag beta enableRedirects. A página não informa o código HTTP (301 ou 302), então confirme com uma requisição de teste. A lógica de quando usar cada código está em 301 e 302: quando usar e como evitar cadeias.
Em migrações para a VTEX, o mapeamento de URLs antigas com parâmetros precisa ser feito de forma explícita. O passo a passo completo está no checklist de migração de plataforma.
Dados estruturados de produto
O guia de Storefront SEO da VTEX recomenda, para o FastStore, preencher GTIN/UPC e MPN, usar como name o título SEO ou o nome do produto (e não o SKU), manter availability coerente com o estoque (InStock ou OutOfStock) e remover os campos obsoletos listPriceWithTaxes e priceWithTaxes. O Google separa product snippets e merchant listings: o primeiro vale para páginas sem compra direta, o segundo para páginas onde o produto pode ser comprado. Ofereça a marcação na página e o feed no Merchant Center, com os mesmos dados.
Renderização e JavaScript
O Google indexa o HTML renderizado, mas, segundo as bases de SEO para JavaScript, a renderização no servidor ou a pré-renderização continuam recomendadas. Links só valem como <a href>, e a navegação deve usar a History API, não #. Páginas bloqueadas no robots.txt não são renderizadas, e não se deve depender de JavaScript para remover um noindex.
A documentação da VTEX lida não confirma o comportamento de renderização do Store Framework, então a validação é empírica: inspecione o HTML renderizado de uma PDP e de uma PLP e confirme que H1, links de produto e dados estruturados estão presentes.

Core Web Vitals por template
O web.dev define como metas o LCP (maior elemento visível) de até 2,5 segundos, o INP (resposta à interação) de até 200 milissegundos e o CLS (estabilidade visual) de até 0,1, medidos no percentil 75, separando mobile e desktop. A página passa quando atinge os três. Meça home, PLP e PDP separadamente com CrUX, PageSpeed Insights e o relatório do Search Console, porque cada template tem gargalos diferentes. A documentação da VTEX lida não traz um guia específico de CWV, então o diagnóstico depende da medição na sua loja.
Erros comuns de SEO em lojas VTEX
Os erros abaixo seguem a documentação citada. Quando a causa é uma inferência da Analytikos sobre a mecânica do rastreamento, isso é indicado.
Erros de rastreamento e indexação
- Filtros indexáveis sem controle. Facetas geram URLs quase infinitas e consomem o orçamento de rastreamento. Bloqueie parâmetros inúteis no robots.txt e devolva 404 para combinações vazias.
- Usar robots.txt para consolidar duplicatas. Uma URL bloqueada pode ser indexada sem conteúdo. Para duplicatas, use canonical ou redirecionamento.
- Bloquear páginas que dependem de renderização. O Google não renderiza o que o robots.txt bloqueia. Libere as PLPs e PDPs importantes.
- Paginação por “carregar mais” sem link. Produtos além da primeira página ficam fora do alcance do rastreador. Use “Link to page” no Store Framework e links
<a href>. - Sitemap incompleto em lojas grandes. A geração demora e pode não terminar quando se confere cedo demais. Acompanhe a geração e valide URLs enviadas e indexadas no Search Console.
Erros de configuração
- Canonical ausente, duplicado ou sempre apontando para a página 1. Cada página paginada precisa de canonical autorreferente.
- Redirecionamentos sem parâmetros. A VTEX não repassa a query string por padrão, e URLs antigas com parâmetros se perdem numa migração. Mapeie-as explicitamente.
- CSV de redirecionamentos com vírgula. A importação exige ponto e vírgula e falha com outro separador.
- availability fixa no schema. Quando o dado estruturado diz InStock e a página mostra indisponível, o Google vê divergência com a página e com o feed. Ligue o campo ao estoque real.
- H1 em seção com lazy loading no FastStore. O título principal sai do HTML inicial. Renderize-o sem carregamento preguiçoso.
- Alternates unilaterais em lojas cross-border. O vínculo precisa ser recíproco e partir do binding principal, via vtex.rewriter. Sem reciprocidade, a relação não é válida.
- noindex aplicado ou removido por JavaScript. O Google pode ignorar a remoção. Defina o noindex no HTML original.
| Erro | Por que distorce | Como corrigir |
|---|---|---|
| Filtros sem controle | Gera URLs em excesso e dilui o rastreamento | robots.txt para parâmetros inúteis e 404 para combinações vazias |
| Paginação sem link | Esconde produtos do rastreador | Link to page e links a href |
| Canonical incorreto | Envia sinais conflitantes | Um canonical absoluto e autorreferente por página |
| Redirecionamento sem query string | Perde URLs antigas com parâmetros | Mapear parâmetros e testar o código HTTP |
| Schema fora do estoque | Diverge da página e do feed | Ligar availability ao estoque real |
Checklist de SEO para VTEX
- Plataforma identificada: FastStore, Store Framework ou CMS legado.
- Título e descrição configurados por template de home, PLP e PDP.
- Canonical único, absoluto e autorreferente em PDP e PLP.
- Canonical por binding em lojas cross-border.
- Sitemap atualizado, enviado ao Search Console e citado no robots.txt.
- Robots.txt sem bloquear PDP ou PLP importantes.
- Filtros tratados e combinações vazias com 404.
- Paginação com URL própria e links rastreáveis.
- Redirecionamentos mapeados, inclusive com parâmetros, em CSV com ponto e vírgula.
- Schema de produto com GTIN, MPN, availability e name corretos.
- H1 e links de produto presentes no HTML renderizado.
- LCP, INP e CLS medidos por template, em mobile e desktop.
Perguntas frequentes
A VTEX já faz o SEO técnico sozinha?
Faz parte: gera canonical automático e oferece sitemap, redirecionamentos e campos de título e descrição. Filtros, paginação, dados estruturados e renderização ainda dependem da configuração e da conferência no HTML renderizado.
Como saber se minha loja usa FastStore ou Store Framework?
Pergunte ao time de desenvolvimento ou ao parceiro da implantação. No FastStore, a configuração de SEO fica no arquivo discovery.config.js. No Store Framework, ela fica no Admin e em apps como o vtex.store-sitemap.
Devo bloquear filtros no robots.txt ou usar canonical?
Para filtros que não precisam ranquear, o Google indica que bloquear o rastreamento por robots.txt é mais eficaz, pois canonical é um sinal mais fraco. Combinações que ranqueiam precisam de URL própria e canonical autorreferente.
Como migrar para a VTEX sem perder tráfego?
Mapeie todas as URLs antigas, inclusive as com parâmetros, e importe os redirecionamentos por CSV. Depois valide sitemap, canonical e indexação no Search Console. O checklist completo está no nosso guia de migração.
O código do redirecionamento VTEX é 301 ou 302?
A página da VTEX consultada distingue redirecionamento permanente de temporário, mas não informa o código HTTP. Confirme com uma requisição de teste antes de migrar em escala.
Core Web Vitals influenciam o SEO de uma loja VTEX?
Os limites do web.dev (LCP até 2,5 s, INP até 200 ms, CLS até 0,1) fazem parte das orientações de experiência de página do Google. Meça home, PLP e PDP separadamente, porque cada template tem gargalos próprios.



