Plugin WordPress – Monitor de Pesquisas Internas

O Monitor de Pesquisas Internas é um plugin desenvolvido com o objetivo de registrar e analisar as pesquisas realizadas pelos visitantes dentro do site.

A ferramenta permite coletar dados relevantes sobre o comportamento dos usuários, identificar os termos mais buscados e gerar relatórios administrativos que auxiliam na tomada de decisões estratégicas para conteúdo, SEO e e-commerce.

Problema

Sites desenvolvidos com Worpress geralmente possuem uma busca interna ativa, porém muitas vezes não existe um sistema que registre essas pesquisas.

Sem esses dados, torna-se difícil:

  • Identificar o que os usuários realmente procuram;
  • Descobrir oportunidades de conteúdo ou produtos;
  • Detectar comportamento automatizado ou scraping;
  • Analisar tendências de busca dentro do próprio site.

Solução desenvolvida

O plugin Monitor de Pesquisas Internas registra automaticamente todas as pesquisas realizadas no site em uma tabela própria no banco de dados.

Esses dados ficam disponíveis em um painel administrativo onde é possível visualizar relatórios, aplicar filtros e exportar informações.

Além da análise de comportamento dos usuários, o sistema também permite identificar padrões de tráfego automatizado através do registro do User Agent das requisições.

Funcionalidades

O plugin inclui as seguintes funcionalidades:

  • Registro automático de pesquisas realizadas no site;
  • Identificação de usuário logado ou visitante;
  • Captura de endereço IP;
  • Registro do User Agent do navegador;
  • Armazenamento da data e hora da pesquisa;
  • Sistema para evitar registros duplicados em curto intervalo;
  • Painel administrativo para visualização dos dados;
  • Ranking dos termos mais pesquisados;
  • Filtros por período (data inicial e final);
  • Paginação dos resultados;
  • Exportação de dados em formato CSV;
  • Exclusão manual de registros no painel;
  • Proteção de ações administrativas utilizando nonce.

Tecnologias utilizadas

Este projeto foi desenvolvido utilizando as seguintes tecnologias:

  • PHP;
  • WordPress Plugin API;
  • MySQL;
  • WPDB (WordPress Database Class);
  • HTML;
  • CSS;
  • JavaScript.

Arquitetura do plugin

O plugin utiliza hooks nativos do WordPress para capturar eventos e integrar-se à estrutura da plataforma.

Principais hooks utilizados:

register_activation_hook
pre_get_posts
admin_menu

Fluxo simplificado de funcionamento:

Usuário realiza uma busca no site

WordPress executa o hook pre_get_posts

O plugin captura o termo pesquisado

Os dados são sanitizados e validados

As informações são registradas na tabela do banco de dados

Os dados ficam disponíveis no painel administrativo

Estrutura da tabela no Banco de Dados

Tabela criada pelo plugin:

wp_pesquisas

Campos principais:

id
termo
usuario_id
ip
user_agent
data

Essa estrutura permite registrar e analisar o comportamento das pesquisas realizadas no site.

Monitoramento de Bots e Tráfego Automatizado

Além de registrar os termos pesquisados, o plugin também armazena o User Agent de cada requisição.

O User Agent é uma informação enviada pelo navegador ou cliente HTTP que identifica o tipo de aplicação que está acessando o site.

Com esse dado é possível identificar diferentes tipos de acessos, como:

  • Navegadores de usuários reais;
  • Dispositivos móveis;
  • Bots de indexação de mecanismos de busca;
  • Ferramentas de SEO;
  • Scripts automatizados ou scrapers.

Exemplos de User Agents registrados:

Usuário real (navegador):

Mozilla/5.0 (Windows NT 10.0; Win64; x64)
Chrome/123

Dispositivo móvel:

Mozilla/5.0 (Linux; Android 14)
Mobile Safari

Bots de SEO:

AhrefsBot
SemrushBot
MJ12bot
DotBot

Ferramentas automatizadas ou scripts:

python-requests
curl
Scrapy
Go-http-client

A captura dessas informações permite identificar padrões de comportamento automatizado, como grande volume de buscas em poucos segundos, múltiplas consultas originadas do mesmo IP e uso de bibliotecas HTTP em vez de navegadores.

Esses dados podem ajudar administradores de sites a detectar scraping de conteúdo, monitorar bots e compreender melhor o perfil de tráfego que utiliza a busca interna do site.

Painel Administrativo

O plugin inclui uma interface administrativa integrada ao WordPress para visualizar os dados coletados.

Funcionalidades disponíveis no painel:

  • Visualização das pesquisas registradas;
  • Filtros por período;
  • Ranking dos termos mais pesquisados;
  • Paginação dos registros;
  • Exportação dos dados em CSV;
  • Exclusão manual de registros.

Prints das funcionalidades

Desafios técnicos resolvidos

Durante o desenvolvimento deste projeto foram resolvidos diversos desafios técnicos:

  • Evitar registros duplicados em curto intervalo;
  • Sanitização segura dos dados recebidos;
  • Criação automática da tabela no banco de dados;
  • Atualização da estrutura da tabela em versões futuras;
  • Compatibilidade com usuários logados e visitantes;
  • Segurança em ações administrativas utilizando nonce;
  • Uso de consultas seguras com prepare.

Resultados

Com o plugin ativo, o site passa a registrar automaticamente todas as pesquisas internas, permitindo análises como:

  • Termos mais buscados pelos visitantes;
  • Interesses dos usuários;
  • Oportunidades de conteúdo ou produtos;
  • Identificação de comportamento automatizado.

Essas informações podem ser utilizadas para melhorar a experiência do usuário e otimizar estratégias de conteúdo ou vendas.

Aprendizados Técnicos

Durante o desenvolvimento deste plugin foram aplicados diversos conceitos importantes de desenvolvimento web:

  • Criação de plugins para WordPress;
  • Uso da API de hooks;
  • Manipulação de banco de dados no WordPress;
  • Sanitização e validação de dados;
  • Proteção contra vulnerabilidades comuns;
  • Organização de código para manutenção futura.

Status do projeto

O projeto atualmente está funcional e utilizado em ambiente real para monitoramento de pesquisas internas em sites WordPress de alguns clientes.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima