Equilibrando la indexación de Google con restricciones de búsqueda basadas en grupos

Hemos estructurado nuestro foro de Discourse de manera que la visibilidad de las categorías esté estrictamente controlada por grupos. Nuestro objetivo es crear una experiencia organizada y personalizada para los usuarios registrados, al tiempo que garantizamos que el contenido público siga siendo accesible para fines de SEO. Nuestra configuración actual incluye:

:check_mark: Acceso Basado en Grupos – Los usuarios deben unirse a un grupo para ver ciertas categorías.
:check_mark: Categorías Rastreadas – Al unirse a un grupo, los usuarios rastrean automáticamente sus categorías asociadas.
:check_mark: Comportamiento de Categorías Silenciadas – Las categorías silenciadas deben colapsarse por defecto.
:check_mark: Permisos de Búsqueda – Los usuarios registrados solo deben ver resultados de búsqueda de las categorías a las que tienen acceso.
:check_mark: Visibilidad Pública para SEO – Los visitantes no registrados (incluidos los rastreadores de Google) deben poder ver todas las categorías e indexarlas.
:check_mark: Requisito de Incorporación – Los nuevos usuarios deben seleccionar un grupo antes de participar.

Desafíos que Enfrentamos

:small_blue_diamond: 1. Visibilidad de Categorías Basada en Grupos No Funciona Como Se Espera

  • Cuando un usuario se une a un grupo, el comportamiento esperado es que las categorías del grupo aparezcan en la página de inicio y en la página de categorías.
  • Sin embargo, esto no sucede de inmediato; a veces las categorías no se muestran en absoluto o solo aparecen después de desplazarse hacia abajo.
  • Las categorías creadas anteriormente (por ejemplo, Flebotomistas) se comportan correctamente, mientras que las creadas recientemente (por ejemplo, Alguacil) tardan más en mostrarse o no aparecen hasta que se activan manualmente.
  • Los usuarios a menudo solo ven categorías silenciadas en lugar de las categorías rastreadas/seguidas esperadas.
  • Solución temporal: Si un usuario desactiva al menos una categoría manualmente, otras categorías unidas comienzan a aparecer correctamente.

:small_blue_diamond: 2. Resultados de Búsqueda que Muestran Categorías No Relacionadas

  • Los usuarios registrados están viendo resultados de búsqueda de categorías a las que no tienen acceso.
  • Comportamiento esperado: Discourse debería limitar los resultados de búsqueda solo a las categorías asignadas al grupo de un usuario.
  • Comportamiento observado: La búsqueda todavía devuelve resultados de todas las categorías, lo que significa que los usuarios pueden ver fragmentos de contenido a los que técnicamente no deberían tener acceso.
  • Discusión relacionada: Una conversación en ask[.]discourse[.]com confirma que Discourse debería restringir los resultados de búsqueda según los permisos del grupo.

:small_blue_diamond: 3. SEO y Rastreo de Google vs. Acceso Restringido

  • Queremos que todas las categorías sean indexadas por Google para que el contenido pueda ser descubierto en los resultados de búsqueda.
  • Sin embargo, no queremos que los usuarios registrados vean todas las categorías por defecto, solo las vinculadas a su grupo seleccionado.
  • Problema actual: Si ocultamos una categoría a los usuarios registrados, también desaparece de Google, lo que hace imposible su indexación.
  • Solución ideal: Google debería poder rastrear e indexar todas las categorías, pero los resultados de búsqueda para los usuarios registrados aún deberían restringirse según los permisos del grupo.

Preguntas para la Comunidad

:one: ¿Cómo podemos asegurar que las categorías unidas aparezcan inmediatamente y por encima de las categorías silenciadas?
:two: ¿Cómo podemos aplicar completamente las restricciones de resultados de búsqueda para los usuarios registrados mientras mantenemos el contenido visible para SEO?
:three: ¿Hay alguna manera de permitir que Google indexe todas las categorías públicas mientras aún las oculta a los usuarios registrados hasta que se unan a un grupo?
:four: ¿Cuál es el mejor enfoque para forzar la selección de grupo al registrarse sin bloquear a los lectores públicos para que descubran contenido?

Discusiones y Referencias Relacionadas

:pushpin: Group-Based Category Access Not Working as Expected – Discusión sobre retrasos en la visibilidad de categorías, categorías silenciadas que anulan la configuración de seguimiento y problemas de comportamiento de búsqueda.

:pushpin: [Search Results Limited by Group Permissions (ask[.]discourse[.]com)] – Confirma que Discourse restringe los resultados de búsqueda según los permisos del grupo, pero necesitamos una forma de equilibrar esto con el SEO.

:pushpin: Demostración en Video del Problema:

Silenciar no es una restricción. Porque debes usar everyone para mostrar contenido a usuarios aleatorios y a Google, entonces todos tus usuarios tienen acceso a todas esas categorías, silenciados o no, y verán los resultados de búsqueda correctos.

Si realmente estás usando restricciones de grupo y, al mismo tiempo, mantienes fuera a los visitantes no registrados y a Google de esas categorías restringidas, entonces hay un error. Pero dudo que sea así porque aquí (y en mi foro) funciona.

Así que mi apuesta es que estás usando everyone para leer.

Gracias @Jagster por la respuesta, estoy trabajando con @emonunix en esto.

Esto es lo que intentamos lograr.

  • Queremos dar a los usuarios acceso a grupos discretos con acceso a categorías.
  • Queremos ocultar todas las categorías que no estén en estos grupos.
  • Queremos que Google indexe todo (todas las categorías).

Actualmente estamos usando la “silenciación” como una forma de ocultar categorías a los usuarios cuando llegan al sitio. Tienen que unirse a un grupo para acceder a las categorías.

Ahora, lo gracioso es que solo son conscientes de un conjunto de categorías en su grupo… no pueden “ver” ninguna otra categoría (porque están silenciadas).

Luego comienzan a buscar, en teoría, cosas en las categorías a las que tienen acceso y, de repente, ven un montón de cosas de categorías de las que no tenían idea de que existían… eso los confunde.

¿Hay alguna manera de lograr esto?

1 me gusta

Y al mismo tiempo, cada usuario tiene acceso a todas esas categorías y las ve en los resultados de búsqueda.

Quizás puedas romper esa regla de seguridad básica usando plugins o algo así, pero permitir algo a todo el mundo de forma nativa, significando al mismo tiempo que algo no es para todo el mundo, no sucederá.

Right @Jagster exactamente por eso estamos preguntando. No sabemos si había otra manera.

Idealmente, habría una forma de limitar a los usuarios registrados a ver y buscar en X mientras que los usuarios desconectados (como Google) pueden ver y acceder a Y.

O tal vez sea tan simple como hacer que las categorías silenciadas no sean accesibles en la herramienta de búsqueda… ¿o tal vez sea solo una supervisión del diseño? Parece extraño que algo esté silenciado para tu vista, pero aun así puedas encontrarlo a través de la búsqueda… es como una puerta trasera.

Silenciado significa que se calló y no aparece en /latest. No está bloqueado. Para ocultar algo, debes usar grupos y así mantendrás a Google fuera. Como deberías, porque en ese punto ese contenido ya no es gratuito.

Te encontrarías en una posición divertida cuando tu usuario registrado busque y encuentre algo de Google, haga clic en él y llegue a tu foro, pero en una categoría restringida. ¿Qué harías en ese momento?:

  • forzar a hacer una suscripción
  • forzar a cerrar sesión y leerlo como un extraño
  • mostrar error 403

Todavía no entiendo tus planes de bloquear cosas para el usuario conectado y, sin embargo, mostrar todo a los aleatorios. Es como si anunciaras lo que tienes, pero si ese usuario no elige correctamente, no lo obtiene, o debe cerrar sesión. La mayoría de los sitios hacen lo contrario :smirking_face:

Pero no. Silenciar no es bloquear.