Através dos formulários de buscas, os sites disponibilizam a seus visitantes um caminho direto para a informação que eles procuram. Esse atalho, que o usuário pode optar por percorrer, nem sempre leva ao resultado esperado e em alguns casos acaba por dificultar ainda mais o acesso ao conteúdo desejado.
Abordaremos algumas técnicas que permitem ao template que será trabalhado oferecer uma melhor interação com o que foi requisitado pelo visitante e retornar melhores respostas para ele, mesmo quando nenhum resultado foi encontrado. Os códigos propostos deverão ser inseridos no arquivo responsável por exibir os resultados, de modo geral deverá ser o ‘search.php’; porém depende de cada tema e sua estrutura.
1. Informar que uma busca está sendo realizada
Essa questão é primordial para a localização do visitante dentro do site e também como confirmação da ação de pesquisa que ele realizou. Insira antes da listagem dos resultados obtidos pela pesquisa algum texto que informe que a busca foi corretamente submetida e quais foram os termos utilizados para realização da mesma. Dessa maneira, você confirma ao visitante o funcionamento dos recursos do teu site e também identifica os resultados como relacionados diretamente à busca, evitando confusões.
<?php
// Exibindo um título para a busca realizada com os termos informados pelo usuário
if ( is_search() )
echo '<h3>Resultados da pesquisa para: <u>' . $_GET[ 's' ] . '</u></h3>';
?>
2. Resultados não encontrados
Um grande problema ocorre quando a busca que o usuário deseja não retorna resultados. Isso ocorre pois na maioria dos casos os templates não estão corretamente preparados para esse caso. Prova disso é a simples exibição de uma única linha de texto informando que o conteúdo do site não possui relação com os termos pesquisados.
Trabalhe o arquivo responsável por esse retorno de modo a oferecer mais opções ao visitante. Um bom exemplo disso é descrever brevemente qual o foco do seu projeto e quais assuntos ele aborda; dessa maneira, o visitante entenderá que a busca realizada pode não ter retornado resultados em razão de o assunto não ter relação com o propósito principal do site, por exemplo.
3. Links de ajuda
Tratando ainda da exibição de informações para resultados não encontrados, ao deparar com essa situação, é possível que a próxima ação que seu visitante venha a executar seja a saída do teu site, no entanto, é possível diminuir a probabilidade de isso ocorrer oferecendo a ele outras opções de conteúdo.
Explore as páginas mais bem aceitas pelos visitantes, as mais comentadas ou aquelas que você acredita possuir o maior poder de atrair a atenção de seus visitantes, sempre dando um maior destaque com textos e imagens que ao menos agucem a curiosidade de quem está vendo esse conteúdo. Como foi abordado acima, uma resposta negativa para a busca pode ser em razão dos termos e foco do site não serem os mesmos; porém certamente existe uma relação entre eles, caso contrário, o visitante sequer estaria em teu site.
4. Segmentação dos resultados
Normalmente os resultados são exibidos da mesma forma que a paginação habitual do site. Caso a página que exibe os resultados da busca não esteja com boa aceitação do seu público, experimente integrar ao seu projeto uma busca segmentada com recursos avançados, do tipo buscar apenas no título, em determinada categoria etc.
5. Exibir quantidade de resultados
É importante para quem faz a busca saber a quantidade de respostas que ela retornou. Esse simples contador diz ao visitante se ele precisa ou não aprofundar mais a busca com termos específicos. Suponhamos que, em um blog de culinária, uma visitante digite na busca o termo ‘bolo’ e são recuperadas 250 receitas de bolo. É pouco provável que ela tenha tempo e disposição para procurar entre tantos resultados. Entretanto, ao ver a quantidade de respostas, ela pode melhorar sua busca incorporando ingredientes ou informações específicas que ela deseja encontrar nesse bolo, como por exemplo ‘bolo doce’ e ‘bolo chocolate’.
<?php
global $wp_query;
echo '<p>Foram encontrados <strong>' . $wp_query->found_posts . '</strong> resultados para sua busca.</p>';
?>
6. Grifar termos pesquisados
Dê um destaque maior para os termos informados pelo visitante, permitindo que ele encontre mais facilmente o que procura, dada a relevância do resultado para seu propósito. No arquivo dos resultados de busca faça:
<?php
$busca = $_GET[ 's' ];
$termos = explode( ' ', $busca );
// para grifar termos do resumo ou conteúdo use get_excerpt e get_content respectivamente
$titulo = get_the_title();
foreach ( $termos as $termo )
$titulo_grifado = str_replace( $termo, '<span class="marca">' . $termo . '</span>', $titulo );
echo $titulo_grifado;
?>
Para exibir a marcação dos termos, é preciso ainda formatar a folha de estilo do tema em uso, com por exemplo:
.marca { background: #dfc;}
É isso!
Abraços.