← Biblioteca

Nuvemshop para Shopify: como migrar sem perder o SEO

Como migrar Nuvemshop para Shopify sem perder o SEO: levantar as URLs antigas, mapear cada caminho, subir os 301 em massa por CSV e corrigir o feed do Google.

E-commerce e Shopify18 de setembro de 202611 min de leitura

O resumo direto

Migrar Nuvemshop para Shopify é uma troca de mapa de URL, e é aí que o SEO vai embora ou fica de pé: vale para loja que vive de busca orgânica e já decidiu o destino. A autoridade não mora na plataforma, mora nos endereços indexados e nos links que apontam para eles. A Shopify serve produto em /products/{handle}, coleção em /collections/{handle} e artigo em /blogs/{blog}/{artigo} (objeto article), padrão que ela não deixa você reescrever. Então a conta é simples: cada URL que hoje traz clique precisa de um 301 apontando para o equivalente novo, e o Google trata 301 como permanente e passa a exibir o destino (Google Search Central). O que ninguém mapeia é o resto: categoria aninhada, tag, blog, imagem e o feed do Merchant Center. Se a decisão de plataforma ainda não está fechada, os textos no ar são Tray vs Shopify e WooCommerce e risco.

1. O SEO não está na plataforma, está no mapa de URL

Quando o domínio continua o mesmo e só o caminho muda, o Google não precisa reaprender o site inteiro. Ele precisa encontrar, em cada endereço antigo, um 301 para o endereço novo. Sem isso, a URL antiga responde 404 (a Shopify serve o template 404 para caminho inválido, conforme a arquitetura de templates) e o sinal acumulado naquele endereço para de circular.

A diferença entre as duas plataformas é estrutural, não cosmética. Na Nuvemshop, produto e categoria carregam um handle gerado a partir do nome, por idioma, e a categoria tem hierarquia real: existe campo parent e lista subcategories (Product, Category). Na Shopify, coleção é plana. O objeto collection do Liquid expõe handle, title, products e tags, e não expõe coleção pai nem subcoleção (objeto collection).

Traduzindo: uma árvore de categoria com dois ou três níveis vira um conjunto de coleções no mesmo nível. Isso é uma decisão de mapeamento, não um detalhe de tema. Quem não decide antes descobre depois, com 404 em série nas URLs de subcategoria, que costumam ser justamente as de cauda longa que convertem.

2. Levante a lista real de URLs antes de tocar em qualquer coisa

A tentação é exportar catálogo e achar que acabou. O catálogo é o inventário; o que o Google indexou é outra lista, e ela inclui páginas que você esqueceu que existiam. Três fontes se somam, nesta ordem:

O sitemap da loja atual dá o que a plataforma publica hoje. O Search Console dá o que efetivamente recebe clique e impressão (relatório de Desempenho, exportação por página, período mais longo disponível no relatório). O log do servidor ou do provedor dá o que ainda é rastreado, incluindo URL velha que não está mais no sitemap e continua sendo visitada.

O terceiro item é o que separa migração feita de migração torcida. O Google recomenda olhar URLs visitadas recentemente ao montar o inventário de uma mudança de site (How to move a site). Página de categoria descontinuada, produto fora de linha com backlink, post antigo de blog: tudo isso entra na planilha mesmo que não exista mais no catálogo.

Uma checagem que custa pouco: baixe o sitemap e conte as URLs por tipo de caminho.

curl -s https://sualoja.com.br/sitemap.xml \
  | grep -o '<loc>[^<]*</loc>' | wc -l

3. A planilha de mapeamento, coluna por coluna

O mapa é uma planilha com origem e destino, e nada mais. A Shopify chama esses dois campos de path e target no objeto UrlRedirect (Admin GraphQL): path é o caminho antigo, target é para onde a pessoa vai. Vale manter três colunas extras só para trabalho: tipo (produto, categoria, blog, página, tag), volume de clique no período exportado e status de conferência.

Ordene por clique, não por ordem alfabética. A regra que economiza tempo: produto com tráfego e categoria com tráfego recebem destino conferido um a um; o resto entra por regra e vai para conferência por amostra. Handle igual dos dois lados não significa URL igual, porque o prefixo muda. Handle diferente (acento removido de outro jeito, nome do produto editado na importação) significa 301 quebrado mesmo com o produto certo importado.

Dois erros aparecem sempre. O primeiro é a cadeia: URL antiga aponta para uma intermediária que aponta para a final. O Google pede para evitar cadeias de redirecionamento na mudança de site. O segundo é o atalho preguiçoso: mandar tudo o que não achou destino para a home. Redirecionar em massa para a home entrega ao visitante uma página que não responde a intenção da busca; produto fora de linha vive melhor apontado para a coleção equivalente, e só o que não tem equivalente nenhum vira 404 honesto.

4. O de-para dos caminhos, tipo por tipo

Os padrões de rota da Shopify estão documentados no objeto routes do Liquid: /collections, /collections/all, /search, /cart (routes). A tabela abaixo é o que sobra depois de cruzar isso com a estrutura que a Nuvemshop expõe na API. Consultas feitas em 18/09/2026.

Tipo de página Nuvemshop Shopify Cuidado no 301
Produto caminho com o handle do produto, um por idioma (Product) /products/{handle} Handle reescrito na importação quebra o mapa mesmo com o produto certo
Categoria handle por idioma, com parent e subcategories (Category) /collections/{handle}, sem hierarquia (collection) Subcategoria vira coleção plana: decida o destino antes
Lista de categorias árvore de até 1.000 categorias (Category) /collections e /collections/all (routes) Não mande categoria específica para /collections/all
Blog caminho próprio de artigo /blogs/{blog}/{artigo} (article) O nome do blog entra no caminho e costuma ser esquecido
Busca caminho próprio /search (routes) Página de busca indexada é candidata a noindex, não a 301
Domínio da plataforma original_domain em nuvemshop.com.br (Store) *.myshopify.com Se o domínio da plataforma foi indexado, é outra migração

O limite de catálogo entra na conta de quem tem loja grande: a API da Nuvemshop responde 422 com "Store has reached maximum limit of 100000 allowed products" e "Store has reached maximum limit of 1000 allowed categories" (Product, Category). São tetos de plataforma, não de migração, mas dão a ordem de grandeza da planilha.

Uma checagem por amostra, antes e depois do corte, evita descobrir problema pelo Search Console semanas depois.

curl -s -o /dev/null -w '%{http_code} %{redirect_url}\n' \
  https://sualoja.com.br/produto-antigo

5. Subir os 301 em massa, sem digitar um a um

Loja com centenas de URLs não comporta cadastro manual. A Shopify importa redirecionamento em lote por CSV, e a via documentada é a mutation urlRedirectImportCreate, que recebe "The staged upload URL of the CSV file" e exige o escopo write_online_store_navigation; depois dela, o envio é feito por urlRedirectImportSubmit (Admin GraphQL). A mesma página oferece um CSV de exemplo para conferir o formato antes de gerar o seu.

O CSV é a planilha da seção 3 reduzida a duas colunas: caminho antigo e destino. Sem API, o mesmo arquivo sobe pela importação de redirecionamentos no admin. O que importa é o conteúdo, não a porta de entrada.

O que conferir antes de importar

Caminho relativo e consistente do começo ao fim, sem misturar URL absoluta com caminho. Nada de linha apontando para outra linha do próprio arquivo, que é a cadeia que o Google pede para evitar. Destino que existe de fato na loja nova, verificado por resposta HTTP e não por olhar a planilha. Acento e maiúscula tratados do mesmo jeito em toda a lista, porque o handle da Nuvemshop já vem normalizado e a sua planilha pode não vir.

Depois de importado, a leitura dos redirecionamentos existentes usa a query urlRedirects, com escopo read_online_store_navigation (UrlRedirect). Serve para auditar o que subiu, comparando com a planilha de origem.

6. O que quebra além do produto: coleção, tag, blog e imagem

Produto é a parte fácil, porque tem SKU e nome para ancorar a conferência. O que derruba tráfego é o resto.

Coleção aninhada. A hierarquia da Nuvemshop não tem correspondente na Shopify. Uma subcategoria com tráfego próprio precisa virar coleção própria, com handle próprio e 301 próprio. Empurrar todas para a categoria pai transforma várias intenções de busca distintas em uma página só.

Tag. A Shopify usa tag para filtro e para automação de coleção. O objeto collection retorna no máximo 1.000 tags em all_tags, e os filtros de vitrine ficam vazios em coleção com mais de 5.000 produtos (collection). Se a estratégia antiga dependia de página de tag indexada, ela precisa de destino explícito no mapa, não de improviso no tema.

Blog. É onde mais se perde link antigo, porque a URL da Shopify carrega o nome do blog no meio do caminho (article). Migrar os posts sem mapear os caminhos antigos joga fora conteúdo que já ranqueava e que custou tempo para produzir.

Imagem. A imagem passa a ser servida pelo CDN da Shopify, com outro endereço. O que estava indexado no Google Imagens vai reindexar sozinho; o problema real é conteúdo antigo apontando para o host anterior. Vale revisar robots.txt, que na Shopify é o template robots.txt.liquid e precisa ser Liquid (Templates).

Link interno. Depois do corte, todo link dentro do próprio site deve apontar para a URL nova, sem passar por 301. Redirecionamento serve para link externo e para o índice do Google, não para poupar trabalho de tema.

7. Merchant Center, anúncio e o feed que para de casar

O Merchant Center não enxerga o admin da loja, enxerga a URL. Quando o caminho muda, muda o link de destino de cada item. A especificação do Google trata dados conflitantes entre o feed e o site como causa comum de reprovação e lista requisitos próprios de página de destino (Especificação dos dados do produto).

O ponto sensível é o atributo id, que a mesma especificação define como identificador exclusivo do produto. Trocar o id de todos os itens de uma vez é reiniciar o histórico daquele item. Manter o id estável e deixar o link e a disponibilidade mudarem é o caminho menos turbulento.

O mesmo vale para anúncio pago com URL final fixa e para link em rede social, e-mail e marketplace. O 301 cobre quem chega pelo caminho antigo, mas link de campanha ativa é melhor corrigido na origem. A checagem óbvia, feita antes do corte: rode a lista de destinos e confirme resposta 200 em todos.

8. Depois do corte: o que medir e por quanto tempo manter

Redirecionamento não é tarefa de um dia, é infraestrutura que fica. O Google é explícito: mantenha os redirecionamentos pelo maior tempo possível, "generally at least 1 year" (How to move a site). Apagar a lista depois de dois meses porque "já passou" é jogar fora o trabalho.

Nas primeiras semanas, três painéis dizem quase tudo. O relatório de Cobertura e Páginas do Search Console mostra 404 aparecendo em volume, que é o sintoma de URL fora do mapa. O relatório de Desempenho, comparado por página, mostra qual caminho perdeu clique e permite achar o 301 faltando. O Merchant Center mostra reprovação por página de destino, que costuma ser o primeiro a gritar.

Sobre a ferramenta Alteração de Endereço do Search Console: ela existe para troca de domínio, não para troca de caminho. A própria ajuda diz para não usá-la quando você só move algumas páginas de um local para outro dentro do site, caso em que basta adicionar redirecionamentos e atualizar os sitemaps. Ela exige propriedade no nível do domínio, exige que você seja proprietário de origem e destino, e encaminha sinais por 180 dias (Ajuda do Search Console). Se o domínio é o mesmo dos dois lados, o mapa de 301 faz o trabalho sozinho.

Reindexação não acontece no dia do corte: o Google rastreia em ritmo próprio e a lista antiga sai do índice aos poucos, à medida que cada URL é revisitada. Oscilação nas primeiras semanas é normal; 404 em página com clique não é. Para a sequência operacional de catálogo, corte e DNS, o texto irmão é o checklist de migração sem apagão.

Perguntas frequentes

Vou perder posição no Google ao migrar da Nuvemshop para a Shopify?

Não há garantia nem previsão numérica honesta aqui, e quem oferece porcentagem está inventando. O que dá para controlar é a causa mais comum de queda: URL antiga sem 301. Mapa completo, sem cadeia e com destino equivalente é o que o Google pede na documentação de mudança de site. O que você não mapeia vira 404, e 404 em página com clique é perda certa.

Dá para manter as URLs antigas iguais na Shopify?

Não nos prefixos. Produto fica em /products/, coleção em /collections/ e artigo em /blogs/{blog}/, conforme a documentação de tema e Liquid da própria Shopify. O handle você controla; o prefixo, não. Por isso a migração é sempre mudança de caminho e sempre exige 301, mesmo mantendo o mesmo domínio.

Quanto tempo preciso manter os redirecionamentos ativos?

Pelo menos um ano, que é a recomendação do Google para mudança de site com alteração de URL. Na prática, redirecionamento de URL na Shopify não custa manutenção nem performance perceptível, então não existe motivo para apagar. Backlink antigo continua chegando muito depois do primeiro ano.

E se eu quiser aproveitar a migração para reorganizar as categorias?

Tecnicamente dá; na mesma virada, é acumular risco. O Google avisa que combinar mudança de site com reformulação de conteúdo e de estrutura de URL provavelmente causa perda de tráfego, porque as páginas precisam ser detectadas e avaliadas de novo. Migre com a estrutura mais próxima possível, estabilize, reorganize depois. A exceção forçada é a hierarquia de categoria, que a Shopify não reproduz.

Preciso refazer o feed do Merchant Center do zero?

O feed passa a sair da Shopify, então a fonte muda. O que não convém é trocar o atributo id de todos os itens sem necessidade, já que ele é o identificador exclusivo do produto na especificação do Google. Mantenha id estável onde puder e trate link e disponibilidade como os campos que realmente mudaram.

Conclusão

A migração de Nuvemshop para Shopify se decide na planilha de URL, não na escolha do tema. Levante o inventário real das três fontes, mapeie cada tipo de caminho, suba os 301 por CSV e só então olhe para o que sobrou: coleção aninhada, tag, blog, imagem e feed. Depois do corte, o trabalho é monitorar 404 e manter os redirecionamentos no ar por pelo menos um ano. Se quiser saber se a sua loja cabe nessa conta, manda em oailton.dev/contato a plataforma atual, o plano e a URL. Se ainda não criou a loja Shopify, fala comigo antes de criar: a loja nasce como loja de desenvolvimento, é montada pronta e transferida para o seu nome.

Fontes

  1. 01O produto na Nuvemshop tem handle (string amigável de URL) por idioma, além de seo_title de até 70 caracteres e seo_description de até 320; a loja aceita no máximo 100.000 produtos, 1.000 variantes e 250 imagens por produto (lido em 18/09/2026) Nuvemshop API Documentation (Product)
  2. 02A categoria na Nuvemshop tem handle por idioma, campo parent e subcategories, e a loja aceita no máximo 1.000 categorias (lido em 18/09/2026) Nuvemshop API Documentation (Category)
  3. 03A loja Nuvemshop tem domains e um original_domain no padrão nuvemshop.com.br (lido em 18/09/2026) Nuvemshop API Documentation (Store)
  4. 04As rotas padrão da vitrine Shopify: /collections, /collections/all, /search, /cart, /search/suggest (lido em 18/09/2026) Shopify.dev (objeto routes do Liquid)
  5. 05O objeto collection do Liquid expõe handle, tags e all_tags com no máximo 1.000 tags retornadas, e filtros ficam vazios em coleções com mais de 5.000 produtos; não há campo de categoria pai Shopify.dev (objeto collection do Liquid)
  6. 06O handle do artigo na Shopify inclui o blog, no formato blog/artigo, o que produz a URL /blogs/{blog}/{artigo} Shopify.dev (objeto article do Liquid)
  7. 07O tema Shopify tem template 404 para URL inválida e template robots.txt.liquid, que precisa ser Liquid; o limite é de 1.000 templates JSON por tema Shopify.dev (Templates)
  8. 08O objeto UrlRedirect tem os campos path (caminho antigo) e target (destino) e exige o escopo read_online_store_navigation para leitura Shopify.dev (Admin GraphQL, objeto UrlRedirect)
  9. 09A importação de redirecionamentos em lote usa urlRedirectImportCreate com a URL de um CSV, exige o escopo write_online_store_navigation e a Shopify disponibiliza um CSV de exemplo; o envio é feito por urlRedirectImportSubmit Shopify.dev (Admin GraphQL, urlRedirectImportCreate)
  10. 10HTTP 301 e 308 são redirecionamentos permanentes e o Google recomenda o redirecionamento permanente no servidor sempre que possível; o alvo permanente aparece nos resultados de busca Google Search Central (Redirects and Google Search)
  11. 11Em mudança de site com alteração de URL, o Google recomenda manter os redirecionamentos pelo maior tempo possível, em geral por pelo menos 1 ano, e evitar cadeias de redirecionamento (lido em 18/09/2026) Google Search Central (How to move a site)
  12. 12A ferramenta Alteração de Endereço só vale para propriedade no nível do domínio, exige ser proprietário de origem e destino, encaminha sinais por 180 dias e não deve ser usada quando só mudam caminhos dentro do mesmo site Ajuda do Search Console (Ferramenta Alteração de Endereço)
  13. 13No Merchant Center, o atributo id é o identificador exclusivo do produto e dados conflitantes entre o feed e o site estão entre os problemas comuns que causam reprovação; há requisitos próprios de página de destino Ajuda do Google Merchant Center (Especificação dos dados do produto)

Ailton Carvalho

Construo sistema web sob medida, painel interno, integrações e loja que vende no celular. Código entregue rodando, com alguém responsável depois.

Falar no WhatsApp

Relacionados