Recientemente, hemos sido bombardeados con miles de consultas de búsqueda no deseadas a través de nuestra búsqueda interna, y algunas de ellas han sido indexadas por Google, a pesar de nuestros intentos de bloquearlas usando el atributo ‘no-follow’ en Yoast. Además, una cantidad significativa de datos aparece en el estado «sin índice» (bloqueado por robot.txt).
Para abordar este problema, implementé una solución en el archivo function.php de nuestro tema secundario. Ahora, todos estos términos de búsqueda relacionados con el spam se redirigen a nuestra página de búsqueda predeterminada.
Tengo un par de preguntas:
- ¿Es este el enfoque correcto para detener las búsquedas internas de spam?
- ¿Es beneficioso o malo para el SEO?
He experimentado una caída en nuestra clasificación debido a estos ataques de spam. ¿Existe alguna otra técnica que recomendaría para mitigar este problema?
El código que estoy usando está a continuación:
//block internal site search spam attacks
add_filter( 'pre_get_posts', 'rlv_block_search' );
function rlv_block_search( $query ) {
if ( ! empty( $query->query_vars['s'] ) ) {
$blacklist = array( '大奖', 'q82', 'PG99.Asia', 'qqline88th.com', 'joker123.net'); // add blacklist entries here; no need for whole words, use the smallest part you can
foreach ( $blacklist as $term ) {
if ( mb_stripos( $query->query_vars['s'], $term ) !== false ) {
wp_redirect( "https://www.mysite.com/?s=", 301 );
exit();
}
}
}
}