O Blog Importer registra automaticamente os redirecionamentos 301 nativos da Shopify ao migrar as postagens do seu blog. Isso garante uma transferência tranquila de suas classificações nos mecanismos de busca (SEO) do seu site antigo para a sua nova loja Shopify sem qualquer configuração manual complexa.

No entanto, existem padrões específicos de URL que o recurso nativo da Shopify não consegue processar.

Padrão Não Suportado: URLs com Parâmetros de Consulta

O recurso de redirecionamento padrão da Shopify possui uma limitação estrutural: ele não consegue identificar com precisão URLs que contêm um ”?” (parâmetros de consulta).

  • Exemplo Suportado: example.com/old-post
  • Exemplo Suportado (parâmetros no 2º nível ou superior): example.com/news/?pid=123
  • Exemplo Não Suportado: example.com/?pid=123 (URLs parametrizadas diretamente sob o domínio raiz)

Esses tipos de URLs não podem ser redirecionados usando o Blog Importer ou as configurações padrão de redirecionamento da Shopify.

A Solução

Para migrar com sucesso páginas com essas estruturas de URL legadas, você deve usar JavaScript no lado do cliente para encaminhar manualmente os visitantes para a página correta no navegador.

Por que o JavaScript é Necessário?

Os redirecionamentos nativos da Shopify são processados no lado do servidor. Sistematicamente, a Shopify descarta qualquer informação que venha após um ”?” na URL, tornando impossível encaminhar o tráfego condicionalmente com base em diferenças de parâmetros.

Para resolver isso, precisamos de um “roteamento inteligente”: o JavaScript lê instantaneamente a URL completa ao carregar a página no navegador do visitante e o redireciona dinamicamente para o destino adequado.

Como Implementar via JavaScript (Código de Exemplo)

Coloque o seguinte código dentro do arquivo theme.liquid do seu tema da Shopify, imediatamente antes da tag de fechamento </head>. Atualize a variável redirectMap para corresponder aos parâmetros da sua URL antiga e seus novos caminhos correspondentes.

<script>
(function() {
  // Mapa de redirecionamento: Parâmetros da URL antiga para novos caminhos
  var redirectMap = {
    "?pid=123": "/blogs/news/article-a",
    "?pid=456": "/blogs/news/article-b",
    "?p=789": "/pages/contact"
  };

  var currentQuery = window.location.search;

  if (currentQuery && redirectMap[currentQuery]) {
    window.location.href = redirectMap[currentQuery];
  }
})();
</script>