En tu web hay páginas que no aportan valor a un resultado de búsqueda o no te interesa que aparezcan. En este post te explicamos cómo excluir páginas de los resultados de búsqueda en WordPress
Primero te lo explicaremos utilizando un plugin, que es la forma más cómoda y fácil. Y después, si eres como nosotros, si eres de los que intenta trabajar con el mínimo número de plugins, también te lo explicaremos. Y para acabar te explicaremos una alternativa a la búsqueda tradicional en la que tambien puedes filtrar resultados.
Índice de contenidos
Excluir páginas de los resultados de búsqueda con Search Exclude
La verdad es que excluir páginas de los resultados de búsqueda con este plugin es de lo más sencillo. Lo puedes encontrar en el repositorio de WordPress o clicando aquí.
Una vez instalado y activado simplemente debes acceder a la página que quieras que no aparezca en los resultados de búsqueda y seleccionar el selector que te aparece en la columna de la derecha con el texto Exclude from Search Results. (recuadro rojo de la imagen).
Excluir páginas de los resultados de búsqueda sin plugin
Para llevar a cabo esta tarea usaremos una función de PHP. Y para no perder este código en futuras actualizaciones de la plantilla crearemos un child theme. Si no sabes como crearlo nosotros te lo explicamos en el post cómo crear un child theme en 3 minutos.
El siguiente paso será averiguar la ID de las páginas que vamos a excluir. Puedes averiguar las ID de 2 formas: La primera es entrando en todas las páginas que vayas a excluir y guardando todos los números que aparecen después de post= en la barra del navegador.
https://magic.byteweb.es/wp-admin/post.php?post=199&action=edit
La segunda forma es instalando el plugin Reveal IDs, que podrás encontrar totalmente gratis en el repositorio de WordPress o clicando aquí.
Una vez instalado y activado, si visitas la sección páginas comprobarás que se ha creado una nueva columna en la que se muestran todas las ID de página (recuadro rojo de la imagen). Guarda las ID de página y puedes desinstalar el plugin si no lo vas a necesitar más.
Desde apariencia/temas revisa que tienes el tema hijo que hemos creado como tema activo.
Ahora añadiremos la función de PHP que excluirá las páginas de los resultados de búsqueda. Para ello sigue la ruta apariencia/editor de temas y seleccionado el tema hijo edita el archivo functions.php y pega el siguiente código modificando los número en rojo por tus ID de página. Separa las ID con comas.
add_action( 'pre_get_posts', 'dcms_exclude_specific_pages' );
function dcms_exclude_specific_pages($query)
{
if ( $query->is_search() && $query->is_main_query() )
$query->set( 'post__not_in', array( 1, 2, 3, 4, 5 ) );
}
Si tu plantilla no te permite editar el archivo functions.php desde el administrador puede hacerlo creando una conexión FTP con tu servidor. Clica aquí para saber cómo crearla.
Y ya tendriamos excluidas las páginas de los resultados de búsqueda. Si quieres puedes repasar todo lo que hemos explicado en el siguiente vídeo.
Bien, pues ya os hemos explicado cómo excluir páginas de los resultados de búsqueda en WordPress, cualquier duda o pregunta podéis dejarlas en los comentarios.
Si tienes especial interés en que realicemos un tutorial sobre un tema en concreto también podéis dejarlo en comentarios