Blog sobre desarrollo WordPress en Español Desarrollo WordPress en Español
category tag seo

Deshabilitar página de categorías o etiquetas

Como sabrás, WordPress por defecto tiene dos taxonomías para las entradas o posts de tu sitio: categorías y etiquetas. Estas taxonomías te permiten categorizar o etiquetar tus entradas o posts para una mejor búsqueda o filtro de contenidos.

Son muy útiles para organizar contenidos. No son exclusivas de los posts, puedes crear tantas taxonomías como quieras para tus Custom Post Types de tipo jerárquico (como las categorías) o sin jerarquía (como las etiquetas).

Por ejemplo y sin ir más lejos, en este blog tengo 4 subcategorías: Entrevistas, Noticias, Plugins y Tutoriales, que pertenecen a la categoría principal Blog. Y varias etiquetas entre las que se encuentran custom fields, hooks, wpo, amp, wp-cli, etc…

Las primeras generan URLs del tipo https://desarrollowp.com/category/blog/tutoriales/ y las segundas del tipo https://desarrollowp.com/tag/wpo/. Si entramos en estas URLs estaremos navegando por las plantillas category.php y tag.php del tema, y en ambas se ofrece un listado de todos los posts categorizados o etiquetados por la categoría o etiqueta correspondiente.

Y aquí es cuando llegamos al quid de la cuestión: Mucha gente piensa que estas páginas con listados de categorías y etiquetas no aportan beneficios para el posicionamiento SEO de nuestra página. Incluso algunos/as afirman que puede llegar a resultar negativo. Sin entrar en el debate de si es bueno o no, lo que está claro es que en algunos casos o para algunos proyectos es probable que quieras o te pidan deshabilitar estas páginas.

Tienes disponibles en internet herramientas como SiteLiner para detectar contenido duplicado, entre otras cosas.

 

Evitar la navegación por category.php y tag.php en WordPress

Voy a centrarme en las taxonomías por defecto que tiene WordPress (categorías y etiquetas), pero esto es extensible a cualquier taxonomía que quieras crear para tus Custom Post Types. Vamos a añadir una función en el archivo functions.php que engancharemos al hook template_redirect:

El hook template_redirect se ejecuta justo antes de que WordPress determine que plantilla va a cargar. En este ejemplo lo que hago es comprobar a través de los condicionales de WordPress si estoy en una página de etiquetas con la función condicional is_tag(), y en ese caso establecer una página de error 404. De este modo nunca llegaremos a navegar por la plantilla tag.php.

Para hacerlo con las categorías sería simplemente utilizar el condicional is_category(), y evitaríamos la navegación por la plantilla category.php.

Tanto para etiquetas como para categorías podríamos filtrar sólo por algunas de ellas pasando a las funciones is_category() e is_tag() los IDs o Slugs de categorías o etiquetas determinadas, es decir, podemos personalizarlo hasta el extremo que necesitemos.

Así como podemos personalizar el destino, si no te gusta o no quieres forzar un 404 puedes hacer una redirección a una URL o página concreta de tu sitio de la siguiente manera:

Por último podrías avisar a los robots de búsqueda para que no indexen estás páginas de categorías y etiquetas, teniendo algo así en el robots.txt de tu sitio:

¿Qué opinas?

Puede que también te interese

Cómo cambiar el título del meta box de la imagen destacada en WordPress
Cómo cambiar el título del meta box de la imagen destacada en WordPress
En algunas ocasiones puede resultar de utilidad cambiar o renombrar el texto o título que aparece en el meta box de Imagen destacada. Por ejemplo…
Mejora la puntuación de Google PageSpeed Insights: Especificar caché de navegador
Mejora la puntuación de Google PageSpeed Insights: Especificar caché de navegador
1. Optimizar imágenes 2. Minificar CSS y JS 3. Especificar caché de navegador 4. Habilita la compresión 5. Reducir el tiempo de respuesta del servidor…
Reduce el HTML de tu WordPress para bajar el peso de la página
Reduce el HTML de tu WordPress para bajar el peso de la página
La parte pública de una web o expresado de otro modo, lo que el navegador pinta, no es más que un documento HTML, donde encontraremos…
Cómo crear un formulario de registro personalizado en WordPress
Cómo crear un formulario de registro personalizado en WordPress
En entradas anteriores hemos visto cómo crear formularios de log-in / log-out personalizados, y cómo agregar campos personalizados al perfil de usuario de WordPress tanto…