En proyectos donde el control SEO es esencial, es común querer personalizar las etiquetas meta robots
dependiendo del tipo de contenido o la estructura de la URL. Este artículo explica cómo implementar un plugin personalizado en WordPress para gestionar dinámicamente estas etiquetas, con una lógica que permita aplicar noindex,follow
a URLs específicas como dominio.com/page/*
.
Objetivo
Diseñar un plugin que:
- Aplique
index,follow
en páginas clave como:- Entradas individuales (
is_single()
) - Categorías (
is_category()
) - La página de inicio (
is_home()
ois_front_page()
)
- Entradas individuales (
- Aplique
noindex,follow
al resto de páginas. - Aplique siempre
noindex,follow
a cualquier URL que comience con/page/
.
Código del Plugin
A continuación, se presenta el código del plugin Meta Robots Control, que se encarga de establecer estas reglas:
<?php
/**
* Plugin Name: Meta Robots Control
* Description: Establece las etiquetas meta robots según el tipo de página en WordPress.
* Version: 1.1
* Author: Juan Jose Fernandez Duran
*/
function set_meta_robots() {
$request_uri = $_SERVER['REQUEST_URI'];
// Si la URL comienza exactamente con /page/ aplica noindex,follow
if (strpos($request_uri, '/page/') === 0) {
echo '<meta name="robots" content="noindex,follow">' . "\n";
return;
}
// Condiciones para permitir indexación
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');
Explicación Técnica
1. Revisión de la URL actual
Se utiliza $_SERVER['REQUEST_URI']
para acceder a la ruta solicitada. Con strpos($request_uri, '/page/') === 0
se verifica si la URL comienza exactamente con /page/
, lo cual es útil cuando se quiere excluir una sección completa del sitio del índice de los motores de búsqueda.
2. Estructura condicional
El uso de if...else
asegura que las condiciones se evalúen en orden de prioridad. Si se detecta /page/
en la URL, se aplica noindex,follow
inmediatamente y se corta la ejecución con return;
. Esto previene conflictos con condiciones posteriores.
3. Uso de funciones nativas de WordPress
Funciones como is_single()
, is_category()
, is_home()
e is_front_page()
proporcionan una manera limpia de determinar el contexto de la página cargada. Esto garantiza que las reglas SEO se apliquen correctamente sin depender únicamente de la URL.
Casos de uso
- SEO Selectivo: Evitar la indexación de contenido duplicado o no relevante para los motores de búsqueda.
- Secciones dinámicas: La regla para
/page/
puede aplicarse a páginas generadas automáticamente, como landings o pasos intermedios de embudos de conversión. - Evitar indexación de paginaciones personalizadas: Si usas
/page/
como slug de páginas hijas o rutas especiales, puedes evitar que estas se indexen en Google.
Conclusión
Controlar de forma granular las etiquetas meta robots
es una práctica recomendable en cualquier estrategia SEO seria. Este plugin básico y ligero permite establecer una política de indexación efectiva, diferenciando entre tipos de contenido y rutas específicas. Puede ser fácilmente ampliado para incluir más patrones de URL o integrarse con plugins SEO como Rank Math o Yoast, si se desea una configuración híbrida.