Wordpress

Wordpress y su ecosistema

Wp Cli

Notas rápidas

Wp Cli

Tips rápidos

Actualiza todo

Funcionara si no hay problemas derivados por php obsoleto, algun plugin desastre, etc,

Estructura de cPanel

$ cd public_html && wp core update && wp plugin upgrade --all && wp theme upgrade --all

Normal

$ wp core update && wp plugin upgrade --all && wp theme upgrade --all

Usuarios

Crear un administrador de Wordpress con wp cli

# wp user create
$ wp user create castris fake@castris.com --role=administrator
Success: Created user 12.
Password: 0VV3gUlNMECOPIESQUENOVALGOGFO4ht

Borrar un usuario de Wordpress con wp-cli

# wp user delete
$ wp user delete 12
--reassign parameter not passed. All associated posts will be deleted. Proceed? [y/n] y
Success: Removed user 12 from http://www.dunlopillo.es.

Actualizar WP

Como root si la aplicación esta en el sistema de forma global

$ sudo wp cli update
You have version 2.5.0-alpha-3f4c34b. Would you like to update to 2.5.0? [y/n] Y
Downloading from https://github.com/wp-cli/wp-cli/releases/download/v2.5.0/wp-cli-2.5.0.phar...
md5 hash verified: 20ab512b12d766a2d2f51cc8f5c43411
New version works. Proceeding to replace.
Success: Updated WP-CLI to 2.5.0.
Wp Cli

Crear un sitio wordpress con wp cli

Introducción

El uso de wp cli para la administración de sitios con wordpress es el paradigma de la eficiencia, sobre todo para los que amamos el shell. Una de las cosas que mejor podemos hacer es instalar wp desde shell.

Requisitos previos

Instalacion de wordpress en el shell con wp cli

Accedemos con nuestro usuario al servidor.

El ejemplo que vamos a explicar es en un servidor con cpanel en el dominio principal.

Primero debemos confirmar que el certificado SSL se ha instalado, ya que es recomendable hacer la instalación sobre la base de usar https

wp core download

$ cd public_html
$ wp core download --locale=es_ES
Downloading WordPress 5.7.2 (es_ES)...
md5 hash verified: 775ec9305bbe9729568fbc7b5fb7b71d
Success: WordPress downloaded.

wp core config

$ wp core config --dbhost=localhost --dbname=DBNAME --dbuser=DBUSER --dbpass=PASSWORD
Success: Generated 'wp-config.php' file.

Verificamos por si hubo algun problema de escapoes o similar.

cat wp-config.php | grep -i db
define( 'DB_NAME', 'cpuser_dbname' );
define( 'DB_USER', 'cpuser_dbuser' );
define( 'DB_PASSWORD', 'PaSsW0Rd€#?' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8' );
define( 'DB_COLLATE', '' );
define( 'LOGGED_IN_KEY',     '/whuB6w+(RdHHHHHHHHHHHHHHH=wZ9Up3F0i!9Z@<Ey#P`@PDY^B;^[06Mgy' );

cPanel permisos (PHP FPM)

Los permisos de cpanel para un servidor con PHP-FPM son especificos, y muchas veces la literatura en google de lso expertos, nos lleva a las tipicas cosas que no funcionan.

Por defecto instala ficheros con permisos 664 y 775 para directorios, lo cual no es permisible en cPanel en ese escenario.

Solución

# Atención que el comando debe ejecutarse en el directrpoio public_html donde estabamos
# $ cd ~/public_html
$ find . -type f -exec chmod 644 {} \;
$ find . -type d -exec chmod 755 {} \;
$ chmod 750 ../public_html/

Finalizar la instalación

wp core install

$ wp core install --url=domainio.tld --title="We Welle" --admin_user=NOMBREADMIN --admin_password=contraseñasincaracteresextendidos --admin_email=email@user
Success: WordPress installed successfully.
Aviso

Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad. El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de Castris

Si necesitas soporte profesional puedes contratar con Castris soporte profesional.

Wp Cli

Mover un sitio web de un path a otro cambiando las url con wp cli

Introducción

A veces a algun diseñador web se lo ocurrió aquello de hacer el sitio en el servidor de producción con una estructura domain.tld/wp o similar, y luego quiere moverlo a domain.tld

El soporte de su hosting y con razón le dirá que eso es una cuestión nuestra, y que no entra dentro del soporte, por lo que no nos ayudará o si lo hace, será bajao presupuesto. Normal, el trabajo no es gratis.

Cambios por ejemplo para domain.tld/wp a domain.tld

En principio basta con acceder via, phpMyAdmin, MysqlWorkbench, TablePlus o similar a la tabla xxx_options para modificar los valores de options_name de las filas site_url y home por nuetsro nuevo path domain.tld tal y como nos indica Wordpress en su documentación, Moving Worpdress

También deberemos eliminar o corregir, mejor dicho, la configuración de nuestro .htaccess que contendría el path /wp

Pero bueno, esto a veces no es suficiente y algo falla, ya que incluso podemos acceder a nuestro area de administracion o tablero, con el nuevo dominio, pero wordpress nos idnica un 4040 en el sitio cuando tratamos de acudir a la nueva ubicación.

Es probable que halla restos del path antiguo en nuetsros posts, o en algun sitio de nuestro template, etc.

wp search-replace

wp search-replace comando de wp cli que nos permitirá revisar la base de datos y corregir posibles problemas embutidos en nuestras tablas.

wp search-replace 'https://dominio.tld' 'https://dominio.tld'

Merece repasar las opciones como dry-run para no hacer cambios, o --export=database.sql que tampoco hace cambios pero exporta los cambios.

Aviso

Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad. El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de Castris

Si necesitas soporte profesional puedes contratar con Castris soporte profesional.

Plugins y sus cosas

A veces algunos plugins nos hacen la vida mejor, otras veces son un engorro.

Plugins y sus cosas

Wordfence y 2F2

Introducción Wordfence 2FA

Creía que era el único al que se le resistía el uso de 2F2 en Wordpress, hasta que descubrí que el culpable era Wordfence (yo pensaba que era nativo de Wordpress). La verdad es que ya van dos veces que lo intento activar y se me olvida que nunca me funciona, ni el código 2FA ni los códigos de backup

Así que cuando deja de funcionar y eres tú el único administrador de tu sitio wordpress, te toca deshabilitarlo.

Desactivación temporal del Wordfence (shell)

Desactivar Wordfence con wp cli

$ wp plugin deactivate wordfence
Plugin 'wordfence' deactivated.

Desactivar Wordfence vía SSh o FTP

Si no te funciona la desactivación vía wp cli Renombrar wp-content/plugins/wordfence a wp-content/plugins/wordfence_bak Acceder a tu wordpress Acceder a Wordfence > Login Security y desactivar Two Factor Authentication Volver a renombrar Wordfence wp-content/plugins/wordfence_bak a wp-content/plugins/wordfence

SSH

$ mv wp-content/plugins/wordfence a  wp-content/plugins/wordfence_bak
$ wp-content/plugins/wordfence_bak a  wp-content/plugins/wordfence

Agradecimientos

SOLVED: VIDEO: 2F2 Cannot Be Verified or VERIFICATION

Aviso

Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad. El contenido el contenido se entrega, tal y como esta, sin que ello implique ningún obligación ni responsabilidad por parte de Castris