En esta entrada te traigo algunas consultas útiles a la BD de WordPress.
Si una ventaja tenemos los informáticos es que podemos automatizar tareas o tener ciertos conocimientos técnicos para realizar operaciones que requerirían de mucho tiempo pero de manera más directa y rápida.
Aprovechad este post porque os voy a contar algunos truquillos que uso normalmente cuando trabajo con la base de datos de WordPress.
Vamos allá.
Cambiar la URL del sitio web y la url de WordPress
En la tabla wp_optiones existen dos atributos que almacenan la url del sitio web (siteurl) y la url donde está instalado WordPress (home). Estos atributos son los que se encuentran en el panel de Ajustes -> Generales.
Cuando se hace una migración por ejemplo o en otro caso en el que se quiera cambiar estos campos a través de la base de datos de WordPress podéis hacerlo con la siguiente instrucción.
UPDATE wp_options SET option_value = replace(option_value, 'https://www.valoractual.dev', 'https://www.valorbueno.com') WHERE option_name = 'home' OR option_name = 'siteurl';
También podemos cambiar estos valores directamente sin hacer que cumpla ninguna condición:
UPDATE wp_options SET option_value = 'https://www.valorbueno.com' WHERE option_name = 'home'; UPDATE wp_options SET option_value = 'https://www.valorbueno.com' WHERE option_name = 'siteurl';
Esta es la primera de las consultas útiles a la BD de WordPress que os propongo. Pero vamos a por más.
Eliminar todos los comentarios que son SPAM
En la tabla wp_comments WordPress almacena los comentarios y su estado, esta tabla tiene un campo que se llama comment_approved que puede tener 3 valores. Cuando es un 0 es que el comentario está esperando moderación y cuando es 1 es que ya está aprobado. El tercer valor es la cadena «spam» y significa que ese comentario está marcado como tal.
Para eliminar todos estos comentarios y liberar la base de datos de WordPress podemos hacerlo con la siguiente instrucción.
DELETE FROM wp_comments WHERE comment_approved = 'spam';
Y de un plumazo nos quitamos todos los comentarios marcados como SPAM.
Reestablecer la contraseña
No se si a vosotros os habrá pasado esto, pero para mi esta es una de las consultas útiles a la BD de WordPress que más he utilizado… sobre todo cuando he tenido por ahí WordPress instalados desde hace tiempo y no he entrado a su escritorio pero he seguido teniendo acceso a la base de datos.
Esta consulta además demuestra lo sencillo que es cambiar la contraseña de un usuario y por lo tanto demuestra la importancia de asegurar un WordPress.
WordPress almacena las contraseñas de los usuarios con la codificación MD5 y como MySQL nos la ofrece podemos cambiarla muy rápidamente.
UPDATE wp_users SET user_pass = MD5('mi_nueva_pass') WHERE user_login = 'nombre_de_usuario';
Cambiar el nombre de admin
Una de las primeras maneras de asegurar WordPress es la de eliminar el usuario admin o cambiarle el nombre. Muchos plugins como All in One Security permite hacerlo pero también lo podemos hacer a través de una consulta a la base de datos de WordPress.
UPDATE wp_users SET user_login = 'nuevo_nombre' WHERE user_login = 'admin';
Recordad no tener usuarios en la base de datos con logins demasiado evidentes como admin, guest, test o similares, son los primeros a por los que se va.
Más consultas útiles a la BD de WordPress: Cambiar URLs en contenido
Si no lo sabéis WordPress en los posts, páginas, etc… es decir, en el contenido almacena los enlaces como enlaces absolutos (no relativos). Si queremos cambiar por ejemplo el dominio de una web por cualquier motivo, supongamos que por una migración SEO los enlaces del contenido estarán apuntando al anterior dominio aunque hayamos cambiado ‘siteurl’ y ‘home’.
Para ello tenemos que actualizar todo el contenido de páginas, posts, etc.
UPDATE wp_posts SET post_content = REPLACE(post_content, 'https://www.dominioantiguo.com', 'https://www.dominionuevo.com');
Eliminar revisiones de páginas o posts
Cuando se tienen cientos de entradas o páginas el tener almacenadas las revisiones de todas ellas y sobre todo de las que están publicadas puede hacer que la base de datos pese mucho y su rendimiento no sea el adecuada. Por eso de vez en cuando conviene hacer una limpieza de estas revisiones automáticamente guardadas en la BD de WordPress.
DELETE a,b,c FROM wp_posts a LEFT JOIN wp_terms_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision';
Cambiar el SRC de todas las imágenes del contenido
Todas las imágenes en HTML tienen el atributo SRC que contiene la url hacia la imagen. Podemos cambiarla de igual manera que en casos anteriores con una simple consulta a la base de datos.
UPDATE wp_posts SET post_content = REPLACE(post_content, 'src=https://www.midominioantiguo.com', 'src=https://www.midominionuevo.com');
Actualizar valores de URL en wp_postmeta
Si se han almacenado las URLs en metadatos de los posts o páginas con esta consulta se pueden cambiar fácilmente.
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://www.midominioantiguo.com', 'http://www.midominionuevo.com');
¿Os han parecido útiles estas consultas útiles a la BD de WordPress? Espero que os hayan servido estos truquillos que os acercarán más a ser unos ninjas de WordPress.
Quedo a vuestra disposición para lo que queráis.
2 comentarios en «Consultas útiles a la BD de WordPress»
Muchas gracias, está bien tener estas consultas «habituales» a mano y ordenadas.
En la línea
UPDATE wp_posts SET post_content = REPLACE(‘post_content’, ‘https://www.dominioantiguo.com’, ‘https://www.dominionuevo.com’);
Aconsejo quitar las comillas de ‘post_content’ si no quieres que ocurra un pequeño desastre…y de paso, el recuerdo de hacer un BU antes de cualquier tipo de modificación un poco masiva en una BBDD.
Un saludo!
Gracias Antonio,
buen ojo. Las prisas por sacarlo.
Sin duda tener la BD bien respaldada es una necesidad con o sin cambios 🙂
Un saludo.