PS PrestaShop Iniciante

dfredirects: gestor de redirecionamentos 301

Instalar e configurar o gestor de redirecionamentos 301 para PrestaShop 8 e 9: regras, wildcard, regex, monitorização de 404 e importação CSV.

Atualizado Versão do módulo 1.0.1

Introdução

O dfredirects é um gestor de redirecionamentos completo para PrestaShop 8 e 9. Gere os códigos HTTP 301, 302, 307, 308 e 410, propõe três estratégias de correspondência (exata, wildcard, regex PCRE), vigia os erros 404 e cria automaticamente redirecionamentos quando altera o slug de um produto, de uma categoria, de uma página CMS, de um fabricante ou de um fornecedor.

Instalação

  1. Vá a Módulos → Gestor de módulos → Instalar um módulo.
  2. Carregue o ficheiro dfredirects-1.0.1.zip.
  3. Clique em Instalar.
  4. Aparece um novo menu Redirects no back-office com quatro separadores: Dashboard, Rules, 404 Log e Import / Export / Settings.

A instalação cria três tabelas: ps_dfredirects_rule (as regras), ps_dfredirects_notfound (os 404 registados) e ps_dfredirects_slug_snapshot (os instantâneos de URL antes da alteração). A desinstalação elimina estas tabelas e toda a configuração.

Pré-requisitos: PrestaShop 8.0 no mínimo, PHP 8.1 ou superior. O módulo funciona de forma idêntica no PrestaShop 9.

Configuração

Vá a Redirects → Import / Export / Settings. Os parâmetros disponíveis:

  • Log 404 errors: interruptor principal do registo de 404.
  • Log bot 404s: incluir ou não os pedidos dos robôs conhecidos (Googlebot, Bingbot, GPTBot, ClaudeBot, etc.). Recomendado: desativado para manter um registo limpo.
  • Auto-redirect on slug change: ativação da criação automática de 301 na alteração de URL.
  • Preserve query string by default: valor por defeito do campo preserve_qs para as novas regras.
  • 404 log retention (days): duração de retenção dos registos 404 antes da purga automática. 0 desativa a purga.
  • Default HTTP code: código usado para as regras criadas automaticamente (301 recomendado).
  • Ignored URL patterns: um padrão por linha, correspondência por subcadeia. Exemplo: .well-known, wp-admin, autodiscover. Os URLs correspondentes nunca serão registados.

Criar uma regra de redirecionamento

Em Redirects → Rules, clique em New rule. Cada regra inclui:

  • Source URL: o URL a intercetar (caminho relativo, ex. /antiga-pagina).
  • Match type: exact, wildcard ou regex (ver abaixo).
  • Target URL: o destino (caminho relativo ou URL absoluto para um domínio externo). Vazio para um código 410.
  • HTTP code: 301 (permanente, recomendado para SEO), 302 (temporário), 307/308 (conservam o método HTTP), 410 (conteúdo definitivamente eliminado, sem destino).
  • Preserve query string: se ativado, ?utm_source=x é transferido para o destino.
  • Shop / Language: âmbito da regra. 0 = todas as lojas / todos os idiomas.
  • Note: campo livre para as suas anotações.

Correspondência exata

O URL pedido deve corresponder exatamente à origem (depois de normalização: minúsculas, sem query string, sem barra final). É o tipo mais eficiente: lookup indexado na base de dados, custo constante qualquer que seja o tamanho da tabela.

Correspondência wildcard

O asterisco * captura qualquer sequência. As capturas são reutilizáveis no destino com $1, $2, etc.

Origem  : /antiga-categoria/*
Destino : /nova-categoria/$1

/antiga-categoria/o-meu-produto  →  /nova-categoria/o-meu-produto

Correspondência regex

Sintaxe PCRE completa entre delimitadores til. Os grupos de captura usam-se com $1, $2, etc. Use a classe [0-9] para os algarismos (equivalente ao atalho barra invertida-d).

Origem  : ~^/product/([0-9]+)/(.*)$~
Destino : /p/$1-$2

/product/42/super-produto  →  /p/42-super-produto

O modificador e (avaliação de código) é automaticamente retirado por segurança. As regras regex inválidas são recusadas na criação e na importação.

Redirecionamentos automáticos na alteração de slug

Quando a opção está ativada, o módulo captura o URL de cada objeto antes da sua atualização (hook UpdateBefore), compara-o depois da atualização (hook UpdateAfter) e cria um redirecionamento 301 se o URL tiver mudado. Isto funciona para os produtos, categorias, páginas CMS, fabricantes e fornecedores, para cada idioma e loja ativos.

Na eliminação de um produto, é criado um redirecionamento para a sua categoria por defeito. Na eliminação de uma categoria, para a sua categoria pai. Se não existir nenhum destino pertinente, o recurso é a página inicial.

Deteção de cadeias e de ciclos

Se existir uma regra A→B e alterar o slug de B para C, o módulo atualiza automaticamente a regra A para apontar diretamente para C (resolução recursiva, 5 níveis no máximo). As regras atualizadas desta forma têm a menção [chain-fix] na sua nota. Os ciclos (A→B→A) são detetados e a criação é recusada.

Os redirecionamentos automáticos só são criados se o link_rewrite do objeto estiver preenchido no idioma em causa. Os URLs malformados (segmentos compostos apenas por algarismos e hífenes) são rejeitados.

Monitorização dos 404

Cada página não encontrada é registada em Redirects → 404 Log com o URL, o referrer, o user-agent, o endereço IP, um contador de hits e a data da última visita. O filtro por defeito oculta os bots e as entradas já resolvidas.

O registo de 404 guarda o endereço IP do visitante, que é um dado pessoal nos termos do RGPD. Fixe uma retenção curta (30 dias, por exemplo) em 404 log retention e mencione este registo técnico na sua política de privacidade.

Criar um redirecionamento a partir de um 404

Clique na ação Create redirect de uma entrada 404. O módulo analisa o seu catálogo e propõe até 5 destinos prováveis (produtos, categorias, páginas CMS) classificados por similaridade, com uma pontuação visual. Selecione uma sugestão ou introduza um URL manual, escolha o código HTTP, valide: a regra é criada e o 404 é marcado como resolvido.

Importação e exportação CSV

Formato do ficheiro

source_url,target_url,match_type,http_code,id_shop,id_lang,preserve_qs,active,note
/antiga-pagina,/nova-pagina,exact,301,0,0,1,1,migracao 2026
/produtos/*,/products/$1,wildcard,301,0,0,1,1,pt para en
~^/cat-([0-9]+)/$~,/category/$1,regex,301,0,0,1,1,ids numericos

Só as colunas source_url e target_url são obrigatórias (destino facultativo para um código 410). Os delimitadores vírgula, ponto e vírgula, tabulação e pipe são detetados automaticamente (o Excel em português exporta em ponto e vírgula). A opção Update existing rules ativa o UPSERT: uma origem já presente é atualizada em vez de ser ignorada.

O relatório de importação mostra o número de regras importadas, atualizadas, ignoradas e o detalhe dos erros linha a linha (regex inválida, origem em falta, etc.).

Exportação

O botão Download CSV exporta todas as regras em formato UTF-8 com BOM, diretamente abrível no Excel.

Dashboard

O painel mostra: o número de regras ativas (com a parte gerada automaticamente), o total de redirecionamentos servidos, o número de 404 não resolvidos, a tendência dos 404 em 30 dias, o top 5 dos 404 mais frequentes, o top 5 dos redirecionamentos mais usados e a lista das regras mortas (criadas há mais de 90 dias, nunca acionadas), candidatas à eliminação para manter uma tabela leve.

Resolução de problemas

O meu redirecionamento não é acionado

  • Verifique que a regra está ativa e que o seu âmbito de loja / idioma corresponde ao pedido.
  • As regras exact são avaliadas antes das wildcard e regex: verifique que uma regra exact não esconde o seu padrão.
  • Limpe a cache do PrestaShop (var/cache/).

Demasiados 404 gerados por bots

Desative Log bot 404s nos parâmetros, ou adicione padrões em Ignored URL patterns (ex. .well-known, wp-, autodiscover).

O auto-redirect não foi criado na alteração de slug

  • O auto-redirect só é acionado se o link_rewrite mudar realmente: uma alteração apenas do nome não basta.
  • Verifique que a opção Auto-redirect on slug change está ativada.
  • Se o objeto estava desativado ou se o seu link_rewrite estava vazio no idioma em causa, não é tirado nenhum instantâneo.

Changelog

1.0.1 (11 de maio de 2026)

  • Validação dos URLs gerados antes da gravação: rejeição das origens malformadas.
  • Salto da geração se o link_rewrite estiver vazio para o idioma ou a loja atual.

1.0.0 (11 de maio de 2026)

  • Versão inicial: motor de redirecionamento (exact / wildcard / regex), monitorização de 404, auto-redirect, importação/exportação CSV, sugestões, dashboard.
Esta página foi útil?

Ainda com dúvidas? Contacte o suporte