En WordPress, el control del indexado por los motores de búsqueda es clave para una buena estrategia SEO. A veces, no quieres instalar un plugin completo de SEO como Yoast o Rank Math solo para añadir una simple etiqueta <meta name="robots">
. Por eso, te mostramos cómo puedes implementar una función sencilla para controlar qué páginas deben ser indexadas por Google y cuáles no.
¿Qué hace esta función?
La siguiente función, al insertarla en tu archivo functions.php
o en un plugin personalizado, añade una etiqueta <meta name="robots">
en el <head>
del HTML. Esta etiqueta le dice a los motores de búsqueda como Google si deben indexar una página y seguir sus enlaces o no.
Código de la función:
function set_meta_robots() {
// Verifica el tipo de página y establece el contenido adecuado.
if (is_single() || is_category() || is_home() || is_front_page()) {
echo '<meta name="robots" content="index,follow">' . "\n";
} else {
echo '<meta name="robots" content="noindex,follow">' . "\n";
}
}
add_action('wp_head', 'set_meta_robots');
¿Cómo funciona?
La función set_meta_robots()
usa condicionales de WordPress para detectar el tipo de página actual. Dependiendo de eso, imprime una de las siguientes líneas en el <head>
:
<meta name="robots" content="index,follow">
Para permitir que los motores de búsqueda indexen y sigan los enlaces.<meta name="robots" content="noindex,follow">
Para que no se indexe la página, pero sí se sigan los enlaces.
¿Qué tipos de página se indexan?
Con la condición actual, se permiten indexar estas páginas:
- Entradas individuales (
is_single()
) - Categorías (
is_category()
) - Página de entradas del blog (
is_home()
) - Página principal del sitio (
is_front_page()
)
Cualquier otra página —como etiquetas, archivos por fecha, resultados de búsqueda o páginas de autor— recibirá el atributo noindex
.
¿Dónde colocar esta función?
Tienes dos opciones:
1. En el archivo functions.php
de tu tema hijo:
// functions.php
add_action('wp_head', 'set_meta_robots');
function set_meta_robots() {
...
}
No edites directamente el
functions.php
del tema principal, ya que perderás los cambios al actualizarlo.
2. En un plugin personalizado:
Puedes crear tu propio plugin muy sencillo para esto. Crea un archivo llamado meta-robots-control.php
dentro del directorio wp-content/plugins/
con este contenido:
<?php
/*
Plugin Name: Meta Robots Control
Description: Controla el indexado de páginas en tu sitio WordPress.
Version: 1.0
Author: Tu Nombre
*/
add_action('wp_head', 'set_meta_robots');
function set_meta_robots() {
if (is_single() || is_category() || is_home() || is_front_page()) {
echo '<meta name="robots" content="index,follow">' . "\n";
} else {
echo '<meta name="robots" content="noindex,follow">' . "\n";
}
}
Después, actívalo desde el panel de administración.
¿Por qué es útil?
- Te permite un control granular del indexado sin plugins pesados.
- Puedes personalizar la lógica según las necesidades de tu sitio.
- Evitas que se indexen páginas duplicadas o poco útiles para SEO (como etiquetas, autores o resultados de búsqueda).
Posibles mejoras
Puedes ampliar la lógica para incluir:
- Exclusión de páginas de autor:
is_author()
- Exclusión de resultados de búsqueda:
is_search()
- Exclusión de archivos por fecha:
is_date()
- Inclusión de páginas estáticas específicas:
is_page('contacto')