UA-51298262-10 Skip to main content
WordPress

Eliminar categoría base en WordPress sin plugins: guía 2024

By septiembre 5, 2026No Comments
Eliminar categoría base en WordPress sin plugins: guía 2024

Por qué eliminar la categoría base en WordPress mejora tus URLs

WordPress, por defecto, antepone /category a todas las URLs de archivo de categoría. Una categoría llamada hosting genera algo como https://tudominio.com/category/hosting/. ¿Y qué problema hay con eso? Varios: la URL se alarga, la palabra «category» no aporta nada ni al usuario ni al buscador, y la jerarquía queda más profunda de lo necesario. Por eso tantos administradores acaban buscando cómo eliminar la categoría base WordPress de forma limpia y estable, sin depender de plugins que quedan obsoletos o añaden peso.

La buena noticia es que se puede hacer solo con código, editando el functions.php de tu tema o, mejor aún, un plugin de funcionalidades propio o un mu-plugin. Antes de tocar nada, eso sí: copia de seguridad completa. Archivos y base de datos.

Cómo funciona la estructura de URLs de categorías en WordPress

WordPress usa las llamadas rewrite rules (reglas de reescritura) para convertir URLs amigables en consultas internas. La base de categoría es una constante interna, la category base, configurable en Ajustes > Enlaces permanentes > Base de las categorías. Si dejas ese campo vacío, WordPress tira de «category» como prefijo.

¿Y por qué no basta con borrar el prefijo desde la interfaz? Porque WordPress necesita distinguir entre una categoría y una página o entrada con el mismo slug. Ahí es donde entra el código.

Método 1: filtrar el link de categoría con código

Este método modifica la URL que WordPress genera en los enlaces de categoría, eliminando el prefijo /category/:

  1. Abre el functions.php de tu tema hijo (nunca edites el tema padre directamente).
  2. Añade este filtro:

add_filter( ‘category_link’, function( $link ) { return str_replace( ‘/category/’, ‘/’, $link ); } );

Con esto, los enlaces que genere WordPress apuntarán directo a https://tudominio.com/hosting/. Pero falta lo más importante: hacer que el servidor resuelva esas URLs.

Método 2: reescribir las reglas de reescritura

Para que las URLs sin la base funcionen, hay que decirle a WordPress que interprete esas rutas como archivos de categoría:

add_action( ‘init’, function() { add_rewrite_rule( ‘^([^/]+)/?$’, ‘index.php?category_name=$matches[1]’, ‘top’ ); } );

Guardado esto, es imprescindible regenerar los enlaces permanentes: ve a Ajustes > Enlaces permanentes y pulsa «Guardar cambios» sin tocar nada. Con eso se borran y regeneran las reglas de reescritura, incluida la nueva.

Importante: este método solo es 100% fiable si tus categorías y entradas no comparten slugs. Si tienes una entrada y una categoría con el mismo slug («hosting»), WordPress priorizará una sobre otra y una de las dos URLs dejará de funcionar.

Qué hacer con la paginación de categorías

Al eliminar la base, las páginas paginadas tipo /category/hosting/page/2/ necesitan su propia regla:

add_rewrite_rule( ‘^([^/]+)/page/([0-9]+)/?$’, ‘index.php?category_name=$matches[1]&paged=$matches[2]’, ‘top’ );

Sin ella, la segunda página y siguientes devolverán un error 404. Pruébalo siempre después de implementar el cambio. No lo dejes para luego.

¿Y el truco del punto en la base de categoría?

Existe, sí. Un clásico que no requiere tocar código: vas a Ajustes > Enlaces permanentes y escribes un punto (.) en el campo «Base de las categorías». En muchas instalaciones esto elimina el prefijo de las URLs generadas. Rápido, cierto. Pero tiene dos problemas: puede romperse tras actualizaciones de WordPress y no siempre funciona con la paginación o con temas que generan sus propios enlaces. El método por código es más robusto y, sobre todo, controlable.

Impacto SEO y redirecciones 301

Si tu sitio lleva tiempo indexado con /category/ en las URLs, eliminar el prefijo cambiará todas esas direcciones. Para no perder posicionamiento, configura redirecciones 301. La forma más limpia es a nivel de servidor. En Apache, añade a tu .htaccess antes de las reglas de WordPress:

RewriteRule ^category/(.+)$ https://tudominio.com/$1 [R=301,L]

En Nginx, usa rewrite ^/category/(.*)$ /$1 permanent; dentro del bloque del servidor. Después verifica con Search Console que las URLs nuevas se indexen y que las antiguas devuelvan 301, no 404.

Errores comunes al eliminar la categoría base y cómo solucionarlos

  • Error 404 en categorías: casi siempre se debe a no regenerar los enlaces permanentes o a conflictos de slugs duplicados.
  • Bucle de redirección: ocurre si el slug de la categoría coincide con una página. Renombra el slug de uno de los dos elementos.
  • Paginación rota: falta la regla de reescritura para /page/N/ explicada más arriba.
  • Reglas que desaparecen tras actualizar: si añadiste el código al functions.php del tema padre, una actualización lo borra sin piedad. Usa siempre un tema hijo o un mu-plugin en wp-content/mu-plugins/.

Buenas prácticas antes de aplicar el cambio

  • Copia de seguridad completa de archivos y base de datos.
  • Prueba primero en staging, nunca directamente en producción.
  • Comprueba que no existan categorías y entradas o páginas con slugs idénticos.
  • Actualiza tu sitemap y avisa a Google Search Console del cambio de estructura.
  • Revisa el robots.txt y las reglas de caché: purga cachés de página y de objeto tras el cambio.

Consejo de RedServicio: si tu sitio tiene miles de URLs de categoría indexadas, planifica el cambio en una ventana de bajo tráfico y monitoriza los errores 404 durante al menos dos semanas después.

¿Puedo eliminar la categoría base en WordPress multisitio?

Sí, pero cada sitio del multisitio tiene sus propias reglas de reescritura, así que tendrás que regenerar los enlaces permanentes en cada subsitio. Uno a uno.

¿Afecta negativamente al SEO eliminar /category/?

No, siempre que configures redirecciones 301 correctas. URLs más cortas y limpias son ligeramente preferibles, aunque el impacto real es pequeño.

¿Es mejor usar un plugin?

Un plugin bien mantenido funciona, pero el código propio pesa menos y no depende de terceros. Para un cambio tan puntual, el código es la opción más eficiente.

Conclusión

Eliminar la categoría base en WordPress sin plugins es un cambio sencillo si se hace con orden: filtra el enlace de categoría, añade las reglas de reescritura (incluida la de paginación), regenera los enlaces permanentes y configura redirecciones 301 si tu sitio ya estaba indexado. El resultado: URLs más cortas, limpias y fáciles de compartir, sin cargar tu instalación con plugins innecesarios. Prueba siempre en staging, verifica que no haya slugs duplicados y vigila los errores durante las semanas posteriores. Y si prefieres que un experto aplique estos cambios con garantías en tu sitio, en RedServicio (redservicio.net) encontrarás ayuda profesional especializada en WordPress y administración de servidores para resolver cualquier incidencia técnica.