Webs y aplicaciones
WP-CLI: administrar WordPress desde la terminal
WP-CLI permite consultar y administrar WordPress desde terminal. Utilízalo con el usuario de la cuenta y en la instalación correcta: muchos comandos pueden cambiar datos sin mostrar un formulario de confirmación.
Instalando WP-CLI
Accede por SSH y comprueba primero si está disponible:
command -v wp wp --info
Si falta, sigue la instalación oficial con un PHP compatible. Para instalar mediante Composer en tu cuenta, utiliza el paquete completo:
composer global require wp-cli/wp-cli-bundle
composer global config bin-dir --absolute
El segundo comando muestra la carpeta de ejecutables. Si wp no se encuentra, añádela al PATH y vuelve a comprobar wp --info. El PHP de terminal puede diferir del PHP web; no ignores requisitos de Composer para forzar la instalación.
Antes de ejecutar comandos que modifican datos
Sitúate en la raíz correcta y verifica la identidad:
pwd
wp core version
wp option get home
wp option get siteurl
Prepara una copia de archivos y base. Este ejemplo exporta SQL a un directorio privado fuera de la raíz pública; sustituye la ruta antes de ejecutarlo y no reutilices un nombre de copia existente:
umask 077 wp db export /RUTA_PRIVADA_FUERA_DEL_WEBROOT/wp-antes-del-cambio.sql sha256sum /RUTA_PRIVADA_FUERA_DEL_WEBROOT/wp-antes-del-cambio.sql
Conserva archivo y checksum fuera del hosting y prueba la recuperación. El checksum sirve para detectar cambios del archivo; no prueba que la copia sea completa o restaurable.
Ensaya cambios en un clon, usa --dry-run cuando esté disponible y revisa el alcance antes de quitarlo. Si hay escrituras continuas, planifica cómo evitar perderlas en una reversión.
Instalando WordPress
En un destino vacío y protegido, descarga el núcleo:
wp core download
Crea antes una base y usuario SQL propios. Sustituye los valores del ejemplo y solicita la contraseña mediante el prompt:
wp config create --dbname=base_datos \ --dbuser=usuario \ --dbhost=localhost \ --dbprefix=wp_ \ --prompt=dbpass
Configura el sitio con una cuenta de administrador propia:
wp core install --url=https://dominio.example \ --title=Sitio \ --admin_user=administrador_ejemplo \ --admin_email=administrador@dominio.example \ --prompt=admin_password
Los dominios y usuarios son ejemplos. No pongas contraseñas en argumentos ni las publiques en logs. Comprueba HTTPS y acceso antes de retirar la protección del destino.
Reinstalando WordPress
La reinstalación debe conservar versión e idioma si solo quieres reparar archivos. Sustituye los marcadores comprobados:
wp core download --version=VERSION_INSTALADA --locale=LOCALE_INSTALADO --skip-content --force wp core verify-checksums --include-root
--force sobrescribe archivos del paquete, pero no elimina todo archivo extraño. Sin versión explícita puedes descargar una distinta. Esto no limpia por sí solo una intrusión en plugins, usuarios o base de datos.
Cambiar la URL principal de WordPress
Para una instalación simple donde WordPress y la web pública comparten raíz, estos comandos cambian los valores de la base:
wp option update home 'https://nuevodominio.example' wp option update siteurl 'https://nuevodominio.example'
Si el núcleo está en otro subdirectorio, ambos valores pueden ser distintos. Revisa también constantes en wp-config.php, Multisite, DNS y certificados. Cambiar opciones no reemplaza todas las referencias dentro del contenido.
Listado de plugins
wp plugin list
Comprueba slug, estado y versión. Si un plugin impide arrancar WordPress, algunas consultas admiten --skip-plugins; los mu-plugins pueden seguir cargándose. No es una reparación del componente.
Instalación de plugins
Busca el slug oficial y comprueba compatibilidad antes de instalar:
wp plugin search 'termino de busqueda'
wp plugin install SLUG_DEL_PLUGIN
Instalar y activar son acciones distintas. Añade --activate únicamente cuando quieras activar ese componente y hayas comprobado sus dependencias. Para un ZIP comercial, utiliza el paquete verificable del proveedor; no expongas claves de descarga en el historial.
Desactivar uno o varios plugins
wp plugin deactivate SLUG_DEL_PLUGIN
Sustituye el marcador por el slug real. --all afecta a todos los plugins del alcance: puede detener pagos, seguridad o formularios. En Multisite comprueba además la activación de red. No desactives en masa una tienda abierta para probar una hipótesis.
Actualizar plugins
wp plugin update SLUG_DEL_PLUGIN --dry-run
Revisa las actualizaciones propuestas, prepara la copia y ensaya el cambio. Para aplicarlo, repite sin --dry-run solo dentro del procedimiento comprobado. Verifica la función del plugin después; una salida correcta no prueba el proceso de negocio.
Búsqueda y reemplazo masivo de coincidencias en la base de datos
WP-CLI puede tratar datos serializados, pero el alcance sigue siendo decisivo. Este ejemplo limita la simulación a dos tablas; sustituye sus nombres si el prefijo es distinto:
wp search-replace 'https://antiguo.example' 'https://nuevo.example' wp_posts wp_postmeta \ --skip-columns=guid --precise --report-changed-only --dry-run
Revisa el informe y muestras antes de repetir sin --dry-run. No es una migración completa: opciones, tablas de plugins y una red Multisite pueden necesitar otro tratamiento. Los GUID no deben cambiarse por rutina al mover el sitio. Consulta la referencia de search-replace.
Expresiones regulares y contenido HTML
--regex admite patrones, pero no convierte una expresión regular en un parser HTML. El antiguo ejemplo para eliminar iframes podía coincidir con otros bloques o ignorar variantes; no lo ejecutes de forma masiva sin una selección comprobada.
Para retirar un iframe concreto, identifica primero las entradas y el campo, y modifica el bloque exacto mediante la API o editor de la aplicación. Si necesitas automatizar HTML variable, prepara un script que reconozca el elemento y su URL y compare el antes y después sobre muestras, incluidos casos que no deben cambiar. No basta con un recuento de coincidencias.
Importar y exportar la base de datos
wp db export y wp db import trabajan con la conexión configurada. Una importación puede reemplazar tablas o mezclar datos. Prueba la restauración en una base nueva, desde un clon que apunte expresamente a ella; verifica esquema, contenido y funciones antes del cambio final.
Mantén intacta la base anterior durante el periodo de recuperación y conserva SQL fuera de directorios públicos. No importes una copia antigua sobre una tienda que sigue recibiendo pedidos.
Listado de eventos wp-cron
wp cron event list
Muestra eventos programados, próxima ejecución y recurrencia. No es un historial de ejecuciones completadas ni prueba que una tarea haya terminado correctamente. Contrasta eventos vencidos con el mecanismo de cron y los registros de la aplicación; ejecutar tareas manualmente puede enviar correos o realizar otras acciones.
También te puede ayudar
- Activar WordPress Multisite Explica cómo preparar, activar y completar una red WordPress Multisite con subdominios o subdirector...
- Actualización de PHP en WordPress, versiones antiguas y mensaje de advertencia Distingue el aviso de PHP obsoleto de WordPress, los parches de seguridad de CloudLinux y el riesgo...
- Cambiar la carpeta de subidas y la organización de medios en WordPress Detalla cómo desactivar las carpetas por fecha, cambiar la ruta de subidas de WordPress y ajustar fi...
- Configurar WordPress para usar SMTP Muestra cómo instalar Easy WP SMTP y configurar una cuenta de cPanel para que WordPress envíe correo...
¿Algo no cuadra o ha cambiado? Cuéntanoslo y lo revisamos.