El problema
Viaggio Fotografico organiza viajes y talleres de fotografía y publica relatos de viaje. El sitio tenía que vender los viajes con todos sus detalles, recoger las inscripciones correctamente, responder a las preguntas de los visitantes y pasar a un nuevo servidor sin perder nada.
Lo que construí
Rehíce el tema como una revista de viajes y fotografía y añadí las herramientas que el equipo necesitaba para gestionarlo.
- Viajes como productos — cada viaje es un producto de WooCommerce con sus propios campos: imágenes para ordenador y móvil, vídeo, descuento, participantes, programa, pestañas, galería e imagen panorámica.
- Formularios de inscripción que se rellenan solos — un plugin a medida rellena de antemano el formulario de reserva con los datos del viaje que se está viendo, añade campos como el número de personas y la habitación compartida, y lleva esos mismos datos a los correos. Menos errores y menos idas y venidas.
- Caronte, el asistente de IA — un widget de chat con un endpoint de OpenAI en el servidor. Sus instrucciones están divididas en secciones que el equipo edita en WordPress: reglas, formato de las respuestas, páginas principales, preguntas frecuentes y lista de viajes. Solo enlaza a páginas del sitio y no inventa precios ni fechas.
- Mapas de viajes y relatos — mapas de Google de los viajes y de los relatos con coordenadas GPS, con una vista de Italia en el móvil y del mundo en el ordenador.
- Centro de administración — un único menú en el escritorio que enlaza las áreas principales del sitio.
- Herramientas de copia y sincronización — archivos comprimidos de base de datos, tema y plugins a medida en un clic para cambiar de servidor, y una subida por fragmentos de un volcado de la base de datos de producción de hasta unos 200 MB, por encima del límite de subida de 50 MB del servidor.
Con qué está hecho
WordPress, WooCommerce, un tema a medida, Advanced Custom Fields Pro, Contact Form 7, dos plugins a medida, caché Redis, la OpenAI Responses API, Google Maps y despliegue con git.
Por qué se hizo así
El chat de IA llama a OpenAI desde el servidor, no desde el navegador, así que la clave de API nunca llega al visitante. Mantener el prompt en secciones editables permite al equipo actualizar las preguntas frecuentes y los viajes sin pedírselo a un desarrollador.


