Filtros por Facetas AJAX para PrestaShop: documentação
Instalar, configurar e explorar a navegação por facetas AJAX: facetas, slider de preço, SEO dos URLs filtrados, restrição por categoria, cache e estatísticas.
Este guia cobre a instalação, a configuração e a exploração do módulo Filtros por Facetas AJAX para PrestaShop 8 e 9. O módulo substitui a pesquisa por facetas nativa por uma navegação AJAX mais rápida, um slider de preço com histograma e um controlo fino da indexação SEO das páginas filtradas.
Instalação
A partir do seu back-office, abra Módulos > Gestor de módulos, clique em Instalar um módulo e carregue o ficheiro dffacetedfilter.zip. Na instalação, o módulo efetua automaticamente três ações:
- cria as suas tabelas e o seu separador de administração;
- sincroniza uma primeira vez as facetas a partir do seu catálogo;
- pré-aquece o índice de preços (dentro do limite de alguns segundos).
O módulo coloca-se em prioridade no hook productSearchProvider para passar à frente da pesquisa por facetas nativa do PrestaShop. Nenhum ficheiro do seu tema é sobreposto.
Primeira configuração
Vá a Catálogo > Filtros por facetas. Encontra aí a lista das facetas, um painel de síntese e as definições gerais e SEO.
Sincronizar as facetas
O botão Sincronizar a partir do catálogo cria automaticamente as facetas em falta a partir dos seus grupos de atributos, das suas características e das facetas integradas (preço, marca, promoções, disponibilidade, estado). As facetas existentes nunca são modificadas: pode relançar a sincronização sem risco depois de ter adicionado um atributo ou uma característica.
Reconstruir o índice de preços
O botão Reconstruir o índice de preços recalcula os limites de preço de todos os produtos, por lotes, com uma barra de progresso. Lance-o depois da instalação e depois de qualquer importação massiva de produtos.
Gerir as facetas
Cada linha da lista pode ser reordenada por arrastar e largar (a ordem define a ordem de apresentação no front-office e a ordem normalizada dos URLs), ativada ou desativada, e editada.
Opções de uma faceta
- Designação: o nome apresentado, traduzível por idioma.
- Apresentação: caixas de seleção, pastilhas de cor / textura, ou ligações simples. Os grupos de cores herdam automaticamente a apresentação em pastilhas.
- Seleção múltipla: autoriza a seleção simultânea de vários valores de uma mesma faceta, combinados por um OU.
- Mostrar os contadores: mostra o número de produtos em frente de cada valor.
- Ocultar os valores vazios: oculta os valores com zero produtos em vez de os mostrar a cinzento.
- Recolhida por defeito: a faceta aparece fechada, o visitante expande-a ao clicar.
- Valores antes de « Ver mais »: número de valores visíveis antes do botão de expansão (0 = mostrar tudo).
É aplicada a contagem disjuntiva: cada faceta é contada tendo em conta todas as outras seleções, mas não a sua própria. Selecionar « Vermelho » nunca põe portanto « Azul » a zero na mesma faceta.
O slider de preço e o seu índice
A faceta Preço aparece sob a forma de um cursor duplo. Acima, um histograma de repartição dos produtos em doze intervalos ajuda o visitante a situar os preços. Estes dados provêm de um índice de preços dedicado, distinto das tabelas do PrestaShop, para se manter rápido mesmo num grande catálogo.
Manutenção do índice
O índice é atualizado em tempo real por hooks quando um produto, um preço específico ou uma declinação muda. Para uma reconstrução completa agendada, use o endpoint cron apresentado no back-office:
/module/dffacetedfilter/cron?token=O_SEU_TOKEN
A chamada processa o índice por fatias com um limite de tempo de cerca de 20 segundos; se restarem produtos, a resposta fornece o URL de continuação a chamar de novo. Uma chamada noturna diária basta na maioria dos casos.
A definição Filtrar os preços com IVA determina se o slider raciocina em preço com IVA ou sem IVA. O índice guarda os preços na moeda por defeito; a apresentação é convertida na moeda atual.
A faceta Promoções
A faceta Em promoção filtra os produtos atualmente com desconto: produtos marcados « em saldos » ou cobertos por um preço específico ativo (desconto em curso, dentro do intervalo de datas, para a moeda, o país e o grupo atuais). É criada ativada por defeito na sincronização.
Disponibilidade e estado
Duas facetas integradas complementares são criadas desativadas, a ativar consoante as suas necessidades:
- Disponibilidade: um valor « Em stock » que tem em conta a sua definição de encomenda em rutura de stock.
- Estado: novo, usado, recondicionado.
Restringir uma faceta a categorias
Por defeito, uma faceta aparece em todas as páginas de listagem. No formulário de edição, a secção Restringir a categorias permite-lhe marcar uma ou várias categorias: a faceta só aparecerá então nessas categorias e nas suas subcategorias.
É a boa forma de manter um menu de filtros pertinente num catálogo heterogéneo: só mostre « Número » em Calçado, « Tamanho do ecrã » em Tecnologia. Deixe tudo desmarcado para uma faceta global.
O SEO das facetas
É um dos pontos fortes do módulo: decide precisamente que páginas filtradas podem ser indexadas. Os URLs de filtros são legíveis e seguem o formato:
/categoria?dff=cor:vermelho,azul-marinho/preco:10,50/marca:nike
As facetas são separadas por uma barra, o slug da faceta e os seus valores por dois pontos, e os valores entre si por uma vírgula. A ordem das facetas e a ordenação dos valores são normalizadas para que uma mesma combinação produza sempre um único URL canónico.
Definições SEO
- Indexável (por faceta): uma faceta não indexável força a página filtrada em
noindex, followe acrescentarel="nofollow"nas suas ligações. - Número máx. de valores indexáveis: acima deste limiar de valores selecionados, a página passa a
noindex, follow. O valor 1 é o mais seguro contra a explosão do orçamento de rastreio. - Canonical automático nas páginas indexáveis: as páginas indexáveis recebem uma etiqueta canonical que aponta para o seu próprio URL de filtro normalizado. O canonical do tema é retirado do lado do front-office para evitar duplicados.
- Passar tudo a noindex: força o
noindex, followem todas as páginas filtradas, quaisquer que sejam as definições por faceta.
Uma página filtrada é também colocada em noindex, follow quando está presente um parâmetro de ordenação, porque se trata de um duplicado da página na sua ordem por defeito.
Modos AJAX
A definição Modo AJAX determina como a página se atualiza ao clicar num filtro:
- Tema (eventos nativos), recomendado: o módulo emite o evento nativo do PrestaShop e deixa o núcleo e o tema atualizar a lista, as facetas e o histórico do navegador. É o modo mais compatível com os temas baseados no classic.
- Autogerido: para os temas não padrão, o próprio módulo recupera a página em AJAX e substitui os blocos em causa. A usar apenas se o modo Tema não atualizar corretamente a página.
Cache dos contadores
O cálculo dos contadores disjuntivos pode ser custoso num grande catálogo. O módulo guarda o seu resultado em cache durante uma curta duração configurável (300 segundos por defeito). Esta cache é invalidada automaticamente a cada alteração do catálogo e a cada modificação de uma faceta. Um botão Limpar a cache dos contadores está disponível no back-office.
Estatísticas de utilização
O painel, no topo da página de administração, resume a atividade dos últimos 30 dias: produtos indexados, número de visualizações de páginas filtradas, parte do orçamento de rastreio mantida fora do índice (páginas filtradas servidas em noindex) e uma classificação das facetas mais usadas. Pode desativar o registo das estatísticas nas definições de desempenho.
Páginas suportadas
As facetas aplicam-se às páginas de categoria, marca, fornecedor, novidades, mais vendidos, promoções e resultados de pesquisa (respeitando a classificação nativa do PrestaShop). A faceta Marca é automaticamente ocultada numa página de marca, e a faceta de restrição por categoria numa página de pesquisa.
Desativar a pesquisa por facetas nativa
O módulo tem prioridade sobre o ps_facetedsearch, mas recomendamos desativar este último para evitar um duplo trabalho de indexação. Um aviso lembra-o disso no back-office se continuar ativo.
Resolução de problemas
- As facetas não aparecem: lance uma sincronização, verifique que pelo menos uma faceta está ativa e que está numa página de listagem suportada.
- O slider de preço está ausente: reconstrua o índice de preços; a faceta Preço fica oculta enquanto o índice estiver vazio para a categoria apresentada.
- A página não se atualiza em AJAX: passe o modo AJAX a « Autogerido » se o seu tema não seguir o padrão do PrestaShop.
- Demasiadas páginas indexadas: baixe o número máx. de valores indexáveis, torne não indexáveis as facetas de forte cardinalidade (cor, tamanho), ou ative « Passar tudo a noindex » enquanto retoma o controlo.
O código-fonte é fornecido sem cifragem. Beneficia de 12 meses de atualizações de compatibilidade e de um suporte em 24 h.
Novidades da versão 1.2
Landing pages SEO
Em Catálogo > Filtros por facetas > Landing pages SEO, transforme uma combinação de filtros precisa (por exemplo Sapatos × Cor: vermelho × Marca: Nike) numa verdadeira página de destino: meta title, meta description, H1 e introdução editorial, por idioma. Para visar uma combinação, copie o valor do parâmetro dff a partir de um URL filtrado da sua loja e cole-o no formulário.
Uma landing ativa é sempre indexável: prevalece sobre as definições por faceta, o limite de valores e até o interruptor «Tudo em noindex». A estratégia «tudo em noindex exceto as minhas páginas selecionadas» torna-se possível.
Todas as landings ativas são listadas num sitemap XML dedicado, com alternates hreflang, pronto a submeter na Search Console:
/module/dffacetedfilter/sitemap
Outras novidades
- Faceta Subcategorias: propõe as subcategorias diretas da categoria apresentada; a listagem inclui então automaticamente toda a subárvore.
- Ordenação de valores por faceta: posição de catálogo, alfabética ou número de produtos decrescente.
- Amostras de cor em grelha ou lista: cada faceta de cor pode surgir como grelha horizontal de amostras ou lista vertical com etiquetas e contadores.
- Ocultar facetas com um único valor: uma faceta cujo único valor cobre toda a listagem não acrescenta poder de filtragem; esta definição retira-a automaticamente.
- Cor de destaque: escolha no seletor a cor das caixas marcadas, interruptores, slider e distintivos; o contraste do texto é calculado automaticamente.
- AJAX resiliente: se o tema não responder ao evento nativo, o módulo muda automaticamente para o modo autogerido; a posição de scroll é preservada após cada filtragem e os filtros móveis abrem num modal em ecrã inteiro.
- 8 idiomas no front: PT, EN, FR, ES, DE, IT, PL, NL incluídos no módulo.