13. Preguntas frecuentes (FAQ)
Introducción
Soluciones a los problemas más habituales del Panel Admin. Si tu problema no aparece aquí, consulta el capítulo concreto (secciones 1 a 12) o contacta con soporte (ver pregunta 13.10).
Preguntas frecuentes
13.1 He hecho un cambio pero no se ve en la web
Tres causas habituales, en orden de probabilidad:
- Caché del frontend: el sitio genera versiones estáticas de las páginas para acelerar la entrega. Espera unos minutos a que expire la caché (o purga la caché manualmente desde la sección de páginas) y vuelve a probar.
- Caché del navegador: tu navegador puede estar sirviendo una copia antigua. Haz un hard refresh con
Ctrl + Shift + R(Windows / Linux) oCmd + Shift + R(Mac). En último extremo, abre la web en una ventana de incógnito. - Estado borrador: si el cambio está en una página o un item de colección, comprueba que la página está publicada, no en borrador. Las páginas en borrador solo son visibles para editores autenticados en modo preview.
Si después de estas tres comprobaciones el cambio sigue sin verse, abre la consola del navegador (F12 → pestaña Network) y comprueba si la petición a la página devuelve 200 o 304 (caché).
13.2 La página devuelve 404
Las causas más habituales son:
- Slug mal formado: la URL que has tecleado no coincide con el slug de ninguna página. Revisa en
/pagesel slug exacto de la página que quieres visitar. - Página no publicada: la página existe pero está en borrador o desactivada. Solo se sirven las páginas con estado publicado.
- Idioma no activo: la URL lleva un prefijo de idioma (p. ej.
/en/contacto) y ese idioma no está activo en/languages. Actívalo o entra con el prefijo del idioma por defecto. - Página eliminada o movida: revisa el listado de páginas. Si se ha movido, el sistema puede haber dejado un redirect antiguo; en ese caso, la URL debería redirigir automáticamente a la nueva.
13.3 No me deja borrar un componente / colección
El sistema protege los elementos que están en uso:
- Un componente no se puede borrar si está siendo usado por al menos una página. Primero tienes que quitarlo del builder de esas páginas (o borrarlas).
- Una colección no se puede borrar si tiene items dentro. Borra o reasigna primero los items, o bien desactívala (si la colección tiene un campo activo) en lugar de eliminarla.
- Una página no se puede borrar si está marcada como inicio o si es la única referencia a un componente. Marca otra como inicio antes.
La pantalla de borrado suele listar las dependencias; léelas antes de confirmar. Si de verdad necesitas eliminar el elemento, resuelve las dependencias una a una.
13.4 Las imágenes no se ven
Revisa en este orden:
- URL rota: abre la imagen en una pestaña nueva. Si devuelve 404, la URL está mal escrita o el archivo se ha borrado del repositorio de medios.
- Ruta mal formada: si la URL es relativa (p. ej.
assets/images/foto.jpg), comprueba que la página se está renderizando desde la ruta correcta. A veces un cambio de slug de página rompe las rutas relativas. La forma robusta es usar siempre[VAR:base_path]/assets/images/foto.jpg. - Variable
[VAR:base_path]ausente: si elsrcaparece comoundefined/assets/..., falta la variable globalbase_patho tiene un valor incorrecto. Revísala en sección 11 (carpeta SYSTEM). - Permisos del archivo: en el servidor, los archivos de
assets/deben ser legibles por el usuario del servidor web. Si has subido un archivo por SFTP con permisos 600, no se servirá hasta que les hagas unchmod 644. - MIME type incorrecto: algunos servidores bloquean archivos sin extensión o con extensión en mayúsculas. Renombra el archivo a
.jpg/.pngen minúsculas.
13.5 El mailing no se envía
Las causas más habituales son:
- SMTP mal configurado en
.env: revisa las variablesMAIL_HOST,MAIL_PORT,MAIL_USER,MAIL_PASSWORD,MAIL_ENCRYPTIONyMAIL_FROM_ADDRESS. Un cambio en la contraseña del buzón (p. ej. rotación corporativa) invalida el envío silenciosamente. - Cola parada: los envíos se procesan en background por una cola (worker). Si el worker está caído, los emails se quedan encolados y nunca salen. Revisa el estado del worker y los logs de la cola.
- Plantilla mal referenciada: si la campaña apunta a una plantilla borrada, el envío falla con error en el log. Revisa el report de la campaña.
- Proveedor bloqueando: algunos proveedores de email (Gmail, Outlook) rechazan masivos desde IPs no verificadas. Si envías muchos emails, configura SPF, DKIM y DMARC en el dominio y usa un proveedor transaccional (Mailgun, SendGrid, Amazon SES…).
Para más detalle, consulta la sección 8.
13.6 Un pago aparece en Stripe pero no en el panel
Esto suele indicar un problema con el webhook de Stripe:
- Entra en el dashboard de Stripe y comprueba que el endpoint del webhook está configurado con la URL correcta (apunta a
/api/payments/webhooko la ruta que use este despliegue) y que el eventopayment_intent.succeededestá suscrito. - Revisa los logs del webhook en Stripe: si ves respuestas 4xx/5xx, el panel está rechazando la notificación. La causa más habitual es una firma de webhook inválida (el
STRIPE_WEBHOOK_SECRETdel.envno coincide con el del dashboard de Stripe). - Si los webhooks se reciben pero el pago no aparece, mira los logs del panel (lado servidor): probablemente hay una excepción en el handler de webhook. Apunta el
payment_intent_idy compáralo con el de la BD; si está, el problema es solo de UI; si no, es de handler. - Si nada de lo anterior funciona, puedes reenviar el evento manualmente desde el dashboard de Stripe (botón Resend en el detalle del webhook).
13.7 No veo un módulo en el menú
Dos causas posibles, en orden de probabilidad:
- Permisos del grupo al que perteneces: cada usuario pertenece a uno o varios grupos, y cada grupo tiene un conjunto de permisos. Si tu grupo no tiene el permiso del módulo (p. ej.
mailing.read), la entrada del menú no se renderiza. Pide a un administrador que revise los permisos de tu grupo, o entra con un usuario del grupo admin para descartar. - Feature flag del despliegue: algunos módulos (CRM, Abonos…) están controlados por variables de entorno en el
.envdel servidor. SiCRM_ENABLED=falseoABONOS_ENABLED=false, todas las entradas del módulo desaparecen del menú. En este despliegue, CRM y Abonos están deshabilitados: es el comportamiento esperado, no un error. Ver sección 9 y sección 10.
13.8 Olvidé la contraseña
Este panel no expone un flujo autogestionado de "olvidé mi contraseña" en la pantalla de login: no hay enlace público para recuperarla. Para restablecerla:
- Contacta con un administrador del panel (un usuario con permiso
users.writeo del grupo admin). - El administrador entra en
/users, localiza tu cuenta y usa la acción Restablecer contraseña (o asigna una contraseña temporal directamente). - Recibirás la contraseña temporal por el canal acordado (en persona, por email, etc.) y la cambias en tu perfil al entrar.
Si nadie puede ayudarte (p. ej. todos los admins están bloqueados), hace falta acceso DBA al servidor para restablecer la contraseña directamente en la tabla users (ver herr_admin/CLAUDE.md).
13.9 Sesión caduca constantemente
El panel cierra la sesión automáticamente tras un tiempo de inactividad (configurado en el servidor, por defecto 1 hora). Si te caduca mucho antes de lo razonable:
- Cookie de sesión bloqueada: comprueba que el navegador no esté bloqueando cookies de terceros para el dominio del panel. Si el panel está en un subdominio y la cookie es third-party respecto a la web principal, algunos navegadores la rechazan.
- HTTPS mal configurado: si la cookie tiene
Securepero el panel se sirve por HTTP en algún momento (p. ej. tras un reinicio del proxy), el navegador la descarta y la sesión se pierde. Comprueba que el panel siempre se sirve por HTTPS. - Cambio de IP / carga de proxy: algunos proveedores de hosting rotan la IP de origen por balanceo. Si la sesión está ligada a la IP y esta cambia, el servidor invalida la sesión. Habla con el administrador del servidor para revisar la configuración del balanceador.
- Sesiones en文件系统 con permisos restrictivos: si PHP no puede escribir en el directorio de sesiones, cada petición genera una sesión nueva. Revisa los permisos de
storage/sessionso del directorio que use el despliegue.
Si el problema persiste, contacta con un administrador (ver pregunta 13.10).
13.10 Cómo pedir soporte
Para que el equipo de soporte pueda ayudarte a la primera, aporta siempre:
- URL exacta donde se reproduce el problema (p. ej.
https://herradmin.santandreu.tuplanb.com/pages/42/edit). - Usuario con el que estabas logueado (no la contraseña; solo el email o el identificador).
- Hora aproximada del intento (con zona horaria).
- Pasos para reproducir: qué has hecho, en qué orden, qué esperabas que pasara y qué ha pasado en su lugar.
- Capturas de pantalla si la pantalla muestra algo raro (errores visibles, textos truncados, layouts rotos).
- Mensaje de error exacto si lo hay, aunque no lo entiendas: copiar y pegar evita malentendidos.
- Navegador y sistema operativo: Chrome 124 en Windows 11, Safari 17 en macOS 14, etc.
Cuanta más información des a la primera, menos ida y vuelta necesitarás. Si puedes, adjunta también la consola del navegador (F12 → pestaña Console) y la pestaña Network con la petición fallida.
13.11 El menú lateral está siempre expandido y no se puede colapsar
Es el comportamiento por diseño en este panel: el menú lateral no tiene estado colapsado. El icono de plegado no existe en este despliegue, y aunque en otros manuales o capturas de otros proyectos similares se vea un menú con iconos pequeños y solo el icono visible al colapsar, este CMS concreto mantiene el menú expandido siempre.
El motivo es mantener la previsibilidad: los editores no tienen que recordar dónde está cada sección; el nombre siempre está a la vista. Si necesitas más espacio horizontal de trabajo, redimensiona la ventana del navegador o usa un monitor más ancho.
13.12 La edición de un componente dentro del builder abre una página completa en lugar de un modal
Es la implementación actual de este panel. Al pulsar Editar contenido sobre un componente dentro del builder de una página, el sistema navega a una página completa (/pages/{id}/components/{cid}/content) en vez de abrir un modal superpuesto. La URL cambia, el botón Atrás del navegador te devuelve al builder, y la página completa dispone de más espacio para formularios complejos (sobre todo componentes con muchos campos o con campos richtext).
No es un error: el manual recoge esta decisión de implementación. Si en un futuro se migra a un modal, el manual se actualizará.