# Controlando el Indexado de tu Sitio WordPress

- Link: https://binariocero.com/php/controlando-el-indexado-de-tu-sitio-wordpress
- Published: 2025-06-15T23:51: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 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:

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

    ```wp-block-preformatted
    // functions.phpadd_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:

    ```wp-block-preformatted
    <?php/*Plugin Name: Meta Robots ControlDescription: Controla el indexado de páginas en tu sitio WordPress.Version: 1.0Author: 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')`
