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

Mejora la puntuación de Google PageSpeed Insights: Reducir el tiempo de respuesta del servidor
Mejora la puntuación de Google PageSpeed Insights: Reducir el tiempo de respuesta del servidor
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…
Cómo cambiar el tipo de Custom Post Type en WordPress
Cómo cambiar el tipo de Custom Post Type en WordPress
En WordPress podemos crear diferentes tipos de contenido, los Custom Post Type. A la hora de registrarlos utilizamos la función register_post_type( $post_type, $args ); El primero…
Cómo añadir un enlace para los ajustes en el listado de plugins
Cómo añadir un enlace para los ajustes en el listado de plugins
Si estas desarrollando un plugin o vas a desarrollarlo, puede resultarte de utilidad saber cómo añadir un enlace para los ajustes de tu plugin en el…
Ocultar el editor WYSIWYG en función del template seleccionado
Ocultar el editor WYSIWYG en función del template seleccionado
Es probable que en alguna ocasión estés haciendo un desarrollo a medida donde necesites crear una plantilla de página para una determinada sección o grupo…