Resposta curta
Na maioria das vezes, a loja Shopify não aparece no Google por um destes motivos: ela ainda está no modo privado (a página com senha), a conta ainda é de avaliação, o domínio próprio não virou o domínio primário, ou ninguém verificou a loja no Search Console e enviou o sitemap.xml. Os três primeiros você confere em dois minutos no admin. Depois vêm os problemas da própria plataforma: o mesmo produto em várias URLs, filtros de coleção, redirect que não pega, hreflang duplicado e robots.txt.liquid mal editado. Aqui vai cada um, com o lugar no admin e um comando pra conferir.
As causas, da mais comum pra menos comum
A central de ajuda da Shopify lista os motivos pra uma loja não aparecer na busca. Somando os problemas técnicos que a própria plataforma cria, a ordem prática de checagem é esta:
- Modo privado ligado. Toda loja nova começa assim, escondida dos visitantes e dos buscadores.
- Conta de avaliação. Segundo a Shopify, buscadores não indexam lojas de avaliação.
- Domínio errado. A loja continua no endereço
.myshopify.com, ou o domínio próprio foi conectado mas não é o primário. - Ninguém avisou o Google. Loja nova sem Search Console nem sitemap enviado demora pra ser descoberta.
- Migração sem redirecionamentos. Você veio de outra plataforma e as URLs antigas dão 404.
- SEO técnico do tema, dos apps ou da configuração: URLs duplicadas,
robots.txtmexido, hreflang duplicado.
Pesquise site:seudominio.com.br no Google. Nada aparece? Comece pelo topo. A home aparece mas os produtos não? Vá pro sitemap e pras URLs duplicadas.
1. A loja ainda está com senha
Quando você assina um plano, a loja fica no modo privado por padrão. Enquanto ele está ligado, o visitante vê só a página com senha, e o Google também. O próprio Google diz que proteger o conteúdo com senha impede que ele apareça na Pesquisa e remove o que já estava lá. Com o modo privado ligado, nem o sitemap fica acessível pro Google.
Pra conferir e desligar:
- No admin da Shopify, abra Loja virtual. O menu de configurações de acesso mostra a etiqueta Privado ou Público.
- Se estiver Privado, clique nele, selecione Público e clique em Atualizar. Na primeira vez, o botão aparece como Lançar loja.
- A senha e a mensagem da página ficam em Loja virtual › Preferências, na seção Acesso à loja, na opção Modo privado.
No app da Shopify para celular, se a loja ainda está num plano de avaliação ou sem endereço comercial, ele pede que você termine a configuração antes de remover a senha.
Pelo terminal, peça só os cabeçalhos da home e veja pra onde ela manda:
curl -sI https://seudominio.com.br/ | grep -iE "^(HTTP|location)"Se a resposta é um redirect pra página de senha (algo como location: https://seudominio.com.br/password), o modo privado está ligado. Se vem HTTP/2 200 sem location, a loja está pública.
2. Domínio .myshopify.com x domínio próprio
Toda loja nasce com um endereço nome-da-loja.myshopify.com. Depois que você conecta um domínio próprio, a Shopify trabalha com três tipos de domínio:
- Primário: o que aparece na barra de endereços enquanto a pessoa navega. A loja só pode ter um.
- Redirecionamento: manda o visitante pro domínio primário.
- Alias: abre a loja sem redirecionar, e o nome alias continua na barra de endereços.
Pro Google, o que importa é ter um endereço oficial só. Um alias deixa a mesma loja em dois endereços, o cenário clássico de conteúdo duplicado. Pra deixar o domínio próprio como primário:
- No admin, vá em Configurações › Domínios.
- Clique no domínio próprio.
- Na linha do tipo, clique em alterar e escolha domínio primário. Salve.
Segundo a Shopify, o primário anterior vira redirecionamento, e o .myshopify.com passa a redirecionar pro novo primário. Domínios extras que não servem a outros países também devem redirecionar. Confira:
# O .myshopify.com deve redirecionar pro domínio próprio
curl -sI https://nome-da-loja.myshopify.com/ | grep -iE "^(HTTP|location)"
# A versão com e sem www: uma das duas deve redirecionar pra outra
curl -sI https://seudominio.com.br/ | grep -iE "^(HTTP|location)"
curl -sI https://www.seudominio.com.br/ | grep -iE "^(HTTP|location)"A resposta certa é um 301 com location apontando pro domínio primário. Se algum dos endereços responde 200 direto, ele está como alias ou conectado errado. O verificador de redirect segue a corrente inteira e mostra cada salto.
3. Verificar a loja no Search Console
A central de ajuda da Shopify ensina a verificação por tag HTML. O modo privado precisa estar desligado durante a verificação; se a loja ainda não está pronta, você pode desligar, verificar e ligar de novo.
- No Search Console, clique em Adicionar propriedade, escolha Prefixo do URL e digite o domínio primário com
https://. - Em Verificar propriedade, escolha Tag HTML e copie a meta tag inteira.
- No admin da Shopify, abra Loja virtual › Temas, clique no botão … do tema publicado e em Editar código.
- Na pasta Layout, abra
theme.liquid, cole a tag numa linha em branco logo abaixo de<head>e salve. - Volte ao Search Console e clique em Verificar. Se der erro, a Shopify sugere esperar 15 minutos e tentar de novo.
Com domínios internacionais, repita pra cada domínio, cada tag numa linha do mesmo theme.liquid. O passo a passo geral está em como colocar o site no Google.
4. O sitemap.xml que a Shopify gera
Você não precisa criar nem instalar app de sitemap. A Shopify gera um sitemap.xml na raiz de cada domínio da loja, com links pra todos os produtos, a imagem principal de cada produto, as páginas, as coleções e os posts do blog. O arquivo principal é um índice que aponta pra sitemaps separados de produtos, coleções, blogs e páginas, e ele se atualiza sozinho quando você publica algo novo.
# Lista os sitemaps filhos
curl -s https://seudominio.com.br/sitemap.xml | grep -o "<loc>[^<]*" | sed "s/<loc>//; s/&/\&/g"
# Conta as URLs de um sitemap filho (cole o endereço que saiu acima, entre aspas)
curl -s "https://seudominio.com.br/sitemap_products_1.xml?from=...&to=..." | grep -c "<loc>"Pra enviar: no Search Console, em Indexação › Sitemaps, digite sitemap.xml em Adicionar um novo sitemap e clique em Enviar. Com domínios internacionais, envie o sitemap de cada domínio. Os idiomas publicados entram sozinhos nos sitemaps.
O que fica fora do sitemap, de propósito:
- Produtos com status Não listado. Eles saem da pesquisa na internet, do sitemap, das coleções e da busca da loja, mas continuam acessíveis pela URL direta.
- Produtos, páginas e posts com o metacampo
seo.hiddenigual a1. Esse metacampo esconde o item do sitemap, dos buscadores e da busca da loja.
Produto importante fora do sitemap? Confira esses dois pontos primeiro; o seo.hidden também pode ter sido gravado por um app. O validador de sitemap abre o índice, os filhos e testa as URLs.
5. O robots.txt padrão e o robots.txt.liquid
Toda loja tem um robots.txt padrão na raiz do domínio primário. Segundo a Shopify, ele bloqueia o que não deve ser rastreado e deixa o resto livre:
| Regra | Por que existe |
|---|---|
Allow: / | Libera produtos, coleções, páginas, blogs e políticas |
Disallow: /admin | Painel, que robô nenhum acessa |
Disallow: /cart/ | Links de carrinho, únicos de cada cliente |
Disallow: /checkout e /checkouts/ | Páginas de checkout |
Disallow: /account e /orders | Conta e pedidos de um cliente só |
Disallow: /collections/*+* | Coleções filtradas, que duplicam a coleção |
Disallow: /collections/*sort_by* | Coleção reordenada, com os mesmos produtos |
curl -s https://seudominio.com.br/robots.txt | head -40Duas coisas confundem muita gente aqui.
"Indexada, mas bloqueada pelo robots.txt"
Carrinho, checkout e coleções filtradas podem aparecer assim no Search Console. A Shopify diz que é normal: são páginas bloqueadas de propósito que o Google descobriu por outros meios. O Google confirma que uma URL bloqueada no robots.txt ainda pode aparecer no resultado, só que sem descrição. Se a home ou um produto aparece nessa lista, a Shopify diz que normalmente é dado desatualizado do Google, que pode levar dias, semanas ou meses pra atualizar. Mesmo assim, abra o robots.txt e teste a URL no testador de robots.txt pra descartar uma regra sua.
Editar com robots.txt.liquid
A Shopify não dá suporte a essa edição e avisa que um erro pode custar todo o tráfego. O caminho é:
- No admin, abra Loja virtual, clique no … do tema e em Editar código.
- Clique em Adicionar um novo modelo, selecione robots e clique em Criar modelo.
- Edite mantendo o laço do Liquid que gera as regras padrão, e salve no tema publicado.
Manter o laço é o que a Shopify recomenda, porque ela continua atualizando as regras padrão. Este exemplo do shopify.dev bloqueia parâmetros ?q= sem perder o resto:
{% for group in robots.default_groups %}
{{- group.user_agent }}
{%- for rule in group.rules -%}
{{ rule }}
{%- endfor -%}
{%- if group.user_agent.value == '*' -%}
{{ 'Disallow: /*?q=*' }}
{%- endif -%}
{%- if group.sitemap != blank -%}
{{ group.sitemap }}
{%- endif -%}
{% endfor %}Antes de publicar, salve uma cópia do /robots.txt atual pra comparar depois. Três armadilhas que a documentação aponta:
- Escrever tudo à mão, sem o laço, funciona, mas as regras envelhecem e a Shopify deixa de atualizar o arquivo.
- Se o seu tema tem um
robots.txt.liquidantigo, ele pode manter regras que o padrão atual não tem mais, comoDisallow: /searcheDisallow: /policies/. Pra voltar ao padrão, exclua o modelo. - Subir um tema pela seção Temas do admin não importa o
robots.txt.liquid. Pela linha de comando ou pelo Theme Kit, ele é preservado. Trocou de tema e as regras sumiram? É isso.
Se o robots.txt tiver um Disallow: / no grupo User-agent: *, a loja inteira está fechada pro Google. O artigo sobre robots.txt bloqueando o Google mostra como achar e desfazer.
6. A mesma página em várias URLs
Um produto tem a URL própria, /products/camiseta-azul, mas o tema pode linkar pra ele dentro de cada coleção, e cada variante tem a sua:
/products/camiseta-azul
/collections/camisetas/products/camiseta-azul
/collections/promocao/products/camiseta-azul
/products/camiseta-azul?variant=39888242344001Produto dentro de coleção
Quem gera a versão com coleção é o filtro Liquid within. A própria documentação dele avisa: a página de produto comum e a página dentro da coleção têm o mesmo conteúdo em URLs separadas, então você deve considerar o impacto no SEO antes de usar. Procure no código do tema por within: collection pra ver se o seu tema faz isso nos cards de produto.
A defesa é o canonical. O tema coloca no <head> a tag <link rel="canonical" href="{{ canonical_url }}">, e o objeto canonical_url do Liquid devolve a URL canônica da página atual. O Google trata o canonical como sinal, não como ordem, e pede que os links internos apontem sempre pra URL que você considera canônica. Por isso, o ideal é as duas coisas juntas: canonical na URL do produto e cards de coleção linkando direto pra /products/....
Confira o que o seu tema entrega:
for u in /products/camiseta-azul /collections/camisetas/products/camiseta-azul "/products/camiseta-azul?variant=39888242344001"; do
printf "%s -> " "$u"
curl -s "https://seudominio.com.br$u" | grep -oE '<link[^>]*rel=.canonical[^>]*>' | head -1
doneO que você quer ver: as três linhas com o mesmo href, a URL de /products/ no domínio primário. Se aparece .myshopify.com, domínio antigo ou nenhuma tag, o theme.liquid ou um app mexeu nela. O verificador de canonical faz esse teste no navegador.
Variantes com ?variant=
Na Shopify, a URL de uma variante segue o formato /products/[handle]?variant=[id], e é esse parâmetro que define qual variante aparece selecionada. O Google recomenda que, quando cada variante tem URL própria, todas incluam o canonical do produto, e que a variante com parâmetro opcional aponte pra URL sem o parâmetro. O teste do curl acima já cobre esse caso.
Tags de coleção, filtros e ordenação
A Shopify também cria URLs de coleção filtrada por tag, no formato /collections/nome-da-colecao/nome-da-tag. Esse caminho é considerado válido mesmo quando nenhum produto tem a tag, e por isso não pode ser redirecionado. Combinações de várias tags (com +) e ordenações com sort_by já saem bloqueadas no robots.txt padrão.
Pra filtros em geral, o Google recomenda bloquear no robots.txt as URLs filtradas que você não quer no índice e responder 404 quando uma combinação não tem resultado. Se o menu linka pra páginas filtradas por tag que você quer no Google, troque por coleções de verdade.
7. Redirecionamentos de URL
Mudou o handle de um produto, migrou de outra plataforma ou tirou algo do ar? A ferramenta fica em Conteúdo › Menus, no botão Ver redirecionamentos de URL:
- Clique em Criar redirecionamento de URL.
- Em Redirecionar de, coloque a URL antiga, como
/products/camiseta-azul-antiga. - Em Redirecionar para, coloque o destino. Use caminho relativo dentro do domínio primário, ou
/pra home. - Clique em Salvar redirecionamento. Ele começa a valer na hora.
Pra migração, a mesma tela tem Importar (com CSV de modelo) e Exportar. O limite é 100.000 redirecionamentos, ou 20.000.000 no Plus. As regras que mais derrubam redirect:
- Só funciona em URL quebrada. Se a URL antiga ainda carrega uma página válida, o redirecionamento não acontece. Primeiro a página tem que dar 404.
- Caminhos reservados não aceitam redirect, como
/collections/all,/collections/vendors,/collections/typese URLs que começam com/apps,/cartou/orders. - URL com parâmetros (
?algo=1) pode não funcionar como esperado. - Coleção oculta. Se ela volta a ficar visível, a Shopify apaga o redirect dela sozinha.
O redirect vale também pras subpastas de mercado e idioma. Pra testar:
curl -sIL https://seudominio.com.br/products/camiseta-azul-antiga | grep -iE "^(HTTP|location)"O esperado é um 301 seguido de um 200 no destino. Mais detalhes sobre tipos de redirect em redirect 301 ou 302.
8. Produto esgotado ou excluído: 404 ou redirect
São situações diferentes:
- Esgotado, mas volta. Se o produto continua ativo na loja, a página continua no ar. A marcação que a Shopify gera com o filtro
structured_datainforma a disponibilidade da oferta, comoOutOfStock. Não tem por que redirecionar nem tirar a página. - Excluído. A URL do produto vira uma URL quebrada, que responde 404. Pro Google, uma URL já indexada que passa a responder 404 é removida do índice.
- Excluído e com um substituto. É o exemplo que a própria Shopify dá: crie um redirecionamento da URL do produto excluído pra um produto parecido ou pra coleção dele.
O que não fazer: mandar dezenas de produtos excluídos pra home. O Google diz que redirecionar muitas URLs antigas pra um destino irrelevante pode ser tratado como soft 404. Sem equivalente, deixe dar 404. Pra só esconder o produto da busca, use Não listado.
9. Mercados, idiomas e hreflang
Com Shopify Markets, outros países podem ficar em subpastas (seudominio.com/en-us), subdomínios ou domínios próprios. A Shopify recomenda subpastas pra quem está começando, porque compartilham a autoridade do domínio primário. Domínios internacionais não podem ser criados a partir do .myshopify.com: é preciso um domínio próprio.
A Shopify coloca as tags hreflang sozinha, pelo content_for_header do tema. Segundo o shopify.dev, elas acompanham os idiomas e regiões de cada mercado e ficam sincronizadas com o canonical de cada página. Os erros comuns:
- hreflang em dobro. Um app ou o tema adiciona tags por cima das automáticas, e o resultado são anotações duplicadas ou conflitantes. Se você quer controlar na mão, desligue as automáticas em Loja virtual › Preferências e gere as suas a partir do objeto
localization, sem domínio ou handle fixo no código. - Dois domínios no mesmo idioma no mesmo mercado. A Shopify avisa que isso pode ser visto como conteúdo duplicado e baixar o posicionamento. Cada domínio de um mercado deve ter um idioma diferente.
- Mercado removido ou desativado. As URLs da subpasta passam a dar 404. Importe redirecionamentos por CSV pro domínio primário ou pra outro mercado.
curl -s https://seudominio.com.br/ | grep -oE "hreflang=[\"'][^\"']*" | sort | uniq -cCada idioma ou região deve aparecer uma vez só. Contagem acima de 1 indica tag repetida, quase sempre de um app ou do tema somando as próprias tags às automáticas.
10. Dados estruturados e o que o tema quebra
Segundo a Shopify, os temas atuais e os da Theme Store já incluem dados estruturados de produto, com preço, disponibilidade e avaliações. No código, o filtro structured_data gera um Product (sem variantes) ou um ProductGroup (com variantes). Com várias moedas, o priceCurrency deve seguir a moeda do carrinho.
O que quebra, na prática, é tema editado e app instalado. A Shopify aponta como causas típicas de título ou H1 sumindo:
- o
<title>apagado sem querer dotheme.liquid; - lógica condicional que tira o título de alguns tipos de página;
- um app de SEO que criou arquivos Liquid próprios pro título e não cobre todas as páginas.
Pra ver o que o Google recebe, use a Inspeção de URL numa página de produto. O verificador de dados estruturados mostra o JSON-LD de qualquer URL.
Sintoma, causa e onde corrigir
| Sintoma | Causa provável | Onde corrigir no admin |
|---|---|---|
site: não mostra nada | Modo privado ou conta de avaliação | Loja virtual › menu de acesso › Público; escolher um plano |
Google mostra .myshopify.com | Domínio próprio não é o primário | Configurações › Domínios › tipo do domínio |
| Loja abre em dois endereços sem redirect | Domínio como alias | Configurações › Domínios |
| Search Console não lê o sitemap | Modo privado ligado | Loja virtual › Preferências › Acesso à loja |
| Produto fora do sitemap | Status Não listado ou metacampo seo.hidden | Página do produto: status e seção Metacampos |
| Home "indexada, mas bloqueada" | robots.txt.liquid editado ou dado antigo no Google | Loja virtual › Editar código › templates |
| Regras do robots sumiram após trocar o tema | Upload pela seção Temas não importa o modelo | Recriar robots.txt.liquid no tema novo |
| Produto com URL de coleção no Google | Links com within e canonical alterado | Loja virtual › Editar código (cards e theme.liquid) |
| Redirect não funciona | URL antiga ainda carrega ou é caminho reservado | Conteúdo › Menus › Ver redirecionamentos de URL |
| Soft 404 depois de excluir produtos | Muitos redirects pra home | Conteúdo › Menus › Ver redirecionamentos de URL |
| hreflang duplicado | App ou tema somando tags às automáticas | Loja virtual › Preferências (hreflang automático) |
| Título ou H1 faltando | Edição no tema ou app de SEO | Loja virtual › Editar código › theme.liquid |
Checklist
- A loja está Pública e num plano pago.
- O domínio próprio é o primário;
.myshopify.com, www e domínios extras respondem 301 pra ele. - A propriedade está verificada no Search Console e o
sitemap.xmlfoi enviado em Indexação › Sitemaps, um por domínio. - Os produtos importantes estão no sitemap, sem status Não listado nem
seo.hidden. - O
robots.txtnão temDisallow: /proUser-agent: *, e qualquerrobots.txt.liquidmantém o laço das regras padrão. - Produto, produto em coleção e variante têm o mesmo canonical, na URL de
/products/do domínio primário. - URLs antigas da migração e produtos excluídos com substituto têm redirecionamento; os sem substituto respondem 404.
- Cada página tem um conjunto só de tags hreflang, e nenhum mercado tem dois domínios no mesmo idioma.
- A Inspeção de URL de um produto mostra título, H1 e dados estruturados no HTML testado.
Uma troca de tema, um app novo ou uma edição no theme.liquid desfaz qualquer item dessa lista sem aviso. A varredura grátis da Varrida confere o canonical, o robots.txt, o sitemap, o noindex e os redirects da loja em menos de um minuto.


