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.
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
- Vá a Módulos → Gestor de módulos → Instalar um módulo.
- Carregue o ficheiro
dfredirects-1.0.1.zip. - Clique em Instalar.
- 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_rewritemudar 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_rewriteestava 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.