# Control de Etiquetas Meta Robots en WordPress para URLs Específicas

- Link: https://binariocero.com/php/control-de-etiquetas-meta-robots-en-wordpress-para-urls-especificas
- Published: 2025-06-29T22:47:00+02:00
- Author: Juan José Fernández Durán

![Loading](https://binariocero.com/wp-content/plugins/page-views-count/ajax-loader-
2x.gif)

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:

 1. Aplique `index,follow` en páginas clave como:
 2.  * Entradas individuales (`is_single()`)
     * Categorías (`is_category()`)
     * La página de inicio (`is_home()` o `is_front_page()`)
 3. Aplique `noindex,follow` al resto de páginas.
 4. 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:

    ```wp-block-preformatted
    <?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.
