
🔒 Cómo ocultar una categoría en WordPress: 4 métodos paso a paso
La página de inicio de WordPress muestra por defecto todo: las entradas de todas las categorías creadas se mezclan en un único feed. Para un blog, esto es normal. Pero si usted está lanzando una tienda en línea, un portafolio o un sitio corporativo, algunas categorías simplemente no pertenecen a la página de inicio.
Peor aún, los robots de los motores de búsqueda indexan todo, incluidas las categorías de servicio y borradores. El resultado: páginas duplicadas en los resultados de búsqueda, un índice diluido y posiciones en descenso. Y un visitante que llega por accidente a una sección cerrada obtiene una página vacía en lugar de contenido.
Afortunadamente, usted puede ocultar una categoría en WordPress en 5 a 10 minutos, y no necesita un desarrollador para hacerlo. A continuación, se presentan cuatro métodos funcionales: desde un plugin que requiere dos clics hasta código limpio en functions.php. Elija el que se ajuste a su tarea.
💡 Resumen rápido:
- Instale Ultimate Category Excluder y marque las categorías a ocultar.
- Configure WP Categories Widget para una ocultación selectiva en la barra lateral.
- Añada el hook pre_get_posts a functions.php y excluya la categoría por ID.
- Use el plugin Members con un fragmento de código para ocultar por roles de usuario.
¿Por qué ocultar categorías?
WordPress no distingue entre una categoría «pública» y una «técnica». Todo lo que usted creó en «Entradas → Categorías» aparece automáticamente en el feed principal y en los archivos. En algunos casos esto es conveniente, en otros crea problemas:
- Las categorías de servicio (por ejemplo, «Borradores» o «Para editores») se indexan y aparecen en las búsquedas.
- Las categorías con contenido antiguo o desactualizado diluyen la impresión del sitio.
- Las secciones cerradas (artículos premium, materiales para clientes) se vuelven visibles para todos los visitantes.
Punto importante: no intente resolver el problema mediante CSS. display: none oculta la categoría visualmente, pero los motores de búsqueda siguen viendo el contenido y pueden tratarlo como cloaking. Una penalización de Google en estos casos está casi garantizada. La forma correcta es excluir la categoría a nivel de consulta a la base de datos, no enmascararla con estilos.
Método 1. Ultimate Category Excluder, oculte una categoría en un minuto
El método más simple y fiable es el plugin Ultimate Category Excluder. A junio de 2026, cuenta con más de 50 000 instalaciones activas, una calificación de 4.2/5 y compatibilidad con WordPress 6.5+. El desarrollador actualiza el plugin de forma consistente, con la última versión lanzada en diciembre de 2025.

Paso a paso:
- En el panel de WordPress, vaya a Plugins → Añadir nuevo.
- En el campo de búsqueda, escriba «Ultimate Category Excluder», haga clic en Instalar y luego en Activar.
- Tras la activación, aparece un elemento Category Exclusion en el menú «Ajustes», acceda a él.
- Marque las casillas de las categorías que necesita ocultar de la página de inicio, archivos, feed RSS y búsqueda.
- Haga clic en Actualizar.

Listo. Abra su sitio en modo incógnito y compruebe que las entradas de las categorías marcadas han desaparecido de la página de inicio. El plugin funciona a nivel de WP_Query: modifica la consulta a la base de datos, no oculta bloques mediante CSS. Por lo tanto, para el SEO esto es completamente seguro.
Ventajas: cero código, adecuado para principiantes, exclusión selectiva (inicio, archivos, RSS, por separado). Desventajas: si necesita ocultar una categoría solo en un widget específico, este plugin no le ayudará; para eso existe una herramienta más precisa.
Método 2. WP Categories Widget, oculte una categoría en un widget
Si su tarea es más concreta, eliminar una categoría específica de la barra lateral o del pie de página en lugar de todo el sitio, use WP Categories Widget. A febrero de 2026, el plugin tiene la versión 2.8.1, compatibilidad total con el WordPress actual y más de 3000 instalaciones activas.
Lo que puede hacer:
- Mostrar categorías de cualquier taxonomía (no solo las categorías estándar, sino también etiquetas y taxonomías personalizadas).
- Ocultar el título del widget.
- Activar o desactivar el contador de publicaciones para cada categoría.
- Mostrar u ocultar selectivamente cualquier categoría directamente desde los ajustes del widget.
Cómo usarlo:
- Instale y active el plugin desde Plugins → Añadir nuevo.
- Vaya a Apariencia → Widgets.
- Busque el widget «WP Categories Widget» y arrástrelo al área deseada (barra lateral, pie de página).

- En los ajustes del widget, establezca un título y ocúltelo si lo desea. En el desplegable «Mostrar», seleccione Todas las categorías o especifique las categorías concretas que deben mostrarse.

- Guarde los cambios.
Todo lo que no esté incluido en la lista de elementos «mostrados» se oculta automáticamente en este widget. Nota: el plugin controla la visibilidad solo dentro de su propio widget. No afecta a la portada ni a los archivos; para eso, vuelva al método 1.
Método 3. Gancho pre_get_posts: ocultar una categoría mediante código
Si no quiere instalar un plugin adicional para una sola función, puede arreglárselas con un par de líneas en functions.php. Este método modifica el bucle principal de WordPress antes de ejecutar la consulta; la categoría se excluye a nivel de base de datos, no se enmascara.
Importante: antes de editar functions.php, haga una copia de seguridad completa del sitio. Un error en este archivo tirará abajo todo el sitio y restaurarlo sin copia de seguridad será difícil.
Aquí tiene un fragmento funcional. Utiliza el gancho pre_get_posts y especifica qué categoría excluir de la página de inicio:
1 /** 2 * Excludes the specified category from the home page. 3 * Replace -5 with your category ID (with a minus sign). 4 */ 5 function sdstudio_exclude_category_from_home( $query ) { 6 if ( ! is_admin() && $query->is_home() && $query->is_main_query() ) { 7 $query->set( 'cat', '-5' ); 8 } 9 return $query; 10 } 11 add_action( 'pre_get_posts', 'sdstudio_exclude_category_from_home' );
En la línea 'cat', '-5', el número 5 es el identificador de la categoría que necesita ocultar. El signo menos significa «excluir». Cómo encontrar el ID de la categoría necesaria:
- En el panel de WordPress, abra Entradas → Categorías.
- Pase el cursor sobre el nombre de la categoría.
- En la parte inferior de la pantalla (en la barra de estado del navegador) aparecerá una URL similar a
...taxonomy=category&tag_ID=6; el número después detag_ID=es el ID.

En la captura de pantalla, el ID de la categoría «Países» es 6. Sustituya su propio número, guarde el archivo y las entradas de esta categoría desaparecerán de la página de inicio.
Dónde colocar el código:
- Por FTP: conéctese al servidor, vaya a
/wp-content/themes/your-theme/, descarguefunctions.php, añada el código al final del archivo (antes de?>si está presente) y súbalo de nuevo. - Desde el panel de administración: abra Apariencia → Editor de temas, seleccione el tema activo, busque
functions.phpen la columna derecha, inserte el código y haga clic en «Actualizar archivo».

Algunos proveedores de hosting bloquean el acceso al editor de temas por motivos de seguridad. En ese caso, use solo FTP o vuelva al plugin del método 1, que resolverá la tarea sin necesidad de acceder a los archivos.
Qué se ha mejorado respecto a la receta original de guías antiguas: se ha añadido la comprobación ! is_admin() (para no romper el panel de administración) y $query->is_main_query() (para no afectar a consultas secundarias de widgets y menús). Sin estas comprobaciones, el código puede estropear el filtrado en el panel de administración o romper la salida de los menús, algo verificado en la práctica.
Método 4. Ocultar categorías por roles de usuario
Imagine esta situación: tiene artículos premium disponibles solo para suscriptores de pago. O documentación interna para empleados. O una sección cerrada para clientes mayoristas. Los métodos habituales ocultan la categoría para todos, pero aquí necesita que el administrador y los usuarios privilegiados la vean, mientras que los invitados y suscriptores básicos no.
Anteriormente se usaba el plugin CaPa Protect para esta tarea, pero ha sido eliminado del repositorio de WordPress. Fue reemplazado por una combinación más potente: el plugin Members (más de 300.000 instalaciones, valoración 4,7/5, versión 3.2.22 a junio de 2026) y un pequeño fragmento de código.

Algoritmo:
- Instale y active Members a través de «Plugins → Añadir nuevo».
- Vaya a Usuarios → Roles. Cree un rol, por ejemplo «Suscriptor Premium», o use los existentes.
- Asigne este rol a los usuarios necesarios.
- Añada un fragmento a
functions.phpque verifique el rol del usuario actual y excluya la categoría para todos excepto los permitidos:
1 /** 2 * Hides category with ID 5 from everyone except administrators 3 * and users with the premium_subscriber role. 4 */ 5 function sdstudio_hide_category_by_role( $query ) { 6 if ( is_admin() || ! $query->is_main_query() ) { 7 return $query; 8 } 9 10 $restricted_cat_id = 5; // replace with your category ID 11 12 if ( current_user_can( 'administrator' ) 13 || current_user_can( 'premium_subscriber' ) ) { 14 return $query; 15 } 16 17 $query->set( 'cat', '-' . $restricted_cat_id ); 18 return $query; 19 } 20 add_action( 'pre_get_posts', 'sdstudio_hide_category_by_role' );
Cómo funciona: la función verifica el rol del usuario actual mediante current_user_can(). Los administradores y suscriptores premium pasan el filtro, para ellos la categoría es visible. Todos los demás reciben una consulta modificada con la categoría excluida. El mismo gancho pre_get_posts, pero vinculado a permisos, no a la página.
La ventaja de Members es que no es solo un «remedio para categorías», sino un editor completo de roles y permisos. Tras la instalación, podrá controlar la visibilidad de cualquier elemento del sitio: bloques de Gutenberg, páginas, elementos de menú, todo a través de roles.
Videotutorial
Vea una guía visual de los cuatro métodos, desde la instalación del plugin hasta la edición de código:
⁉️🤔 Preguntas frecuentes
¿Por qué no puedo simplemente ocultar la categoría con CSS?
display: noneelimina el bloque visualmente, pero los bots de los motores de búsqueda siguen leyendo el contenido. Google trata esa discrepancia entre contenido visible e indexable como un intento de manipulación (cloaking). La penalización es la degradación manual o la exclusión de páginas del índice. La solución correcta es la exclusión a nivel deWP_Query, no con CSS.
¿Cómo oculto una categoría no solo de la página de inicio, sino también del feed RSS?
Ultimate Category Excluder (método 1) puede hacerlo de fábrica. En los ajustes del plugin, en la pestaña «Category Exclusion», marque las categorías necesarias y active la casilla junto a «RSS Feeds». Si trabaja con código (método 3), reemplace la condición
$query->is_home()por$query->is_home() || $query->is_feed(), y la categoría desaparecerá también del feed.
¿Qué ocurre con el SEO tras ocultar una categoría?
Si ocultó la categoría correctamente (mediante plugin o
pre_get_posts), las páginas de categoría en sí y sus entradas siguen siendo accesibles por URL directa y se indexan. Solo cambian la página de inicio y los archivos, los duplicados desaparecen y el contenido útil permanece en el índice. Para mayor seguridad, tras realizar los cambios, envíe el sitemap en Google Search Console para un rerastreo.
¿Puedo ocultar una categoría a un usuario específico, no a un rol?
WordPress no tiene herramientas integradas para esto. El método 4 está diseñado específicamente para roles, es una limitación arquitectónica del sistema de permisos. Como alternativa, puede crear un rol separado para un usuario específico mediante Members y aplicar el código del método 4. Técnicamente, son dos clics en la interfaz del plugin.
¿Plugin o código, qué elegir para el mantenimiento del sitio a largo plazo?
Depende de la cantidad de modificaciones. Para ocultar una categoría una sola vez, el código en
functions.php(método 3) es más ligero y no añade carga extra. Para varias categorías con diferentes condiciones (inicio, RSS, búsqueda), Ultimate Category Excluder (método 1) es más fácil de gestionar. La regla principal: no instale un plugin por una casilla que puede resolverse con tres líneas de código.
Qué elegir para su tarea
Los cuatro métodos cubren todos los escenarios reales. Una matriz simple le ayudará a orientarse:
- Lo necesita rápido y sin código → Ultimate Category Excluder. Un par de clics, resultado instantáneo, adecuado para la mayoría de sitios típicos.
- La categoría solo molesta en la barra lateral → WP Categories Widget. Una solución dirigida sin efectos secundarios.
- El sitio ya tiene un mínimo de plugins, quiere mantenerlo ligero → gancho
pre_get_postsenfunctions.php. Tres líneas de PHP, cero código extra. - Contenido con restricciones de acceso por roles → Members + fragmento del método 4. Un sistema de permisos flexible que será útil también para otras tareas.
Pruebe el método que más se acerque a su situación. Si algo sale mal, vuelva a la copia de seguridad (hizo una, ¿verdad?) e intente con el siguiente. Y en los comentarios, cuéntenos qué método le funcionó y para qué tipo de proyecto estaba ocultando categorías.



