DF Smart 404: documentação
Instalar, configurar e explorar a página 404 inteligente: sugestões de produtos, pesquisa pré-preenchida, registo dos 404 e redirecionamentos 301 num clique.
Apresentação
O DF Smart 404 transforma a página « página não encontrada » da sua loja num cruzamento de conversão. Quando um visitante aterra num URL quebrado, o módulo analisa esse URL, extrai as palavras-chave e mostra os produtos do seu catálogo que melhor correspondem, acompanhados de um formulário de pesquisa já pré-preenchido.
Em paralelo, cada 404 é registado num diário no back-office. Vê exatamente que URLs quebram, quantos visitantes os atingem e de onde vêm. A partir desse diário, um redirecionamento 301 para o produto certo cria-se num clique.
A lista de stopwords usada para extrair as palavras-chave do URL cobre francês, inglês, espanhol, alemão e italiano, mas não o português: em URLs em português, palavras como « para », « com » ou « uma » podem ser tratadas como palavras-chave, o que baixa ligeiramente a pertinência das sugestões. O mecanismo de recurso (mais vendidos, depois produtos recentes) garante mesmo assim que o bloco nunca fica vazio.
O que o módulo faz
- Injeta um bloco de sugestões de produtos na página 404 do seu tema, sem override de template.
- Pré-preenche o formulário de pesquisa com as palavras-chave humanizadas extraídas do URL quebrado.
- Regista cada 404 com deduplicação, contador de hits, referer e user-agent.
- Cria redirecionamentos 301 ou 302 num clique, com proteção anti-ciclo.
- Aplica esses redirecionamentos antes do dispatch da página.
Pré-requisitos
- PrestaShop 8.0 a 9.x
- PHP 7.4 ou superior
- Nenhuma dependência externa, sem Composer
Instalação
- Vá a Módulos > Gestor de módulos.
- Clique em Instalar um módulo e carregue o ficheiro
df404smart-1.0.0.zip. - Clique em Instalar.
Na instalação, o módulo cria duas tabelas SQL (diário dos 404 e redirecionamentos), regista três hooks e acrescenta um menu DF Smart 404 no back-office com dois subseparadores.
O bloco está ativo imediatamente na página 404 com definições por defeito operacionais. Pode testar visitando um URL inexistente da sua loja.
Configuração
Abra a página Configurar do módulo. Mostra primeiro quatro indicadores de acompanhamento e depois o formulário de definições.
Painel
- URLs quebrados a corrigir: número de entradas com estado « nova » no diário.
- Hits 404 nesses URLs: soma das visitas aos URLs ainda não tratados.
- Redirecionamentos ativos: número de regras de redirecionamento em serviço.
- Visitas salvas pelos redirecionamentos: soma dos hits intercetados pelos seus redirecionamentos.
Definições disponíveis
- Enriquecer a página 404: ativa ou desativa a injeção do bloco de sugestões.
- Mostrar o formulário de pesquisa: mostra o campo de pesquisa pré-preenchido no bloco.
- Ativar o motor de redirecionamento: aplica os redirecionamentos criados a partir do diário. Desmarque esta caixa se já usar um módulo de redirecionamentos de terceiros.
- Número de sugestões: entre 0 e 12 produtos apresentados. O valor 0 desativa as sugestões conservando o formulário de pesquisa.
- Tipo de redirecionamento por defeito: 301 permanente (recomendado para o SEO) ou 302 temporário.
- Registar o tráfego dos robôs: se desativado, os hits provenientes de crawlers conhecidos não são escritos no diário.
- Retenção do diário (dias): as entradas mais antigas são purgadas automaticamente. As regras de redirecionamento nunca são purgadas.
- Padrões de exclusão: uma expressão regular sem distinção de maiúsculas por linha. Os URLs correspondentes nunca são registados.
Padrões de exclusão por defeito
O módulo é fornecido com uma lista de padrões que afastam o ruído gerado pelos scanners de vulnerabilidades e pelos pedidos automatizados: tentativas em wp-admin, wp-login, xmlrpc, phpmyadmin, pastas .git, bem como os recursos estáticos (imagens, folhas de estilo, scripts). Adicione os seus próprios padrões, um por linha. Um padrão inválido é assinalado na gravação, com o número da linha em causa.
O bloco de sugestões no front-office
Como os produtos são selecionados
Quando ocorre um 404, o módulo divide os dois últimos segmentos do URL em palavras-chave. As stopwords são afastadas em cinco idiomas (francês, inglês, espanhol, alemão, italiano), só são conservados os tokens com pelo menos três caracteres e os identificadores puramente numéricos são excluídos.
Cada token restante é depois confrontado com o catálogo com uma pontuação ponderada:
- correspondência no link_rewrite do produto: 4 pontos
- correspondência no nome do produto: 3 pontos
- correspondência na referência: 2 pontos
Os produtos são classificados por pontuação decrescente, e só são retidos aqueles cuja pontuação é superior a zero.
O recurso
Se nenhum produto resultar da análise, caso frequente num URL muito curto ou obscuro, o módulo passa automaticamente aos mais vendidos. Se estes também estiverem indisponíveis (catálogo novo, estatísticas não calculadas), mostra os produtos mais recentes. O visitante vê portanto sempre produtos, nunca um bloco vazio.
O formulário de pesquisa
O campo de pesquisa é pré-preenchido com a versão humanizada das palavras-chave do URL. Um visitante que chegue a /sapatilhas-pele-premium-edition vê já « sapatilhas pele premium edition » no campo.
O formulário aponta para a página de pesquisa nativa do seu tema, com os parâmetros da query string corretamente transmitidos em campos ocultos. Nenhum conflito com um módulo de pesquisa instantânea de terceiros: o módulo não sobrepõe nada, usa o ponto de entrada padrão do PrestaShop.
Onde o bloco aparece
O módulo deteta a secção de conteúdo da página 404 do seu tema e insere aí o bloco, logo abaixo da mensagem nativa. Se a estrutura do tema for atípica, vários recursos sucessivos garantem que o bloco fica acima do rodapé. Nenhum ficheiro de tema é modificado.
O diário dos 404
Menu DF Smart 404 > Diário dos 404.
Colunas
- URL quebrado: o caminho chamado, normalizado.
- Hits: número de visitas a este URL. A lista é ordenada por hits decrescentes por defeito: os URLs mais caros aparecem primeiro.
- Último referer: de onde vinha o último visitante (Google, um site de terceiros, uma página interna…).
- Estado: Nova, Redirecionada ou Ignorada.
- Último hit: data da última visita.
Deduplicação
A deduplicação assenta num hash do URL, delimitado por loja. Mil visitas ao mesmo URL quebrado produzem uma única linha com mil hits, nunca mil linhas. A escrita é feita num único pedido upsert.
Ações disponíveis em cada linha
- Redirecionamento automático (ícone de raio): cria instantaneamente um redirecionamento para o produto mais pertinente, em AJAX, sem sair da página. Esta ação só é proposta se a pontuação de correspondência ultrapassar o limiar de confiança; caso contrário, uma mensagem convida-o a usar o formulário guiado.
- Criar um redirecionamento: abre o formulário guiado (ver abaixo).
- Ignorar: passa a entrada ao estado « ignorada ». Desaparece dos indicadores de acompanhamento mas continua consultável.
- Eliminar: elimina a entrada do diário.
Uma ação em massa de eliminação e uma exportação CSV estão igualmente disponíveis a partir da barra de ferramentas.
Criar um redirecionamento
O redirecionamento automático
O botão de raio calcula o melhor produto correspondente ao URL quebrado. Se a pontuação ultrapassar o limiar de confiança interno, o redirecionamento é criado imediatamente com o tipo por defeito configurado, e a entrada do diário passa ao estado « redirecionada ». Uma mensagem de confirmação indica o produto de destino.
O limiar de confiança evita redirecionamentos arriscados. Um URL como /promo-verao-2024 provavelmente não terá uma correspondência fiável: o módulo recusará o redirecionamento automático e remetê-lo-á para o formulário guiado.
O formulário guiado
Mostra o URL quebrado, o seu número de hits e depois a lista dos produtos sugeridos classificados por pontuação. Cada sugestão é um botão de opção, estando a primeira pré-selecionada. Um campo URL personalizado permite introduzir qualquer destino: uma categoria, uma página CMS, um URL externo.
Escolhe depois o tipo de redirecionamento (301 ou 302) e valida. O módulo verifica que o destino não está vazio, que não aponta para o próprio URL de origem (proteção anti-ciclo) e que não existe já um redirecionamento para essa origem.
Gerir os redirecionamentos
Menu DF Smart 404 > Redirecionamentos 404.
Este ecrã oferece um CRUD completo sobre as suas regras de redirecionamento:
- URL de origem: o caminho quebrado (ex.
/antiga-categoria/antigo-produto). - URL de destino: caminho ou URL completo para onde redirecionar.
- Tipo: 301 (permanente) ou 302 (temporário).
- Hits: número de visitas intercetadas por esta regra. É a sua medida direta das visitas salvas.
- Ativo: interruptor para desativar uma regra sem a eliminar.
Aplicam-se as mesmas validações que no formulário guiado: origem não vazia, sem ciclo, sem duplicado de origem (o identificador atual é excluído do controlo em edição).
Funcionamento do motor
Os redirecionamentos são avaliados antes do dispatch da página, a montante do controlador front. O caminho chamado é normalizado e depois um lookup indexado no seu hash procura uma regra ativa para a loja atual. Se uma regra corresponder, o contador de hits é incrementado e o redirecionamento é emitido com o código HTTP configurado.
Desempenho
- O diário só escreve em caso de 404 real, num único pedido upsert.
- O motor de redirecionamento faz um lookup indexado num hash: custo negligenciável, mesmo com centenas de regras.
- A purga das entradas antigas é desencadeada aleatoriamente em cerca de 1 % dos hits, para nunca bloquear um pedido de visitante.
- Os hits provenientes de robôs podem ser excluídos da escrita, o que reduz ainda mais a carga nas lojas muito rastreadas.
Multiloja
Todos os dados do módulo são delimitados por identificador de loja: o diário, os redirecionamentos e as sugestões. Cada loja dispõe do seu próprio diário, das suas próprias regras e da sua própria configuração. Um URL quebrado na loja A não aparece no diário da loja B.
RGPD
O diário regista o URL quebrado, o referer e o user-agent. Não é guardado nenhum endereço IP, não é recolhido nenhum dado nominativo. A retenção é configurável e a purga automática. O módulo não envia nenhum dado para um serviço externo.
Desinstalação
A desinstalação elimina as duas tabelas do módulo (diário dos 404 e redirecionamentos), os separadores do back-office e a configuração. Os redirecionamentos criados serão perdidos. É pedida uma confirmação antes da operação.
Se prevê reinstalar o módulo ou migrar, exporte primeiro os seus redirecionamentos em CSV a partir do ecrã de gestão.
Resolução de problemas
O bloco não aparece na página 404
- Verifique que a definição Enriquecer a página 404 está ativada.
- Limpe a cache do PrestaShop (Parâmetros avançados > Desempenho > Limpar a cache).
- Certifique-se de que o tema usa o controlador
pagenotfoundpadrão.
O bloco aparece sob o rodapé
Este caso é tratado desde a versão 1.0.0: o módulo visa a secção de conteúdo e não a etiqueta de fecho do contentor principal. Se ainda encontrar este comportamento, limpe a cache Smarty e comunique a estrutura do seu tema ao suporte.
Nenhum produto é sugerido
- Verifique que o Número de sugestões não está definido em 0.
- Num catálogo novo sem histórico de vendas, o recurso aos mais vendidos está vazio: o módulo passa então aos produtos recentes. Certifique-se de que tem pelo menos um produto ativo e visível.
O redirecionamento automático recusa-se a criar
É o comportamento esperado quando a pontuação de correspondência é demasiado baixa. Use o formulário guiado, que mostra as sugestões mesmo abaixo do limiar e permite introduzir um destino personalizado.
Um redirecionamento não se aplica
- Verifique que a definição Ativar o motor de redirecionamento está marcada.
- Verifique que a regra está ativa no ecrã de gestão.
- Verifique que a regra pertence à loja certa em contexto multiloja.
- Se estiver instalado outro módulo de redirecionamentos, pode intercetar o pedido a montante.
Suporte
12 meses de atualizações e 12 meses de suporte por e-mail estão incluídos na sua licença. O código-fonte PHP completo é fornecido, sem ofuscação.