Páginas noindex aparecen en búsquedas de WordPress: Cómo arreglarlo

Wordpress

En esta entrada te explico como prevenir que las páginas o entradas de tu WordPress que has marcado como noindex, y que por lo tanto no deseas que los buscadores las rastreen, no aparezcan tampoco en los resultados de búsqueda del buscador interno de WordPress.

  • Nivel de dificultad: Fácil
  • Conocimientos previos: WordPress básico
  • Tiempo de implementación: 3 minutos

Caso 1: Si estás usando Rankmath sigue estas instrucciones

Rank Math normalmente usa una clave meta como rank_math_robots para almacenar configuraciones relacionadas con la indexación.

Modifica la consulta de búsqueda usando pre_get_posts:

Agrega el siguiente código al archivo funciones.php de tu tema. Este código se vincula a la consulta de búsqueda antes de ejecutarla y la modifica para excluir publicaciones marcadas como noindex.

add_action( 'pre_get_posts', 'exclude_noindex_pages_from_search' );

function exclude_noindex_pages_from_search( $query ) {
    if ( $query->is_search && !is_admin() ) {
        $query->set( 'meta_query', array(
            'relation' => 'OR',
            array(
                'key' => 'rank_math_robots',
                'value' => 'noindex',
                'compare' => 'NOT LIKE'
            ),
            array(
                'key' => 'rank_math_robots', // Assume 'noindex' is not set at all if key doesn't exist
                'compare' => 'NOT EXISTS'
            )
        ));
    }
}

Recuerda purgar la caché, si usas algún plugin de optimización, antes de probar si funciona.

Explicación del código

Esta pieza de código verifica si la consulta actual es una consulta de búsqueda y no una consulta de administrador. Luego modifica la parte de la metaconsulta de la búsqueda para excluir publicaciones donde el valor meta de rank_math_robots incluye noindex. También considera publicaciones que no tienen configurada la metaclave de ranking_math_robots.

Caso 2: Si estás usando YOAST SEO sigue estas instrucciones

Yoast SEO utiliza diferentes claves meta para almacenar la configuración de indexación. Por lo general, la clave es _yoast_wpseo_meta-robots-noindex. Asegúrate de verificar esto en la documentación de Yoast o directamente en la base de datos.

Modificar la Consulta de Búsqueda Usando pre_get_posts

add_action( 'pre_get_posts', 'exclude_noindex_pages_from_search' );

function exclude_noindex_pages_from_search( $query ) {
    if ( $query->is_search && !is_admin() ) {
        $query->set( 'meta_query', array(
            'relation' => 'OR',
            array(
                'key' => '_yoast_wpseo_meta-robots-noindex',
                'value' => '1',  // Asegúrate de que '1' es el valor usado por Yoast para 'noindex'.
                'compare' => '!='
            ),
            array(
                'key' => '_yoast_wpseo_meta-robots-noindex',
                'compare' => 'NOT EXISTS'
            )
        ));
    }
}

Te repito lo mismo que antes, si usas algún plugin de optimización purga la caché antes de probar si funciona.

Explicación del código

Este código evita que se incluyan en los resultados de búsqueda las publicaciones que tienen el valor ‘1’ (indicando noindex) en la clave meta _yoast_wpseo_meta-robots-noindex. También incluye publicaciones que no tienen esta clave meta configurada.


Daniel Pajuelo
Daniel Pajuelo es ingeniero informático y SEO Senior, actualmente trabajando en Guruwalk e impartiendo clases en BIG School (antes BIGSEO Academy). Ver más

Continua leyendo

Cómo permitir HTML en la biografía del autor en WordPress

Aquí te muestro cómo permitir HTML en las biografías de autor en WordPress, mejorando así la presentación y el SEO de los perfiles de tu sitio.
Botón flotante de Whatsapp sitewide

Cómo insertar un botón flotante de WhatsApp en TODO el sitio WordPress (sin plugins)

En 2 minutos te enseño a insertar un botón flotante de Whatsapp en todo tu sitio Wordpress, totalmente gratis, y sin plugins.
Cómo insertar un botón flotante de WhatsApp en tu sitio Wordpress (sin plugins)

Cómo crear un botón de WhatsApp en una página concreta de WordPress (sin plugins)

En 2 minutos te enseño a insertar un botón flotante de Whatsapp en tu sitio Wordpress, totalmente gratis, y sin plugins.