Um Documento de Ajuda Melhor
Escrito e mantido para as marcas e agências que estão conduzindo uma migração de site. Especialmente se você é um time pequeno que precisa fazer cada hora valer. Este guia ajuda você a montar uma estratégia para concluir os redirecionamentos 301 com precisão se estiver migrando para o Shopify. Especificamente, este documento pode ajudar você se estiver:
- Migrando do Wordpress
- Migrando do Magento
- Migrando do Salesforce
- Migrando do Sitecore
- Migrando do BigCommerce
- Migrando do Webflow
- Migrando de um site PHP feito em casa
Se você está tocando um projeto que envolve mapeamentos complexos de redirecionamento 301 e precisa de um time que vive e respira esse tipo específico de trabalho, fale com a gente.
A Lógica de Redirecionamento de URL do Shopify: Visão Geral
O documento oficial de ajuda do Shopify sobre redirecionamentos de URL está aqui. É um documento enxuto, com diretrizes gerais que um gestor de loja Shopify pode consultar para adicionar redirecionamentos 301 individuais e em massa. Faltam especificidades sobre os tipos de URL que uma loja Shopify consegue suportar nativamente, e este relatório existe para preencher essas lacunas.
Resumo dos Achados sobre a Funcionalidade de Redirecionamento de URL do Shopify
- A lógica de redirecionamento de URL do Shopify é bastante robusta.
- No nosso teste com 100 formatos diferentes de string de URL, o Shopify suportou funcionalmente 99 dos 100 tipos.
- O sistema nativo não suporta curingas para redirecionamentos de URL.
- Atualizar caminhos de redirecionamento existentes foi fácil com a ferramenta de importação, desde que você siga as regras não documentadas do Shopify
- Existem limites para o número total de redirecionamentos que lojas Shopify e ShopifyPlus vão gerenciar.
- Existem limites para o número total de caracteres de uma string de redirecionamento de URL.
- Você não consegue criar cadeias de redirecionamento 301, felizmente. (Corrigido no novo teste de 2026. A proteção verifica apenas um sentido.)
- Muitas exceções e regras existem para URLs com parâmetros.
- A interface de gestão de redirecionamentos de URL é amigável, mas ganharia com mais detalhes.
- Os testes não examinaram as opções de redirecionamento disponíveis para Hydrogen e Oxygen.
- Damos ao sistema atual de redirecionamento de URL do Shopify uma nota de utilidade de 85%.
A nota caiu 5% pela ausência de suporte a curingas, 1% pelo único tipo de string de URL que não foi suportado, 2% pelos limites de comprimento de caracteres, 3% pelo comportamento estranho com URLs parametrizadas, e 4% por informações essenciais de gestão que faltam na experiência de redirecionamento.
Os testes foram conduzidos em 19 de junho de 2024.
Cada afirmação aqui foi reconferida contra uma loja Shopify real em plano padrão, pela Admin GraphQL API e contra requisições reais à vitrine. A maior parte dos achados de 2024 se manteve. Nove não se mantiveram, e dois deles revertem o que publicamos: a proteção contra cadeias verifica um único sentido e a ordem em que você cria os registros decide se uma cadeia se forma, e um redirecionamento em /services dispara enquanto qualquer coisa abaixo dele devolve um 404.
Os achados de 2024 ficam onde estão. Cada correção está marcada junto à afirmação a que se aplica, para que quem agiu com base no texto original veja o que mudou.
Nossa Metodologia de Teste de Redirecionamentos
Queríamos responder algumas perguntas com nossos testes, para ajudar a evitar armadilhas nas regras de redirecionamento 301 do Shopify:
- Quais caracteres ou combinações de string o sistema de redirecionamento de URL não suporta?
- Existe algum limite para o comprimento da string de URL?
- Existe um número máximo de registros para importações em massa?
- O sistema suporta redirecionamentos com curinga?
- Existe alguma formatação ou conversão automática das strings após a importação que altere os dados originais?
Para referência, aqui está nossa lista completa de URLs usada para testar essas diferentes condições. Os testes foram conduzidos em um plano padrão do Shopify (não ShopifyPlus).
11 Achados para Ajudar com os Redirecionamentos do Shopify
O Shopify Não Se Dá Bem Com Estes Tipos de String de URL
A lista de formatos de string de URL que o Shopify não conseguiu suportar é curta, com apenas um tipo de string que ele não conseguiu ingerir. Strings com um ponto e vírgula depois do operador de igualdade, como:
/page?param=;semicolon
O que chama a atenção nessa string é que o sistema do Shopify converte o caractere especial de ponto e vírgula no valor codificado, ficando assim na tabela de redirecionamentos:
/page?param=%3Bsemicolon
Quando você digita a string de URL sem codificação na barra de endereços de um navegador, ela devolve um erro 404.
/page?param=;semicolon
/page?param=%3Bsemicolon
Esse comportamento destoa do tratamento dado a outros caracteres especiais. Se uma string de URL com caracteres sem codificação for digitada na barra de endereços, como o caractere de chave de fechamento:
/page?param=}
O Shopify a codifica automaticamente quando a requisição da URL é recebida e nenhum erro 404 acontece.
/page%7Drightbrace
Vale notar também que outras variações de uma string de URL com ponto e vírgula sem codificação são validadas no sistema de redirecionamento do Shopify, como:
/page;semicolon
Os dados sugerem que o erro 404 só é disparado quando um ponto e vírgula sem codificação aparece depois do operador de igualdade.
O 404 está confirmado, mas "não conseguiu ingerir" não é o que acontece. O Shopify aceita o registro e o armazena com o ponto e vírgula codificado como %3b. O descasamento acontece no momento da requisição, porque uma URL recebida carregando um ponto e vírgula cru nunca casa com o registro codificado.
Pedir a forma codificada devolve um 301 normalmente. Onde você controla os links de entrada, codificar o ponto e vírgula resolve. Onde o ponto e vírgula cru chega de links externos que você não controla, esse formato não pode ser redirecionado de forma confiável.
Sem Suporte a Redirecionamentos com Curinga no Shopify
Redirecionamentos com curinga continuam na lista de desejos de muitos usuários do Shopify. Os fóruns de suporte estão cheios de pedidos por esse recurso. Até hoje o Shopify permaneceu em silêncio sobre onde isso entraria no roteiro de produto.
Por enquanto, donos de site que planejam a mudança para o Shopify precisam entender que o Shopify e o ShopifyPlus nativos não oferecem essa opção.
O que são redirecionamentos com curinga?
Redirecionamentos com curinga são um tipo de redirecionamento de URL que permite mandar várias URLs que casam com um padrão específico para um único destino. Isso é particularmente útil ao migrar um site, reorganizar conteúdo ou administrar grandes quantidades de URLs parecidas. Em vez de configurar redirecionamentos individuais para cada URL, você usa um caractere curinga (normalmente *) para representar qualquer sequência de caracteres.
Suponha que você esteja reestruturando seu blog e movendo todos os posts do diretório /blog/ para /articles/. Em vez de configurar redirecionamentos individuais para cada post, você pode usar um redirecionamento com curinga:
From: /blog/*
To: /articles/*
This wildcard redirect will automatically map:
/blog/post1 to /articles/post1
/blog/post2 to /articles/post2
/blog/post3 to /articles/post3
Isso simplifica o processo de redirecionamento e garante que todas as URLs sob /blog/ sejam redirecionadas sem atrito para a nova localização sob /articles/. Na data deste artigo, lojas padrão do Shopify e do ShopifyPlus não incluem essa capacidade sem o apoio de um app.
Continua sem suporte a curingas, e o novo teste encontrou a parte que custa tráfego real às pessoas. O Shopify aceita a sintaxe de curinga sem reclamar. Um registro criado como /old-blog/* é salvo, aparece na tabela de redirecionamentos e não reporta erro nenhum. O asterisco é armazenado como caractere literal, então a única URL que ele um dia vai casar é uma que contenha literalmente um asterisco.
Isso é pior do que uma rejeição direta, porque nada sinaliza a falha até o tráfego real começar a devolver 404. Expanda qualquer curinga da sua planilha de redirecionamentos para caminhos explícitos antes de importá-la.
O Shopify Faz o Possível para Evitar Cadeias de Redirecionamento
Existe uma boa proteção na tabela de redirecionamentos do Shopify que impede você de criar cadeias de redirecionamento. Se você tentar criar um redirecionamento para uma página que já é um valor no campo “Redirect from”, você recebe um erro.
Neste teste, os registros de URL que tentamos criar foram os seguintes, e não foram permitidos:
/BOTH redirects to /SHORT/SHORT redirects to /homepage
A proteção existe, e ela é mais estreita do que descrevemos. Ela verifica um sentido, e uma cadeia viva de dois saltos foi criada por cima dela durante o novo teste.
O Shopify rejeita um redirecionamento cujo destino já é a origem de outro redirecionamento, com Target can't redirect to another redirect. Ele rejeita um redirecionamento que aponta para si mesmo, com Target can't be the same as path, e bloqueia laços diretos de mão dupla.
Ele não verifica o sentido inverso. Crie /a para /b enquanto nada existe em /b, depois crie /b para /c, e os dois são aceitos. O Shopify nunca revisita o primeiro registro, e agora você tem uma cadeia viva:
GET /a
301 to /b
301 to /
final: 200, 2 hops
Só a ordem de criação decide se uma cadeia se forma. Importações em massa aplicam as linhas na ordem do arquivo, e planilhas de migração raramente estão ordenadas para evitar isso, então a proteção não é algo com que você possa contar no planejamento. Depois de qualquer importação grande, faça uma amostragem dos seus redirecionamentos e conte os saltos:
curl -sIL https://yourstore.com/old-path -o /dev/null -w "hops: %{num_redirects}\n"
Qualquer coisa acima de 1 é uma cadeia.
O que são cadeias de redirecionamento?
Cadeias de redirecionamento acontecem quando uma URL é redirecionada para outra URL, que por sua vez redireciona para mais uma URL, criando uma sequência ou “cadeia” de redirecionamentos. Isso pode acontecer sem intenção quando vários redirecionamentos são configurados ao longo do tempo sem uma gestão adequada.
Cadeias de redirecionamento são problemáticas porque podem deixar o carregamento das páginas mais lento, prejudicar o SEO e criar uma experiência ruim para o usuário. Cada redirecionamento adicional soma latência, já que o navegador precisa seguir cada etapa da cadeia antes de chegar ao destino final.
Por exemplo, se você tiver os seguintes redirecionamentos configurados:
/old-page redirects to /new-page
/new-page redirects to /latest-page
Quando um usuário visita /old-page, ele é primeiro redirecionado para /new-page, e em seguida redirecionado de novo para /latest-page, resultando em uma cadeia de redirecionamento.
Novas Regras a Seguir ao Configurar Redirecionamentos no Shopify
Nossa maior descoberta nos testes é que a documentação do Shopify está desatualizada. Segundo o Shopify, se você tentar redirecionar qualquer coisa que comece com estes prefixos reservados, suas regras de redirecionamento não serão criadas:
/apps
/application
/cart
/carts
/orders
/services
/products
/collections
/collections/all
Descobrimos que isso não é verdade.
/apps/application/carts/orders/services/cart/people
Cart foi a exceção. Ele é reservado sozinho, e funciona quando um subdiretório o acompanha.
/cart/products/collections/collections/all
/cart/people/carts/people/products/people/collections/people
/cart/products/collections/collections/all
As observações acima se mantêm. A explicação não, e a regra real cobre muito mais terreno do que uma lista de quatro prefixos.
Uma rota real da vitrine sempre vence um redirecionamento. Onde uma página existe de fato em uma URL, o Shopify serve a página e ignora o redirecionamento. O registro é aceito, fica na sua tabela de redirecionamentos e não faz nada. Sem erro, sem aviso.
O prefixo não é a variável. A existência de uma rota é. Um redirecionamento colocado sobre uma URL de produto ativa foi aceito e silenciosamente ignorado, enquanto o mesmo prefixo com um handle que não existe devolveu um 301:
/products/ai-skillset-package-001 -> 200, the product page
/products/zz20260727 -> 301, the redirect fires
Então trate a lista acima como exemplos, e não como a regra. Ela também cobre todo produto, coleção, página e artigo de blog ativos na sua loja. Um redirecionamento sobre a URL de um produto publicado fica inerte até esse produto deixar de resolver.
Para uma migração, isso faz a sequência importar. Despublique ou exclua o recurso antigo primeiro, depois confirme que o redirecionamento dispara. Crie o redirecionamento enquanto a página ainda está ativa e vai parecer que nada aconteceu.
/services é a exceção, e ela corre no sentido oposto. Um redirecionamento sobre /services em si devolve um 301. Um redirecionamento sobre qualquer coisa abaixo dele, como /services/consulting, devolve um 404 mesmo com o registro sendo salvo sem reclamação. Isso foi retestado quatro vezes ao longo de cerca de 45 segundos para descartar atraso de propagação, com o registro presente o tempo todo. Todos os outros prefixos desse grupo funcionaram com subdiretórios. A causa provável é que o Shopify roteia /services/* internamente para proxies de app e endpoints de sistema, de modo que essas requisições nunca chegam à tabela de redirecionamentos, embora não tenhamos verificado o mecanismo diretamente.
Quem estiver migrando um site com uma seção /services/ precisa saber que nenhum desses redirecionamentos vai disparar. Remapeie-os para outra estrutura de caminhos, ou trate-os na sua camada de DNS ou de proxy.
Criar e Atualizar Redirecionamentos de URL é Fácil no Shopify
Criar um redirecionamento novo é simples no Shopify. Eles dão duas opções aos usuários:
- Criação individual de redirecionamento de URL, um de cada vez
- Criação de redirecionamentos em massa, por arquivo CSV - aqui está o modelo mais recente para essa importação.
Ao adicionar URLs ao sistema do Shopify, os usuários podem informar caminhos de URL relativos, sem domínio de topo, para a origem (from) e caminhos absolutos ou relativos no destino (to). Exemplo:
/example_product.php
Criando Redirecionamentos de URL Individuais
As regras de redirecionamento que o Shopify tem em vigor não permitem que você crie o mesmo redirecionamento de URL duas vezes pela interface individual.
Uma vez que uma URL está na listagem da tabela ‘Redirect from’, se você tentar adicioná-la de novo você recebe um erro.
Se você quiser atualizar o registro individual, precisa encontrá-lo na tabela de redirecionamentos, ou usar o método de importação em massa. Se uma URL que já existe estiver incluída em um arquivo de importação em massa, o campo ‘Redirect to’ do registro será atualizado com o valor do arquivo CSV.
Nosso conselho é sempre importar redirecionamentos em lotes gerenciáveis e eficientes. Por exemplo, se você tem 10.000 redirecionamentos de URL, importe 1.000 por vez e confira cada lote se tiver tempo. É melhor pegar erros em conjuntos menores do que caçá-los em conjuntos maiores.
Seja Cuidadoso com Redirecionamentos de URL em Massa no Shopify
Para criar redirecionamentos em massa, preencha o arquivo CSV com os cabeçalhos que o Shopify exige, crie os mapeamentos 1:1 e garanta que todas as URLs estejam formatadas como caminhos relativos. Se você criar um arquivo com caminhos absolutos nos campos ‘Redirect from’ ou ‘Redirect to’, o Shopify vai tomar as rédeas por conta própria. Alguns cenários:
https://www.wislr.com/path/to/resource%20with
/path/to/resource%20with
www.wislr.com/unicode/test?value=%E2%9C%93%20co.wislr.com/mix/of%20encoded
/www.wislr.com/unicode/test?value=%E2%9C%93%20/co.wislr.com/mix/of%20encoded
wislr.com/nested/directory/structure?param1=value1
/wislr.com/nested/directory/structure?param1=value1
A lição é conferir duas vezes o arquivo de importação antes de usá-lo. Caso contrário você vai criar regras de redirecionamento de URL que não operam do jeito que você precisa.
Se um registro de redirecionamento já existe na tabela e os mesmos valores estão no arquivo de importação, o Shopify atualiza o registro com os dados mais recentes do arquivo. Isso é extremamente útil na nossa opinião, desde que você queira que aquele registro seja atualizado. Mais um motivo para conferir os dados duas vezes.
Nosso conselho é sempre importar redirecionamentos em lotes gerenciáveis e eficientes. Por exemplo, se você tem 10.000 redirecionamentos de URL, importe 1.000 por vez e confira cada lote se tiver tempo. É melhor pegar erros em conjuntos menores do que caçá-los em conjuntos maiores.
O Shopify não impõe um teto de 1.000 linhas por arquivo. Uma única importação de 1.051 linhas passou sem nenhuma falha em 48 segundos, o que dá cerca de 1.300 linhas por minuto.
Lotes de aproximadamente 1.000 continuam sensatos, por um motivo diferente de um limite rígido. Arquivos menores falham de forma mais legível. Se uma importação de 20.000 linhas dá errado, você tem muito menos ideia de quais linhas causaram o problema do que se tivesse rodado vinte arquivos e acompanhado as contagens.
Leia createdCount, updatedCount e failedCount depois de cada importação. Um failedCount diferente de zero é o único sinal que você recebe de que linhas foram descartadas.
O comportamento com duplicatas descrito acima foi confirmado exatamente como está escrito. Um caminho que já está na tabela de redirecionamentos tem seu destino sobrescrito e é reportado em updatedCount, mantendo o id original do registro. Isso torna uma importação de CSV segura para reexecutar, o que é genuinamente útil no meio de uma migração. Também significa que uma planilha desatualizada vai sobrescrever em silêncio as correções que você fez à mão desde a última importação.
Deixe que a gente monte o mapa de redirecionamentos.
Já mapeamos redirecionamentos em mais de 100 migrações, incluindo uma mudança de 27.000 URLs para o Shopify Plus. Construímos o arquivo e o validamos contra cada limite desta página antes da importação. Depois da virada, lemos as respostas ao vivo nós mesmos em vez de confiar no que a tabela de redirecionamentos diz.
O Limite do Shopify para Registros de Redirecionamento de URL
Toda coisa boa tem seu limite, e as regras de redirecionamento do Shopify não são diferentes. Existem dois patamares para redirecionamentos de URL.
Planos Shopify (não Plus):
Máximo de 100.000 redirecionamentos de URL
Planos ShopifyPlus:
Máximo de 20.000.000 de redirecionamentos
Não testamos esses limites, seria loucura! Estas são as especificações documentadas hoje para a plataforma. Tenha-as em mente ao planejar seus redirecionamentos e priorize as URLs de maior tráfego e receita. Até onde sabemos, o Shopify não eleva esses limites, apesar dos pedidos constantes nos fóruns de suporte.
O Limite do Shopify para Caracteres nas URLs
É aqui que as coisas ficam interessantes no sistema de redirecionamento do Shopify. As diretrizes oficiais do Shopify não especificam limites estritos de caracteres.
Para validar os limites de caracteres de URL de um redirecionamento, primeiro construímos e tentamos importar strings muito longas. Começamos com uma URL de 2.000 caracteres, já que navegadores conseguem lidar com requisições de URI de até 2.083 caracteres. Aqui está a beldade em toda a sua beleza:
/2000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBcccccccccccccccccccccccccccccccccccccccccccccccccccDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
Nosso método inicial foi importar uma URL de 2.000 caracteres usando o modelo de redirecionamento em massa, e foi aí que os alarmes do Shopify dispararam. O patamar que descobrimos oficialmente foi um limite de 1.024 caracteres para strings de redirecionamento de URL, incluindo a barra inicial ‘/’.
- Passed URL de 300 caracteres
- Passed URL de 600 caracteres
- Passed URL de 1.000 caracteres
- Failed URL de 2.000 caracteres
Algumas Regras Importantes e Não Documentadas Sobre Redirecionamentos no Shopify
O Shopify normaliza os caracteres alfabéticos das suas strings de URL. Isso significa que, tanto faz se você colocar uma letra maiúscula ou minúscula, ele vai servir a requisição de URL desses padrões diferentes da mesma forma. As URLs a seguir vão todas para a mesma página, mesmo que existam registros individuais:
/CASE/TEST.html
/case/test.html
/Case/Test.html
A string em minúsculas tem prioridade sobre as outras:
/case/test.html
Nos nossos testes, mesmo havendo dois registros únicos de “Redirect from” com valores diferentes de “Redirect to”, a página /about.html sempre é servida para os dois registros:
#1
/Case/Test.html [redirect to] /homepage
#2
/case/test.html [redirect to] /about.html
É curioso e potencialmente irritante que o Shopify permita inserir todos esses valores únicos na tabela de redirecionamentos e sirva apenas um deles. Recomendamos revisar seus dados com cuidado se você achar que sua taxonomia de URLs pode cair nesses padrões antes de importar para o Shopify.
Você Pode Usar Caminhos de URL Absolutos nos Redirecionamentos do Shopify
Caminhos de URL absolutos para seus redirecionamentos são aceitáveis, segundo nosso teste, se estiverem no campo “Redirects to”. Eles podem apontar para qualquer URL que você quiser. Aqui está um exemplo em que um caminho de URL redireciona para um perfil do LinkedIn quando requisitado:
[Redirect from]
/Case/Test.html
[Redirect to]
https://www.linkedin.com/wislr
Além disso, no campo “Redirect to” o Shopify não remove domínios de topo, mesmo que seja da sua própria loja Shopify.
URLs Parametrizadas
Nos nossos testes o Shopify preservou URLs parametrizadas, com algumas exceções. Se você tem URLs que foram indexadas com muitas strings parametrizadas únicas, essas strings únicas podem ser adicionadas às tabelas de redirecionamento do Shopify e apontar para destinos únicos. Fizemos esse teste com uma taxonomia comum para esse tipo de URL, os parâmetros UTM. Por exemplo:
Esta string de URL está no campo “Redirect from” da tabela de redirecionamentos e chegou ao destino pretendido:
/how-is-pkl?utm_campaign=301s+in+2024&utm_content=blue&utm_id=3012024&utm_medium=display&utm_source=google&utm_term=redirects
Modificamos a string de URL e removemos o último parâmetro ‘&utm_term=redirects’, o que gerou um 404:
/how-is-pkl?utm_campaign=301s+in+2024&utm_content=blue&utm_id=3012024&utm_medium=display&utm_source=google
Esse comportamento foi reproduzido em outros testes com parâmetros diferentes como valores, o que confirmou que o Shopify trata URLs parametrizadas como strings literais. Ele não reduz a URL até a URL base se você remover um parâmetro da URL de redirecionamento, desde que a URL não exista no site Shopify.
Para confirmar isso ainda mais, apontamos uma URL para ela mesma, o que por padrão o Shopify não permite. Você receberia esta mensagem:
Essa entrada é permitida quando os parâmetros estão no campo “Redirect from”. Ela não constitui um laço de redirecionamento, mas, com base no comportamento no navegador, nosso teste mostrou que o Shopify ignora esse registro. Quando a URL de “Redirect from” é requisitada, o Shopify serve a string de URL parametrizada completa, e não a página raiz como a tabela levaria a esperar:
Essa entrada é permitida, mas o Shopify não vai acrescentar os parâmetros à página que carrega, como a regra faz esperar. Ele carrega apenas a URL raiz. Os parâmetros nunca são adicionados à URL que carrega:
Nossa observação final sobre URLs com parâmetros é que o Shopify reescreve os dados que você fornece em alguns casos. Sim, o Shopify reescreve os dados de URL que você fornece para alguns parâmetros.
Aqui estão exemplos em que nossos testes encontraram esse padrão.
Dados de redirecionamento originais ingeridos pelo Shopify:
/test?name=John&Doe
O Shopify reescreveu a string para que ‘Doe’ fosse o primeiro atributo de parâmetro:
/test?Doe&name=John
Dados de redirecionamento originais ingeridos pelo Shopify:
/user?name=John&age=30&active=true
O Shopify reescreveu a string com uma nova ordem para os parâmetros listados:
/user?active=true&age=30&name=John
Os testes que rodamos sugerem que o Shopify tenta colocar os parâmetros em ordem alfabética. Ficamos na dúvida se isso seria um bug, já que determinamos que o Shopify trata URLs parametrizadas como strings literais, então por que minar essa regra reescrevendo a ordem dos parâmetros. Hoje você nunca vai conseguir que strings de URL com múltiplos valores de parâmetro mantenham sua estrutura. Isso pode ter grandes implicações para alguns sistemas de gestão de conteúdo.
Três correções nesta seção.
Os parâmetros da requisição de entrada são levados até o destino. A redação original diz que eles nunca são adicionados à URL que carrega, e isso só vale para os caminhos de origem parametrizados descritos acima. Onde o caminho de origem do redirecionamento não carrega parâmetros próprios, tudo o que chega na requisição é anexado:
GET /old-page -> 301 to /new-page
GET /old-page?utm_source=x -> 301 to /new-page?utm_source=x
Redirecionamentos não removem parâmetros por você. Removê-los tem que acontecer em uma camada acima do Shopify.
A reescrita passa para minúsculas além de reordenar. O exemplo resolvido acima mantém as maiúsculas, e o Shopify não. Um caminho enviado como /test?name=John&Doe é armazenado como /test?doe&name=john. Os valores são passados para minúsculas junto com as chaves, então uma tabela de redirecionamentos comparada com a planilha de origem vai parecer que a importação corrompeu os dados.
O casamento não é comparação literal de strings. O Shopify normaliza tanto o registro armazenado quanto a requisição de entrada antes de compará-los, então maiúsculas e ordem dos parâmetros não importam. Contra um registro armazenado como /page?doe&name=john, todas as formas ?name=John&Doe, ?Doe&name=John e ?name=john&doe devolvem um 301.
O que importa é quais parâmetros estão presentes. Todo parâmetro do caminho armazenado precisa aparecer na requisição. Remova um e você recebe um 404 em vez de um casamento parcial, então o ponto original se mantém: um redirecionamento parametrizado dispara apenas para aquela combinação exata de parâmetros.
A Experiência de Redirecionamento de URL do Shopify Precisa de Atualização
Ao longo do nosso uso intensivo da ferramenta de redirecionamento do Shopify, gostamos de alguns elementos e sentimos falta de outros.
Gostamos destes recursos:
- Botões e funcionalidade de importação de redirecionamentos em massa
- Filtro e busca rápida na taxonomia de URLs
- Exportação de URLs
- Facilidade para criar uma URL única
Achamos que a ferramenta carece destes dados e funcionalidades:
- Contagem total de URLs importadas
- Uma forma mais fácil de copiar e colar mais de uma URL no sistema. Se você adiciona mais de uma URL por vez, precisa usar o documento de importação. Um caso de uso em que copiar e colar ajudaria é quando um conjunto de URLs deve apontar todo para o mesmo destino.
Importar É Rápido, Desfazer uma Importação Não É
Acrescentado a partir do novo teste de 27 de julho de 2026.
Criar redirecionamentos em massa é rápido. Removê-los em massa não é, e a diferença é larga o bastante para mudar como você planeja uma importação.
| Operação | Método | Observado |
|---|---|---|
| Criar 1.051 redirecionamentos | Importação por CSV, arquivo único | 48 segundos |
| Excluir 1.051 redirecionamentos | urlRedirectDelete, um de cada vez |
226 segundos |
As mutações rápidas de exclusão em massa são restritas. urlRedirectBulkDeleteBySearch, urlRedirectBulkDeleteByIds e urlRedirectBulkDeleteAll exigem todas o escopo write_online_store_navigation e uma sessão de usuário ativa. Um app que se autentica com credenciais de cliente, que é como a maioria dos scripts de migração roda, não consegue chamá-las e fica excluindo um registro por vez.
Planeje suas importações como se fossem difíceis de reverter, porque são. Valide o arquivo em uma loja de desenvolvimento primeiro, ou importe em blocos que você esteja disposto a desfazer à mão. Não empurre um arquivo de 50.000 linhas que você não testou presumindo que consegue revertê-lo rapidamente.
A Importação por CSV e a Admin API Tratam Duplicatas de Formas Diferentes
Acrescentado a partir do novo teste de 27 de julho de 2026.
Este guia foi escrito em torno do fluxo com CSV, onde um caminho duplicado atualiza o registro existente. A API faz o contrário:
create /existing-path -> /pages/about
(where /existing-path already redirects to /)
REJECTED: "Path has already been taken"
Quem estiver portando um fluxo de CSV para a Admin API precisa consultar o registro existente e chamar urlRedirectUpdate, ou excluir e recriar. Uma portabilidade direta da lógica de importação vai falhar em todo caminho que já existe.
Como Testar os Seus Redirecionamentos do Shopify Depois do Lançamento
Tudo acima descreve o que o Shopify aceita. Nada disso diz se os redirecionamentos que você importou estão de fato funcionando na loja ao vivo, e essa é outra questão. Um redirecionamento pode ser importado sem erros, aparecer no admin e ainda assim não fazer o que você esperava assim que um tema, um app ou um proxy entra no caminho.
Teste de fora da loja em vez de clicar por aí no navegador, porque o navegador esconde justamente o que você precisa ver: o código de status. Requisite a URL antiga e leia os cabeçalhos da resposta.
curl -sIL https://yourstore.example/old-product-url
Leia três coisas na saída:
- O código de status do primeiro salto. Você quer
301. Um302é temporário e transfere valor de outra forma, o que importa quando o objetivo inteiro é uma mudança permanente. - O número de saltos. Cada linha
HTTP/na saída é um salto. Dois ou mais significa que você construiu uma cadeia, e a correção é reapontar a origem original para o destino final em vez de deixar a etapa intermediária no lugar. - O status final. A última linha deve ser
200. Um redirecionamento que termina em404é pior do que nenhum redirecionamento, porque na sua planilha ele parece resolvido.
Depois teste os formatos que são fáceis de esquecer. Rode a mesma checagem em uma URL carregando um parâmetro de rastreamento, para confirmar que a query string sobrevive até o destino, no domínio apex além do www, e sobre http puro e não só https. Testamos exatamente isso em uma loja ao vivo e o parâmetro chegou intacto ao destino, mas o ponto é verificar na sua loja em vez de confiar em uma resposta genérica, porque um tema ou um app pode mudar o resultado.
Um comportamento que vale conhecer antes de entrar em pânico: depois de alterar ou excluir um redirecionamento, um nó de borda do Shopify pode continuar servindo a resposta antiga por cerca de trinta segundos, enquanto uma versão da mesma URL com cache furado já devolve a nova. Dê um minuto e teste de novo com uma query string única no final antes de concluir que o redirecionamento não pegou.
Para a sequência completa de uma migração, e não de um único redirecionamento, siga o checklist de migração de site, que cobre o mapeamento, o dia do lançamento e o monitoramento pós-lançamento em que isso se encaixa.
Conclusão
O sistema que o Shopify tem para gerenciar redirecionamentos 301 é bom para a maioria dos negócios, mas ainda não está em nível Enterprise. Com o tempo esperamos que evolua para incluir redirecionamentos com curinga e mais registros de redirecionamento nos planos padrão e plus. A capacidade de usar o sistema de redirecionamentos e os vários tipos de formato de URL que ele suporta nos leva a dar uma nota de utilidade alta.
Se você está tocando um projeto que envolve mapeamentos complexos de redirecionamento 301 e precisa de um time que vive e respira esse tipo específico de trabalho, fale com a gente.
Perguntas Frequentes
Para quem foi feita a base de conhecimento da WISLR sobre redirecionamentos de URL no Shopify?
Nossa base de conhecimento atende principalmente marcas e agências que conduzem migrações de site para o Shopify. Ela é especialmente valiosa para times pequenos que precisam fazer cada hora valer, ajudando clientes a mapear e concluir até 100.000 redirecionamentos de URL com eficiência.
O Shopify tem um documento oficial de suporte sobre redirecionamentos de URL?
Sim, o Shopify mantém um documento oficial de ajuda sobre redirecionamentos de URL em help.shopify.com. Embora ele traga diretrizes gerais para adicionar redirecionamentos 301 individuais e em massa, nosso guia o complementa com especificações detalhadas sobre tipos de URL e limitações da plataforma.
Quais strings de URL o Shopify não suporta?
O Shopify tem apenas um formato de string de URL não suportado: strings com um caractere de ponto e vírgula sem codificação depois do operador de igualdade (por exemplo, /page?param=;semicolon). Todos os outros formatos de URL, incluindo pontos e vírgulas codificados e pontos e vírgulas em outras posições, são suportados.
O Shopify suporta redirecionamentos com curingas ou regex?
Não, o Shopify hoje não suporta redirecionamentos com curinga nem padrões de regex no seu sistema nativo de redirecionamento. Essa limitação vale tanto para lojas Shopify padrão quanto para lojas Shopify Plus.
O que são redirecionamentos com curinga?
Redirecionamentos com curinga permitem redirecionar várias URLs que casam com um padrão específico para um único destino. Por exemplo, redirecionar todas as URLs sob /blog/* para /articles/*. Embora esse recurso seja pedido com frequência, ele não está disponível hoje na funcionalidade nativa do Shopify.
O Shopify consegue evitar a criação de cadeias de redirecionamento?
Sim, o Shopify tem proteções embutidas para evitar cadeias de redirecionamento. O sistema não permite que você crie um redirecionamento para uma URL que já está sendo redirecionada para outro lugar.
O que são cadeias de redirecionamento?
Cadeias de redirecionamento acontecem quando URLs redirecionam por várias etapas antes de chegar ao destino final (por exemplo, A→B→C). Essas cadeias podem deixar o carregamento das páginas mais lento e prejudicar o desempenho de SEO. O sistema do Shopify ajuda a evitá-las por desenho.
É fácil criar e atualizar redirecionamentos de URL no Shopify?
Sim, o Shopify oferece dois métodos diretos: criação individual de redirecionamento de URL pela interface e importação em massa por arquivo CSV. Os dois métodos aceitam caminhos de URL relativos e absolutos.
Como criar redirecionamentos de URL em massa no Shopify?
Redirecionamentos em massa podem ser criados com a ferramenta de importação de CSV do Shopify. Recomendamos importar em lotes de 1.000 para facilitar a verificação de erros e a gestão. Um modelo para a importação está disponível aqui.
O Shopify tem um limite máximo de registros de redirecionamento de URL?
Sim. Os planos padrão do Shopify são limitados a 100.000 redirecionamentos de URL, enquanto lojas Shopify Plus comportam até 20.000.000 de redirecionamentos. Esses limites são fixos e não podem ser aumentados.
O Shopify tem limite de caracteres nos redirecionamentos?
Sim, o Shopify impõe um limite de 1.024 caracteres para strings de redirecionamento de URL, incluindo a barra inicial (’/’). URLs que passam desse comprimento não são aceitas pelo sistema.
Existe uma ferramenta para validar URLs quanto à compatibilidade com o Shopify?
Embora o Shopify não ofereça uma ferramenta oficial de validação, nossos testes abrangentes mostraram que 99% dos formatos padrão de URL são suportados. A principal consideração é o limite de 1.024 caracteres e evitar pontos e vírgulas sem codificação depois de operadores de igualdade.