{"id":75,"date":"2026-09-14T15:39:34","date_gmt":"2026-09-14T13:39:34","guid":{"rendered":"https:\/\/go-onagency.es\/modulos\/prestaward-facet-shield\/"},"modified":"2026-10-16T19:09:15","modified_gmt":"2026-10-16T17:09:15","slug":"prestaward-facet-shield","status":"publish","type":"page","link":"https:\/\/go-onagency.es\/pt\/modulos\/prestaward-facet-shield\/","title":{"rendered":"PrestaWard Facet Shield"},"content":{"rendered":"<section class=\"section product-hero product-hero--prestaward\">\n<div class=\"container product-hero__inner\">\n<div class=\"product-hero__copy\">\n<p class=\"eyebrow\">M\u00f3dulo PrestaShop<\/p>\n<h1>PrestaWard Facet Shield<\/h1>\n<p><strong>Prote\u00e7\u00e3o operacional para a navega\u00e7\u00e3o por facetas do PrestaShop.<\/strong> Deteta consultas de filtros excessivamente complexas e permite limitar apenas aquelas que podem prejudicar o desempenho da loja.<\/p>\n<p><strong>Distribui\u00e7\u00e3o exclusiva no PrestaShop Marketplace (Addons).<\/strong><\/p>\n<div class=\"product-hero__actions\">\n        <a class=\"button button--ghost\" href=\"https:\/\/go-onagency.es\/prestaward-facet-shield\/changelog\/pt\/\">Registo de altera\u00e7\u00f5es<\/a><br \/>\n        <a class=\"button button--ghost\" href=\"https:\/\/go-onagency.es\/prestaward-facet-shield\/prestaward-facet-shield-user-guide.pdf\" target=\"_blank\" rel=\"noopener\">Guia em PDF<\/a>\n      <\/div>\n<div id=\"facet-shield-gallery\" style=\"margin-top:20px\">\n<p style=\"margin:0 0 8px;font-size:13px;font-weight:600;color:#b6bcc7\">Capturas de ecr\u00e3<\/p>\n<div style=\"display:flex;flex-wrap:wrap;gap:12px\"><a href=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-facet-shield-gallery\/v0116-es-01-limites.png\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"display:block;width:150px;text-decoration:none;color:inherit\"><img decoding=\"async\" src=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-facet-shield-gallery\/v0116-es-01-limites-thumb.png\" alt=\"PrestaWard Facet Shield 0.1.16: pol\u00edtica de Prote\u00e7\u00e3o com modo de Observa\u00e7\u00e3o e limites por consulta\" width=\"150\" height=\"125\" loading=\"lazy\" style=\"display:block;width:150px;height:auto;border:1px solid #dce4eb;border-radius:6px\"><span style=\"display:block;margin-top:4px;font-size:12px;color:#b6bcc7\">Limites e modo<\/span><\/a><a href=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-facet-shield-gallery\/v0116-es-02-trafico.png\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"display:block;width:150px;text-decoration:none;color:inherit\"><img decoding=\"async\" src=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-facet-shield-gallery\/v0116-es-02-trafico-thumb.png\" alt=\"PrestaWard Facet Shield 0.1.16: limite de pedidos por endere\u00e7o e dete\u00e7\u00e3o de bots\" width=\"150\" height=\"125\" loading=\"lazy\" style=\"display:block;width:150px;height:auto;border:1px solid #dce4eb;border-radius:6px\"><span style=\"display:block;margin-top:4px;font-size:12px;color:#b6bcc7\">Tr\u00e1fego e bots<\/span><\/a><a href=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-facet-shield-gallery\/v0116-es-03-estadisticas.png\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"display:block;width:150px;text-decoration:none;color:inherit\"><img decoding=\"async\" src=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-facet-shield-gallery\/v0116-es-03-estadisticas-thumb.png\" alt=\"PrestaWard Facet Shield 0.1.16: pedidos analisados, limites e bloqueios efetivos\" width=\"150\" height=\"125\" loading=\"lazy\" style=\"display:block;width:150px;height:auto;border:1px solid #dce4eb;border-radius:6px\"><span style=\"display:block;margin-top:4px;font-size:12px;color:#b6bcc7\">Estat\u00edsticas de tr\u00e1fego<\/span><\/a><a href=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-facet-shield-gallery\/v0116-es-04-configuracion.png\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"display:block;width:150px;text-decoration:none;color:inherit\"><img decoding=\"async\" src=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-facet-shield-gallery\/v0116-es-04-configuracion-thumb.png\" alt=\"PrestaWard Facet Shield 0.1.16: alertas por e-mail, autoverifica\u00e7\u00e3o e simulador de consultas\" width=\"150\" height=\"125\" loading=\"lazy\" style=\"display:block;width:150px;height:auto;border:1px solid #dce4eb;border-radius:6px\"><span style=\"display:block;margin-top:4px;font-size:12px;color:#b6bcc7\">Alertas e simulador<\/span><\/a><\/div>\n<p style=\"margin:7px 0 0;font-size:11px;color:#b6bcc7\">Interface em espanhol \u00b7 vers\u00e3o 0.1.16<\/p>\n<\/div><\/div>\n<div class=\"product-hero__card\">\n      <span>Observa\u00e7\u00e3o + Prote\u00e7\u00e3o + Evid\u00eancia<\/span><\/p>\n<ul class=\"product-hero__checks\">\n<li>N\u00e3o altere ps_facetedsearch<\/li>\n<li>Comece sempre por Observa\u00e7\u00e3o<\/li>\n<li>M\u00e9tricas agregadas; sem endere\u00e7os IP guardados<\/li>\n<li>PrestaShop 1.7, 8 e 9<\/li>\n<\/ul><\/div>\n<\/p><\/div>\n<\/section>\n<section class=\"section product-page-main product-page-main--prestaward\">\n<div class=\"container product-page-layout\">\n<article class=\"product-page-content product-page-content--editable\">\n<h2>O que faz<\/h2>\n<p>A pesquisa por facetas pode criar combina\u00e7\u00f5es de filtros muito dispendiosas. Um pequeno volume de pedidos an\u00f3malos pode consumir recursos, abrandar categorias ou deixar uma loja inacess\u00edvel. O PrestaWard Facet Shield analisa essa complexidade antes de o m\u00f3dulo de facetas processar a consulta.<\/p>\n<p>N\u00e3o substitui o motor de busca nem altera os seus \u00edndices. Funciona como um disjuntor de alcance limitado: analisa o padr\u00e3o de cada pedido e, apenas quando a pol\u00edtica \u00e9 expressamente ativada, rejeita as combina\u00e7\u00f5es que excedem os limites configurados.<\/p>\n<h2>Como funciona<\/h2>\n<ol>\n<li><strong>Observe primeiro.<\/strong> Registe de forma agregada a complexidade dos pedidos HTML e AJAX da navega\u00e7\u00e3o por facetas.<\/li>\n<li><strong>Analise os dados.<\/strong> O Back Office apresenta pedidos analisados, dentro do limite, excedentes, bloqueios efetivos, histogramas e per\u00edodo estat\u00edstico.<\/li>\n<li><strong>Ajuste os limites.<\/strong> Pode controlar filtros, valores por faceta e pedidos mal formulados de acordo com o comportamento real do seu cat\u00e1logo, com limites pr\u00f3prios para uma categoria ou para todas as categorias de um n\u00edvel do cat\u00e1logo.<\/li>\n<li><strong>Ative a Prote\u00e7\u00e3o apenas quando estiver validada.<\/strong> A altera\u00e7\u00e3o requer confirma\u00e7\u00e3o e \u00e9 definida separadamente por loja.<\/li>\n<\/ol>\n<h2>O que inclui<\/h2>\n<ul>\n<li>Modo de Observa\u00e7\u00e3o seguro por predefini\u00e7\u00e3o e modo de Prote\u00e7\u00e3o expl\u00edcito.<\/li>\n<li>Inscri\u00e7\u00e3o autom\u00e1tica na Integrity API: sem necessidade de configurar contas nem chaves.<\/li>\n<li>An\u00e1lise precoce da complexidade para pedidos de navega\u00e7\u00e3o facetada em HTML e AJAX.<\/li>\n<li>Limites configur\u00e1veis por loja para facetas, valores e contexto do pedido.<\/li>\n<li>Painel com agregados por minuto, histograma de complexidade e motivos traduzidos de excesso.<\/li>\n<li>Painel de limites sugeridos: com base no tr\u00e1fego registado no modo Observa\u00e7\u00e3o, prop\u00f5e um valor para cada limite, mostra quantos pedidos s\u00e3o bloqueados pelos limites atuais e quantos seriam bloqueados pela sugest\u00e3o, e explica a causa principal em linguagem clara, por exemplo, que filtro de que categoria provoca a maior parte do excesso. Um bot\u00e3o aplica os quatro limites sugeridos \u00e0 loja selecionada sem alterar o modo.<\/li>\n<li>Sugest\u00f5es robustas: uma sugest\u00e3o nunca \u00e9 mais restritiva do que o limite por defeito nem excede a pol\u00edtica assinada do Integrity. Se algumas categorias concentrarem os pedidos que excedem um limite, a sugest\u00e3o \u00e9 calculada com base no restante, n\u00e3o flexibiliza esse limite e o painel explica que parte do excesso prov\u00e9m de quantas categorias.<\/li>\n<li>Estat\u00edsticas com reten\u00e7\u00e3o configur\u00e1vel (90 dias por predefini\u00e7\u00e3o, entre 30 e 365): os registos por minuto s\u00e3o agrupados por hora e os que expiram s\u00e3o eliminados em lotes em segundo plano, nunca enquanto se est\u00e1 a servir uma p\u00e1gina a um cliente.<\/li>\n<li>O diagn\u00f3stico de bots conserva as amostras mais recentes (500 por predefini\u00e7\u00e3o, configur\u00e1vel entre 50 e 5000) e descarta as mais antigas, em vez de deixar de as registar.<\/li>\n<li>O painel da cache de facetas, que distingue as tabelas de cache das de \u00edndices, mostra como o tamanho tem evolu\u00eddo nos \u00faltimos dias, com um aviso caso aumente rapidamente, e inclui uma liga\u00e7\u00e3o para a configura\u00e7\u00e3o nativa de <code>ps_facetedsearch<\/code>, onde se encontram as ferramentas para reconstruir \u00edndices e esvaziar a cache. O Facet Shield apenas l\u00ea estas tabelas e nunca as altera nem as apaga.<\/li>\n<li>Painel significativamente mais r\u00e1pido em lojas com elevado tr\u00e1fego registado: calcula estat\u00edsticas, tend\u00eancias e limites sugeridos com duas leituras e guarda o resultado durante dez minutos num ficheiro de cache descart\u00e1vel.<\/li>\n<li>Sincroniza\u00e7\u00e3o com o Integrity ao abrir o painel, atrav\u00e9s de um pedido em segundo plano que n\u00e3o atrasa o carregamento da p\u00e1gina e, no m\u00e1ximo, uma vez por minuto e por loja.<\/li>\n<li>Limites por categoria e por n\u00edvel do cat\u00e1logo: uma categoria, ou todas as de um n\u00edvel, pode ter os seus pr\u00f3prios limites (tamanho da consulta, facetas, valores totais e valores numa faceta); um limite em branco utiliza o n\u00edvel seguinte e os limites globais continuam a ser a base. A pol\u00edtica assinada da Integrity tamb\u00e9m limita os limites por categoria.<\/li>\n<li>Limites sugeridos por categoria: o painel apresenta as categorias que necessitam de um novo limite, indicando o n\u00famero de pedidos a partir do qual seriam bloqueadas atualmente e a sugest\u00e3o de limite, e permite aplicar um limite a uma categoria com um clique. Uma categoria que pare\u00e7a ser de explora\u00e7\u00e3o automatizada nunca \u00e9 flexibilizada.<\/li>\n<li>Prote\u00e7\u00e3o piloto por categoria: com a loja em \u00abObserva\u00e7\u00e3o\u00bb, pode fazer com que apenas as categorias que escolher sejam bloqueadas, enquanto as restantes permanecem em \u00abObserva\u00e7\u00e3o\u00bb. Requer uma pol\u00edtica de Integrity v\u00e1lida e assinada, bem como uma confirma\u00e7\u00e3o expl\u00edcita por categoria, e basta um clique para a desativar.<\/li>\n<li>Limite de pedidos por endere\u00e7o (opcional): conta os pedidos filtrados por minuto e por endere\u00e7o (30 por minuto por predefini\u00e7\u00e3o, entre 5 e 600). Acima do limite, na op\u00e7\u00e3o \u00abProte\u00e7\u00e3o\u00bb, o endere\u00e7o \u00e9 bloqueado temporariamente (uma hora por predefini\u00e7\u00e3o, at\u00e9 24) com o c\u00f3digo de estado HTTP 429 e o par\u00e2metro \u00abRetry-After\u00bb; na op\u00e7\u00e3o \u00abObserva\u00e7\u00e3o\u00bb, apenas \u00e9 contabilizado. N\u00e3o \u00e9 guardado nenhum endere\u00e7o IP, apenas um hash com chave que \u00e9 eliminado pouco depois do t\u00e9rmino do bloqueio, pelo que n\u00e3o existe uma lista negra permanente. Os endere\u00e7os e intervalos da sua lista de endere\u00e7os autorizados nunca s\u00e3o contabilizados e uma falha na base de dados nunca bloqueia um cliente.<\/li>\n<li>Motores de busca verificados: na sec\u00e7\u00e3o \u00abProte\u00e7\u00e3o\u00bb, um Googlebot ou Bingbot cujo DNS inverso e direto coincidam com os servidores oficiais recebe uma resposta simplificada com \u00abnoindex\u00bb e a URL can\u00f3nica da categoria, em vez de um erro 403, de modo que a URL do filtro \u00e9 retirada do \u00edndice sem executar o SQL de facetas. A consulta \u00e9 feita apenas a quem se identifica como um desses motores de busca.<\/li>\n<li>Sinais de falsos positivos: os pedidos que excedem os limites s\u00e3o tamb\u00e9m contabilizados quando prov\u00eam de um cliente com sess\u00e3o iniciada, de um motor de busca verificado ou de uma sequ\u00eancia r\u00e1pida de dez ou mais por minuto, e as estat\u00edsticas apresentam os tr\u00eas valores com a respetiva propor\u00e7\u00e3o.<\/li>\n<li>Alertas por e-mail (opcionais), com a configura\u00e7\u00e3o de e-mail da loja: crescimento r\u00e1pido da cache (no m\u00e1ximo uma vez por dia), picos de pedidos bloqueados (no m\u00e1ximo a cada seis horas) e um resumo semanal, para at\u00e9 cinco destinat\u00e1rios \u00e0 sua escolha, com um bot\u00e3o para enviar um e-mail de teste. Sem PDFs nem links no texto, e enviados a partir da manuten\u00e7\u00e3o em segundo plano, nunca ao apresentar uma p\u00e1gina a um cliente.<\/li>\n<li>Limpeza autom\u00e1tica da cache (opcional): quando a cache da pesquisa por facetas ultrapassar o tamanho que escolher, o Facet Shield solicita ao <code>ps_facetedsearch<\/code> que esvazie a sua pr\u00f3pria cache atrav\u00e9s do m\u00e9todo disponibilizado por esse m\u00f3dulo, no m\u00e1ximo uma vez por dia, e regista essa a\u00e7\u00e3o no registo de suporte. Se a vers\u00e3o instalada n\u00e3o dispuser desse m\u00e9todo, nada ser\u00e1 alterado.<\/li>\n<li>Aviso sobre vers\u00f5es vulner\u00e1veis do <code>ps_facetedsearch<\/code> (da 3.0.0 \u00e0 4.0.3, CVE-2026-54159, corrigido na vers\u00e3o 4.0.4), com base numa pequena tabela inclu\u00edda no m\u00f3dulo, sem necessidade de efetuar qualquer download.<\/li>\n<li>Painel com separadores (Resumo, Limites e categorias, Tr\u00e1fego e bots, Estat\u00edsticas, Cache e manuten\u00e7\u00e3o e Configura\u00e7\u00e3o, al\u00e9m de um separador Suporte, sempre o \u00faltimo): apenas \u00e9 calculada a aba aberta e o Resumo apresenta o modo, as \u00faltimas 24 horas, uma a\u00e7\u00e3o principal e, no m\u00e1ximo, uma linha de alerta.<\/li>\n<li>Reposi\u00e7\u00e3o protegida das estat\u00edsticas por loja.<\/li>\n<li>O separador \u00abLimites e categorias\u00bb est\u00e1 organizado em cart\u00f5es: limites globais, impacto das sugest\u00f5es com bot\u00f5es de tamanho normal e tabela de regras por categoria com um formul\u00e1rio para adicionar outra. O separador \u00abCache\u00bb utiliza blocos expans\u00edveis e uma \u00fanica linha de estat\u00edsticas.<\/li>\n<li>E-mails de alerta com o log\u00f3tipo da sua loja no cabe\u00e7alho e, no rodap\u00e9, o log\u00f3tipo da GO ON Agency com a assinatura \u00abPrestaWard by GO ON Agency\u00bb.<\/li>\n<li>Aspecto unificado do painel nos quatro m\u00f3dulos PrestaWard: cabe\u00e7alhos de sec\u00e7\u00e3o, cart\u00f5es de formul\u00e1rio com bordas neutras e blocos expans\u00edveis comuns, estat\u00edsticas numa \u00fanica linha e um log\u00f3tipo da GO ON Agency de maiores dimens\u00f5es no cabe\u00e7alho. O bot\u00e3o principal passa a ter uma cor s\u00f3lida da marca, sem gradiente.<\/li>\n<li>Respostas de bloqueio compreens\u00edveis (HTTP 403 ou HTTP 429 com \u00abRetry-After\u00bb no limite por endere\u00e7o), sem revelar detalhes internos da pol\u00edtica.<\/li>\n<li>Exclus\u00e3o de categorias espec\u00edficas da an\u00e1lise de complexidade, com altera\u00e7\u00f5es audit\u00e1veis.<\/li>\n<li>Aviso no painel quando a cache estimada da pesquisa por facetas atingir o tamanho que definir.<\/li>\n<li>Painel de suporte da GO ON Agency com um relat\u00f3rio de diagn\u00f3stico descarreg\u00e1vel. \u00c9 descarregado por um funcion\u00e1rio com permiss\u00e3o de edi\u00e7\u00e3o, tendo selecionado uma loja. Cont\u00e9m apenas vers\u00f5es, estados e contadores, n\u00e3o inclui URL de pedidos, endere\u00e7os IP nem credenciais e n\u00e3o \u00e9 enviado automaticamente.<\/li>\n<li>Liga\u00e7\u00e3o ao PrestaWard Integrity, cuja pol\u00edtica assinada s\u00f3 pode refor\u00e7ar os seus limites, nunca flexibiliz\u00e1-los. No ecr\u00e3 do m\u00f3dulo, o bot\u00e3o \u00abSincronizar\u00bb atualiza a liga\u00e7\u00e3o.<\/li>\n<li>Painel e tradu\u00e7\u00f5es em nove idiomas.<\/li>\n<\/ul>\n<h2>Limites a rever<\/h2>\n<p>Antes de que PrestaShop construa a consulta de produtos, o Facet Shield analisa o par\u00e2metro de filtros da pesquisa por facetas. Os limites iniciais s\u00e3o de 256 bytes para o filtro, 8 facetas, 16 valores no total e 6 valores por faceta, rejeitando os pedidos com filtros mal formados. Pode alter\u00e1-los para cada loja e, al\u00e9m disso, definir limites pr\u00f3prios para uma categoria ou para todas as categorias de um n\u00edvel do cat\u00e1logo. Uma solicita\u00e7\u00e3o que exceda qualquer um destes limites \u00e9 considerada um excesso.<\/p>\n<h2>Requisitos<\/h2>\n<ul>\n<li>PrestaShop desde a vers\u00e3o 1.7.7 at\u00e9 \u00e0 9 e a vers\u00e3o do PHP exigida pela sua vers\u00e3o do PrestaShop (PHP 7.1 ou superior no PrestaShop 1.7).<\/li>\n<li>Uma loja que utilize a pesquisa por facetas do PrestaShop: o m\u00f3dulo analisa o par\u00e2metro de filtros (<code>q<\/code>) das p\u00e1ginas de categorias e de pesquisa.<\/li>\n<li>Para ativar a Prote\u00e7\u00e3o, a loja tem de ter registado, pelo menos, um pedido de facetas no modo Observa\u00e7\u00e3o.<\/li>\n<li>Os alertas por e-mail utilizam a configura\u00e7\u00e3o de e-mail da loja.<\/li>\n<li>Os limites, o modo e as estat\u00edsticas s\u00e3o espec\u00edficos de cada loja. Para descarregar o relat\u00f3rio de suporte ou alterar o diagn\u00f3stico de bots, selecione uma loja espec\u00edfica.<\/li>\n<\/ul>\n<h2>Privacidade e \u00e2mbito de aplica\u00e7\u00e3o<\/h2>\n<p>Por predefini\u00e7\u00e3o, o Facet Shield guarda apenas m\u00e9tricas agregadas de complexidade. Se ativar o diagn\u00f3stico de bots, que est\u00e1 desativado por predefini\u00e7\u00e3o, este conserva uma amostra limitada dos pedidos que excedem os limites: at\u00e9 512 caracteres do filtro de facetas, o motivo, o tipo de p\u00e1gina, a categoria, o agente do utilizador (at\u00e9 255 caracteres), o contador e as datas. Nunca guarda endere\u00e7os IP, cookies nem URLs completas. Se ativar o limite por endere\u00e7o, apenas guarda um hash com a chave do endere\u00e7o, que \u00e9 eliminado automaticamente pouco depois de terminar o bloqueio. Os registos mais antigos s\u00e3o automaticamente eliminados quando se ultrapassa o limite m\u00e1ximo que configurar (500 por predefini\u00e7\u00e3o); o administrador pode elimin\u00e1-los a partir do m\u00f3dulo e estes podem ser exportados.<\/p>\n<p>O seu \u00e2mbito de aplica\u00e7\u00e3o \u00e9 a navega\u00e7\u00e3o por facetas nas categorias e nas pesquisas, tanto em pedidos normais como em AJAX. N\u00e3o analisa pedidos sem filtros, nem o carrinho, a encomenda, os formul\u00e1rios, os clientes ou o acesso administrativo; para tal, s\u00e3o necess\u00e1rios controlos espec\u00edficos.<\/p>\n<h2>O que n\u00e3o faz<\/h2>\n<ul>\n<li>N\u00e3o se trata de um firewall de aplica\u00e7\u00f5es web (WAF): \u00e9 uma defesa adicional limitada aos filtros da pesquisa por facetas.<\/li>\n<li>N\u00e3o substitui nem corrige o <code>ps_facetedsearch<\/code> e n\u00e3o altera os seus \u00edndices. N\u00e3o limpa as caches por iniciativa pr\u00f3pria: apenas se ativar a limpeza autom\u00e1tica, solicita a esse m\u00f3dulo que esvazie a sua pr\u00f3pria cache atrav\u00e9s do m\u00e9todo que este disponibiliza, no m\u00e1ximo uma vez por dia, e nunca apaga as suas tabelas. Deve manter atualizados o PrestaShop e esse m\u00f3dulo.<\/li>\n<li>N\u00e3o bloqueia nada no modo de Observa\u00e7\u00e3o, exceto as categorias que tenha colocado expressamente em Prote\u00e7\u00e3o piloto, e apenas enquanto existir uma pol\u00edtica de Integrity v\u00e1lida e assinada. Se a pol\u00edtica expirar, o m\u00f3dulo volta a limitar-se a observar at\u00e9 que seja renovada.<\/li>\n<li>N\u00e3o mant\u00e9m listas negras permanentes de endere\u00e7os: o bloqueio devido ao limite por endere\u00e7o \u00e9 tempor\u00e1rio e \u00e9 eliminado automaticamente.<\/li>\n<li>N\u00e3o realiza qualquer a\u00e7\u00e3o se o pedido n\u00e3o incluir filtros.<\/li>\n<li>O rodap\u00e9 dos e-mails do m\u00f3dulo n\u00e3o cont\u00e9m links, endere\u00e7os de contacto nem imagens alojadas fora da sua loja: o log\u00f3tipo da GO ON Agency \u00e9 um ficheiro do pr\u00f3prio m\u00f3dulo que \u00e9 servido a partir da sua loja.<\/li>\n<\/ul>\n<h2>Compatibilidade e valida\u00e7\u00e3o<\/h2>\n<p>O m\u00f3dulo declara ser compat\u00edvel com o PrestaShop 1.7.7 a 9. A vers\u00e3o 0.1.16 superou os testes de laborat\u00f3rio no PrestaShop 1.7, 8 e 9 a 15 de outubro de 2026, tanto numa instala\u00e7\u00e3o nova como numa atualiza\u00e7\u00e3o a partir da vers\u00e3o 0.1.15. Antes de ativar, verifique a instala\u00e7\u00e3o, os filtros habituais, a Observa\u00e7\u00e3o, a Prote\u00e7\u00e3o, a atualiza\u00e7\u00e3o e a desinstala\u00e7\u00e3o na sua combina\u00e7\u00e3o espec\u00edfica de PrestaShop, PHP, tema e m\u00f3dulos.<\/p>\n<h2>Utiliza\u00e7\u00e3o segura<\/h2>\n<p>N\u00e3o ative a Prote\u00e7\u00e3o durante a instala\u00e7\u00e3o. Deixe o m\u00f3dulo em Observa\u00e7\u00e3o, navegue pelas categorias e filtros habituais, analise as estat\u00edsticas e defina limites que n\u00e3o afetem os clientes leg\u00edtimos. Se um limite bloquear a navega\u00e7\u00e3o real, volte ao modo Observa\u00e7\u00e3o, corrija o limiar e valide novamente.<\/p>\n<h2>\u00c9 necess\u00e1ria uma atualiza\u00e7\u00e3o de seguran\u00e7a<\/h2>\n<p>O Facet Shield adiciona uma defesa espec\u00edfica contra assinaturas completas de serializa\u00e7\u00e3o PHP em consultas de facetas, mesmo que uma categoria esteja exclu\u00edda. N\u00e3o substitui a corre\u00e7\u00e3o oficial: para resolver a vulnerabilidade conhecida do m\u00f3dulo de facetas, deve atualizar <code>ps_facetedsearch<\/code> para a vers\u00e3o <strong>4.0.4 ou posterior<\/strong>. O painel avisa-o caso detete uma vers\u00e3o afetada (da 3.0.0 \u00e0 4.0.3, CVE-2026-54159).<\/p>\n<h2>Licen\u00e7a<\/h2>\n<p>O PrestaWard Facet Shield \u00e9 distribu\u00eddo ao abrigo da licen\u00e7a Academic Free License 3.0 (AFL-3.0). Pode utiliz\u00e1-lo, estud\u00e1-lo, modific\u00e1-lo e redistribu\u00ed-lo de acordo com os seus termos. O pacote do m\u00f3dulo inclui a licen\u00e7a completa.<\/p>\n<h2 id=\"registro-de-cambios\">Hist\u00f3rico de vers\u00f5es<\/h2>\n<p>Este hist\u00f3rico resume, vers\u00e3o a vers\u00e3o, o impacto para as lojas e as equipas de com\u00e9rcio eletr\u00f3nico.<\/p>\n<h3>0.1.16<\/h3>\n<ul>\n<li>Novo: limites por categoria e por n\u00edvel do cat\u00e1logo. Uma categoria, ou todas as de um n\u00edvel, pode ter os seus pr\u00f3prios limites (tamanho da consulta, facetas, valores totais e valores numa faceta); um limite em branco utiliza o n\u00edvel seguinte e os limites globais continuam a servir de base. Uma pol\u00edtica assinada da Integrity tamb\u00e9m limita os limites por categoria.<\/li>\n<li>Novo: limites sugeridos por categoria. O painel apresenta as categorias que necessitam de um limite diferente, indicando o n\u00famero de pedidos a partir do qual seriam bloqueadas atualmente e a sugest\u00e3o correspondente, e permite aplicar um limite a uma categoria com um clique. Reutiliza a regra rigorosa da sugest\u00e3o global: uma categoria que pare\u00e7a ser de explora\u00e7\u00e3o automatizada nunca \u00e9 flexibilizada.<\/li>\n<li>Novo: Prote\u00e7\u00e3o piloto por categoria. Com a loja em \u00abObserva\u00e7\u00e3o\u00bb, as categorias que selecionar poder\u00e1 bloquear, enquanto as restantes ficam apenas em observa\u00e7\u00e3o. Requer uma pol\u00edtica do Integrity v\u00e1lida e assinada (sem ela, o Facet Shield fica apenas em observa\u00e7\u00e3o, tal como anteriormente) e uma confirma\u00e7\u00e3o expl\u00edcita por categoria; para interromper o piloto, basta um clique.<\/li>\n<li>Novo: limite de pedidos por endere\u00e7o, opcional. Conta os pedidos filtrados por minuto e por endere\u00e7o (30 por minuto por predefini\u00e7\u00e3o, entre 5 e 600); acima do limite, na op\u00e7\u00e3o \u00abProte\u00e7\u00e3o\u00bb, o endere\u00e7o \u00e9 bloqueado temporariamente (uma hora por predefini\u00e7\u00e3o, at\u00e9 24) com o c\u00f3digo de estado HTTP 429 e \u00abRetry-After\u00bb, e na op\u00e7\u00e3o \u00abObserva\u00e7\u00e3o\u00bb \u00e9 apenas contabilizado. N\u00e3o \u00e9 guardado nenhum endere\u00e7o IP: apenas um hash com chave que \u00e9 eliminado pouco depois do fim do bloqueio, pelo que n\u00e3o existe uma lista negra permanente. O endere\u00e7o \u00e9 aquele que o PrestaShop resolve (atrav\u00e9s dos proxies de confian\u00e7a); os endere\u00e7os e intervalos da sua lista de endere\u00e7os permitidos nunca s\u00e3o contabilizados e um problema na base de dados nunca bloqueia um cliente.<\/li>\n<li>Novo: motores de busca verificados. Na sec\u00e7\u00e3o \u00abProte\u00e7\u00e3o\u00bb, um Googlebot ou Bingbot cujo DNS inverso e direto coincidam com os servidores oficiais recebe uma resposta simplificada com \u00abnoindex\u00bb e a URL can\u00f3nica da categoria, em vez de um erro 403; assim, a URL do filtro \u00e9 removida do \u00edndice e n\u00e3o \u00e9 executado qualquer SQL de facetas. A consulta \u00e9 feita apenas a quem se identifica como um desses motores de busca; o veredicto \u00e9 armazenado em cache (24 horas se for v\u00e1lido, uma hora caso contr\u00e1rio) e as consultas s\u00e3o limitadas por minuto para toda a loja.<\/li>\n<li>Sinais de falsos positivos: os pedidos que excedem os limites s\u00e3o igualmente contabilizados quando prov\u00eam de um cliente com sess\u00e3o iniciada, de um motor de busca verificado ou de uma rajada r\u00e1pida de dez ou mais por minuto, e as estat\u00edsticas apresentam esses tr\u00eas valores com a respetiva propor\u00e7\u00e3o. As rajadas s\u00e3o medidas enquanto o limite por endere\u00e7o estiver ativado.<\/li>\n<li>Novo: alertas por e-mail, opcionais, com a configura\u00e7\u00e3o de e-mail da loja: crescimento r\u00e1pido da cache (no m\u00e1ximo uma vez por dia), picos de pedidos bloqueados (no m\u00e1ximo a cada seis horas) e um resumo semanal separado, para at\u00e9 cinco destinat\u00e1rios \u00e0 sua escolha e com um bot\u00e3o de e-mail de teste. Sem PDF nem links no texto. S\u00e3o enviados a partir da manuten\u00e7\u00e3o em segundo plano, nunca ao servir uma p\u00e1gina a um cliente.<\/li>\n<li>Novo: limpeza autom\u00e1tica da cache, opcional. Quando a cache da pesquisa por facetas ultrapassar o tamanho que escolher, o Facet Shield solicita ao ps_facetedsearch que esvazie a sua pr\u00f3pria cache atrav\u00e9s do m\u00e9todo que esse m\u00f3dulo disponibiliza, no m\u00e1ximo uma vez por dia, e regista essa a\u00e7\u00e3o no registo de suporte. Se a vers\u00e3o instalada n\u00e3o dispuser desse m\u00e9todo, nada ser\u00e1 alterado. O Facet Shield continua a nunca apagar as tabelas de outro m\u00f3dulo.<\/li>\n<li>Aviso sobre vers\u00f5es vulner\u00e1veis do ps_facetedsearch, com base numa pequena tabela inclu\u00edda no m\u00f3dulo (n\u00e3o \u00e9 necess\u00e1rio fazer qualquer download): as vers\u00f5es da 3.0.0 \u00e0 4.0.3 est\u00e3o afetadas pela CVE-2026-54159, corrigida na vers\u00e3o 4.0.4, e o painel recomenda a atualiza\u00e7\u00e3o.<\/li>\n<li>O painel est\u00e1 organizado em separadores (Resumo, Limites e categorias, Tr\u00e1fego e bots, Estat\u00edsticas, Cache e manuten\u00e7\u00e3o e Configura\u00e7\u00e3o). O Resumo apresenta apenas o modo, as \u00faltimas 24 horas, uma a\u00e7\u00e3o principal e, no m\u00e1ximo, uma linha de alerta; apenas \u00e9 calculado o separador que se encontra aberto. O painel de suporte da GO ON Agency tem a sua pr\u00f3pria aba, \u00abSuporte\u00bb, sempre a \u00faltima, e o estado do Integrity fica no final de todas as abas. O cabe\u00e7alho apresenta agora o log\u00f3tipo da GO ON Agency.<\/li>\n<li>O separador \u00abLimites e categorias\u00bb est\u00e1 organizado em cart\u00f5es: limites globais, impacto das sugest\u00f5es com bot\u00f5es de tamanho normal e tabela de regras por categoria com um formul\u00e1rio para adicionar outra. O separador \u00abCache\u00bb utiliza blocos expans\u00edveis e uma \u00fanica linha de estat\u00edsticas.<\/li>\n<li>Os e-mails de alerta apresentam o log\u00f3tipo da sua loja no cabe\u00e7alho (com o nome da loja como texto alternativo) e um rodap\u00e9 comum com o log\u00f3tipo da GO ON Agency e a assinatura \u00abPrestaWard by GO ON Agency\u00bb, sem links nem endere\u00e7os de contacto. O log\u00f3tipo do rodap\u00e9 \u00e9 um ficheiro do pr\u00f3prio m\u00f3dulo, disponibilizado a partir da sua loja.<\/li>\n<li>Aspecto unificado do painel nos quatro m\u00f3dulos PrestaWard: cabe\u00e7alhos de sec\u00e7\u00e3o, cart\u00f5es de formul\u00e1rio com bordas neutras e blocos expans\u00edveis comuns, estat\u00edsticas numa \u00fanica linha e um log\u00f3tipo da GO ON Agency de maiores dimens\u00f5es no cabe\u00e7alho. O bot\u00e3o principal passa a ter uma cor s\u00f3lida da marca, sem gradiente.<\/li>\n<li>Corrige o facto de, no PrestaShop 9, o tema de administra\u00e7\u00e3o apresentar os separadores sublinhados como liga\u00e7\u00f5es e os t\u00edtulos das sec\u00e7\u00f5es em mai\u00fasculas. Os estilos comuns neutralizam este efeito apenas no painel do PrestaWard, pelo que o PrestaShop 1.7 e 8 mant\u00eam o aspeto anterior.<\/li>\n<li>Corrige o facto de, no PrestaShop 1.7, a folha de estilos do m\u00f3dulo ser rejeitada ao registar-se com o n\u00famero da vers\u00e3o no endere\u00e7o. Agora, o ficheiro \u00e9 verificado e registado sem par\u00e2metros, de modo a que o novo aspeto apare\u00e7a nas vers\u00f5es 1.7, 8 e 9.<\/li>\n<li>Corrige o facto de, n\u00e3o PrestaShop 9, os formul\u00e1rios de a\u00e7\u00e3o do painel e a sincroniza\u00e7\u00e3o com o Integrity verificarem o token de seguran\u00e7a atrav\u00e9s de um m\u00e9todo que o PrestaShop 9 n\u00e3o utiliza, o que poderia levar \u00e0 rejei\u00e7\u00e3o dos mesmos. Agora a valida\u00e7\u00e3o \u00e9 efetuada atrav\u00e9s do servi\u00e7o do PrestaShop 9; no PrestaShop 1.7 e 8, a verifica\u00e7\u00e3o permanece inalterada.<\/li>\n<li>Quando a liga\u00e7\u00e3o ao Integrity n\u00e3o puder ser atualizada nesse momento, o painel apresenta uma \u00fanica mensagem: a liga\u00e7\u00e3o guardada continua v\u00e1lida e ser\u00e1 tentada novamente de forma autom\u00e1tica. Os r\u00f3tulos de todos os separadores est\u00e3o traduzidos para os nove idiomas.<\/li>\n<li>Corrige o facto da liga\u00e7\u00e3o com o Integrity se deteriorar no contexto \u00abtodas as lojas\u00bb: a identidade da instala\u00e7\u00e3o \u00e9 agora lida como uma unidade a partir do \u00e2mbito global (ou da loja onde est\u00e1 guardada) em qualquer contexto; a atualiza\u00e7\u00e3o transfere para o \u00e2mbito global uma identidade guardada numa loja sem a regenerar e, caso n\u00e3o seja poss\u00edvel l\u00ea-la, o estado do Integrity \u00e9 mantido tal como estava.<\/li>\n<li>Corrige o facto de a tabela do separador \u00abCache\u00bb se deslocar alguns p\u00edxeis para os lados no ecr\u00e3 de computador: o contentor ocupa agora o espa\u00e7o entre as suas margens.<\/li>\n<li>Todos os novos textos est\u00e3o dispon\u00edveis nos nove idiomas do m\u00f3dulo. A atualiza\u00e7\u00e3o adiciona uma pequena tabela e tr\u00eas contadores \u00e0s estat\u00edsticas de pedidos e, por si s\u00f3, n\u00e3o ativa nada; o contrato com a Integrity API n\u00e3o se altera e uma pol\u00edtica assinada v\u00e1lida continua a poder apenas tornar os limites mais restritivos.<\/li>\n<\/ul>\n<h3>0.1.15<\/h3>\n<ul>\n<li>As estat\u00edsticas de pedidos deixam de crescer sem limites: a cada hora, os registos por minuto com mais de uma hora s\u00e3o agrupados num \u00fanico registo por hora, sem alterar os totais nem os gr\u00e1ficos, e os registos anteriores ao novo prazo \u00abConserva\u00e7\u00e3o de estat\u00edsticas (dias)\u00bb (90 por predefini\u00e7\u00e3o, entre 30 e 365) s\u00e3o eliminados em pequenos lotes em segundo plano, nunca enquanto se est\u00e1 a servir uma p\u00e1gina a um cliente.<\/li>\n<li>O diagn\u00f3stico de bots j\u00e1 n\u00e3o interrompe a recolha de amostras ao atingir 500: conserva as mais recentes e descarta as mais antigas. Esta funcionalidade \u00e9 controlada pela configura\u00e7\u00e3o \u00abAmostras de diagn\u00f3stico a conservar\u00bb (500 por predefini\u00e7\u00e3o, entre 50 e 5000).<\/li>\n<li>Novo painel \u00abLimites sugeridos\u00bb: com base no tr\u00e1fego registado no modo Observa\u00e7\u00e3o, prop\u00f5e um valor para cada limite (tamanho da consulta, facetas, valores totais e valores numa faceta), mostra quantos pedidos s\u00e3o bloqueados pelos limites atuais e quantos seriam bloqueados pela sugest\u00e3o, e explica a causa principal, por exemplo, que filtro de que categoria provoca mais excessos. Um bot\u00e3o aplica os quatro limites sugeridos \u00e0 loja selecionada sem alterar o modo.<\/li>\n<li>As sugest\u00f5es nunca s\u00e3o mais rigorosas do que o limite por defeito, nunca flexibilizam um limite e respeitam a pol\u00edtica assinada do Integrity quando esta \u00e9 mais rigorosa. Se algumas categorias concentrarem os pedidos que excedem um limite, a sugest\u00e3o \u00e9 calculada com base no restante; o painel indica que parte do excesso prov\u00e9m de quantas categorias e esse limite n\u00e3o \u00e9 alterado ao aplicar a sugest\u00e3o.<\/li>\n<li>O painel da cache da pesquisa por facetas distingue as tabelas de cache das tabelas de \u00edndices, mostra como o seu tamanho tem evolu\u00eddo nos \u00faltimos dias com um aviso caso aumente rapidamente, identifica as lojas onde o ps_facetedsearch est\u00e1 em falta ou desativado e fornece uma liga\u00e7\u00e3o para a sua configura\u00e7\u00e3o nativa. O Facet Shield apenas l\u00ea essas tabelas: nunca as altera nem as apaga.<\/li>\n<li>O painel \u00e9 muito mais r\u00e1pido em lojas com elevado tr\u00e1fego de registos: com mais de meio milh\u00e3o de registos, o tempo de carregamento passa de cerca de 20 segundos para apenas alguns segundos, e para uma fra\u00e7\u00e3o de segundo se for reaberto em menos de dez minutos. Os valores apresentados n\u00e3o se alteram.<\/li>\n<li>Todos os novos textos est\u00e3o dispon\u00edveis nos nove idiomas do m\u00f3dulo.<\/li>\n<li>O painel de suporte e diagn\u00f3stico \u00e9 colocado imediatamente antes da sec\u00e7\u00e3o Integrity, tal como nos restantes m\u00f3dulos PrestaWard, e, no contexto \u00abtodas as lojas\u00bb, j\u00e1 n\u00e3o desaparece: indica que \u00e9 necess\u00e1rio selecionar uma loja.<\/li>\n<li>Sincroniza com o Integrity sempre que abrir o painel, atrav\u00e9s de um pedido em segundo plano que nunca atrasa a p\u00e1gina e, no m\u00e1ximo, uma vez por minuto por loja.<\/li>\n<\/ul>\n<h3>0.1.14<\/h3>\n<ul>\n<li>Deixa de tentar novamente a inscri\u00e7\u00e3o no Integrity quando a chave de registo da loja \u00e9 alterada e apresenta um aviso claro.<\/li>\n<li>Renove a pol\u00edtica de Integrity assinada antes que expire e mantenha a pol\u00edtica em vigor e os seus limites caso a renova\u00e7\u00e3o falhe.<\/li>\n<li>Uma pol\u00edtica assinada do Integrity s\u00f3 pode tornar mais rigorosos os limites configurados na loja, nunca flexibiliz\u00e1-los: no que diz respeito ao tamanho, ao n\u00famero de facetas, de valores e de valores por faceta, aplica-se o valor mais baixo entre o seu limite e o da pol\u00edtica, e o modo (Observa\u00e7\u00e3o ou Prote\u00e7\u00e3o) \u00e9 decidido por si.<\/li>\n<li>Corrige a chave de pol\u00edtica inclu\u00edda para que funcione no PHP 7.1 e 7.2.<\/li>\n<li>Adiciona o painel de suporte da GO ON Agency em nove idiomas, com um relat\u00f3rio de diagn\u00f3stico descarreg\u00e1vel que n\u00e3o inclui dados de clientes nem \u00e9 enviado automaticamente. S\u00f3 pode ser descarregado por um funcion\u00e1rio com permiss\u00e3o de edi\u00e7\u00e3o e com uma loja selecionada.<\/li>\n<li>Declara compatibilidade a partir do PrestaShop 1.7.7.0, a vers\u00e3o mais antiga testada.<\/li>\n<\/ul>\n<h3>0.1.13<\/h3>\n<ul>\n<li>Corrige o teste de inscri\u00e7\u00e3o e as tarefas do Back Office no PrestaShop 9.<\/li>\n<li>Aceita os dois formatos v\u00e1lidos de URL de teste de propriedade com valida\u00e7\u00e3o rigorosa.<\/li>\n<li>Melhora o diagn\u00f3stico e as novas tentativas de inscri\u00e7\u00e3o no Integrity.<\/li>\n<\/ul>\n<h3>0.1.12<\/h3>\n<ul>\n<li>A desinstala\u00e7\u00e3o elimina tamb\u00e9m a tabela de exclus\u00f5es por categoria e todas as chaves de configura\u00e7\u00e3o do Integrity (fase de instala\u00e7\u00e3o, teste de inscri\u00e7\u00e3o, credencial selada e chaves), sem deixar rasto.<\/li>\n<li>Foram adicionados os <code>index.php<\/code> de prote\u00e7\u00e3o que faltavam e a verifica\u00e7\u00e3o de acesso direto atrav\u00e9s de <code>_PS_VERSION_<\/code> no controlador do Back Office e nos tr\u00eas \u00faltimos scripts de atualiza\u00e7\u00e3o, tal como nos restantes pontos de entrada do m\u00f3dulo.<\/li>\n<li>Adota o sistema de design partilhado do PrestaWard: o painel do Back Office utiliza o cabe\u00e7alho escuro comum, o indicador de estado unificado (Desativado\/A observar\/A proteger) e o painel \u00abMonitoriza\u00e7\u00e3o GO ON\u00bb, fornecidos a partir de uma \u00fanica folha de estilos partilhada e alojada localmente.<\/li>\n<\/ul>\n<h3>0.1.11 \u2014 atualiza\u00e7\u00e3o de seguran\u00e7a<\/h3>\n<ul>\n<li>As exclus\u00f5es por categoria apenas evitam a an\u00e1lise normal de complexidade: as assinaturas completas de serializa\u00e7\u00e3o PHP continuam a ser analisadas, registadas e bloqueadas sempre no modo de Prote\u00e7\u00e3o.<\/li>\n<li>Fica documentado que \u00e9 necess\u00e1ria a vers\u00e3o 4.0.4 ou posterior do <code>ps_facetedsearch<\/code> para corrigir a vulnerabilidade CVE-2026-54159; o Facet Shield continua a ser uma medida de defesa em profundidade, n\u00e3o um substituto da corre\u00e7\u00e3o oficial.<\/li>\n<\/ul>\n<h3>0.1.10<\/h3>\n<ul>\n<li>Simulador de URL local ou <code>q<\/code>, tend\u00eancia di\u00e1ria baseada em agregados existentes e exporta\u00e7\u00f5es CSV limitadas.<\/li>\n<li>Exclus\u00f5es audit\u00e1veis por categoria, com motivo obrigat\u00f3rio e elimina\u00e7\u00e3o l\u00f3gica; n\u00e3o s\u00e3o exclu\u00eddos endere\u00e7os IP nem user-agent.<\/li>\n<li>A primeira ativa\u00e7\u00e3o da Prote\u00e7\u00e3o exige evid\u00eancia pr\u00f3pria de Observa\u00e7\u00e3o e calcula uma estimativa conservadora do impacto com a pol\u00edtica candidata; sem pedidos observados, n\u00e3o permite ativar o bloqueio.<\/li>\n<li>Todos os diret\u00f3rios de produ\u00e7\u00e3o do pacote incluem um ficheiro <code>index.php<\/code> que encerra a execu\u00e7\u00e3o, incluindo <code>views\/js<\/code>.<\/li>\n<li>O guia indica como voltar a inscrever o Integrity por loja ap\u00f3s a rota\u00e7\u00e3o de <code>_COOKIE_KEY_<\/code>, sem recuperar nem partilhar a chave anterior.<\/li>\n<li>Prote\u00e7\u00e3o adicional contra cabe\u00e7alhos completos de serializa\u00e7\u00e3o PHP em consultas de facetas, sem bloquear valores normais que contenham texto como <code>O:<\/code>.<\/li>\n<li>Aviso configur\u00e1vel por loja quando a estimativa da cache da pesquisa facetada ultrapassa o limiar definido; o m\u00f3dulo n\u00e3o apaga nem atualiza nada automaticamente.<\/li>\n<li>As novas tentativas e os heartbeats do Integrity deixam de ser executados no \u00e2mbito da renderiza\u00e7\u00e3o s\u00edncrona de qualquer ecr\u00e3 do Back Office: s\u00e3o programados atrav\u00e9s de um pedido ass\u00edncrono autenticado e limitado.<\/li>\n<li>A consulta ao resumo de eventos antigo foi eliminada sem apagar os dados hist\u00f3ricos, e o painel de atualiza\u00e7\u00f5es existente \u00e9 mantido como \u00fanico aviso de novas vers\u00f5es.<\/li>\n<\/ul>\n<h3>0.1.9<\/h3>\n<ul>\n<li>A inscri\u00e7\u00e3o utiliza agora o dispatcher nativo de m\u00f3dulos do PrestaShop e deixa de depender de URL amig\u00e1veis, regras de <code>.htaccess<\/code> ou caches de rotas.<\/li>\n<li>A atualiza\u00e7\u00e3o a partir de vers\u00f5es anteriores corrige de forma idempotente os hooks necess\u00e1rios, sem apagar pol\u00edticas nem estat\u00edsticas.<\/li>\n<li>Ao abrir o painel de controlo, \u00e9 verificado automaticamente se existe uma nova vers\u00e3o, com um cache de seis horas e sem bloquear o Back Office caso o manifesto n\u00e3o responda.<\/li>\n<li>Fluxo validado no PrestaShop 1.7, 8 e 9.<\/li>\n<\/ul>\n<h3>0.1.8<\/h3>\n<ul>\n<li>A Prote\u00e7\u00e3o limita-se aos controladores reais de categoria e pesquisa, evitando bloquear par\u00e2metros <code>q<\/code> que n\u00e3o estejam relacionados com as facetas.<\/li>\n<li>Os pedidos <code>HEAD<\/code> bloqueados devolvem apenas cabe\u00e7alhos, sem corpo.<\/li>\n<li>O diagn\u00f3stico identifica o agente tal como declarado e explica corretamente a amostra abreviada do user-agent que \u00e9 conservada de forma opcional.<\/li>\n<li>Integrity apresenta-se com um n\u00edvel m\u00ednimo de liga\u00e7\u00e3o e sincroniza\u00e7\u00e3o, sem detalhes internos que possam confundir o utilizador.<\/li>\n<li>Compatibilidade funcional validada no PrestaShop 1.7, 8 e 9.<\/li>\n<\/ul>\n<h3>0.1.7<\/h3>\n<ul>\n<li>Heartbeat autom\u00e1tico sem cron: o tr\u00e1fego da loja ativa uma sonda local limitada e o servidor renova a presen\u00e7a junto da Integrity API sem expor credenciais ao navegador.<\/li>\n<li>Bloqueio at\u00f3mico por loja, intervalo de seis horas e espera de quinze minutos ap\u00f3s falhas, para evitar envios duplicados.<\/li>\n<li>A sincroniza\u00e7\u00e3o manual do Integrity tamb\u00e9m atualiza o heartbeat.<\/li>\n<li>Compatibilidade validada no PrestaShop 1.7, 8 e 9.<\/li>\n<\/ul>\n<h3>0.1.6<\/h3>\n<ul>\n<li>Heartbeat autenticado, tentativas autom\u00e1ticas e diagn\u00f3stico detalhado da liga\u00e7\u00e3o com a Integrity API.<\/li>\n<li>Diagn\u00f3stico opcional tamb\u00e9m no modo Observa\u00e7\u00e3o, com identifica\u00e7\u00e3o do agente, filtros por bot e motivo, pagina\u00e7\u00e3o e amostra limitada da combina\u00e7\u00e3o de facetas.<\/li>\n<li>Reten\u00e7\u00e3o controlada pelo administrador: n\u00famero de amostras, espa\u00e7o estimado e elimina\u00e7\u00e3o manual a partir do Back Office.<\/li>\n<li>Indicadores visuais e de leitura \u00fanica relativos ao tamanho, registos estimados e tabelas da cache de facetas.<\/li>\n<li>Interface reorganizada: modos e ativa\u00e7\u00e3o da Prote\u00e7\u00e3o em \u00abO que faz\u00bb, sec\u00e7\u00f5es delimitadas e a Integrity API relegada para o final.<\/li>\n<li>Sem IP, cookies nem URLs completas; textos dispon\u00edveis em nove idiomas.<\/li>\n<li>Instala\u00e7\u00e3o, bloqueio, diagn\u00f3stico, cache, desinstala\u00e7\u00e3o e reinstala\u00e7\u00e3o verificados no PrestaShop 1.7, 8 e 9.<\/li>\n<\/ul>\n<h3>0.1.5<\/h3>\n<ul>\n<li>Inscri\u00e7\u00e3o autom\u00e1tica e n\u00e3o bloqueante na Integrity API atrav\u00e9s de um teste de verifica\u00e7\u00e3o da loja.<\/li>\n<li>A instala\u00e7\u00e3o n\u00e3o requer contas, chaves API nem etapas de registo manual.<\/li>\n<li>Pol\u00edticas assinadas e verificadas com \u00e2ncoras de confian\u00e7a inclu\u00eddas na vers\u00e3o.<\/li>\n<\/ul>\n<h3>0.1.4<\/h3>\n<ul>\n<li>Histogramas de complexidade e contagem at\u00f3mica para todos os pedidos analisados.<\/li>\n<li>Limites de valores por faceta, pedidos malformados e contexto de pedido restrito.<\/li>\n<li>Estado de Observa\u00e7\u00e3o, in\u00edcio do per\u00edodo estat\u00edstico e reposi\u00e7\u00e3o protegida por loja.<\/li>\n<li>Motivos e estat\u00edsticas traduzidos.<\/li>\n<\/ul>\n<h3>0.1.3<\/h3>\n<ul>\n<li>Indicadores de pedidos analisados, dentro do limite, excedentes e bloqueios efetivos.<\/li>\n<li>Agregados por loja e por minuto, sem IP, URL, agente do utilizador nem valores selecionados.<\/li>\n<li>Seletor de modo acess\u00edvel e shell visual PrestaWard para computador e telem\u00f3vel.<\/li>\n<\/ul>\n<h3>0.1.2<\/h3>\n<ul>\n<li>Identidade da instala\u00e7\u00e3o e da loja preparada para a Integrity API.<\/li>\n<li>Pol\u00edtica assinada com o \u00faltimo estado v\u00e1lido por loja e retorno seguro \u00e0 Observa\u00e7\u00e3o.<\/li>\n<li>Estado da liga\u00e7\u00e3o e nova tentativa manual a partir do Back Office, sem chamadas a partir do Front Office.<\/li>\n<\/ul>\n<\/article>\n<aside class=\"product-page-aside\">\n<div class=\"product-page-aside__card product-page-aside__card--cta\">\n<h2>Guia e suporte<\/h2>\n<p>Instale-o primeiro no modo de Observa\u00e7\u00e3o e ative os limites apenas com dados reais.<\/p>\n<p><a href=\"https:\/\/go-onagency.es\/prestaward-facet-shield\/prestaward-facet-shield-user-guide.pdf\" target=\"_blank\" rel=\"noopener\">Abrir o guia do utilizador<\/a><\/p>\n<\/p><\/div>\n<div class=\"product-page-aside__card product-page-aside__card--contact\">\n<p class=\"eyebrow\">GO ON Agency<\/p>\n<h2>Precisa de verificar os limites?<\/h2>\n<p>Podemos ajud\u00e1-lo a analisar o tr\u00e1fego das facetas e a definir uma pol\u00edtica segura para o seu cat\u00e1logo.<\/p>\n<p><a class=\"product-page-contact-link\" href=\"mailto:hola@go-onagency.es\">hola@go-onagency.es<\/a><\/p>\n<\/p><\/div>\n<\/aside><\/div>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>M\u00f3dulo PrestaShop PrestaWard Facet Shield Prote\u00e7\u00e3o operacional para a navega\u00e7\u00e3o por facetas do PrestaShop. Deteta consultas de filtros excessivamente complexas e permite limitar apenas aquelas que podem prejudicar o desempenho da loja. Distribui\u00e7\u00e3o exclusiva no PrestaShop Marketplace (Addons). Registo de altera\u00e7\u00f5es Guia em PDF Capturas de ecr\u00e3 Limites e modoTr\u00e1fego e botsEstat\u00edsticas de tr\u00e1fegoAlertas e [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":0,"parent":27,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-product-page.php","meta":{"_joinchat":[],"footnotes":""},"class_list":["post-75","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/go-onagency.es\/pt\/wp-json\/wp\/v2\/pages\/75","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/go-onagency.es\/pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/go-onagency.es\/pt\/wp-json\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/go-onagency.es\/pt\/wp-json\/wp\/v2\/comments?post=75"}],"version-history":[{"count":15,"href":"https:\/\/go-onagency.es\/pt\/wp-json\/wp\/v2\/pages\/75\/revisions"}],"predecessor-version":[{"id":177,"href":"https:\/\/go-onagency.es\/pt\/wp-json\/wp\/v2\/pages\/75\/revisions\/177"}],"up":[{"embeddable":true,"href":"https:\/\/go-onagency.es\/pt\/wp-json\/wp\/v2\/pages\/27"}],"wp:attachment":[{"href":"https:\/\/go-onagency.es\/pt\/wp-json\/wp\/v2\/media?parent=75"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}