[{"data":1,"prerenderedAt":175},["ShallowReactive",2],{"seo-verification":3,"blog-alojar-wordpress-en-un-vps-ma-es":6,"promo-bar-likely":174},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-alojar-wordpress-en-un-vps-ma-es",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":27,"featuredImage":29,"bgImage":30,"posterImage":31,"relatedSolution":32,"intro":34,"sections":35,"ctaTitle":114,"ctaBody":115,"ctaButton":116,"ctaUrl":117,"relatedPosts":118},73,"alojar-wordpress-en-un-vps",{"fr":12,"en":13,"ar":14,"es":10},"heberger-wordpress","host-wordpress-on-your-own-vps","استضافة-wordpress-على-خادم-vps-الخاص-بك","Alojar WordPress en su propio VPS","Aloje WordPress en su VPS para un rendimiento y un control máximos: Docker, MariaDB, caché, reverse proxy y SSL.",7,0,false,"2026-04-08T00:00:00+00:00","2026-11-09T20:55:18+00:00",{"id":17,"name":23,"slug":24,"color":25,"icon":26},"Autoalojamiento","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[28],{"id":17,"name":23,"slug":24,"color":25,"icon":26},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-wordpress-poster.svg",{"categorySlug":24,"appSlug":33},"wordpress","WordPress impulsa más del 40 % de la web, pero el alojamiento compartido limita su rendimiento. En un VPS dedicado con Docker, obtiene velocidad, aislamiento y total libertad de configuración. Aquí tiene un despliegue robusto, seguro y rápido.",[36,40,50,53,78,81,84,108,111],{"type":37,"title":38,"body":39},"h2","Por qué autoalojar WordPress en un VPS","El alojamiento compartido reparte CPU, RAM e incluso la base de datos entre cientos de sitios: su velocidad depende de los vecinos, y el acceso SSH o la configuración fina del servidor suelen estar bloqueados. Un VPS le da recursos asignados a su máquina y el control total de PHP-FPM, del servidor web, de la caché de objetos (Redis) y de la caché de páginas. Para una agencia que gestiona varios sitios de clientes, es además la posibilidad de aislarlo todo en contenedores en una sola máquina, con copias de seguridad y despliegues controlados, allí donde el compartido impone sus límites y sus sobrecostos.",{"type":41,"title":42,"items":43},"ul","Las ganancias de un WordPress en VPS",[44,45,46,47,48,49],"CPU\u002FRAM asignadas a su máquina: menos ralentizaciones por culpa de los vecinos","Control total de PHP-FPM, del servidor web y de las extensiones","Caché de objetos Redis y caché de páginas para dividir los tiempos de respuesta","Acceso SSH\u002FWP-CLI completo para automatizar el mantenimiento y los despliegues","Aislamiento por contenedor: varios sitios de clientes en un solo VPS","Copias de seguridad y reglas de seguridad definidas por usted, sin sobrecosto por sitio",{"type":37,"title":51,"body":52},"Requisitos realistas","Un VPS de 2 vCPU y 2 GB de RAM soporta con holgura un sitio WordPress con tráfico moderado; pase a 4 GB con Redis, WooCommerce o varios sitios. Necesita Docker + Compose, una base MariaDB o MySQL, idealmente Redis para la caché de objetos, y un dominio `sudominio.com` con su certificado SSL. Prevea algo de ajuste de PHP (`upload_max_filesize`, `memory_limit`) según sus archivos multimedia y sus extensiones.",{"type":54,"title":55,"steps":56},"steps","Despliegue paso a paso",[57,60,63,66,69,72,75],{"title":58,"body":59},"Componer WordPress, MariaDB y Redis","En `docker-compose.yml`, declare `wordpress:php8.3-fpm` o `wordpress:apache`, un servicio `mariadb:11` y `redis:alpine`. Persista `wp-content` y la base de datos en volúmenes con nombre, en una red Docker interna.",{"title":61,"body":62},"Indicar la base de datos y los secretos","Pase `WORDPRESS_DB_*` y contraseñas robustas mediante variables de entorno. Añada las claves de seguridad (salts) generadas desde la API oficial de WordPress en `WORDPRESS_CONFIG_EXTRA`.",{"title":64,"body":65},"Arrancar e instalar WordPress","Arranque con `docker compose up -d` y luego abra su dominio para el asistente de instalación. Mejor aún: automatice mediante WP-CLI (`wp core install`) para lograr despliegues reproducibles de un sitio a otro.",{"title":67,"body":68},"Colocar el reverse proxy y el SSL","Configure Nginx\u002FCaddy en HTTPS delante de WordPress. Ajuste `client_max_body_size` para las subidas, active la compresión gzip\u002Fbrotli y la caché de los recursos estáticos (imágenes, CSS, JS) con cabeceras `Cache-Control` largas.",{"title":70,"body":71},"Activar la caché de objetos Redis","Instale un plugin de caché de objetos (p. ej. Redis Object Cache), apúntelo al servicio `redis` y actívelo: las consultas repetidas a la base de datos se sirven desde la memoria, aliviando notablemente MariaDB.",{"title":73,"body":74},"Endurecer y respaldar","Desactive la edición de archivos en la administración (`DISALLOW_FILE_EDIT`), limite los intentos de conexión y programe una copia de seguridad nocturna de `wp-content` + volcado SQL hacia un almacenamiento de objetos remoto.",{"title":76,"body":77},"Conectarse por primera vez","Abra la URL del sitio: WordPress lanza su instalación en 5 minutos — idioma, título del sitio y después la creación de SU identificador de administrador con la contraseña y el correo que usted elija. Termínela sin esperar: una instalación inacabada queda ofrecida al primer visitante.",{"type":79,"body":80},"tip","Para un rendimiento que rivalice con las plataformas gestionadas más rápidas, añada una caché de páginas completa por delante de PHP: un plugin que genere archivos HTML estáticos servidos directamente por Nginx (mediante `try_files`), o un módulo FastCGI cache. Sus páginas públicas dejan entonces de tocar por completo PHP y MariaDB, lo que permite a un VPS modesto absorber miles de visitantes simultáneos, manteniendo el back-office y el carrito (WooCommerce) excluidos de la caché.",{"type":37,"title":82,"body":83},"Alerta PHP del 21\u002F10\u002F2026 (PHP2Shell): actualizar WordPress no corrige PHP","El 21 de octubre de 2026, el proyecto PHP publicó versiones de seguridad para dos fallos de ejecución remota de código, CVE-2026-109618 y CVE-2026-109619. La corrección está en PHP mismo: las versiones corregidas son 8.5.12, 8.4.27, 8.3.36 y 8.2.35. Su WordPress puede estar al día (núcleo, temas, plugins) y seguir ejecutándose sobre un PHP vulnerable, porque el panel de actualizaciones nunca toca el intérprete. Con la pila de este artículo, PHP vive dentro de la imagen Docker `wordpress`: mientras no descargue una imagen reconstruida sobre una versión corregida y recree el contenedor, el fallo sigue abierto. Para el detalle de ambos fallos, lea el artículo php2shell-cve-2026-109618-109619-mettre-a-jour-php; para reconstruir las imágenes, php2shell-docker-wordpress-reconstruire-images-php.",{"type":54,"title":85,"steps":86},"Comprobar y corregir en cinco gestos",[87,90,93,96,99,102,105],{"title":88,"body":89},"Leer la versión de PHP realmente servida","Lo más fiable está en WordPress: Herramientas > Salud del sitio > Información > Servidor muestra la versión de PHP que ejecuta sus páginas. En un VPS sin Docker, desconfíe de `php -v`: consulta el binario de línea de comandos, que puede ser otra versión que PHP-FPM, el que atiende a sus visitantes. Pregunte al servicio mismo con `php-fpm -v` (o `php-fpm8.3 -v` en Debian y Ubuntu).",{"title":91,"body":92},"Comprobar la versión dentro del contenedor","Con Docker, ejecute `docker compose exec wordpress php -v`: la imagen incluye un solo PHP, así que el resultado vale para el FPM o mod_php del contenedor. Compárelo con las versiones corregidas de arriba, manteniendo la misma rama (8.3.x debe llegar a 8.3.36, no a 8.4.27).",{"title":94,"body":95},"Descargar la imagen actualizada","Ejecute `docker compose pull && docker compose up -d`. El pull descarga la última imagen publicada para su etiqueta (por ejemplo `wordpress:php8.3-fpm`), y `up -d` recrea el contenedor con ella. Sus volúmenes con nombre conservan `wp-content` y la base de datos. Si `php -v` aún muestra una versión antigua, la imagen corregida todavía no está publicada para esa etiqueta: vuelva a comprobarlo más tarde, o cambie de rama de PHP si su sitio la admite.",{"title":97,"body":98},"Reiniciar PHP-FPM","Actualizar un paquete o unos archivos no cambia el código ya cargado por los procesos en curso. En un servidor clásico, reinicie el servicio con `systemctl restart php8.3-fpm` (adapte el número de versión); con Docker basta recrear el contenedor, o si no `docker compose restart wordpress`. Un simple reload es menos fiable que un restart si necesita que todos los workers se renueven.",{"title":100,"body":101},"Buscar rastros de explotación","Una actualización cierra la puerta, pero no dice si alguien ya entró. Revise los registros de acceso y de error de Nginx o Apache (`docker compose logs --since 72h wordpress` con Docker) en busca de caídas de workers de PHP-FPM, mensajes de falta de memoria repetidos y peticiones inusuales de gran volumen. Dentro de `wp-content`, liste los archivos `.php` modificados recientemente con `find wp-content -name '*.php' -mtime -7`, sobre todo en `uploads`, donde no debería haber ningún script. Ante la menor duda, restaure desde una copia limpia y cambie contraseñas y salts.",{"title":103,"body":104},"Automatizar la comprobación con WP-CLI y cron","Tenga en cuenta que `wp --info` indica la versión de PHP de la línea de comandos, no la de PHP-FPM: resérvelo para scripts, no para juzgar la exposición web. Programe mejor una tarea cron semanal que ejecute `docker compose pull`, compare la salida de `docker compose exec wordpress php -v` con la versión esperada y le avise por correo si no coincide. Así, la próxima alerta de seguridad de PHP ya no depende de su memoria.",{"title":106,"body":107},"Verificar de nuevo","Vuelva a abrir Salud del sitio y repita `php -v` en el contenedor: ambos deben mostrar una versión corregida. Anote la fecha en su registro de mantenimiento y repita la rutina con cada nueva publicación de seguridad de PHP.",{"type":79,"title":109,"body":110},"Mitigación parcial, no una corrección","Para CVE-2026-109619, el aviso de PHP indica desactivar `session.upload_progress.enabled` en el `php.ini` o en el pool FPM y reiniciar todos los workers; `ini_set()` y `.user.ini` no bastan. Esto reduce la exposición mientras planifica la actualización, pero solo actualizar PHP corrige realmente ambos fallos.",{"type":79,"title":112,"body":113},"La documentación oficial","Para la configuración avanzada y las opciones propias de la herramienta, consulte la \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fdocumentation\" target=\"_blank\" rel=\"noopener noreferrer\">documentación oficial de WordPress\u003C\u002Fa>. Esta guía cubre la puesta en línea en un VPS; la documentación del editor sigue siendo la referencia para los ajustes finos, las actualizaciones mayores y los casos de uso específicos.","WordPress rápido, en su VPS","El VPS Cloud de ServOrbit le da recursos indicados por oferta, SSD y Docker para un WordPress mucho más rápido que el alojamiento compartido. Plantilla optimizada con Redis + caché incluida.","Acelerar mi WordPress","\u002Fvps-cloud",[119,138,156],{"id":120,"slug":121,"slugs":122,"title":126,"excerpt":127,"readTime":128,"views":129,"isPinned":19,"noindex":19,"publishedAt":130,"updatedAt":131,"category":132,"categories":133,"featuredImage":29,"bgImage":30,"posterImage":135,"relatedSolution":136},71,"alojar-nextcloud-en-su-propio-vps",{"fr":123,"en":124,"ar":125,"es":121},"heberger-nextcloud","hosting-nextcloud-on-your-own-vps","استضافة-nextcloud-على-خادمك-الـvps-الخاص","Alojar Nextcloud en VPS: guía NC 35, PHP 8.3 y MariaDB 11","Aloje Nextcloud en un VPS: Docker Compose, Redis, copia MariaDB, subidas de más de 40 GB tras Cloudflare y una alternativa a Office 2021.",20,1,"2026-04-10T00:00:00+00:00","2026-11-08T16:32:50+00:00",{"id":17,"name":23,"slug":24,"color":25,"icon":26},[134],{"id":17,"name":23,"slug":24,"color":25,"icon":26},"\u002Fblog\u002Fcovers\u002Fheberger-nextcloud-poster.svg",{"categorySlug":24,"appSlug":137},"nextcloud",{"id":139,"slug":140,"slugs":141,"title":145,"excerpt":146,"readTime":147,"views":129,"isPinned":19,"noindex":19,"publishedAt":148,"updatedAt":149,"category":150,"categories":151,"featuredImage":29,"bgImage":30,"posterImage":153,"relatedSolution":154},72,"alojar-ghost-en-un-vps",{"fr":142,"en":143,"ar":144,"es":140},"heberger-ghost","hosting-ghost-on-your-own-vps","استضافة-ghost-على-خادمك-الـvps-الخاص","Alojar Ghost en un VPS: guía completa 2026","Despliegue Ghost v6 en su VPS con Caddy, MySQL, Ghost CLI y Stripe Tax: instalación, reverse proxy TLS, actualización y errores de arranque frecuentes.",10,"2026-04-09T00:00:00+00:00","2026-11-04T16:30:25+00:00",{"id":17,"name":23,"slug":24,"color":25,"icon":26},[152],{"id":17,"name":23,"slug":24,"color":25,"icon":26},"\u002Fblog\u002Fcovers\u002Fheberger-ghost-poster.svg",{"categorySlug":24,"appSlug":155},"ghost",{"id":157,"slug":158,"slugs":159,"title":163,"excerpt":164,"readTime":165,"views":129,"isPinned":19,"noindex":19,"publishedAt":166,"updatedAt":131,"category":167,"categories":168,"featuredImage":29,"bgImage":30,"posterImage":170,"relatedSolution":171},74,"alojar-gitea-en-un-vps",{"fr":160,"en":161,"ar":162,"es":158},"heberger-gitea","host-gitea-on-your-own-vps","استضافة-gitea-على-خادم-vps-الخاص-بك","Alojar Gitea en su propio VPS en 2026","Despliegue Gitea 1.25 en un VPS con Docker y SSL: Gitea Actions CI\u002FCD, comparativa vs Forgejo v16, administración y errores SSH y HTTPS.",13,"2026-04-07T00:00:00+00:00",{"id":17,"name":23,"slug":24,"color":25,"icon":26},[169],{"id":17,"name":23,"slug":24,"color":25,"icon":26},"\u002Fblog\u002Fcovers\u002Fheberger-gitea-poster.svg",{"categorySlug":172,"appSlug":173},"desarrollo","gitea",true,1794270546511]