Los mejores plugins de WordPress para optimizar imágenes en 2025 son ShortPixel Image Optimizer, Optimole, Imagify, EWWW Image Optimizer, Smush y TinyPNG. Todos permiten comprimir imágenes sin perder calidad, convertir a formatos modernos como WebP/AVIF y mejorar la velocidad de carga.
🔧 Comparativa de plugins de optimización de imágenes (2025)
Plugin
Características principales
Ventajas
Ideal para…
ShortPixel Image Optimizer
Compresión avanzada, soporte WebP y AVIF, optimiza biblioteca y carpetas externas
Control detallado, buena relación calidad/tamaño
Sitios con muchas imágenes y galerías
Optimole
Optimización en la nube, entrega vía CDN, conversión automática a WebP
Reduce carga del servidor, muy automatizado
Blogs y webs con tráfico internacional
Imagify
Compresión sin pérdida, conversión a WebP, integración con WP Rocket
Interfaz sencilla, buena integración con caché
Usuarios de WP Rocket y webs medianas
EWWW Image Optimizer
Optimización local o en la nube, conversión a WebP/AVIF, lazy load
Muy flexible, opciones técnicas avanzadas
Desarrolladores y webs con hosting potente
Smush
Compresión en lote, lazy load, detección de imágenes grandes
Fácil de usar, versión gratuita potente
Principiantes y webs pequeñas
TinyPNG (Compress JPEG & PNG)
Compresión con API, soporte WebP, integración sencilla
Excelente calidad de compresión
Webs que priorizan calidad visual
RECOMENDACIONES PRÁCTICAS
Si gestionas muchos dominios y portfolios: te conviene ShortPixel, porque permite optimizar carpetas externas y soporta AVIF, ideal para branding modular.
Si buscas automatización y velocidad global: Optimole es perfecto, ya que usa CDN y reduce carga en tu servidor.
Si quieres algo sencillo y gratuito: Smush ofrece compresión básica y lazy load sin complicaciones.
Plugin Smush
Características principales de Smush
Compresión de imágenes Reduce el tamaño de archivos JPEG, PNG y GIF sin pérdida visible de calidad.
Conversión a formatos modernos Convierte imágenes a WebP y AVIF, mejorando la velocidad de carga y el rendimiento.
Optimización en lote Permite optimizar todas las imágenes de la biblioteca de medios de WordPress de una sola vez.
Lazy Load (carga diferida) Retrasa la carga de imágenes fuera de pantalla hasta que el usuario hace scroll, acelerando la percepción de velocidad.
CDN de imágenes Ofrece un servicio de entrega de imágenes vía CDN para mejorar la distribución global.
Redimensionamiento automático Ajusta las imágenes a dimensiones específicas para evitar que se suban archivos demasiado grandes.
Detección de imágenes grandes Identifica imágenes que superan un tamaño recomendado y sugiere optimización.
Compatibilidad amplia Funciona con la mayoría de temas y constructores visuales, incluido Divi, Elementor y Gutenberg.
Ventajas de usar Smush
Smush es un plugin confiable y fácil de usar que ofrece compresión, conversión a WebP/AVIF, lazy load y CDN, lo que lo convierte en una solución completa para optimizar imágenes en WordPress.
Ventaja
Detalle
Facilidad de uso
Interfaz intuitiva, ideal para principiantes
Versión gratuita potente
Incluye compresión básica y lazy load
Integración con otros plugins
Compatible con WPML, WooCommerce y constructores
Mejora SEO y velocidad
Sitios más rápidos, mejor puntuación en Google PageSpeed
¿Quieres saber cuántas personas leen tus entradas y páginas en WordPress? Con nuestro contador de visitas automático, cada publicación registra en tiempo real las visitas que recibe y las muestra directamente al final del contenido, sin necesidad de shortcodes ni configuraciones complicadas.
Además, el plugin incluye un panel exclusivo en el administrador de WordPress donde podrás consultar un ranking de las entradas y páginas más visitadas. De un vistazo tendrás claro qué contenidos generan más interés en tu audiencia, lo que te ayudará a mejorar tu estrategia y potenciar tus publicaciones.
✨ Características principales
Contador visible automáticamente en todas las entradas y páginas.
Icono de ojo integrado para un diseño moderno y claro.
Ranking en el administrador con las publicaciones más visitadas.
Ligero, simple y adaptado al estilo de tu tema.
Este recurso está disponible en EE3.ES como parte de nuestras utilidades prácticas para desarrolladores y editores digitales.
Lee las instrucciones para un mantenimiento mensual seguro para tu VPS Debian, pensado para que lo ejecutes rápido y mantengas siempre el sistema ligero y bajo control:
Revisar espacio en disco
df -h
Comprueba que la partición / no supere el 80% de uso.
Si ves que se acerca al límite, pasa al siguiente paso de limpieza.
A continuación guarda los backups fuera del VPS si es posible.
✅ Resultado esperado
VPS siempre con espacio libre > 50%.
Logs controlados y nunca superiores a 500 MB.
Cachés y paquetes limpios.
Bases de datos optimizadas.
Backups recientes y listos para restaurar.
SCRIPT DE MANTENIMIENTO MENSUAL
Aquí tienes tu script de mantenimiento mensual para el VPS. Lo puedes guardar como vps-maintenance.sh, darle permisos de ejecución y lanzarlo cada vez que quieras revisar y limpiar tu servidor:
#!/bin/bash
# VPS Maintenance Script - Edition
# Ejecutar con: sudo ./vps-maintenance.sh
echo "===== Estado del disco ====="
df -h
echo ""
echo "===== 📂 Uso en /var ====="
du -h --max-depth=1 /var | sort -h
echo ""
echo "===== Limpiando logs del sistema (máx 500MB) ====="
journalctl --vacuum-size=500M
echo ""
echo "===== Limpiando logs de Apache ====="
truncate -s 0 /var/log/apache2/access.log 2>/dev/null
truncate -s 0 /var/log/apache2/error.log 2>/dev/null
echo ""
echo "===== Limpiando cachés de paquetes ====="
apt-get clean
apt-get autoremove --purge -y
echo ""
echo "===== Espacio en bases de datos ====="
du -h --max-depth=1 /var/lib/mysql | sort -h
echo ""
echo "===== ✅ Mantenimiento completado ====="
echo "Revisa arriba el estado del disco y bases de datos."
Pasos en tu VPS
Entrar al editor y crear el archivo:
sudo nano /root/vps-maintenance.sh
Pega dentro el contenido del script avanzado de mantenimiento.
Guardar y salir de nano:
Pulsa CTRL + O → Enter para guardar.
Pulsa CTRL + X para salir.
Dar permisos de ejecución al script:
sudo chmod +x /root/vps-maintenance.sh
Probarlo manualmente:
sudo /root/vps-maintenance.sh
Cómo usarlo
1. Copia el contenido en un archivo:
nano vps-maintenance.sh
2. Dale permisos de ejecución:
chmod +x vps-maintenance.sh
3. Ejecútalo con privilegios:
sudo ./vps-maintenance.sh
✅ Resultado esperado
Verás un informe con el estado del disco y /var.
Los logs del sistema y Apache quedarán reducidos.
Cachés y paquetes sobrantes se eliminarán.
Tendrás un vistazo rápido al tamaño de tus bases de datos.
VERSION AVANZADA DEL SCRIPT DE MANTENIMIENTO
Aquí tienes la versión avanzada del script de mantenimiento que además de ejecutar las limpiezas y comprobaciones, guarda un informe con fecha en un archivo dentro de tu VPS (por ejemplo report-2025-12-06.txt). Con esto tendrás un histórico de cada mantenimiento mensual.
Script vps-maintenance.sh
#!/bin/bash
# VPS Maintenance Script - Edition
# Ejecutar con: sudo ./vps-maintenance.sh
# Nombre del informe con fecha actual
REPORT="/root/vps-report-$(date +%F).txt"
echo "===== 📊 Estado del disco =====" | tee $REPORT
df -h | tee -a $REPORT
echo "" | tee -a $REPORT
echo "===== 📂 Uso en /var =====" | tee -a $REPORT
du -h --max-depth=1 /var | sort -h | tee -a $REPORT
echo "" | tee -a $REPORT
echo "===== Limpiando logs del sistema (máx 500MB) =====" | tee -a $REPORT
journalctl --vacuum-size=500M | tee -a $REPORT
echo "" | tee -a $REPORT
echo "===== Limpiando logs de Apache =====" | tee -a $REPORT
truncate -s 0 /var/log/apache2/access.log 2>/dev/null
truncate -s 0 /var/log/apache2/error.log 2>/dev/null
echo "Logs de Apache vaciados" | tee -a $REPORT
echo "" | tee -a $REPORT
echo "===== Limpiando cachés de paquetes =====" | tee -a $REPORT
apt-get clean
apt-get autoremove --purge -y | tee -a $REPORT
echo "" | tee -a $REPORT
echo "===== 📊 Espacio en bases de datos =====" | tee -a $REPORT
du -h --max-depth=1 /var/lib/mysql | sort -h | tee -a $REPORT
echo "" | tee -a $REPORT
echo "===== ✅ Mantenimiento completado =====" | tee -a $REPORT
echo "Informe guardado en $REPORT" | tee -a $REPORT
Cómo usarlo
COMANDOS EN NEGRITA
Copia el contenido en un archivo: nano vps-maintenance.sh
Dale permisos de ejecución:chmod +x vps-maintenance.sh
Ejecútalo con privilegios:sudo ./vps-maintenance.sh
✅ Resultado esperado
Se ejecutan todas las limpiezas y comprobaciones.
Se genera un archivo de informe en /root/ con nombre tipo vps-report-2025-12-06.txt.
Cada mes tendrás un histórico con fecha, para comparar evolución del espacio y detectar crecimientos anómalos.
Configuración con cron
Edita el cron del sistema:
sudo crontab -e
Agrega esta línea al final:
0 3 1 * * /root/vps-maintenance.sh
Explicación:
0 3 1 * * → se ejecuta a las 03:00 AM del día 1 de cada mes.
/root/vps-maintenance.sh → ruta completa al script que creaste.
El script ya genera un informe con fecha (/root/vps-report-YYYY-MM-DD.txt), así tendrás histórico mensual.
📂 Dónde ver los informes
Cada mes se guardará un archivo en /root/ con nombre tipo:
Durante la instalación te pedirá configurar postfix. En el caso de que solo quieres enviar correos (no recibir), selecciona «Internet Site» y pon tu dominio o hostname del VPS.
2. Modificar el script vps-maintenance.sh
Agrega al final del script, las siguientes líneas de código:
# Dirección de destino
EMAIL="tu-correo@ejemplo.com"
# Enviar el informe por email
mail -s "Informe VPS $(date +%F)" $EMAIL < $REPORT
3. Configuración con cron (ya lo tienes)
Tu cron quedaría así, ejecutando el script el día 1 de cada mes a las 03:00:
0 3 1 * * /root/vps-maintenance.sh
✅ Resultado esperado
Cada mes, el script se ejecuta automáticamente.
Se genera el informe en /root/vps-report-YYYY-MM-DD.txt.
Se envía un email con el informe adjunto al destinatario que configures.
Comandos para revisar espacio en el VPS
Espacio general en todas las particiones:
df -h
Muestra tamaño total, usado, disponible y porcentaje de uso en cada sistema de archivos.
Uso detallado en /var (donde suelen crecer logs, bases de datos y webs):
sudo du -h --max-depth=1 /var | sort -h
Lista los subdirectorios de /var ordenados por tamaño.
Uso detallado en /var/www (tus sitios web):
sudo du -h --max-depth=1 /var/www | sort -h
Te dice cuánto ocupa cada proyecto web.
Uso detallado en /var/log (logs del sistema y Apache):
sudo du -h --max-depth=1 /var/log | sort -h
Localiza qué servicio genera más registros.
Uso detallado en /var/lib (bases de datos, librerías, contenedores):
sudo du -h --max-depth=1 /var/lib | sort -h
Analiza si MySQL, apt o Docker están ocupando demasiado espacio.
✅ Recomendación
Si lo vas a anotar en tu informe, puedes dejarlo como bloque final:
# Comandos de comprobación de espacio en el VPS
df -h
sudo du -h --max-depth=1 /var | sort -h
sudo du -h --max-depth=1 /var/www | sort -h
sudo du -h --max-depth=1 /var/log | sort -h
sudo du -h --max-depth=1 /var/lib | sort -h
El Plugin Honeypot es un antispam para WordPress que te permite proteger los formularios de comentarios mediante la técnicas honeypot.
Puedes instalar nuestro Plugin, sin complicaciones y ahorrarte otros métodos antispam, como recaptcha.
El propósito de un honeypot es refinar el sistema de detección de intrusiones (IDS) y la respuesta a amenazas de una organización para que esté en una mejor posición para administrar y prevenir ataques.
Funcionamiento del Plugin
El Honeypot funciona como honeypot es una trampa o una operación engañosa diseñada para atraer y capturar espías o enemigos. La idea es crear un objetivo atractivo que incite a las personas a revelar sus verdaderas intenciones o a participar en actividades que puedan ser monitoreadas o controladas.
Instalación del Plugin
Descarga el Plugin Honeypot.
En WordPress haz clic en añadir nuevo plugin.
Activa el Plugin.
Listo. Tu plugin ya esta operativo.
En el panel de administración de WordPress verás un icono del plugin.
Haz clic en el para ver el número de boots bloqueados.
Debian 12 “Bookworm” es una distribución GNU/Linux reconocida por su estabilidad, seguridad y versatilidad. Requiere entre 1 y 2 GB de RAM y entre 4 y 10 GB de espacio en disco según la instalación, con un sistema base que ocupa alrededor de 1,2 GB. Sus prestaciones incluyen compatibilidad con múltiples arquitecturas, gran variedad de entornos de escritorio, mejoras en seguridad y soporte ampliado de hardware reciente.
📦 Tamaño del software y requisitos
Instalación mínima (sin utilidades estándar): ~1,0 GB en disco
Instalación estándar (amd64 con utilidades): ~1,2 GB en disco
Requisitos mínimos de hardware:
RAM: 512 MB (mínimo), 1 GB recomendado
Espacio en disco: 4 GB sin escritorio, 10 GB con escritorio
Requisitos recomendados:
Procesador: Pentium 4 a 1 GHz o superior
RAM: 2 GB para un entorno gráfico fluido
Características principales
Nombre en clave:Bookworm
Entornos de escritorio disponibles: GNOME, KDE Plasma, Xfce, LXQt, Cinnamon, MATE, entre otros
Gestión de paquetes: Más de 59.000 paquetes disponibles en repositorios oficiales
Soporte de idiomas: Extenso, con traducciones para la mayoría de lenguas
Firmware no libre incluido: Mejora la compatibilidad con hardware moderno (tarjetas Wi-Fi, gráficas, etc.)
Seguridad: Actualizaciones constantes y sistema de parches rápido
Compatibilidad: Funciona en múltiples arquitecturas (amd64, arm64, s390x, etc.)
Opciones de instalación: Instalador gráfico y en modo texto, imágenes para nube y contenedores
Prestaciones destacadas
Estabilidad y fiabilidad: Debian es referencia en servidores y entornos críticos
Rendimiento optimizado: Mejoras en velocidad de ejecución y gestión de recursos en Debian 12.10
Compatibilidad ampliada: Drivers actualizados para hardware reciente
Soporte a largo plazo (LTS): Garantiza actualizaciones de seguridad durante años
Versatilidad de uso:
Servidores web, bases de datos y entornos corporativos.
Escritorios personales con múltiples interfaces gráficas.
Imágenes para nube y virtualización.
Debian 12 combina ligereza en instalación (1–1,2 GB base) con robustez y seguridad, ofreciendo un sistema adaptable tanto para usuarios domésticos como para infraestructuras profesionales. Su soporte de hardware moderno, amplia gama de escritorios y miles de paquetes lo convierten en una de las distribuciones más completas y confiables del ecosistema Linux.
Puedes descargar Debian 12 “Bookworm” directamente desde la página oficial de Debian en este enlace: 👉 Descarga oficial de Debian 12
📥 Opciones de descarga
En la página oficial encontrarás distintas imágenes de instalación:
Netinst (instalador mínimo): Ideal para instalaciones ligeras, descarga solo lo esencial y el resto desde internet.
Imágenes completas (CD/DVD): Incluyen todos los paquetes, útiles para sistemas sin conexión.
Si trabajas con servidores VPS y proyectos web, lo más práctico es usar la imagen netinst amd64, ya que ocupa poco espacio (~300 MB) y te permite personalizar la instalación con solo los paquetes que necesitas.
Uso recomendado: Instalación mínima con descarga de paquetes desde internet
Arquitectura: amd64 (64 bits, la más común en servidores y PCs modernos)
Versión: 12.6.0 (última actualización estable de Bookworm)
Si prefieres imágenes completas (DVD con todos los paquetes incluidos), también están disponibles en la misma carpeta oficial: 👉Imágenes completas de Debian 12
Comandos SSH para instalar Debian 12 en un VPS
Aquí tienes una guía práctica con los comandos SSH para instalar Debian 12 en un VPS desde cero, suponiendo que estás accediendo a un servidor con consola KVM o instalación remota (como en Proxmox, Hetzner, OVH, etc.).
Supuestos previos
Tienes acceso SSH o consola al VPS (modo rescate o instalación manual).
El VPS está vacío o en modo de instalación.
Usarás el instalador oficial de Debian 12 (netinst).
Al crear el VPS, selecciona Debian 12 como imagen base.
En el campo “cloud-init” o “custom script”, pega el YAML anterior.
Asegúrate de incluir tu clave SSH pública en el campo correspondiente.
Resultado:
VPS con Debian 12, usuario franciscus, acceso SSH, firewall activo, Nginx instalado y Fail2Ban protegiendo.
SCRIPT Cloud-Init
Script cloud-init para LAMP + WordPress en Debian 12
yaml
#cloud-config
hostname: debian-vps
timezone: Europe/Madrid
locale: es_ES.UTF-8
users:
- name: franciscus
groups: sudo
shell: /bin/bash
sudo: ['ALL=(ALL) NOPASSWD:ALL']
ssh-authorized-keys:
- ssh-rsa AAAA...tu_clave_ssh...
package_update: true
package_upgrade: true
packages:
- apache2
- mariadb-server
- php
- php-mysql
- libapache2-mod-php
- curl
- wget
- unzip
- ufw
- fail2ban
runcmd:
# Configuración básica de firewall
- ufw allow OpenSSH
- ufw allow 'Apache Full'
- ufw enable
# Configuración de MariaDB segura
- mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'TuPasswordSeguro';"
- mysql -e "DELETE FROM mysql.user WHERE User='';"
- mysql -e "DROP DATABASE IF EXISTS test;"
- mysql -e "FLUSH PRIVILEGES;"
# Crear base de datos para WordPress
- mysql -uroot -pTuPasswordSeguro -e "CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
- mysql -uroot -pTuPasswordSeguro -e "CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'WpPasswordSeguro';"
- mysql -uroot -pTuPasswordSeguro -e "GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';"
- mysql -uroot -pTuPasswordSeguro -e "FLUSH PRIVILEGES;"
# Descargar e instalar WordPress
- wget https://wordpress.org/latest.tar.gz -O /tmp/wordpress.tar.gz
- tar -xzf /tmp/wordpress.tar.gz -C /var/www/html/
- chown -R www-data:www-data /var/www/html/wordpress
- chmod -R 755 /var/www/html/wordpress
# Configuración de Apache
- echo "<VirtualHost *:80>
ServerAdmin admin@localhost
DocumentRoot /var/www/html/wordpress
<Directory /var/www/html/wordpress>
AllowOverride All
</Directory>
ErrorLog \${APACHE_LOG_DIR}/error.log
CustomLog \${APACHE_LOG_DIR}/access.log combined
</VirtualHost>" > /etc/apache2/sites-available/wordpress.conf
- a2ensite wordpress.conf
- a2enmod rewrite
- systemctl reload apache2
Resultado
VPS con Debian 12
Apache + PHP + MariaDB configurados
WordPress descargado y listo en /var/www/html/wordpress
Firewall activo y Fail2Ban protegiendo
👉 Este script lo pegas en el campo cloud-init al crear tu VPS en Hetzner, Contabo o cualquier proveedor que lo soporte.
script cloud-init optimizado para un VPS con Debian 12 + Nginx + PHP-FPM + MariaDB + WordPress, pensado para rendimiento y estabilidad:
Script cloud-init (Nginx + PHP-FPM + WordPress)
yaml
#cloud-config
hostname: debian-vps
timezone: Europe/Madrid
locale: es_ES.UTF-8
users:
- name: franciscus
groups: sudo
shell: /bin/bash
sudo: ['ALL=(ALL) NOPASSWD:ALL']
ssh-authorized-keys:
- ssh-rsa AAAA...tu_clave_ssh...
package_update: true
package_upgrade: true
packages:
- nginx
- mariadb-server
- php-fpm
- php-mysql
- php-cli
- php-curl
- php-xml
- php-zip
- php-gd
- php-mbstring
- curl
- wget
- unzip
- ufw
- fail2ban
runcmd:
# Configuración de firewall
- ufw allow OpenSSH
- ufw allow 'Nginx Full'
- ufw enable
# Configuración segura de MariaDB
- mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'TuPasswordSeguro';"
- mysql -e "DELETE FROM mysql.user WHERE User='';"
- mysql -e "DROP DATABASE IF EXISTS test;"
- mysql -e "FLUSH PRIVILEGES;"
# Crear base de datos para WordPress
- mysql -uroot -pTuPasswordSeguro -e "CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
- mysql -uroot -pTuPasswordSeguro -e "CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'WpPasswordSeguro';"
- mysql -uroot -pTuPasswordSeguro -e "GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';"
- mysql -uroot -pTuPasswordSeguro -e "FLUSH PRIVILEGES;"
# Descargar e instalar WordPress
- wget https://wordpress.org/latest.tar.gz -O /tmp/wordpress.tar.gz
- tar -xzf /tmp/wordpress.tar.gz -C /var/www/html/
- chown -R www-data:www-data /var/www/html/wordpress
- chmod -R 755 /var/www/html/wordpress
# Configuración de Nginx para WordPress
- echo "server {
listen 80;
server_name _;
root /var/www/html/wordpress;
index index.php index.html index.htm;
location / {
try_files \$uri \$uri/ /index.php?\$args;
}
location ~ \.php\$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}" > /etc/nginx/sites-available/wordpress
- ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
- nginx -t
- systemctl reload nginx
Resultado
VPS con Debian 12
Nginx + PHP-FPM (más rápido que Apache para WordPress)
MariaDB configurado con base de datos y usuario para WordPress
WordPress instalado en /var/www/html/wordpress
Firewall activo y Fail2Ban protegiendo
Este script lo pegas en el campo cloud-init al crear tu VPS en Hetzner, Contabo o cualquier proveedor que lo soporte.
script cloud-init avanzado para tu VPS con Debian 12 + Nginx + PHP-FPM + MariaDB + WordPress, incluyendo optimización de rendimiento con Redis cache, PHP-FPM tunning y HTTPS con Let’s Encrypt.
Script cloud-init optimizado
yaml
#cloud-config
hostname: debian-vps
timezone: Europe/Madrid
locale: es_ES.UTF-8
users:
- name: franciscus
groups: sudo
shell: /bin/bash
sudo: ['ALL=(ALL) NOPASSWD:ALL']
ssh-authorized-keys:
- ssh-rsa AAAA...tu_clave_ssh...
package_update: true
package_upgrade: true
packages:
- nginx
- mariadb-server
- php-fpm
- php-mysql
- php-cli
- php-curl
- php-xml
- php-zip
- php-gd
- php-mbstring
- redis-server
- php-redis
- certbot
- python3-certbot-nginx
- curl
- wget
- unzip
- ufw
- fail2ban
runcmd:
# Firewall
- ufw allow OpenSSH
- ufw allow 'Nginx Full'
- ufw enable
# Configuración segura de MariaDB
- mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'TuPasswordSeguro';"
- mysql -e "DELETE FROM mysql.user WHERE User='';"
- mysql -e "DROP DATABASE IF EXISTS test;"
- mysql -e "FLUSH PRIVILEGES;"
# Crear base de datos para WordPress
- mysql -uroot -pTuPasswordSeguro -e "CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
- mysql -uroot -pTuPasswordSeguro -e "CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'WpPasswordSeguro';"
- mysql -uroot -pTuPasswordSeguro -e "GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';"
- mysql -uroot -pTuPasswordSeguro -e "FLUSH PRIVILEGES;"
# Descargar e instalar WordPress
- wget https://wordpress.org/latest.tar.gz -O /tmp/wordpress.tar.gz
- tar -xzf /tmp/wordpress.tar.gz -C /var/www/html/
- chown -R www-data:www-data /var/www/html/wordpress
- chmod -R 755 /var/www/html/wordpress
# Configuración Nginx optimizada
- echo "server {
listen 80;
server_name _;
root /var/www/html/wordpress;
index index.php index.html index.htm;
location / {
try_files \$uri \$uri/ /index.php?\$args;
}
location ~ \.php\$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}" > /etc/nginx/sites-available/wordpress
- ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
- nginx -t
- systemctl reload nginx
# Optimización PHP-FPM
- sed -i 's/pm = .*/pm = dynamic/' /etc/php/8.2/fpm/pool.d/www.conf
- sed -i 's/pm.max_children = .*/pm.max_children = 20/' /etc/php/8.2/fpm/pool.d/www.conf
- sed -i 's/pm.start_servers = .*/pm.start_servers = 5/' /etc/php/8.2/fpm/pool.d/www.conf
- sed -i 's/pm.min_spare_servers = .*/pm.min_spare_servers = 3/' /etc/php/8.2/fpm/pool.d/www.conf
- sed -i 's/pm.max_spare_servers = .*/pm.max_spare_servers = 10/' /etc/php/8.2/fpm/pool.d/www.conf
- systemctl restart php8.2-fpm
# Configuración HTTPS con Let's Encrypt
- certbot --nginx -d tu-dominio.com --non-interactive --agree-tos -m admin@tu-dominio.com
Resultado
VPS con Debian 12
Nginx + PHP-FPM optimizado para WordPress
MariaDB configurado con base de datos y usuario
Redis cache instalado y listo para usar con plugins de WordPress
Este sitio utiliza solo cookies propias necesarias para su funcionamiento y para recordar tus preferencias de consentimiento. No empleamos cookies de publicidad ni de seguimiento, y los anuncios se muestran sin utilizar cookies.