WordPress Semanal

Gonzalo Navarro

El podcast semanal para sacarle partido real a WordPress. Cada episodio cubre una herramienta, un proceso o una decisión concreta: lo que necesitas para crear mejores webs, en menos tiempo y con más criterio.

  1. -5 J

    528 | Menús condicionales, cantidad mínima por productos en Woo, LearnDash y más (Q&A)

    Escúchalo en: En el episodio 528 de WordPress Semanal respondo a cinco preguntas de oyentes sobre menús condicionales en WordPress, cantidades mínimas de compra por producto en WooCommerce, configuración de LearnDash, ocultar elementos del menú según usuario y cómo controlar la imagen que aparece al compartir tu web en redes sociales.. Tabla de contenidos 1) Mostrar un menú diferente según el nivel de membresía, de Miriam2) Establecer una cantidad mínima de compra solo para ciertos productos en WooCommerce, de Antonio3) Problemas con LearnDash: asignación de cursos, emails y Active Campaign, de Andrés4) Ocultar un botón del menú para usuarios logueados, de Beto5) La imagen equivocada al compartir un enlace en redes sociales, de Kiko 1) Mostrar un menú diferente según el nivel de membresía, de Miriam Respondida en minuto: 4:40 Tengo una web con membresías gestionadas con Restrict Content Pro y necesito que cada nivel de suscripción vea un menú diferente. Usaba If Menu con la versión Pro, pero ahora me da errores. ¿Conoces otro plugin? Respuesta resumida: If Menu lleva tiempo sin actualizarse y hay reportes de que ya no funciona bien con las últimas versiones de WordPress. Es normal que te dé problemas. Para menús condicionales tienes varias opciones, pero ninguna es perfecta para tu caso porque Restrict Content Pro no usa roles de WordPress estándar para distinguir niveles de membresía. Veamos las alternativas: Nav Menu Roles (70.000+ instalaciones, 218 reseñas, actualizado en 2026): el más fiable. Permite mostrar u ocultar elementos del menú por rol de WordPress (logueado, no logueado, administrador, suscriptor…). Para que funcione con niveles de membresía de RCP necesitarías que cada nivel asigne un rol diferente de WordPress, o usar el filtro nav_menu_roles_item_visibility que el plugin proporciona para añadir tu propia lógica. Conditional Menus (actualizado en 2026): funciona diferente. En lugar de controlar elementos sueltos, intercambia menús enteros según la condición: un menú para logueados, otro para no logueados, otro para una página concreta. Podrías crear un menú por nivel de membresía y asignar cada uno con lógica condicional. Es más simple pero menos granular. Por código: si necesitas control total por nivel de membresía de RCP, la solución más limpia es un snippet que use las funciones de RCP (rcp_get_customer() y el nivel activo) para decidir qué menú cargar. Es más trabajo pero no dependes de que un plugin sea compatible con otro. Mi recomendación: si puedes asignar un rol de WordPress diferente a cada nivel de membresía en RCP, Nav Menu Roles es la opción más sólida y mantenida. Si no puedes, la solución por código es la más fiable a largo plazo. 2) Establecer una cantidad mínima de compra solo para ciertos productos en WooCommerce, de Antonio Respondida en minuto 7:55 Necesito que dos productos concretos de mi tienda solo se puedan pedir con un mínimo de dos unidades, pero que el resto de la tienda funcione normal. ¿Se puede hacer con código o necesito un plugin? Respuesta resumida: Se puede hacer de las dos formas. Con plugin: MinMax Quantity for WooCommerce es el que mejor rendimiento ofrece. Te permite definir cantidades mínimas y máximas por producto, por categoría o a nivel global. Con código: también se puede con un snippet que valide la cantidad en el carrito y muestre un aviso si el producto no cumple el mínimo. Tenemos uno listo en la Zona Código (#471). 3) Problemas con LearnDash: asignación de cursos, emails y Active Campaign, de Andrés Respondida en minuto 8:51 He montado una academia con LearnDash para un cliente y tengo varios problemas: cuando el alumno paga no se le asigna el curso automáticamente, los emails de registro no se pueden personalizar, el email de cambio de contraseña sale en inglés y quiero conectar los emails de los alumnos con Active Campaign. Respuesta resumida: 1) El curso no se asigna automáticamente tras el pago. Depende de cómo gestionas la venta. Si usas WooCommerce, el problema suele ser que el pedido se queda en «Procesando» en lugar de completarse. LearnDash asigna el curso cuando el pedido pasa a «Completado». La solución: forzar que los pedidos de productos virtuales se completen automáticamente. Tenemos un snippet para eso en la Zona Código (#299). 2) Personalizar los emails de registro. Puedes usar un plugin como Better Notifications for WP o similar que permita personalizar las notificaciones por email de WordPress. También se puede por código con los filtros de WordPress. 3) El email de cambio de contraseña sale en inglés. Esos emails los envía LearnDash, no WordPress. Asegúrate de tener la última versión instalada. Si sigue en inglés, puedes traducir los textos que falten con el plugin Loco Translate. Tenemos un vídeo en los cursos donde explico cómo usarlo. 4) Conectar los emails de alumnos con Active Campaign. Puedes usar Zapier o cualquier herramienta de automatización que conecte LearnDash con Active Campaign. Cuando un alumno se matricula, Zapier puede añadirlo automáticamente a una lista o etiquetarlo en AC. 4) Ocultar un botón del menú para usuarios logueados, de Beto Respondida en minuto 12:16 Tengo un botón de «Suscribirme» en la cabecera de mi web (Astra + Astra Pro) y quiero que desaparezca cuando el usuario ya está registrado. Lo he intentado con is_user_logged_in() pero no me funciona. Respuesta resumida: La forma más sencilla es por CSS. WordPress añade automáticamente la clase logged-in al  cuando un usuario está conectado. Puedes usar esa clase para ocultar el botón: .logged-in .tu-clase-del-boton {display: none;} Solo tienes que inspeccionar el botón con el navegador, copiar su clase CSS y usarla en el snippet. Lo explico paso a paso en la Zona Código (#340). Si prefieres usar un plugin, Nav Menu Roles te permite ocultar elementos del menú para usuarios logueados. Pero tendrías que convertir el botón en un elemento de menú y darle estilos para que se vea como botón. La opción CSS es más rápida y limpia. 5) La imagen equivocada al compartir un enlace en redes sociales, de Kiko Respondida en minuto 14:39 Cuando comparto un enlace de mi web en redes sociales o en WhatsApp, la miniatura que aparece no es la correcta. ¿Cómo lo controlo? Respuesta resumida: La imagen que aparece al compartir un enlace viene de las etiquetas Open Graph (og:image) de tu web. Para controlarla: 1) Asegúrate de que cada contenido tiene su imagen destacada. Es lo primero que WordPress y los plugins de SEO usan para generar la etiqueta og:image. 2) Usa un plugin de SEO para especificar la imagen por red social. Con Yoast, SEOPress o cualquier otro plugin de SEO puedes elegir exactamente qué imagen aparece al compartir en Facebook, Twitter/X, etc. Lo explico en el curso de Yoast SEO, apartado de Social. Si usas otro plugin de SEO, la opción equivalente está en la sección de redes sociales de cada entrada o página. 3) Si ya compartiste el enlace antes con otra imagen, la red social tiene cacheada la versión antigua. Tienes que «limpiar» esa caché: Facebook: Facebook Debugger Twitter/X: usa el validador de Cards de Twitter LinkedIn y otras: busca en Google «[nombre de la plataforma] + debugger» Introduces la URL, la plataforma limpia la caché y la próxima vez que alguien comparta ese enlace aparecerá la imagen correcta. Plugin de la semana El plugin de la semana es Desktop Mode. Transforma el panel de administración de WordPress en un escritorio tipo sistema operativo: las pantallas del admin se abren como ventanas que puedes arrastrar, redimensionar y minimizar, con un dock lateral y una barra de tareas. Se activa por usuario (nadie más ve cambios) y al desactivarlo todo vuelve a la normalidad. Contenidos recomendados Vídeo de la Zona Código: Cerrar sesiones de usuarios desde el admin de WordPress (individual y masivo) Ocultar elementos por CSS para usuarios logueados Completar pedidos de WooCommerce automáticamente Cantidad mínima de compra por producto en WooCommerce Curso de Tutor LMS Pro Newsletter de WordPress Semanal La entrada 528 | Menús condicionales, cantidad mínima por productos en Woo, LearnDash y más (Q&A) es una artículo de Gonzalo Navarro.

    17 min
  2. 6 MAI

    527 | ¿Plugin de cursos o de membresía? Cómo elegir sin arrepentirte

    Escúchalo en: En el episodio 527 de WordPress Semanal te ayudo a decidir si tu web de cursos necesita un plugin LMS o si con un plugin de restricción de contenido tienes suficiente. La respuesta no depende de la herramienta. Depende de lo que tu alumno necesita. Tabla de contenidos 1. La pregunta no es qué plugin. Es qué experiencia necesita tu alumno2. Qué hace un LMS3. Qué hace un plugin de restricción de contenido4. Cuándo un LMS tiene sentido5. Cuándo basta con restricción de contenido6. Lo que puedes añadir a la restricción sin montar un LMS7. La trampa del LMS: cuando complica más de lo que aporta8. La trampa de la restricción: cuando se queda corta9. Decide con estas preguntas10. Plugins concretos para cada casoPlugin de la semanaContenidos recomendados 1. La pregunta no es qué plugin. Es qué experiencia necesita tu alumno Antes de buscar plugins, responde a esto: ¿qué tiene que poder hacer la persona que paga? ¿Necesita seguir un orden? ¿Tiene que demostrar que ha aprendido algo? ¿O simplemente necesita acceder a un contenido que ahora mismo no puede ver? Esa respuesta te dice qué camino tomar. Y los dos caminos son muy diferentes en complejidad, en mantenimiento y en lo que le exigen a tu web. 2. Qué hace un LMS Un plugin LMS (Learning Management System) controla la experiencia de aprendizaje. No solo bloquea contenido: estructura cómo se consume. Te da: Estructura de curso: módulos, lecciones y temas organizados en un orden que tú defines. Progreso automático: el sistema sabe en qué lección está cada alumno y le muestra su avance. Cuestionarios y evaluaciones: preguntas que validan que el alumno ha entendido el contenido antes de avanzar. Certificados: un documento que se genera al completar el curso (normalmente solo en versiones premium). Prerrequisitos: el alumno no puede acceder a la lección 5 sin completar la 4. Panel del alumno: una zona donde ve sus cursos, su progreso y sus certificados. El LMS impone una estructura. Eso es su ventaja y su limitación. Tú defines el recorrido y el alumno lo sigue. 3. Qué hace un plugin de restricción de contenido Un plugin de restricción bloquea páginas, entradas o secciones según quién sea el usuario. Si tiene la membresía correcta, ve el contenido. Si no, ve un mensaje invitándole a suscribirse. Te da: Control de acceso: decides qué contenido es público y qué es privado, por nivel de membresía o por rol de usuario. Libertad total de diseño: el contenido lo creas tú con el editor de WordPress, con Elementor, con bloques, como quieras. No hay plantillas impuestas. Niveles de membresía: puedes tener un plan básico que ve 10 páginas y un plan premium que ve 50. Gestión de pagos: la mayoría integran Stripe y PayPal para cobrar las suscripciones. No hay estructura de curso, ni progreso, ni cuestionarios. El usuario accede y consume lo que quiera en el orden que quiera. 4. Cuándo un LMS tiene sentido Un LMS merece la pena cuando la experiencia de aprendizaje ES el producto. Es decir, cuando el valor no está solo en el contenido, sino en cómo se recorre. Situaciones claras: El orden importa. El alumno no debería ver el módulo 3 sin haber pasado por el 1 y el 2. Cada lección construye sobre la anterior. Necesitas evaluar. Quieres que el alumno demuestre que ha entendido algo antes de seguir. Un cuestionario al final de cada módulo, una tarea que tú corriges. Quieres emitir certificados. El alumno completa el curso y recibe un documento que puede presentar a su empresa o incluir en su currículum. Necesitas ver el progreso de cada alumno. Quieres saber quién ha completado qué, dónde se quedan atascados, quién no ha empezado. La formación es tu negocio principal. Eres una academia online, una escuela profesional, una empresa que vende formación como producto estrella. Si te ves reflejado en tres o más de estos puntos, necesitas un LMS. 5. Cuándo basta con restricción de contenido La restricción de contenido es suficiente cuando el valor está en acceder al contenido, no en seguir un recorrido guiado. Situaciones claras: El orden no importa. El usuario elige qué consume y cuándo. No hay una secuencia obligatoria. Vendes acceso a una biblioteca. Tutoriales, guías, vídeos, plantillas, snippets, recursos. El usuario entra y busca lo que necesita. Tu membresía es contenido + comunidad. El usuario paga por acceso a un área privada con contenido actualizado, no por un curso con inicio y fin. No necesitas exámenes ni certificados. Nadie tiene que «aprobar» nada. Quieres control total del diseño. Un LMS te impone sus plantillas, sus taxonomías, su estructura de URLs. Con restricción, cada página es tuya. Si tu contenido se parece más a una biblioteca que a un aula, la restricción es tu camino. 6. Lo que puedes añadir a la restricción sin montar un LMS El argumento más habitual para instalar un LMS es «necesito que el alumno vea su progreso». Pero hay plugins que resuelven eso sin la complejidad de un LMS completo. Marcar contenido como completado: WPComplete añade un botón de «Marcar como completado» a cualquier página o entrada. El alumno va marcando lo que termina, tú ves quién ha completado qué desde el panel de WordPress. Funciona con cualquier tema y cualquier plugin de membresía. Versión gratuita disponible, versión Pro con barras de progreso y gráficos. Guardar contenido como favorito: Favorites permite al usuario marcar contenidos que le interesan para volver a ellos. Útil cuando tienes una biblioteca grande y el usuario necesita organizar su propio recorrido. Gratuito, funciona con cualquier tipo de contenido (entradas, páginas, CPTs). Con estos dos complementos tienes progreso básico y organización personal. Sin tablas extra en la base de datos por cada curso, sin taxonomías propias, sin plantillas que choquen con tu tema. 7. La trampa del LMS: cuando complica más de lo que aporta Un LMS añade peso a tu web. Tablas en la base de datos, menús de administración, taxonomías propias, plantillas que pueden entrar en conflicto con tu tema, endpoints nuevos en tu API REST. Si lo que vendes son 5 vídeos detrás de un muro de pago, no necesitas un LMS. Necesitas una página restringida con un botón de «Marcar como completado». He visto webs con un LMS instalado para gestionar un solo curso de 8 lecciones. El plugin pesaba más que todo el resto de la web junto. La experiencia del alumno no era mejor que con una simple restricción de contenido. Pero el mantenimiento, las actualizaciones y los posibles conflictos sí eran mayores. Instalar un LMS «por si acaso crezco» es añadir complejidad que luego cuesta quitar. Es más fácil empezar con restricción y migrar a LMS si lo necesitas que al revés. 8. La trampa de la restricción: cuando se queda corta Si tus alumnos te escriben preguntando «¿por dónde voy?» o «¿qué lección me toca?», tu sistema se ha quedado corto. Si necesitas que el alumno no avance sin completar un paso previo (contenido secuencial con lógica de prerrequisitos), la restricción de contenido sola no resuelve eso. Puedes parchearlo con plugins de drip content, pero estás simulando lo que un LMS hace de serie. Si te ves encadenando tres o cuatro plugins para replicar funciones de un LMS (progreso, orden, evaluación, certificados), es el momento de plantearte el LMS. Cuatro plugins parcheando siempre dan más problemas que uno solo que lo integre todo. 9. Decide con estas preguntas ¿El orden importa? → LMS ¿Necesitas exámenes o evaluaciones? → LMS ¿Necesitas certificados? → LMS ¿El alumno elige qué consume y cuándo? → Restricción ¿Quieres control total del diseño de cada página? → Restricción ¿Vendes acceso a una biblioteca de recursos? → Restricción ¿Tienes 3 plugins parcheando funciones que un LMS haría solo? → Plantéate el LMS Si la mayoría de tus respuestas caen en el lado del LMS, ve a por él. Si caen en restricción, no compliques tu web innecesariamente. 10. Plugins concretos para cada caso Si necesitas un LMS: Tutor LMS (gratuito, cubrimos su configuración en el episodio 519): la mejor experiencia de creación de cursos en versión gratuita. Interfaz propia que no parece WordPress. LearnDash (premium, desde $199/año): el más extendido en el mercado anglosajón. Muy completo, muchas integraciones, comunidad grande. LifterLMS (gratuito con extensiones premium): buena opción intermedia. Versión gratuita más generosa que LearnDash pero menos pulida que Tutor LMS. Si te basta con restricción de contenido: Paid Memberships Pro (versión gratuita muy completa): la opción gratuita más capaz. Soporta Stripe y PayPal en la versión free, niveles de membresía ilimitados, restricción por página, entrada, categoría o bloque. Restrict Content Pro (desde $99/año): ligero, bien programado, preferido por desarrolladores. Sin versión gratuita funcional para producción. MemberPress (desde $179/año): el más completo. Incluye su propio módulo de cursos si lo necesitas más adelante. Buena opción si prevés que vas a crecer. Complementos para restricción: WPComplete: botón de «Marcar como completado» en cualquier página. Progreso básico sin LMS. Favorites: el usuario guarda contenidos para volver a ellos. Gratuito. Plugin de la semana El plugin de la semana es WP Hooks Finder. Muestra todos los hooks (acciones y filtros) que se ejecutan en cualquier página de tu web. Lo activas, abres la página que quieres inspeccionar y ves exactamente

    17 min
  3. 29 AVR.

    526 | El checkout perfecto para WooCommerce

    Escúchalo en: En el episodio 526 de WordPress Semanal te cuento cómo debería ser tu checkout en función de lo que vendes. No es lo mismo vender camisetas que cursos, ni cobrar una membresía que una sesión de consultoría. Cada tipo de web necesita un checkout diferente. Y la mayoría usa el mismo para todo. Tabla de contenidos 1. Antes de nada: usa el bloque de checkout2. Checkout para tienda de productos físicos3. Checkout para tienda de productos digitales4. Checkout para web de formación y cursos online5. Checkout para membresía y suscripción recurrente6. Checkout para servicios profesionales7. Checkout para reservas y citas8. Lo que aplica a todos los tipos de webPlugin de la semanaContenidos recomendados 1. Antes de nada: usa el bloque de checkout Si tu página de checkout todavía tiene el shortcode [woocommerce_checkout], cámbialo por el bloque de checkout. Se hace en un minuto: editas la página, borras el shortcode, añades el bloque «Checkout» y guardas. El bloque es más rápido, funciona mejor en móvil (el resumen del pedido se colapsa en pantallas pequeñas para no ocupar espacio) y te permite ocultar campos como empresa, segunda línea de dirección o teléfono directamente desde el editor, sin código ni plugins. Vamos a ver cómo configurarlo en función del tipo de tienda online que tengas. 2. Checkout para tienda de productos físicos Si vendes algo que hay que enviar, necesitas la dirección completa del cliente. Campos que necesitas: nombre, dirección de envío, código postal, ciudad, país, email. El teléfono también, porque el transportista lo necesita para avisar de la entrega. Campos que probablemente sobran: empresa (a no ser que vendas B2B), segunda línea de dirección (muy pocos la usan) y notas del pedido (casi nadie escribe nada útil). Los tres se pueden ocultar desde el bloque de checkout. Métodos de pago: tarjeta (Stripe), PayPal y contrareembolso si tu público lo pide. En España el contrareembolso sigue teniendo su hueco en ciertos nichos. Plugins extra: para una tienda básica, WooCommerce nativo es suficiente. No necesitas un plugin de checkout adicional. Consejo: muestra el coste de envío lo antes posible. Si el cliente llega al último paso y descubre 7€ de gastos de envío que no esperaba, abandona. Activa la estimación de envío en la página del carrito (viene con el bloque de carrito) para que no haya sorpresas. 3. Checkout para tienda de productos digitales Vendes ebooks, plantillas, presets, recursos descargables. No hay nada que enviar. Campos que necesitas: nombre y email. Nada más. Cómo quitar los campos de dirección: ve a WooCommerce → Configuración → Envío y desactiva el envío por completo. WooCommerce elimina automáticamente todos los campos de dirección del checkout. Cero código. Métodos de pago: tarjeta y PayPal. Cuantos menos pasos, mejor. Si usas Stripe, activa Link: el cliente guarda su tarjeta una vez y en futuras compras paga con un solo clic. Se activa desde el panel de Stripe. Plugins extra: WooCommerce nativo. Los productos descargables se gestionan desde el propio producto (pestaña «Descargable»). Consejo: el email es tu campo más importante. Es la llave para entregar el producto y para el seguimiento. El bloque de checkout lo valida en tiempo real (avisa si el formato es incorrecto antes de enviar). Asegúrate de que el email de confirmación con el enlace de descarga llega bien. Si usas FluentSMTP o un servicio SMTP, compruébalo con un pedido de prueba. 4. Checkout para web de formación y cursos online Vendes acceso a cursos. El producto es digital, pero el cliente necesita una cuenta para acceder al contenido. Campos que necesitas: nombre y email. Igual que en digital. La diferencia clave: el cliente necesita una cuenta de usuario en tu web para acceder al curso. Si le obligas a registrarse antes de comprar, puedes perder ventas. La solución: ve a WooCommerce → Configuración → Cuentas y privacidad y activa «Permitir a los clientes realizar pedidos sin una cuenta» y «Crear una cuenta automáticamente durante el pago». El cliente compra como invitado y recibe su cuenta creada con el email del pedido. Plugins para cursos: Tutor LMS (gratuito, cubrimos su configuración en el episodio 519) o LearnDash (premium, desde $199/año). Ambos se integran con WooCommerce para gestionar el pago. Si solo vendes cursos y nada más, tienen su propio checkout con PayPal y Stripe sin necesidad de WooCommerce. Consejo: WooCommerce solo autocompleta los pedidos de productos que son virtuales y descargables a la vez. Si vendes un curso (producto virtual sin descarga), el pedido se queda en «Procesando» y tienes que completarlo a mano. Para evitarlo, usa un snippet que marque todos los pedidos pagados como completados automáticamente. O el plugin Autocomplete WooCommerce Orders de QuadLayers. 5. Checkout para membresía y suscripción recurrente Vendes acceso recurrente a contenido, comunidad o servicios. El checkout no es solo una venta: es el inicio de un cobro periódico. Campos que necesitas: nombre y email. Si la membresía incluye envío de productos físicos (cajas de suscripción), también dirección. Lo más importante del checkout: que el cliente sepa exactamente qué va a pasar. Antes del botón de pago, deja claro el precio, la frecuencia de cobro y las condiciones de cancelación. Un texto como «Se te cobrará 19€/mes. Puedes cancelar en cualquier momento desde tu cuenta» elimina la objeción más grande de las suscripciones. Plugins para suscripciones: WooCommerce Subscriptions (oficial, $239/año): la más completa. Compatible con más pasarelas de pago, reintentos automáticos de cobro, pruebas gratuitas, cobros de alta. La opción más segura si tu negocio depende de las suscripciones. YITH WooCommerce Subscription (versión gratuita funcional): buena para empezar y validar tu modelo de suscripción sin invertir. La versión gratuita funciona con PayPal y productos simples. Premium a $199/año si necesitas más. Subscriptions for WooCommerce de WP Swings (gratuita con upgrade a $99/año): alternativa intermedia con buena relación calidad-precio. Consejo: si usas Stripe Billing, tienes Smart Retries (reintentos automáticos de cobro con IA), emails de pago fallido y actualización automática de tarjetas caducadas trabajando para ti. Lo cubrimos en detalle en el episodio 524. 6. Checkout para servicios profesionales Eres freelance, consultor o agencia. Vendes un presupuesto, un pack de horas o un proyecto a medida. No vendes un producto de catálogo. Campos que necesitas: nombre, email y pago. Poco más. ¿Necesitas WooCommerce? Solo si ya lo usas para otra cosa en esa misma web (por ejemplo, vendes cursos o productos además de servicios). Si lo único que necesitas es cobrar por un servicio, WooCommerce es demasiado para esto. Alternativas sin WooCommerce: WP Simple Pay (versión gratuita disponible): crea formularios de pago con Stripe directamente en tu web. Sin carrito, sin tienda, sin productos. El cliente ve el importe y paga. Enlace de pago de Stripe: desde el panel de Stripe puedes crear un Payment Link con el importe y enviárselo al cliente por email o WhatsApp. Sin instalar nada en WordPress. Taller: cómo vender online rápido y sin carrito Si usas WooCommerce: crea un producto «simple virtual» por cada servicio. Si el importe varía por proyecto, usa un producto con precio libre («paga lo que te indico en el presupuesto») o crea productos variables con diferentes packs (básico, estándar, premium). Consejo: para servicios, el checkout no es donde convences al cliente. Eso ya lo hiciste antes (en la reunión, en el presupuesto, en el email). El checkout solo tiene que ser rápido y no generar dudas. Cuanto más simple, mejor. 7. Checkout para reservas y citas Ofreces consultas, sesiones, clases o servicios con hora. El cliente elige fecha y hora, y paga en el mismo flujo. Campos que necesitas: nombre, email y la fecha/hora seleccionada. Dirección no suele hacer falta. Lo que cambia aquí: el checkout está ligado a un calendario. No es un carrito normal. Necesitas un plugin que gestione la disponibilidad y el pago juntos. Plugins para reservas: Simply Schedule Appointments (gratuita, 70.000+ instalaciones, 5 estrellas): la más sencilla. Ideal para profesionales individuales (consultores, coaches, terapeutas). Configuración en cinco minutos, integración con Google Calendar y formularios que se adaptan a tu tema. Si necesitas cobrar al reservar, la versión premium ($99/año) añade Stripe y PayPal. Amelia (versión gratuita limitada, premium desde $49/año): la más completa si tienes varios profesionales, ubicaciones o servicios. Integración con WooCommerce, Zoom y Google Calendar. Buena opción para clínicas, salones o centros con equipo. Curso de Amelia. WooCommerce Bookings (oficial, de Automattic): si ya usas WooCommerce y quieres que las reservas pasen por el mismo checkout que el resto de productos. Premium, sin versión gratuita. Consejo: permite pagar una señal en lugar del importe completo. Reduce la barrera de entrada y disminuye las reservas fantasma. Simply Schedule Appointments y Amelia lo soportan en sus versiones premium. 8. Lo que aplica a todos los tipos de web Da igual lo que vendas. Estas cosas funcionan siempre: Quita el campo de cupón si no lo usas. Un campo de cupón visible hace que el cliente sin código salga a buscar uno. Desde el bloque de checkout puedes eliminarlo directamente. Si solo usas cupones en campañas puntuales, aplícalos con una URL (?coupo

    20 min
  4. 22 AVR.

    525 | Anatomía de una web WordPress que convierte

    Escúchalo en: En el episodio 525 de WordPress Semanal te cuento qué tiene una web que convierte y qué le falta a la mayoría. No hablo de plugins ni de diseño. Hablo de decir las cosas claras y quitar lo que sobra. Cómo crear webs WordPress que convierten 1. Qué es convertir2. Tu prioridad debe ser los mensajes claros3. Cada página (incluida la home) tiene un solo trabajo4. Navegación simplificada5. Páginas de servicio que resuelven dudas6. El formulario es importantísimo7. Velocidad y móvil8. La manida prueba social9. El contenido importa más que el diseño10. Errores que veo constantementePlugin de la semanaContenidos recomendados 1. Qué es convertir Convertir es que el visitante haga lo que tú necesitas. Que te escriba, que compre, que se apunte, que reserve. Cada web tiene su conversión. Si no la tienes definida, no puedes mejorar nada. Antes de tocar una página de tu web, responde a esto: ¿qué quiero que haga la persona que llega? Una sola cosa. 2. Tu prioridad debe ser los mensajes claros Lo más importante de tu web no es el diseño. Es el mensaje. Cuando alguien llega tiene que entender tres cosas en cinco segundos: Qué ofreces Cómo le ayudas Qué tiene que hacer Si tu titular dice «Bienvenido a mi web» o «Soluciones integrales para tu negocio», no funciona. El visitante no sabe qué haces. Un buen mensaje sigue esta estructura:«Ayudamos a [este cliente] a resolver [este problema] para que pueda [este resultado]». Ejemplo: «Diseño webs para fisioterapeutas que quieren llenar su agenda sin depender de portales de terceros». Dice a quién va, qué problema resuelve y qué resultado ofrece. Compara con «Desarrollo web profesional y a medida». ¿A quién va? ¿Qué resuelve? No se sabe. Esta claridad aplica a todo: el titular de la home, los encabezados de servicios, los formularios… Tu prioridad debe ser la claridad. Sobre todo cuando no te conocen. 3. Cada página (incluida la home) tiene un solo trabajo Llevar al visitante al siguiente paso. Nada más. La estructura de una buena landing (página): Un titular que diga qué haces y para quién. Un párrafo corto que refuerce el beneficio o el resultado. Un botón visible sin hacer scroll. «Pide presupuesto», «Empieza gratis», «Reserva tu cita». Prueba social cerca del principio: un testimonio, logos de clientes, un dato concreto. Lo que sobra: sliders que nadie pasa, la historia de la empresa desde 1998, tres botones compitiendo entre sí. Si un elemento no guía hacia la acción, está restando. 4. Navegación simplificada Si tu menú tiene 12 opciones, el visitante tiene que pensar. Cuando piensa, no hace nada. Entre 5 y 7 elementos. Lo demás al footer. «Servicios» funciona mejor que «Lo que hacemos». «Contacto» funciona mejor que «Hablemos». No es momento de ser creativo. Es momento de ser claro. Si tu conversión es que te contacten, pon un botón de contacto en el menú. Visible en todas las páginas. Truco: usa menús condicionales. Tanto por páginas como por tipo de usuario (conectado o sin conectar). Hay excepciones: como las grandes tiendas de productos. La gente está acostumbrada a usar el mega menú para ir a categorías concretas. 5. Páginas de servicio que resuelven dudas La mayoría describen lo que ofrecen. Y se quedan ahí. Pero el visitante tiene preguntas que no se va a molestar en hacerte: ¿Cuánto cuesta de verdad? ¿Cuánto tarda? ¿Qué pasa si no me gusta? ¿Por qué tú y no otro? Cada duda sin responder es una venta perdida. Si no hablas de precio, asume que es caro. Si no muestras casos, asume que no tienes experiencia. Usa lenguaje simple. Haz este ejercicio: Explica tu servicio Imagina que alguien te dice: «¿Qué quieres decir?» Responde a eso y tendrás la explicación que debes escribir en tu web. Estructura que funciona: problema → solución → proceso → precio → testimonios → botón. 6. El formulario es importantísimo Suele ser la principal forma de contacto. Salvo que añadas número de teléfono o WhatsApp. Cada campo que añades reduce las respuestas. Nombre y email suelen bastar. Si pides teléfono, di por qué. Tres cosas que importan tanto como los campos: Dónde está: si solo está en la página de contacto, muchos no llegarán. Ponlo también al final de cada página de servicio. Qué dice: «Contacto» convierte menos que «Cuéntame tu proyecto y te respondo en 24 horas». Qué pasa después: lleva al usuario a una página que confirme el envío y le diga qué esperar. 7. Velocidad y móvil Si tu web tarda más de tres segundos, pierdes visitas antes de que lean nada. Imágenes optimizadas, buen hosting y un plugin de caché resuelven el 80% de los problemas. En móvil: revisa tu web en un teléfono real. ¿Se ve el botón de contacto sin hacer scroll infinito? ¿Se lee el texto sin zoom? ¿Se puede rellenar el formulario con el pulgar? En muchos casos más de la mitad de tus visitas llegan desde el móvil (revísalo en tu analytics). 8. La manida prueba social El visitante no te conoce. Necesita ver que otros confiaron en ti y les fue bien. No hacen falta 50 testimonios. Con tres o cuatro buenos basta. Lo importante es que sean concretos: «Me hizo la web en tres semanas y las consultas se triplicaron» funciona mejor que «Gran profesional». Otras cosas que generan confianza: Logos de clientes. Número de proyectos o años de experiencia. Casos breves: problema, solución, resultado. Tu cara. Una foto real genera más confianza que un logo, sobre todo si eres freelance. Coloca la prueba social cerca de los botones. Cuando el visitante decide si hace clic, necesita ver que otros ya lo hicieron. 9. El contenido importa más que el diseño «Somos un equipo de profesionales apasionados por ofrecer soluciones integrales». Eso no dice nada. El contenido que convierte habla del problema del cliente con las palabras del cliente. Si un fisioterapeuta lee «quiero que me encuentren en Google sin depender de Doctoralia», siente que le hablas a él. Aplica esto en cada página: qué ofreces, cómo ayudas, qué tiene que hacer. Si respondes a eso con lenguaje directo, vas por delante de tu competencia. 10. Errores que veo constantemente Sliders en la home: nadie los pasa. Un titular con un botón convierte más. Páginas sin botón: el usuario llega al final y no sabe qué hacer. Menús enormes: 20 opciones que abruman. Diseño bonito sin objetivo: animaciones que no ayudan a que nadie contacte. Hablarle a todo el mundo: si tu web va dirigida a todos, no le habla a nadie. Textos escritos para ti: la web es para quien busca una solución. Escribe para esa persona. La solución casi nunca es añadir. Es quitar lo que sobra. Plugin de la semana El plugin de la semana es Page Optimize. Desarrollado por Automattic, agrupa los archivos CSS y JavaScript de tu web para que cargue más rápido. Lo activas y funciona. Gratuito y con 5 estrellas. Contenidos recomendados Vídeo de la Zona Código: establecer mínimo de compra por producto en Woo Taller: crear la landing perfecta Taller: copywriting Curso de velocidad en WordPress Newsletter de WordPress Semanal La entrada 525 | Anatomía de una web WordPress que convierte es una artículo de Gonzalo Navarro.

    21 min
  5. 15 AVR.

    524 | Pagos rechazados en Stripe: causas reales y cómo recuperarlos

    Escúchalo en: En el episodio 524 de WordPress Semanal te explico por qué fallan los pagos en Stripe, cómo funciona el sistema de reintentos automáticos, qué opciones tienes para recuperar esos cobros y qué puedes hacer para que ocurra menos. Si vendes cursos, membresías o productos desde WordPress, mejor estar preparado. Entender y recuperar pagos fallidos en Stripe 1. Por qué fallan los pagos en Stripe2. Dónde ver los pagos fallidos en tu panel de Stripe3. Smart Retries: los reintentos automáticos de StripeCoste de Smart Retries4. Los emails automáticos de pago fallido5. Qué pasa si todos los reintentos fallan6. Lo que tú puedes hacer para reducir los pagos fallidosRecuerda que Stripe tiene comisionesPlugin de la semanaContenidos recomendados 1. Por qué fallan los pagos en Stripe Los pagos no fallan por capricho. Cuando Stripe intenta cobrar a un cliente y el banco emisor rechaza la transacción, devuelve un código de rechazo. Los motivos más frecuentes son: Fondos insuficientes (insufficient_funds): el cliente no tiene saldo. Es el más común. Tarjeta caducada (expired_card): la tarjeta ha expirado y el cliente no ha actualizado sus datos. Rechazo genérico (generic_decline): el banco rechaza sin dar un motivo claro. Puede ser temporal. Autenticación fallida (authentication_required): el pago requería 3D Secure y el cliente no completó la verificación. Tarjeta reportada como perdida o robada: aquí no hay reintento posible. Límite de crédito superado: el cliente ha agotado su línea de crédito. Estos motivos se dividen en dos categorías que conviene distinguir: Rechazos blandos (soft declines): problemas temporales como fondos insuficientes o rechazo genérico. Se pueden reintentar con posibilidades de éxito. Rechazos duros (hard declines): problemas permanentes como tarjeta caducada, perdida o cuenta cerrada. No tiene sentido reintentar sin que el cliente actualice sus datos de pago. Fuente: Códigos de rechazo – Documentación de Stripe 2. Dónde ver los pagos fallidos en tu panel de Stripe En el panel de Stripe, ve a Transactions → Payments y filtra por estado Failed. Cada pago fallido te muestra: El motivo del rechazo (el código que devolvió el banco). El consejo de Stripe sobre qué hacer a continuación. Si se va a reintentar automáticamente o no. Si vendes suscripciones, también puedes ver el estado de los reintentos desde Billing → Revenue recovery, donde Stripe muestra un resumen de la tasa de fallos, la tasa de recuperación y los pagos en proceso de reintento. Fuente: Revenue recovery – Documentación de Stripe 3. Smart Retries: los reintentos automáticos de Stripe Smart Retries es el sistema de Stripe que usa inteligencia artificial para elegir el mejor momento para reintentar un pago fallido. En lugar de reintentar a intervalos fijos, analiza cientos de señales (historial del cliente, hora del día, día de la semana, comportamiento de la tarjeta…) para maximizar las posibilidades de éxito. Puedes configurarlos desde Billing → Revenue recovery → Retries: Número de reintentos: hasta 8. Periodo máximo: 1 semana, 2 semanas, 3 semanas, 1 mes o 2 meses. Configuración recomendada por Stripe: 8 reintentos en 2 semanas. Si el rechazo es duro (tarjeta caducada, perdida…), Stripe programa los reintentos pero solo los ejecuta si detecta que el cliente ha actualizado su método de pago. También puedes desactivar Smart Retries y crear tu propio calendario de reintentos manual (hasta 3 reintentos con un número de días entre cada uno), pero Stripe recomienda dejar los Smart Retries activos porque recuperan más. Coste de Smart Retries Smart Retries están incluidos dentro de Stripe Billing, que cobra un 0.7% sobre el volumen de facturación (modelo pay-as-you-go, sin cuota mensual fija). Este 0.7% incluye los reintentos, los emails automáticos de pago fallido, la actualización automática de tarjetas y el portal del cliente. Es importante saber que Stripe Billing se activa cuando usas suscripciones o facturas recurrentes a través de la API de Billing. Si vendes con WooCommerce + Stripe usando pagos puntuales (no suscripciones gestionadas desde Stripe Billing), los Smart Retries no aplican directamente. En ese caso, la gestión de reintentos la hace WooCommerce Subscriptions u otro plugin. Fuente: Automate payment retries – Documentación de Stripe 4. Los emails automáticos de pago fallido Stripe puede enviar automáticamente un email al cliente cuando un pago falla. Este email incluye un enlace a una página alojada en Stripe donde el cliente puede actualizar su tarjeta directamente. Para activarlo: Settings → Billing → Subscriptions and emails → Manage failed payments y activa la opción «Send emails when card payments fail». Además de los emails de pago fallido, puedes activar: Aviso de tarjeta a punto de caducar: para que el cliente actualice sus datos antes de que falle. Aviso de renovación próxima: para que el cliente sepa que se le va a cobrar. Aviso de fin de periodo de prueba: si usas trials en tus suscripciones. Recuerda que si WooCommerce (u otro plugin) también envía sus propios emails para estos eventos, el cliente los recibe duplicados. Decide quién envía qué y desactiva los que sobren (como ya expliqué en el episodio 520). Para que estos emails generen confianza, tu branding tiene que estar configurado (logo, colores, información de contacto). Sin eso, parecen correos genéricos y el cliente desconfía. Estos emails automáticos están incluidos en Stripe Billing (dentro del 0.7%) sin coste adicional. Fuente: Automate customer emails – Documentación de Stripe 5. Qué pasa si todos los reintentos fallan Si después de agotar todos los reintentos el pago sigue sin realizarse, Stripe ejecuta la acción que tú hayas configurado. Las opciones son: Cancelar la suscripción: es la opción por defecto. El cliente pierde el acceso. Pausar la suscripción: se detiene el cobro pero la suscripción no se elimina. Se puede reactivar cuando el cliente actualice su pago. Marcar la factura como incobrable: la suscripción sigue activa pero la factura queda abierta. Útil en contextos B2B donde prefieres gestionar el cobro por otra vía. Dejar la factura abierta sin hacer nada más: no se cancelan cobros futuros, pero el impago queda pendiente. Elige la opción según tu modelo de negocio. Si vendes formación o membresías, cancelar suele ser lo más limpio. Si vendes a empresas, marcar como incobrable te da margen para negociar. Esta configuración se encuentra en Settings → Billing → Subscriptions and emails → Manage failed payments. Fuente: How subscriptions work – Documentación de Stripe 6. Lo que tú puedes hacer para reducir los pagos fallidos Además de los reintentos y los emails, hay varias cosas que puedes hacer de forma proactiva: Actualización automática de tarjetas: Stripe actualiza automáticamente los datos de tarjetas cuando el banco emite una nueva (por ejemplo, por renovación). No requiere acción por tu parte y viene activado por defecto. Descriptor del extracto claro: un cobro que el cliente no reconoce puede acabar en disputa. Si tu descriptor dice algo reconocible, el cliente no llama al banco. Lo cubrimos en el episodio 520. Ofrecer más de un método de pago: si la tarjeta falla, tener PayPal, domiciliación bancaria u otro método alternativo puede salvar la venta. Activar 3D Secure adaptativo con Radar: Stripe Radar puede pedir automáticamente verificación 3D Secure solo en pagos de riesgo, lo que reduce fraude y disputas sin friccionar todos los pagos. Radar básico viene incluido con Stripe sin coste adicional (la versión avanzada, Radar for Fraud Teams, cuesta 0.02€ extra por transacción). Recuerda que Stripe tiene comisiones Comisión base de Stripe: varía según país y tipo de tarjeta. En Europa, suele ser 1.5% + 0.25€ para tarjetas europeas. Stripe Billing (suscripciones, Smart Retries, emails automáticos, portal del cliente): 0.7% del volumen de facturación. Sin cuota mensual fija. Radar básico (protección contra fraude con IA): incluido con la tarifa estándar de Stripe. Radar for Fraud Teams (reglas personalizadas, listas de bloqueo): 0.02€ extra por transacción. Disputas: 15$ por cada disputa recibida, ganes o pierdas. Plugin de la semana El plugin de la semana es System Dashboard. Muestra en un solo panel toda la información técnica de tu instalación de WordPress: versión de PHP, base de datos, tamaño de directorios, tablas creadas por cada plugin, hooks activos, roles y capacidades, y más. No carga nada en el frontend y es ideal para diagnosticar problemas o auditar una web sin tener que buscar cada dato por separado. Contenidos recomendados Vídeo de la Zona Código: Cargar Elementor solo en las páginas que lo usan en WordPress Curso de Stripe Episodio 520: Lo que tienes que configurar en Stripe antes de conectarlo con WordPress Episodio 521: Recorrido práctico por el panel de Stripe Episodio 491: Stripe vs PayPal en WordPress Newsletter de WordPress Semanal La entrada 524 | Pagos rechazados en Stripe: causas reales y cómo recuperarlos es una artículo de Gonzalo Navarro.

    18 min
  6. 8 AVR.

    523 | FluentCRM: email marketing y CRM en WordPress

    Escúchalo en: En el episodio 523 de WordPress Semanal te presento FluentCRM, un plugin que convierte tu WordPress en una plataforma de email marketing y CRM sin depender de servicios externos, sin pagar por contacto y sin límites de envíos. Reseña de FluentCRM Qué es FluentCRMQué puedes hacer con la versión gratuita de FluentCRMFluentCRM no envía emails por sí soloFluentCRM vs programas de email marketingPara quién es FluentCRMQué necesitas para empezar con FluentCRMCurso de FluentCRM paso a pasoPreguntas frecuentes sobre FluentCRMPlugin de la semanaContenidos recomendados Qué es FluentCRM FluentCRM es un plugin de email marketing y gestión de contactos (CRM) que funciona directamente dentro de WordPress. A diferencia de plataformas como Mailchimp, ActiveCampaign, MailerLite o ConvertKit, FluentCRM no es un servicio externo al que envías tus datos: es un plugin que se instala en tu web y almacena toda la información en tu propia base de datos. Está desarrollado por WPManageNinja, el mismo equipo detrás de Fluent Forms, FluentSMTP, Fluent Support y FluentBooking. Tiene más de 20.000 instalaciones activas y una valoración de 4.6 en wordpress.org. Qué puedes hacer con la versión gratuita de FluentCRM La versión gratuita de FluentCRM incluye bastante más de lo que ofrecen los planes gratuitos de la mayoría de plataformas SaaS: Contactos ilimitados: no pagas más por tener más suscriptores. Campañas de email: crea y envía newsletters y campañas con un editor de bloques similar a Gutenberg. Listas y etiquetas: organiza y segmenta tus contactos por listas, etiquetas o filtros. Automatizaciones básicas: crea secuencias automáticas (por ejemplo, una secuencia de bienvenida cuando alguien se suscribe). Doble opt-in: configurable y personalizable para cumplir con el RGPD. Importar y exportar contactos: desde CSV o sincronizando los usuarios de WordPress. Informes de campañas: aperturas, clics, rebotes y cancelaciones. Integración nativa con Fluent Forms: para crear formularios de suscripción conectados directamente al CRM. Lo que necesita la versión Pro: segmentos dinámicos, secuencias de email avanzadas, editor visual drag and drop, integraciones profundas con WooCommerce, LearnDash, BuddyBoss, etc. FluentCRM no envía emails por sí solo Este es un punto importante que genera confusión. FluentCRM gestiona los contactos, las campañas y las automatizaciones, pero no envía los emails directamente. Necesitas conectarlo a un servicio de envío a través de un plugin SMTP. La opción recomendada (y gratuita) es FluentSMTP, del mismo equipo. Con FluentSMTP conectas tu WordPress a un proveedor de envío como Amazon SES, Brevo (Sendinblue), Mailgun, SendGrid o incluso Gmail para volúmenes pequeños. El coste de envío depende del proveedor. Con Amazon SES, por ejemplo, enviar 10.000 emails cuesta alrededor de 1 dólar. Muy por debajo de lo que cobran las plataformas SaaS por el mismo volumen. FluentCRM vs programas de email marketing La diferencia principal no es de funcionalidades sino de modelo: Mailchimp, ActiveCampaign, MailerLite, ConvertKit: tus datos están en sus servidores. Pagas una cuota mensual que sube con cada suscriptor. Los planes gratuitos tienen límites bajos (300-500 emails al día, 500-1000 contactos). FluentCRM: tus datos están en tu servidor. No pagas por contacto. El coste es el envío de emails a través de un proveedor SMTP (céntimos frente a decenas de euros). La versión gratuita no tiene límite de contactos. Esto no significa que FluentCRM sea mejor para todo el mundo. Si no quieres gestionar nada técnico, si no tienes un hosting decente, o si necesitas funcionalidades muy avanzadas de automatización desde el primer día, una plataforma SaaS puede ser más cómoda. Para quién es FluentCRM Es ideal si: Ya tienes una web en WordPress y quieres hacer email marketing sin salir de tu panel de administración. Quieres tener el control total de tus datos y cumplir con el RGPD de forma más sencilla. Tu lista de contactos está creciendo y no quieres que la factura mensual crezca con ella. Vendes cursos, membresías o productos digitales con WordPress y quieres automatizar la comunicación con tus clientes. Eres freelance o agencia y quieres ofrecer email marketing integrado en las webs de tus clientes sin coste recurrente. No es la mejor opción si: No tienes WordPress. Tu hosting es muy limitado (hosting compartido barato que no aguanta procesos en segundo plano). Prefieres tener tu CRM y/o servicio de email como servicio aparte Qué necesitas para empezar con FluentCRM Las piezas que necesitas tener en orden antes de lanzar tu primera campaña: FluentCRM instalado y configurado (datos del negocio, remitente, doble opt-in). FluentSMTP conectado a un proveedor de envío (Amazon SES, Brevo, Mailgun…) para garantizar que los emails llegan a la bandeja de entrada. Un formulario de captación conectado al CRM. La integración con Fluent Forms es directa y gratuita. Tu primera automatización: al menos una secuencia de bienvenida para los nuevos suscriptores. Con estas cuatro piezas ya tienes un sistema de email marketing funcional en tu WordPress. Curso de FluentCRM paso a paso Si quieres montarlo desde cero, ya está disponible el curso completo de FluentCRM. Centrado en la versión gratuita. Desde la instalación y configuración de FluentSMTP hasta crear tus primeras campañas y automatizaciones. 👉 Accede al curso de FluentCRM Preguntas frecuentes sobre FluentCRM ¿FluentCRM es realmente gratis?La versión gratuita está disponible en el repositorio de WordPress y no tiene límite de contactos ni de campañas. Lo que sí tiene coste es el envío de emails, que depende del proveedor SMTP que elijas (Amazon SES cuesta céntimos por miles de envíos). ¿FluentCRM funciona con WooCommerce?Sí, pero la integración completa con WooCommerce (triggers basados en compras, carritos abandonados, segmentación por producto) requiere la versión Pro. ¿Puedo migrar desde Mailchimp o ActiveCampaign a FluentCRM?Sí. Puedes exportar tus contactos en CSV desde cualquier plataforma e importarlos en FluentCRM manteniendo las listas y etiquetas. ¿Necesito un hosting especial para FluentCRM?No necesitas un hosting especial, pero sí un hosting de calidad mínima. Un hosting compartido muy barato puede dar problemas con el procesamiento de campañas grandes. Un hosting con recursos razonables (VPS o hosting managed) funciona sin problemas. ¿FluentCRM cumple con el RGPD?Sí. Al almacenar los datos en tu propio servidor tienes el control total. Además incluye doble opt-in configurable y enlace de baja en un clic. Plugin de la semana El plugin de la semana es Honeypot Toolkit, un plugin de seguridad que conecta tu WordPress con Project Honeypot para bloquear IPs maliciosas conocidas. También bloquea usuarios que fallan el login repetidamente, detecta intentos de enumeración de usuarios y bloquea IPs que generan muchos errores 404. Contenidos recomendados Vídeo de la Zona Código: Mostrar u ocultar productos de WooCommerce según el rol de usuario Curso de FluentCRM Curso de MailPoet Newsletter de WordPress Semanal La entrada 523 | FluentCRM: email marketing y CRM en WordPress es una artículo de Gonzalo Navarro.

    14 min
  7. 1 AVR.

    522 | Roles en Woo, tareas programadas, QR, acceso de usuarios… (Q&A)

    Escúchalo en: En el episodio 522 de WordPress Semanal resuelvo cómo restringir productos de Woo por rol de usuario, evitar fallos en la programación de publicaciones, cómo migrar una web de restaurante con QR y PDFs, cómo loguearse como otro usuario para comprobar lo que ve y cómo reemplazar imágenes en la biblioteca de medios sin problemas. Tabla de contenidos 1) Cómo restringir productos de WooCommerce para que solo los vea un tipo de usuario, de Josep2) Por qué una clase programada en LearnDash no se publicó a la hora prevista, de Pedro3) Migrar una web de restaurante a WordPress con QR y PDFs para la carta, de Mónica4) Cómo loguearse como otro usuario para comprobar lo que ve en LearnDash, de Carles5) Cómo reemplazar una imagen en WordPress y si el nombre del archivo afecta al SEO, de Carles 1) Cómo restringir productos de WooCommerce para que solo los vea un tipo de usuario, de Josep Respondida en el minuto 4:50    Necesito que determinados productos de WooCommerce solo los puedan comprar un tipo o grupo de usuarios. ¿Sabes de algún plugin? Respuesta resumida: Si los tipos de usuario están definidos con roles de WordPress, el plugin Product Visibility by User Role for WooCommerce hace exactamente eso: permite restringir la visibilidad de productos según el rol del usuario. La semana que viene publicaré cómo hacer esto mismo por código en la Zona Código. Mientras tanto, otros snippets útiles relacionados: Ocultar pasarela de pago según rol de usuario Cambiar el rol del cliente en WooCommerce Restringir WooCommerce solo a usuarios conectados WooCommerce en modo catálogo 2) Por qué una clase programada en LearnDash no se publicó a la hora prevista, de Pedro Respondida en el minuto 6:34     Programé una clase en LearnDash para que se publicase en un día y hora determinada, pero no se desbloqueó cuando tocaba. ¿Tienes idea de por qué pudo pasar? Respuesta resumida: Si lo que hiciste fue programar la publicación de una lección y no se publicó a la hora prevista, el fallo puede venir de varios sitios: Zona horaria mal configurada en Ajustes → Generales de WordPress. Si no coincide con tu hora real, el contenido se publica a una hora diferente de la que esperas. Caché sin limpiar: si tu plugin de caché no se purga con regularidad, puede que el contenido esté publicado pero la versión cacheada siga mostrando la antigua. Poca memoria en el servidor: si el servidor no tiene recursos suficientes, WordPress puede no ejecutar las tareas programadas. Problema con el WP-Cron (lo más probable): WP-Cron es la función que WordPress usa para gestionar tareas programadas, como publicar contenido, buscar actualizaciones o ejecutar acciones de plugins. Pero solo se activa cuando alguien visita la web. Si nadie visita tu web a la hora programada, la tarea no se ejecuta. Es un fallo muy común. La solución es desactivar el WP-Cron interno y crear un cron real desde el panel de tu hosting. Aquí tienes un vídeo de la Zona Código donde explico cómo hacerlo paso a paso. 3) Migrar una web de restaurante a WordPress con QR y PDFs para la carta, de Mónica Respondida en el minuto 9:00     Quiero rehacer en WordPress la web de un restaurante que está hecha en PHP. Me preocupa la migración porque tiene que ser con el mismo dominio. Además quieren que al leer un código QR desde el móvil se acceda a la carta, con PDFs para cada opción y botones entre menús. ¿Necesito un plugin de QR? ¿Y los PDFs cómo los gestiono? Respuesta resumida: Para la migración, lo mejor es montar la web nueva en un dominio de pruebas (o subdominio) y, cuando esté terminada, cambiar al dominio definitivo. Si usas el mismo hosting, el cambio es rápido. Si cambias de hosting, tendrás que apuntar el dominio al nuevo servidor y esperar a que propague. Consulta al soporte del hosting antes de empezar para que te indiquen cómo gestionarlo en su caso. Para los códigos QR, no necesitas un plugin específico de WordPress. Un QR simplemente apunta a una URL. Puedes generar los QR con cualquier servicio online gratuito y apuntarlos a la página de la carta en tu web. Dicho esto, también hay plugins de WordPress que generan QR si prefieres tenerlo todo dentro del panel. Y para los PDFs, puedes subirlos a la biblioteca de medios de WordPress e incrustarlos directamente en las páginas. EmbedPress es muy popular para esto. Así puedes tener cada carta en PDF visible dentro de la página y añadir botones para navegar entre los distintos menús. 4) Cómo loguearse como otro usuario para comprobar lo que ve en LearnDash, de Carles Respondida en el minuto 11:00    ¿Conoces algún plugin para loguearme rápidamente como otro usuario en WordPress? Lo necesito para comprobar que los alumnos de mi academia con LearnDash ven lo que deben ver: que se les activan las clases correctamente con el drip content, etc. Respuesta resumida: User Switching. Es uno de mis plugins favoritos. Te permite cambiar de cuenta con un solo clic desde el listado de usuarios o desde la barra de administración, sin necesidad de cerrar sesión ni conocer la contraseña del otro usuario. Cuando terminas, vuelves a tu cuenta de administrador con otro clic. Imprescindible si gestionas academias, membresías o cualquier web donde necesites ver exactamente lo que ve un usuario concreto. 5) Cómo reemplazar una imagen en WordPress y si el nombre del archivo afecta al SEO, de Carles Respondida en el minuto 11:53     He borrado una imagen de la biblioteca de medios y he subido una versión nueva con el mismo nombre de archivo, pero WordPress me sigue mostrando la antigua. ¿Qué puede estar pasando? Y por otro lado, ¿el nombre del archivo de la imagen afecta al SEO? Respuesta resumida: Es un problema muy común. Aunque borres la imagen y subas otra con el mismo nombre, el navegador (y muchas veces el servidor o el plugin de caché) siguen sirviendo la versión antigua que tienen en caché. La solución más sencilla es subir la imagen con un nombre de archivo diferente. Pero si quieres reemplazar la imagen manteniendo la misma URL (sin cambiar enlaces ni reinsertarla), el plugin Enable Media Replace lo hace perfecto. Sobre el nombre de las imágenes y el SEO: sí, es buena práctica subir la imagen con un nombre de archivo descriptivo y relacionado con su contenido. La imagen en sí puede posicionar en Google Imágenes, y además aporta contexto cuando la insertas en el contenido. También es importante rellenar el texto alternativo, tanto por SEO como por accesibilidad. Plugin de la semana El plugin de la semana es Accessibility Widget by OneTap, un plugin de accesibilidad hecho en Europa que añade una barra de herramientas flotante para que los visitantes ajusten el tamaño de texto, contraste, espaciado, cursor y más. Soporta 40 idiomas, no recoge datos personales (cumple RGPD) y se configura con un clic. Contenidos recomendados Vídeo de la Zona Código: Añadir etiqueta «Nuevo» a productos recientes en Woo Newsletter de WordPress Semanal La entrada 522 | Roles en Woo, tareas programadas, QR, acceso de usuarios… (Q&A) es una artículo de Gonzalo Navarro.

    14 min
  8. 25 MARS

    521 | Recorrido práctico por el panel de Stripe (lo que de verdad importa)

    Escúchalo en: En el episodio 521 de WordPress Semanal te hago un recorrido práctico por el panel de Stripe centrado en lo que de verdad necesitas saber si vendes desde WordPress. No voy a repasar cada menú. Voy a enseñarte las secciones que más vas a usar, qué mirar en cada una y cómo detectar problemas antes de que un cliente te escriba. El dashboard de Stripe (lo que debes conocer) 1. Home: tu vista general2. Pagos (Transactions): el historial de cobros3. Saldo y transferencias (Balances): dónde está tu dinero4. Clientes (Customers): quién te ha pagado5. Disputas: cuando un cliente reclama al banco6. Radar: la protección contra fraude7. Logs y eventos: cuando algo falla y no sabes por quéResumen: qué mirar y cuándoPlugin de la semanaContenidos recomendados 1. Home: tu vista general La página de inicio del panel de Stripe (Home) muestra un resumen del estado de tu negocio: volumen de pagos, pagos exitosos y fallidos, saldo disponible y notificaciones importantes. Lo que debes mirar aquí: Notificaciones pendientes: disputas sin responder, verificaciones de identidad incompletas o problemas con tu cuenta. Stripe las muestra arriba de todo. Si ves algo ahí, atiéndelo antes que cualquier otra cosa. Pagos fallidos: si ves un pico de pagos rechazados, puede indicar un problema con tu integración, con un método de pago concreto o con tarjetas caducadas de suscriptores. Puedes personalizar esta página añadiendo o quitando widgets según lo que te interese controlar. Fuente: Web Dashboard – Documentación de Stripe 2. Pagos (Transactions): el historial de cobros En Transactions → Payments tienes el listado completo de todos los cobros realizados: exitosos, fallidos, reembolsados y en disputa. Lo que debes mirar aquí: Estado de cada pago: succeeded (cobrado), failed (fallido), refunded (reembolsado) o disputed (en disputa). Si un cliente dice que le han cobrado y tú no ves nada, busca por su email o por los últimos 4 dígitos de la tarjeta. Pagos fallidos: haz clic en uno para ver el motivo. Los más comunes son tarjeta rechazada (insufficient funds, card declined), tarjeta caducada o autenticación 3D Secure fallida. Filtros: puedes filtrar por estado, fecha, método de pago, moneda o importe. Muy útil cuando necesitas encontrar un cobro concreto. Puedes exportar los datos de pagos si necesitas pasarlos a tu gestor o cuadrarlos con tu contabilidad. Fuente: Web Dashboard – Documentación de Stripe 3. Saldo y transferencias (Balances): dónde está tu dinero En Balances ves tres cosas fundamentales: Saldo disponible: el dinero que ya puedes recibir en tu cuenta bancaria. Saldo pendiente: el dinero de pagos recientes que aún está en el periodo de retención (normalmente 2-7 días según el país). En tránsito: el dinero que Stripe ya ha enviado a tu banco pero que aún no ha llegado. Lo que debes mirar aquí: Transferencias fallidas: si Stripe intenta enviar dinero a tu banco y los datos bancarios son incorrectos, la transferencia falla. Recibirás un email, pero conviene revisarlo aquí también. Puede tardar hasta 5 días laborables en aparecer como fallida. Calendario de transferencias: desde aquí puedes ver cuándo está programada la siguiente transferencia a tu banco y verificar que la frecuencia que configuraste (en el episodio anterior) es la correcta. Fuente: Recibir pagos (Payouts) – Documentación de Stripe 4. Clientes (Customers): quién te ha pagado En Customers ves la ficha de cada persona que te ha pagado alguna vez a través de Stripe. Lo que debes mirar aquí: Historial de pagos del cliente: haz clic en un cliente para ver todos sus cobros, suscripciones activas, métodos de pago guardados, facturas y reembolsos. Métodos de pago: si un cliente dice que le cobran pero tiene una tarjeta caducada, aquí lo ves. Suscripciones: si vendes membresías o cursos con pago recurrente, desde aquí puedes ver el estado de cada suscripción (activa, cancelada, impagada…). Si usas WooCommerce u otro plugin, los clientes de Stripe deberían coincidir con los de tu WordPress. Si no coinciden, revisa la integración. Fuente: Web Dashboard – Documentación de Stripe 5. Disputas: cuando un cliente reclama al banco Las disputas (chargebacks) aparecen en Payments → Disputes. Una disputa se produce cuando un cliente contacta con su banco para cuestionar un cobro. En ese momento, el banco le devuelve el dinero al cliente y se lo retira a ti, junto con una comisión. Lo que debes saber: Tienes entre 7 y 21 días para responder con evidencia (según la red de tarjeta). Si no respondes, pierdes la disputa automáticamente. Stripe te guía en la respuesta: dentro de cada disputa, el panel te indica qué tipo de evidencia necesitas según el motivo de la reclamación (fraude, producto no recibido, no reconoce el cargo…). Las inquiries (consultas previas) también aparecen aquí: son pre-disputas. Si respondes bien en esta fase, puedes evitar que escale a disputa formal. El proceso completo puede durar 2-3 meses desde que se abre hasta que el banco decide. La mejor estrategia contra las disputas es la prevención: un descriptor de extracto claro (episodio 520), información de contacto visible y recibos con tu branding. Fuente: Disputes – Documentación de Stripe · Respond to disputes – Documentación de Stripe 6. Radar: la protección contra fraude Stripe Radar es el sistema de protección contra fraude que viene incluido con Stripe. Lo encuentras en Payments → Radar. Lo que debes saber: Funciona automáticamente: Radar asigna un nivel de riesgo a cada pago usando inteligencia artificial entrenada con datos de millones de negocios. Los pagos de alto riesgo se bloquean por defecto. Puedes ajustar el nivel de protección: desde los ajustes de riesgo (risk settings) puedes elegir entre maximizar protección, equilibrar riesgo y revenue, o maximizar ingresos. Reglas predefinidas: Stripe incluye reglas que puedes activar o desactivar, como bloquear pagos que fallen la verificación CVC o la verificación de código postal. Activar estas reglas es recomendable. 3D Secure adaptativo: Radar puede pedir automáticamente verificación 3D Secure en pagos de riesgo medio, lo que además traslada la responsabilidad del fraude al banco (liability shift). No necesitas ser experto para sacarle partido. Solo revisa que las reglas básicas estén activadas y vigila de vez en cuando si hay pagos bloqueados que no deberían estarlo. Fuente: Radar – Documentación de Stripe · Risk settings – Documentación de Stripe 7. Logs y eventos: cuando algo falla y no sabes por qué En Developers → Logs (accesible desde Workbench) tienes el registro de todas las peticiones que se hacen a la API de Stripe: las que funcionan y las que no. Lo que debes mirar aquí: Errores de API: si tu plugin de WordPress no consigue conectar con Stripe, aquí aparece el error con el detalle técnico. Es lo primero que debes comprobar (o enviar a tu desarrollador) cuando algo deja de funcionar. Webhooks: los webhooks son notificaciones que Stripe envía a tu WordPress cada vez que ocurre algo (un pago, un reembolso, una suscripción cancelada…). Si los webhooks no llegan, tu web no se entera de lo que pasa en Stripe. Desde aquí puedes ver si los webhooks se están entregando correctamente o si están fallando. No necesitas entender cada línea del log. Solo necesitas saber que existe y que es el primer sitio donde mirar cuando algo no cuadra entre Stripe y WordPress. Fuente: Web Dashboard (sección Workbench) – Documentación de Stripe Resumen: qué mirar y cuándo Cada día o cada pocos días: Home (notificaciones) y Disputas (si tienes alguna abierta). Cada semana: Pagos fallidos, saldo y transferencias programadas. Cuando un cliente reporta un problema: busca en Payments por email o tarjeta, revisa el cliente en Customers y comprueba los logs si hay errores. Una vez al mes: revisa Radar (pagos bloqueados, reglas activas) y exporta los datos que necesites para contabilidad. Plugin de la semana El plugin de la semana es Internet Archive Wayback Machine Link Fixer, un plugin que escanea los enlaces salientes de tus posts y comprueba si existen en el Wayback Machine de Internet Archive. Si un enlace externo deja de funcionar, redirige al visitante a la versión archivada. También crea snapshots de tus propios posts cada vez que los actualizas. Desarrollado por Internet Archive. Gratuito. Contenidos recomendados Vídeo de la Zona Código: Registrar cambios de contraseña en un log en WordPress Qué configurar en Stripe antes de conectarlo con WordPress Stripe vs PayPal en WordPress, diferencias y cuál elegir Curso de Stripe en WordPress Newsletter de WordPress Semanal La entrada 521 | Recorrido práctico por el panel de Stripe (lo que de verdad importa) es una artículo de Gonzalo Navarro.

    18 min

À propos

El podcast semanal para sacarle partido real a WordPress. Cada episodio cubre una herramienta, un proceso o una decisión concreta: lo que necesitas para crear mejores webs, en menos tiempo y con más criterio.

Vous aimerez peut-être aussi