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:
- Hook
wp_head
: Utiliza este hook para insertar la etiqueta dentro de la sección<head>
de la plantilla activa. - Detección de contexto:
- 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.
- Usa
- Obtención de contenido:
- Para entradas, obtiene el extracto (
get_the_excerpt()
). - Para categorías, usa
category_description()
y elimina etiquetas HTML conwp_strip_all_tags()
.
- Para entradas, obtiene el extracto (
- Escapado seguro: La descripción es escapada con
esc_attr()
para evitar problemas de seguridad como XSS. - 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:
<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/
.
<?php
/*
Plugin Name: Custom Meta Description for Single Posts and Categories
Description: Añade una etiqueta meta de descripción al head en publicaciones individuales y páginas de categoría.
Version: 1.1
Author: 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.
Compartir: