# Añadir Meta Descripciones Personalizadas en WordPress, Plugin para Entradas y Categorías

- Link: https://binariocero.com/php/anadir-meta-descripciones-personalizadas-en-wordpress-plugin-para-entradas-y-categorias
- Published: 2025-08-09T11:15:59+02:00
- Author: Juan José Fernández Durán

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

En el mundo del SEO, una de las prácticas más recomendadas es incluir etiquetas `
<meta name="description">` en el `<head>` de cada página. Estas etiquetas proporcionan
un resumen del contenido que los motores de búsqueda pueden mostrar en los resultados,
influyendo directamente en el **CTR (Click Through Rate)**.

WordPress, por defecto, no añade estas descripciones de manera específica por tipo
de contenido, por lo que es común recurrir a plugins SEO avanzados. Sin embargo,
si lo único que se necesita es añadir descripciones personalizadas para entradas
individuales y páginas de categoría, un plugin ligero puede ser más eficiente, rápido
y controlado.

## Objetivo del Plugin

Este plugin añade automáticamente una etiqueta **meta description**:

 * Para **entradas individuales**, utiliza el **extracto** del post.
 * Para **páginas de categoría**, usa la **descripción** asignada a la categoría,
   limpiando previamente cualquier HTML.

Con esto, se mejora la indexación de contenido y se proporciona a los buscadores
información relevante, sin necesidad de grandes frameworks o plugins pesados.

## Funcionamiento Técnico

El plugin se basa en los siguientes puntos:

 1. **Hook `wp_head`**: Utiliza este hook para insertar la etiqueta dentro de la sección`
    <head>` de la plantilla activa.
 2. **Detección de contexto**:
 3.  * Usa `is_single()` para identificar que se está cargando una entrada individual.
     * Usa `is_category()` para detectar que se trata de una página de archivo de categoría.
 4. **Obtención de contenido**:
 5.  * Para entradas, obtiene el extracto (`get_the_excerpt()`).
     * Para categorías, usa `category_description()` y elimina etiquetas HTML con `
       wp_strip_all_tags()`.
 6. **Escapado seguro**: La descripción es escapada con `esc_attr()` para evitar problemas
    de seguridad como XSS.
 7. **Condicional**: Si no se trata de una entrada o categoría, no se genera ninguna
    etiqueta.

## Limitaciones

 * No incluye soporte para páginas (`is_page()`), etiquetas u otros tipos de contenido.
 * Depende de que los extractos o descripciones estén correctamente configurados
   por el usuario.
 * No controla la longitud de las descripciones (recomendado: 150–160 caracteres
   para SEO).

## Ejemplo de Resultado HTML

Para una entrada con el extracto “Este es un artículo sobre seguridad en redes.”,
el resultado sería:

    ```wp-block-preformatted
    <meta name="description" content="Este es un artículo sobre seguridad en redes.">
    ```

## Código del Plugin

Guarda este contenido como un archivo llamado `custom-meta-description.php` dentro
del directorio `/wp-content/plugins/`.

    ```wp-block-preformatted
    <?php/*Plugin Name: Custom Meta Description for Single Posts and CategoriesDescription: Añade una etiqueta meta de descripción al head en publicaciones individuales y páginas de categoría.Version: 1.1Author: Juan Jose Fernandez Duran*/if (!defined('ABSPATH')) {    exit; // Salir si se accede directamente.}// Función para imprimir la meta descripción en publicaciones individuales y páginas de categoría.function add_custom_meta_description() {    if (is_single()) { // Si es una entrada individual        $description = get_the_excerpt(); // Usa el extracto de la entrada    } elseif (is_category()) { // Si es una página de categoría        $description = category_description(); // Usa la descripción de la categoría        $description = wp_strip_all_tags($description); // Elimina etiquetas HTML    } else {        return; // No hacer nada en otras páginas    }    if (!empty($description)) {        echo '<meta name="description" content="' . esc_attr($description) . '">' . "\n";    }}add_action('wp_head', 'add_custom_meta_description');
    ```

## Conclusión

Este plugin es una solución simple, ligera y eficaz para mejorar el SEO básico de
un sitio WordPress. En lugar de depender de plugins más complejos, ofrece un control
directo y transparente sobre las descripciones meta en entradas y categorías.
