Usar CMS AI Agent con Drupal
Todo lo que necesitas para Drupal, en el orden en el que lo vas a hacer de verdad. Si te atascas, la última sección trae los mensajes de error reales y qué significa cada uno.
Activa esto primero
- El módulo JSON:API activado, en Extend dentro del administrador de Drupal. Viene con Drupal 8.7 y posteriores, pero está apagado hasta que lo enciendes.
- JSON:API fuera del modo de solo lectura. Este es el que pilla a todo el mundo: un Drupal recién instalado responde perfectamente a cualquier lectura y rechaza cualquier escritura. Activa «Accept all JSON:API create, read, update, and delete operations» en /admin/config/services/jsonapi.
- El módulo del núcleo HTTP Basic Authentication activado, también en Extend. Sin él Drupal ignora la contraseña por completo y rechaza todas las contraseñas, aunque sean correctas.
- Una cuenta de Drupal para CMS AI Agent cuyo rol tenga el permiso «Access the JSON:API resource list», además de permiso para ver y editar los tipos de contenido que quieras gestionar.
Conectar tu sitio web
- En CMS AI Agent, añade tu sitio web por su dirección: la misma que escribes en el navegador, con https:// incluido.
- Le pedimos al sitio /jsonapi y te decimos qué ha contestado: que es Drupal, y si su JSON:API responde.
- Escribe el usuario y la contraseña de Drupal de la cuenta que has creado. Crea una cuenta aparte para esto en vez de usar la tuya.
- Comprobamos la cuenta en el momento y te avisamos si el sitio sigue en modo de solo lectura, al conectar, en vez de dejar que lo descubras la primera vez que un asistente intente escribir algo.
- Elige qué puede hacer la conexión: solo leer, escribir borradores, cambiar el SEO. En tu sitio Drupal no se instala nada: ni un módulo nuestro, ni un archivo.
Qué puedes pedir en Drupal
-
Leer el contenido
Mirar lo que ya hay en el sitio web: la lista de páginas y entradas, quién escribió cada una, cuándo cambió por última vez, si está publicada, y el texto completo de cualquiera de ellas.
«¿Qué páginas no se han tocado en más de un año?»
-
Crear contenido
Añadir algo que antes no existía: una página nueva, una entrada nueva, una ficha del tipo que use tu sitio web. Llega como borrador, con título, texto y un resumen corto, listo para que lo leas antes de que lo vea nadie más.
«Añade una página sobre nuestro nuevo horario y déjala como borrador.»
-
Editar contenido
Cambiar algo que ya está ahí: el título, el texto, el resumen. Se te dice exactamente qué elementos se han tocado, y tu sitio web conserva su propio historial de lo que decían antes.
«Cambia el teléfono de la página de Contacto por el nuevo.»
-
Publicar contenido
Mover algo entre borrador, publicado y privado. Este es el paso que decide si el público puede ver una página, y por eso es algo que se pide a propósito y no algo que ocurre de pasada.
«Publica el borrador del mercado del sábado.»
-
Gestionar imágenes y archivos
Subir imágenes y archivos al sitio web y rellenar el texto que va con ellos: el título, el pie de foto y el texto alternativo que lee un lector de pantalla y que un buscador lee en lugar de la imagen.
«Sube las fotos de la semana pasada a la galería y escribe el texto alternativo de cada una.»
-
Gestionar categorías y etiquetas
Ordenar el contenido para que la gente lo encuentre: en qué categoría está una entrada, qué etiquetas lleva, y crear una categoría o etiqueta nueva cuando hace falta de verdad.
«Pon todas las entradas de recetas en la categoría Recetas.»
-
Gestionar los menús
Los menús en los que hace clic un visitante: añadir una entrada, cambiarle el nombre, ponerlas en otro orden, meter una debajo de otra.
«Añade la nueva página de Horario al menú principal, después de Contacto.»
-
Tipos de contenido propios
Pocos sitios web tienen solo páginas y entradas. Una inmobiliaria tiene inmuebles, un restaurante tiene platos, una escuela tiene cursos. Esto es trabajar con esos, en sus propios campos, en vez de obligar a que todo sea una entrada de blog.
«Añade un plato nuevo a la carta: el nombre, la descripción y el precio.»
-
Información del sitio
Los datos llanos del sitio web: cómo se llama, con qué software y qué versión funciona, cuántas páginas y entradas tiene, en qué idiomas está escrito y cuándo cambió por última vez.
«¿Cuántas páginas tiene mi sitio web y cuándo se actualizó cada una?»
-
Información de administración
Qué hay instalado, qué tiene una actualización pendiente y quién tiene cuenta en el sitio web. Solo lectura: no instala, actualiza, activa ni elimina plugins o temas, no cambia ajustes y no añade ni modifica usuarios.
«¿Hay algo en mi sitio web esperando una actualización?»
Qué no va a hacer en Drupal
Drupal no tiene forma de hacer esto, así que este agente no lo ofrece. Lo que habría significado:
-
Programar publicaciones
Poner una fecha y una hora futuras para que algo aparezca, de modo que una entrada escrita un martes por la tarde salga el lunes por la mañana sin que nadie esté delante del teclado.
-
Editar la información SEO
El texto que no se ve en la página pero decide cómo se ve la página en un resultado de búsqueda y cuando alguien la comparte: el título SEO, la descripción de debajo y el texto alternativo de las imágenes.
-
Cambios en lote
El mismo cambio en muchos elementos a la vez. No ocurre nada de inmediato: primero se te muestra la lista entera, con el valor actual al lado del valor propuesto, y se ejecuta solo después de que digas que sí. Se puede parar a medias y se puede deshacer.
-
Gestionar redirecciones
Mandar una dirección antigua a una nueva, para que un enlace que alguien guardó o un resultado que sigue en Google acabe en la página correcta en vez de en un error. También puede listar todo lo que ya se está mandando a otro sitio.
Conviene saber sobre Drupal
- El núcleo de Drupal no sabe programar publicaciones. En Drupal no existe publicar en una fecha futura; eso viene del módulo contribuido Scheduler, así que aquí no se ofrece, en vez de ofrecerse a medias.
- Un archivo de Drupal no tiene texto alternativo propio. El texto alternativo pertenece al sitio donde se usa la imagen, no al archivo, así que las imágenes se pueden subir y listar, pero en el archivo no hay nada que etiquetar.
- El núcleo de Drupal no tiene título ni descripción SEO. Eso viene del módulo contribuido Metatag, y CMS AI Agent todavía no escribe a través de él, así que la edición SEO solo se ofrece donde una página vuelve trayendo esos campos de verdad.
- Al texto que se escribe en una página de Drupal se le pone uno de los formatos de texto del propio sitio, elegido preguntándole al sitio cuáles tiene. Importa más de lo que parece: sin formato, Drupal guarda el texto como texto plano y el párrafo acaba en tu sitio web mostrando las etiquetas como caracteres visibles en vez de como un párrafo.
Cuando algo sale mal
Los fallos con los que se topa la gente de verdad, con las palabras exactas que te va a mostrar CMS AI Agent. El mensaje está en inglés estés donde estés, porque es lo que dice el software.
El sitio es claramente Drupal pero /jsonapi no devuelve nada.
Lo que vas a ver
Qué hacer
Ve a Extend en el administrador de Drupal, busca «JSON:API», márcalo y guarda. Forma parte de Drupal desde la 8.7, así que no hay nada que descargar: simplemente está apagado hasta que lo enciendes.
El usuario y la contraseña se rechazan, y tú tienes la certeza de que son correctos.
Lo que vas a ver
Qué hacer
En Drupal un 401 significa dos cosas bastante distintas, y la segunda es la habitual: el módulo del núcleo HTTP Basic Authentication está apagado. Con él apagado Drupal ni siquiera mira la contraseña, así que restablecer una contraseña correcta no cambia nada. Actívalo en Extend y vuelve a intentarlo.
Leer funciona perfectamente y cualquier intento de escribir falla.
Lo que vas a ver
Qué hacer
Esto es lo que trae Drupal por defecto y pilla a casi todo el mundo. Ve a /admin/config/services/jsonapi, elige «Accept all JSON:API create, read, update, and delete operations» y guarda. No hay que cambiar nada más: ese único interruptor convierte en éxito todos los fallos de escritura de un Drupal recién instalado.
La cuenta se acepta pero no puede leer contenido.
Lo que vas a ver
Qué hacer
Dale al rol de la cuenta el permiso «Access the JSON:API resource list», en Personas → Permisos, junto con permiso para ver los tipos de contenido que quieras gestionar.
El sitio responde en el navegador pero a nosotros nos rechaza, muchas veces con «Not Acceptable».
Lo que vas a ver
Qué hacer
Algo delante de Drupal nos está bloqueando: un módulo de seguridad, Cloudflare o el cortafuegos del alojamiento. «Not Acceptable» suele ser ModSecurity en alojamiento compartido. Pide a tu alojamiento que permita las peticiones a /jsonapi, o añade una excepción en el módulo de seguridad.