WordPress

WordPress es un sistema de gestión de contenidos enfocado en crear cualquier tipo de sitio web. Originalmente alcanzó gran popularidad en la creación de blogs, para convertirse en una vez una de las principales herramientas para la creación de sitios web comerciales.

  • PHPStan nivel 9

    ·

    Escribir código PHP que funciona no es difícil. Escribir código PHP que no va a fallar en producción con un tipo inesperado, una propiedad no inicializada o un array al que le falta una clave: eso es otra historia. PHP te deja hacer cosas que no debería. Mezclar tipos, acceder a propiedades que quizá no existen, llamar métodos sobre null sin pestañear. Y el día que algo falla en un sitio con tráfico real, el error no aparece en desarrollo, aparece en el debug.log a las 3 de la mañana con un stack trace que no te esperabas. PHPStan es… Read More →

  • Buenas prácticas al crear un plugin de WordPress

    ·

    Hay una diferencia enorme entre un plugin que funciona y un plugin que no te va a dar problemas dentro de seis meses. La he aprendido a base de ver plugins ajenos romper sitios en producción y de haber escrito código que yo mismo no quería mantener. Estas son las prácticas que aplico ahora mismo en cada plugin que toco. No son teoría. Son las cosas que te ahorran madrugadas. Arquitectura: menos es más Lo primero: usa clases, no funciones sueltas en un archivo gigante. Un plugin con mi_plugin_init(), mi_plugin_save(), mi_plugin_render() y 42 funciones globales es un mantenimiento infernal. Una… Read More →

  • The WordPress Way

    ·

    Hay una frase que me reconforta cada vez que la digo en voz alta: no es un bug, es una feature. El problema es que, en WordPress, muchas veces el bug somos nosotros. Llegamos con nuestras prisas, nuestro acceso root y nuestra confianza de que sabemos cómo funciona una web, y le damos la vuelta a un sistema que, en realidad, ya tenía un camino marcado. Un camino que, si lo respetas, te devuelve la cordura los lunes por la mañana. Hace unos meses un cliente me escribió en pánico. Había cambiado de theme porque le gustaba más el azul… Read More →

  • El stack que montamos para los WordPress

    ·

    Cuándo alguien te dice que tiene un WordPress «en un VPS», suele significar una de dos cosas: o le ha instalado un panel de esos que te dan tres botones y una ilusión de control, o ha hecho una especie de apt install wordpress (ya lo sé, no existe, pero molaría) y reza cada noche para que nadie toque nada. Ninguna de las dos me convence. Llevamos años afinando un stack para WordPress que no usa paneles, no usa plugins milagrosos y no requiere que el cliente sepa qué es un daemon. La idea es simple: montar infraestructura transparente, estándar… Read More →

  • Elegir hosting es como elegir vivienda

    ·

    Durante años, cada vez que alguien me preguntaba qué hosting necesitaba, le daba la misma respuesta que cuando pregunta qué coche comprar: depende. Y la misma explicación de manual: depende del tráfico, del presupuesto, de lo que quieras hacer, de si tienes conocimientos, de si tienes tiempo… Así que hoy lo voy a intentar de otra manera. Sin tablas absurdas de «CPU vs RAM vs almacenamiento». Con algo que todos entendemos: una vivienda. El piso compartido, el VPS, el cloud y otras formas de vivir en internet Cuando buscas dónde vivir, tienes opciones. Piso compartido. Piso en propiedad. Casa en… Read More →

  • WordPress lentos, plugins no desinstalados

    ·

    Si alguna vez te has preguntado por qué tu WordPress va lento sin que el servidor tenga la culpa, la respuesta probablemente vive en la base de datos. Concretamente, en una tabla llamada wp_options que, con el tiempo, se convierte en el mayor vertedero digital de tu instalación. No hace falta ser administrador de sistemas para intuir que algo no funciona bien cuando una web que debería cargar en un segundo tarda tres. El problema rara vez está donde el usuario mira. La wp_options es la tabla donde WordPress guarda su configuración esencial: la URL del sitio, el nombre, los… Read More →

  • WordPress 7.0: configuración del servidor

    ·

    Ahora que se ha lanzado WordPress 7.0, dejo aquí la configuración de servidor que va a ser la óptima para esta nueva versión mayor de WordPress. Recomendación de ROBOTSTXT Existen distintas fuentes de información cuando hablamos de las configuraciones de WordPress con respecto al servidor. Las principales son las que dan el equipo de Core y el equipo de Hosting de WordPress. Nuestra recomendación, por compatibilidad, para WordPress 7.0 es la siguiente: Es importante tener en cuenta que estas recomendaciones son para instalaciones nuevas de WordPress, aunque, dependiendo de los plugins instalados, se podría actualizar cualquier WordPress existente. Nuestras instalaciones,… Read More →

  • AI Translator, plugin para WordPress

    ·

    Llevo días dando vueltas a un problema que, seguro, te suena. Un cliente tiene un sitio multilingüe en WordPress. Nada raro, hasta aquí todo bien. El lío empieza cuando necesita traducir contenidos de forma recurrente: artículos, páginas, productos… Cada vez que publica algo en español, toca replicarlo en catalán, inglés y portugués. Hasta ahora, la solución pasaba por copiar y pegar en DeepL (o donde fuera), revisar que no quedara nada raro, ajustar términos específicos, maquetar de nuevo… Un proceso manual, lento y propenso a errores. Y si hablamos de decenas de entradas al mes, la cosa se vuelve insostenible.… Read More →

  • ¿WordPress pierde, Astro gana?

    ·

    Hace 25 años, cuando empecé a tocar esto de las webs, la cosa era bien distinta. No existían los CMS como los conocemos ahora. Si querías una web, te arremangabas y escribías HTML a mano. Línea tras línea. Etiqueta tras etiqueta. Cada cambio, por pequeño que fuera, significaba abrir el editor de texto, modificar el código y subir el archivo por FTP. Era artesanal. Era lento. Era… interesante. Recuerdo perfectamente cuando descubrí PHP-Nuke. Fue como pasar de caminar a volar. De repente, todo tenía sentido: un panel de administración, módulos, bloques, usuarios registrados. Podías construir un sitio dinámico sin tocar… Read More →

  • Botón para arrepentirse

    ·

    Cuando leí por primera vez la Directiva (UE) 2023/2673, asumí, como suele pasarme, que era otro papeleo dirigido a bancos y aseguradoras. El título oficial habla de servicios financieros a distancia. Me equivoqué. Esta norma modifica la Directiva de Derechos de los Consumidores (2011/83/UE) y establece algo que afecta a cualquier tienda online que venda a consumidores de la Unión Europea: a partir del 19 de junio de 2026, desistir de una compra debe ser tan fácil como realizarla. El mecanismo es lo que todo el mundo está llamando el «botón de desistimiento» (o withdrawal button, si prefieres sonar en… Read More →

  • Arquitectura de la Información

    ·

    Llevo tiempo con esta idea en la cabeza. Hay una disciplina que está en el centro de casi todo lo que hago cuando trabajo con sitios web (cómo se organizan los contenidos, cómo se estructuran las URL, qué se indexa y qué no, cómo se nombran las cosas para que los usuarios las encuentren) y que en español tiene pocos recursos de referencia serios. Hay mucho contenido sobre SEO, sobre WordPress técnico, sobre diseño. Pero sobre Arquitectura de la Información desde una perspectiva de biblioteconomía aplicada a la web, en español, poco. Y lo llevo diciendo desde 2010. Así que… Read More →

  • Versioning in WordPress Plugins and Themes

    ·

    WordPress has its own versioning convention that differs from strict Semantic Versioning (SemVer). If you’re building plugins or themes, especially ones others will extend, understanding this distinction is critical to avoid breaking your users’ sites silently. The WordPress Versioning Model WordPress itself uses a MAJOR.MINOR pattern for releases (6.4, 6.5, 6.6…), with patch releases added as a third segment only for security or critical fixes (6.5.3, 6.5.4…). Your plugins and themes should follow the same logic. The general pattern is: N.N[.N[.N]] Version Levels Explained Major version: N.0 Use when the codebase undergoes a significant structural change: full rewrite, architectural overhaul,… Read More →

  • Cloudfest Hackathon 2026: WP Plugin Insight

    ·

    Han sido 51 horas intensas desde el viernes a media mañana hasta el domingo después de comer en los que hemos conseguido lanzar WP Plugin Insight. La idea semilla: un año antes Hace justo un año, en la misma sala, tras una experiencia extraña en la Hackathon, comencé a reírme de lo que podríamos hacer con las IA del futuro y planteé algo absurdo, pero tecnológicamente interesante: una IA a la que le mande todo el código, tenga una visión global de todos los plugins del repositorio de WordPress y le puedas preguntar «cuál es el mejor y peor programador… Read More →

  • Camino al Cloudfest Hackathon (Europa) 2026

    ·

    Ya es mi cuarto año en el Cloudfest, y cada vez que se acerca la fecha noto que la ilusión no ha bajado ni un poco. Al contrario. Cuando fui la primera vez, era un asistente más. Alguien que llegaba sin saber muy bien qué esperar, que miraba los proyectos con los ojos abiertos y que se fue a casa con la cabeza llena de ideas y con ganas de volver. Y volví. El segundo año ya era diferente: presenté un proyecto del equipo de Hosting de WordPress.org. Pasar de asistente a tener responsabilidad sobre algo que otros van a… Read More →

  • WordPress multiidioma: opciones y trampas

    ·

    WordPress no tiene soporte nativo para múltiples idiomas. Llevamos años esperándolo, hay propuestas en marcha dentro del proyecto, pero a día de hoy si quieres un sitio multiidioma en WordPress tienes que recurrir a plugins. Y ahí empieza el problema. Este post repasa algunas opciones disponibles, sus diferencias arquitectónicas fundamentales, y por qué algunas de ellas pueden dejarte el sitio roto de formas que no son fáciles de reparar. No pretendo sentar cátedra, pero es que estoy en varios proyectos que tratan con distintos idiomas, y organizar todo está siendo un lío monumental para que no se rompa nada. WordPress… Read More →

  • Barra hosting

    ·

    ¿Qué está ocurriendo con WordPress.org y las negociaciones de hosting que Automattic quiere mantener en privado? Recientemente Automattic y Matt Mullenweg han pedido a una corte federal de EE. UU. que se mantengan bajo sello judicial partes del último reclamo de WP Engine, argumentando que esos documentos contienen detalles confidenciales de negociaciones con proveedores de hosting para aparecer como “recomendados” en WordPress.org. Esta noticia puede sonar abstracta si no conoces el contexto más amplio, pero lo que está en el centro de todo es una discusión sobre quién decide qué empresas aparecen asociadas al ecosistema WordPress y bajo qué criterios.… Read More →

  • WordPress Campus Connect Mataró

    ·

    El pasado jueves tuve la oportunidad de participar en el Campus Connect que se hizo en la Escola Pia de Mataró con Josep Morán. No es (y supongo que no será) la primera vez que hago una charla sobre WordPress. En realidad ya hablé un poco de este asunto sobre la formación con WordPress en las aulas y la curva de aprendizaje que tiene. Gente técnica Una de las grandes diferencias con otras ocasiones es que estos alumnos son gente de un Ciclo Formativo de Grado Medio/Superior de Informática, lo que significa que saben de WordPress porque es la herramienta… Read More →

  • OpenGraph (by ROBOTSTXT)

    ·

    Últimamente, he estado en ese punto entre la promoción de los contenidos, y la optimización de las imágenes… y es que OpenGraph no soporta los nuevos formatos de imágenes. Así que, como ya expliqué el otro día Con la creación de una extensión del plugin Two Factor, ahora le llega el turno a un plugin de OpenGraph que haga que salgan las imágenes. Por norma general uso el plugin Modern Image Formats de la Comunidad WordPress para que al subir un JPG o PNG automáticamente se convierta en WebP o, en mi caso, en AVIF. El tema es que no… Read More →

  • Two Factor Extended: cuando «tener 2FA» no es suficiente

    ·

    En WordPress, hablar de seguridad suele incluir un: activa el doble factor. Y sí, es un consejo correcto. La autenticación en dos factores (2FA) es probablemente una de las medidas más efectivas para evitar accesos no autorizados. El problema es que, en muchos casos, se queda en consejo. Instalas el plugin, aparece la opción en el perfil… y ahí termina todo. Cada usuario decide si lo configura o no. Y en un entorno personal eso puede ser aceptable, pero en una organización, con roles, responsabilidades y datos en juego, no lo es. De esa experiencia nace Two Factor Extended. El… Read More →

  • Sincroniza documentación GitHub con WordPress

    ·

    Hace años que me tocó liderar varios procesos de ayuda a sincronizar los famosos handbook de WordPress que están en GitHub con los propios WordPress. Al final he hecho una solución. No parece tener sentido Aparentemente, no tiene mucho sentido que teniendo un CMS como WordPress, haya que crear contenidos en Markdown en GitHub para después sincronizarlo con eso, WordPress, pero tiene una razón de ser. Por un lado, no siempre hay que dar acceso a un WordPress para que cualquiera pueda editar… aunque hay control de cambios en un sitio, si se empiezan a cambiar contenidos de forma sostenida… Read More →