Saltar al contenido
BeoHosting
BeoHosting
WordPress

Guía de las taxonomías de WordPress

BeoHosting Team··10 min de lectura de lectura
Guía de las taxonomías de WordPress

Qué son las taxonomías de WordPress

Una taxonomía es un sistema para clasificar y organizar contenido en grupos. En la vida cotidiana usamos taxonomías constantemente: los libros de una biblioteca se organizan por género, a los productos de una tienda se les asignan categorías y los animales se clasifican por especie, género y familia. El sistema de contenidos de WordPress usa las taxonomías de la misma manera para organizar entradas, páginas y tipos de contenido personalizados en grupos lógicos que facilitan la navegación de los visitantes y la búsqueda de contenido.

WordPress, por defecto, viene con dos taxonomías integradas para las entradas: categorías y etiquetas. Las categorías son jerárquicas, lo que significa que pueden tener categorías padre e hijo, mientras que las etiquetas son planas, sin jerarquía. Además de estas, existen taxonomías ocultas como las categorías de enlaces y los formatos de entrada. WordPress también te permite crear taxonomías totalmente personalizadas para organizar cualquier tipo de contenido de la forma que mejor se adapte a tus necesidades concretas.

Categorías: taxonomía jerárquica

Cómo funcionan las categorías

Las categorías son la taxonomía principal para organizar las entradas del blog. Toda entrada debe pertenecer al menos a una categoría y, si no asignas ninguna, WordPress asigna automáticamente la categoría Sin categoría. Las categorías son jerárquicas, lo que significa que puedes crear subcategorías. Por ejemplo, la categoría Tecnología puede tener las subcategorías Hardware, Software y Dispositivos Móviles. La subcategoría Software puede tener a su vez las subcategorías Sistemas Operativos y Aplicaciones. Esta jerarquía ayuda a organizar grandes cantidades de contenido.

Buenas prácticas para las categorías

Planifica la estructura de categorías antes de empezar a escribir contenido. El número ideal de categorías para un blog es de 5 a 10, porque demasiadas categorías confunden a los visitantes y diluyen la fuerza SEO. Toda categoría debe tener suficientes entradas para justificar su existencia: una categoría con una sola entrada no es útil. Usa nombres descriptivos que comuniquen con claridad qué pueden esperar los visitantes en esa categoría. El slug de la categoría debe ser corto y contener palabras clave relevantes para el SEO.

Añade una descripción a cada categoría, ya que se muestra en la página de archivo de la categoría y se usa como meta descripción en SEO. Establece una imagen destacada para las categorías mediante un plugin como Category Images para que cada categoría tenga una identidad visual. Evita añadir una entrada a demasiadas categorías; lo ideal es una entrada en una categoría. Si una entrada encaja en varias categorías, es señal de que tu sistema de categorías necesita una reestructuración.

Etiquetas: taxonomía plana

Diferencia entre etiquetas y categorías

Las etiquetas son una taxonomía plana sin jerarquía, lo que significa que no pueden tener padres ni hijos. Mientras que las categorías definen amplios grupos temáticos, las etiquetas describen detalles concretos del contenido. Por ejemplo, una entrada de la categoría Recetas puede tener etiquetas como vegetariano, comida rápida, sin gluten y cocina mediterránea. Las etiquetas son opcionales, a diferencia de las categorías, y una entrada puede tener varias etiquetas. Imagina las categorías como los capítulos de un libro y las etiquetas como el índice de términos del final.

Uso eficiente de las etiquetas

Usa las etiquetas de forma coherente en todo el sitio. Si una vez usas la etiqueta WordPress y otra vez WordPress blog, tendrás dos etiquetas distintas en lugar de una. Limita el número de etiquetas por entrada de 5 a 10, porque demasiadas etiquetas diluyen su utilidad. No uses etiquetas que sean iguales a las categorías, porque eso crea contenido duplicado. Una etiqueta debería usarse en al menos 3 entradas para ser útil, y las etiquetas con una sola entrada deberían eliminarse o consolidarse. Revisa y limpia periódicamente las etiquetas sin uso mediante el plugin Herramientas y luego Tax Meta o manualmente a través del panel de administración.

Taxonomías personalizadas

Cuándo crear una taxonomía personalizada

Las taxonomías personalizadas son necesarias cuando las categorías y etiquetas predeterminadas no pueden organizar adecuadamente tu contenido. Por ejemplo, un sitio inmobiliario necesita taxonomías para el tipo de propiedad (piso, casa, local comercial), la ubicación (Madrid, Barcelona, Valencia) y la franja de precios. Una tienda online puede tener taxonomías para marca, material, talla y color. Un blog de cine puede tener taxonomías para género, director, año y valoración. Cada uno de estos ejemplos requiere su propia taxonomía, porque mezclarlas todas en una sola categoría sería impracticable.

Registrar una taxonomía personalizada

Una taxonomía personalizada se crea con la función register_taxonomy llamada dentro del hook init. La función recibe tres argumentos: el slug de la taxonomía, que es el identificador interno; un array de tipos de contenido a los que se aplica la taxonomía; y un array de argumentos que definen su comportamiento. El slug debe ser singular, en minúsculas, sin espacios y de hasta 32 caracteres. Entre los argumentos clave se incluyen labels, que define los nombres en el panel de administración; hierarchical, que determina si la taxonomía es jerárquica o plana; show_in_rest, para el soporte de Gutenberg; y rewrite, para la estructura de la URL.

Ejemplo de código

Para registrar una taxonomía de tipo de proyecto para el tipo de contenido personalizado project, creas una función que llama a register_taxonomy con el primer argumento project_type, el segundo argumento un array que contiene project, y el tercer argumento un array con labels, hierarchical establecido en true para una interfaz de casillas de verificación o false para una interfaz de etiquetas, show_in_rest en true, rewrite con slug project-type, y show_admin_column en true para que la columna se muestre en la lista de entradas del panel de administración. Engancha esta función a init con add_action.

Taxonomías jerárquicas frente a planas

Taxonomías jerárquicas

Las taxonomías jerárquicas funcionan como las categorías, con la posibilidad de crear relaciones padre-hijo. En el panel de administración se muestran como una lista de casillas de verificación con sangría para las subcategorías. Usa taxonomías jerárquicas cuando tu clasificación tenga una estructura de niveles clara. Por ejemplo, la ubicación puede tener una estructura España, luego Cataluña, luego Barcelona, o el género musical, luego Rock, luego Rock Alternativo, luego Indie Rock. La jerarquía ayuda a la navegación, ya que los visitantes pueden elegir una categoría amplia y luego acotar la elección.

Taxonomías planas

Las taxonomías planas funcionan como las etiquetas, sin la posibilidad de tener una jerarquía. En el panel de administración se muestran como un campo de entrada de etiquetas en el que escribes los términos separados por comas. Usa taxonomías planas para etiquetas flexibles que no tienen una jerarquía natural. Por ejemplo, habilidades (PHP, JavaScript, WordPress), características de productos (impermeable, inalámbrico, portátil) o ingredientes de recetas. Las taxonomías planas son más fáciles de mantener, ya que no requieren planificar una estructura y los usuarios pueden añadir libremente nuevos términos.

Elegir el tipo de taxonomía

Algunas preguntas que ayudan en la decisión: ¿la clasificación tiene niveles naturales, como país, ciudad, barrio? Si es así, usa jerárquica. ¿Los usuarios deberían elegir de una lista predefinida o añadir libremente nuevos términos? Si la lista es fija, es mejor jerárquica, porque el administrador controla la estructura. ¿El número de términos es pequeño y estable, o grande y creciente? Un número pequeño y estable favorece la jerárquica, mientras que un número grande y creciente favorece la plana. ¿Un término puede pertenecer a otro término? Si existe una relación lógica padre-hijo, usa jerárquica.

Archivos de plantilla para taxonomías

Jerarquía de plantillas de WordPress

WordPress usa una jerarquía específica para determinar qué archivo de plantilla muestra una taxonomía. Para las categorías, WordPress busca category-slug.php, luego category-id.php, luego category.php, luego archive.php y luego index.php. Para las etiquetas busca tag-slug.php, luego tag-id.php, luego tag.php y luego archive.php. Para las taxonomías personalizadas busca taxonomy-slug-term.php, luego taxonomy-slug.php, luego taxonomy.php y luego archive.php. Al crear un archivo de plantilla específico tienes control total sobre la presentación de la taxonomía.

Plantilla de taxonomía personalizada

El archivo de plantilla de una taxonomía suele contener el título de la taxonomía obtenido con single_term_title, la descripción de la taxonomía con term_description, una lista de subcategorías si se trata de una taxonomía jerárquica, y un bucle que muestra las entradas de esa taxonomía. Para una presentación visualmente atractiva, usa un diseño en cuadrícula con miniaturas, títulos y breves descripciones de las entradas. Añade una barra lateral con una lista de todos los términos de la taxonomía para facilitar la navegación, y paginación en la parte inferior para un gran número de entradas.

Mostrar taxonomías en las plantillas

WordPress proporciona varias funciones para trabajar con taxonomías en las plantillas. La función get_the_terms devuelve todos los términos de una taxonomía concreta para una entrada dada. La función the_terms muestra enlaces a los términos con un separador configurado. La función get_terms obtiene todos los términos de la taxonomía con independencia de la entrada, lo cual es útil para widgets de barra lateral y filtros. La función wp_list_categories con el argumento taxonomy muestra una lista jerárquica de términos. Para consultas avanzadas, usa la clase WP_Term_Query con argumentos para filtrar, ordenar y limitar los resultados.

Técnicas avanzadas

Campos meta de taxonomía

Desde WordPress 4.4, los términos de taxonomía pueden tener metadatos de forma similar a las entradas. Esto permite añadir campos personalizados a categorías y etiquetas, como el color de la categoría, un icono, una imagen destacada o cualquier otro dato. Usa las funciones add_term_meta, get_term_meta y update_term_meta para trabajar con los metadatos. Para la interfaz de usuario en el panel de administración, engancha a los hooks edit_category_form_fields y create_category para añadir campos de entrada. El plugin ACF simplifica notablemente este proceso, ya que permite añadir campos a las categorías mediante una interfaz visual sin programar.

REST API y taxonomías

Con el argumento show_in_rest establecido en true, una taxonomía personalizada obtiene automáticamente un endpoint de REST API. Esto permite obtener términos vía JavaScript para filtrar contenido de forma dinámica sin recargar la página, crear términos desde formularios del frontend, integrarse con aplicaciones externas y usarlos en el editor Gutenberg. El endpoint de REST API para una taxonomía está en /wp-json/wp/v2/taxonomy-slug, con soporte para paginación, búsqueda, filtrado por término padre y ordenación.

Conclusión

Las taxonomías de WordPress son un sistema potente de organización de contenido que va más allá de las simples categorías y etiquetas. Comprender la diferencia entre taxonomías jerárquicas y planas, saber cuándo crear una taxonomía personalizada y la capacidad de personalizar las plantillas para mostrar taxonomías son habilidades clave para el desarrollo avanzado de WordPress. Un contenido bien organizado no solo mejora la experiencia del usuario, sino que afecta directamente al SEO, ya que Google valora una estructura de sitio clara. Aprende más en la guía de SEO para WordPress. En nuestro hosting WP optimizado ofrecemos un rendimiento óptimo para sitios con estructuras de taxonomía complejas y un gran número de entradas.

BeoHosting Team

10+ años de experiencia — Especialistas en alojamiento web e infraestructura

  • Web Hosting
  • WordPress Hosting
  • VPS
  • Dedicated Serveri
  • Domeni
  • SSL
  • cPanel
  • LiteSpeed
  • Linux administracija
  • DNS

Última actualización: