Humor miedo base de datos WordPress

Modifica y trastea fácilmente la base de datos de tu WordPress sin miedo

Empiezo con la intro para los principiantes o insensatos usuarios de Elementor y similares: La base de datos de tu WordPress es donde se almacenan los post y páginas y todas las opciones del tema, los plugins y de cada cajita que rellenas y luego le das a «guardar».

La BD (Hey ¿sabíais que en Francia, estas siglas quieren decir algo así como «tebeo»?) no está pensada para ser «toqueteada» directamente; se puede hacer y no pasa nada, pero se supone que tenemos la interfaz de WP admin y el frontal del sitio web para interactuar con ella.

Usuario modifica la base de datos de wordpress fácilmente y sin problemas
Esto lo quito que no sé pa que sirve hale

Al fin y al cabo, podríamos casi gestionar un WP directamente desde la base de datos (que no deja de ser un conjunto de tablas, como las del Excel) sin usar el «admin». Lo que pasa que ni es tan cómodo ni tan visual.

La base de datos del WordPress está como está con sus protecciones de serie, y añadiendo un plugin que acceda a toda ella, pues qué quieres que te diga, es una puerta extra que tienes ahí.

Para acceder a ella, nuestro hosting nos proporciona unos datos de acceso, que podemos usar para conectarnos a ella remotamente desde un programa (un programa es una app también, sí) de cliente MYSQL, como por ejemplo Heidi, Workbench etc. Y con este «pograma» navegas por sus hojas como si fuera un excel.

Luego hay el lenguaje SQL, que es para buscar y hacer cosas específicas con los datos, lo podemos usar o bien con el programa anterior, o por linea de comandos (modo hackerrrr), o bien la manera fácil que nos ponen siempre los hosting son, en su panel de opciones, un software online llamado PHPMyAdmin.

bootleg toys lego transformers compatible

#loNecesitas #buildingBlocks #buildCheaper

El PHPMyAdmin está bien, puedes hacer cosillas sin tener ni idea de código SQL, como buscar y modificar valores y textos, y también exportar toda la base de datos o ciertas tablas, para tener tus copias de seguridad, hacer migraciones etc.

Lo que te voy a contar -pero no se lo digas a mucha gente- es que, hay casos en los que me he visto con un sitio web en el que tenía que hacer «cosas», y he necesitado acceso a la base de datos «a pelo», y no tenía ni las credenciales completas, ni acceso al PHPMyAdmin.

Modificar base de datos de WordPress sin peligro
Voy a apretar este postmeta a ver que pasa…
Exito modificando la base de datos
¡Hale, enrreglao!

Plugins para tocar a pelo la base de datos, y la recomendación: Sin miedo, pero con «cuidao»;

Como siempre, hay plugins para ello. Vamos a ver, si bien es cierto que no hay que tener miedo a tocar la base de datos, hay que tener cuidado, como con todo, pero un poco más. Así que, antes de recomendar plugins, te digo que es importante que si pones uno, hagas lo que tengas que hacer con él, y después lo desinstales, o bien, lo restrinjas a usuarios administradores. Y por supuesto, antes de hacer na’, copia de seguridad de la bbdd entera.

La bbdd de WordPress «está como está» con sus protecciones de serie, y añadiendo un plugin que acceda a toda ella, pues qué quieres que te diga, es una puerta extra que tienes ahí. Así que simplemente, quita mejor la puerta cuando te vayas.

WP Data Access es mi plugin favorito para cambiar «cosas» directamente en la BD; tampoco es que haya probado tantos, pero éste me va de perlas y es muy socorrido e intuitivo.

Casos comunes en los que he tenido que recurrir a explorar la base de datos con WPDA

Pues mira, te cuento unos casos reales de trabajo de campo, que me ocurren con frecuencia:

  1. Tener que cambiar el correo principal del administrador del site, y no poder, porque, por lo que sea, no sale el email para confirmar el cambio.

    Sip. Me ha ocurrido varias veces que, en un sitio donde los emails funcionan perfectamente, el de confirmar cambio de admin, no llega nunca o no lo encuentras. Pues es uno de los casos en los que, usando WPDA he ido a la tabla _options, he cambiado a saco el admin_email y no he tenido que esperar el aviso de confirmación para efectuar el cambio. Tiempo ahorrado.

  2. Tener que modificar un texto que sale en un rincón de la web… que NO SABES de dónde sale. (Un texto que sabes 100% que no es malware, ojo, no sería el caso del típico texto ruso ni de viagra, esto sería un post entero del tema malware que aquí no es el caso)

    Esto es super típico: Cliente te dice, cámbiame este texto, y dices vale; vas a la página en tu backend, y ahí no está, ni en el content ni en los campos, ni en los widget… miras los settings del theme y no lo encuentras, te bajas el theme entero por ftp para buscar el texto en el php, y nada, que no aparece el texto que quieres cambiar… pues está claro que está en la base de datos; en estos casos, miro primero de buscarlo en la tabla _options, luego en _postmeta, y oye, si no está ahí, hago una búsqueda global en toda la BBDD, y siempre aparece, en ocaiones era un campo de un plugin que te dejaba añadir texto antes o después de un formulario o widget, etc;

  3. Como el anterior, pero en el caso de un custom field, que tú sabes al 100% que existe, pero su campo de formulario no te sale en el administrador .

    Pues sí; cuando desinstalamos plugins, en mucos casos la info de sus settings sigue en la base de datos; también, hay casos en que podemos haberla liado con los ACF y sus opciones de ser mostrado en el tipo de contenido X o la opción «hide on screen», que a veces la lian (a veces, en un tipo de post, desaparece el editor de contenido). Bueno, pues para arreglo rápido, si es un custom field, estará en _postmeta, y si sabes que es el post content, en _posts, vas, lo buscas y lo cambias…
  4. Exportaciones e importaciones (contenidos de plugins)

    Para exportar o importar posts, no, porque con las relaciones que hay con los terms y los postmeta, puedes liarla. Cuidado siempre con las relaciones.

    Pero sí que me ha ido de perlas para exportar e importar contenidos de plugins. Por ejemplo, mapas, sliders, testimonios etc creados con un plugin, que crea sus propias tablas para almacenar estos contenidos. Googleando un poco, siempre puedes encontrar cuáles son las tablas propias que genera cada plugin.

    Un caso práctico real de plugin fué con MAPSVG, un plugin de mapas interactivos. Tenía que mover un montón de mapas que tenían mucha info, y con dos clics pude sacar todo en un CSV, la verdad, mágico.

Uso básico de WP Data Access

La vista por defecto principal de WPDA, es su explorador de tablas. Aquí las tenemos listadas todas y podemos buscar (buscar TABLAS, no datos dentro de ellas). El prefijo de nuestras tablas puede ser distinto.

Por ejemplo: «lgtbi_options, lgtbi_comments». Donde yo escribo lgtbi_, que son cuatro letras aleatorias que me han salido tal cual, tu debes tener otras. Si el prefijo del nombre de tus tablas es «wp_», deberías cambiarlo o pedir que te lo cambiaran, como una medida de seguridad más. Es para que se lien los hackers y no sepan que tu bbdd es de un WP.

Seguimos, como decía, aquí primero las tablas de nuestra bbdd:

Pasando el cursor por encima de cada tabla tenemos 2 opciones, configuración de la tabla(manage), y exploración(explore ,ver «lo que tiene pol dentro»):

Una vez entramos en el explorador de datos de una tabla, tenemos las opciones y los valores. Ahora sí que podemos buscar aquí una opción o valor usando la caja de búsqueda.

Los valores son lo que podemos cambiar aquí, en el ejemplo, del pantallazo siguiente, puedes ver el admin email de mis _options. Si lo cambio aquí a saco NO se envía el email previo de aprobación a la anterior dirección de correo.

La cuestión es, que la base de datos de WordPress es un archivo de texto más; es muy grande (a veces, inmenso) y hay que mantener intacta su estructura, pasándole un trapillo de vez en cuando, pero oye; que no muerde. Simplemente, si no estás 100% seguro de lo que haces, pues no la toques, ante la duda.

Ten cuidado especial con los datos serializados

Si ves un valor de opción con un formato como éste:

a:9:{s:5:"email";s:13:"test@test.com";s:4:"name";s:15:"Werner  
Etsebeth";s:8:"address1";s:17:"1 Giligans  
Island";s:8:"address2";s:1:"5";s:4:"city";s:9:"Cape  
Town";s:5:"state";s:2:"AL";s:3:"zip";s:4:"7460";s:7:"
country";s:2:"US";s:5:"phone";s:0:"";}

NO puedes cambiar tal cual su valor; ten cuidado, que se casca. No puedes cambiar tal cual las partes de texto entrecomillado, esto es otro tema. Te dejo este enlace donde se explican muy bien los tipos de datos:

https://codection.com/ver-todos-los-datos-diferentes-que-alberga-tu-base-de-datos-de-usuarios-de-wordpress/

Medidas anti manazas y roturas de site

Como medida de seguridad anti-manazas, el plugin no nos permite ni borrar (drop) ni vaciar (truncate) tablas de las que son del propio WP. (Otras tablas de plugins etc sí, así que de todos modos cuidaorl; )

Opciones tablas wpda

Con la opción import/export, puedes traer datos a las tablas desde csv o similares. Con export, puedes incluso exportar todas las tablas obteniendo así un backup de la base de datos completo (hacer copias de seguridad mejorará tu vida sexual y más cosas, créeme).

Para finalizar; si «tocas» la base de datos de tu WordPress con el método que te he explicado en este post, «con plugin», aunque dicho plugin sólo puedan usarlo los administradores, después de hacer lo que hagas o probarlo, quítalo. Tú mejor quítalo. Recuerda, backup y quitar este plugin luego*.

* Matizo lo de quitar; quítalo sólo si haces de el un uso esporádico como el que explico en el post. WPDA tiene muchas funcionalidades además de ser un «phpmyAdmin» dentro de WP, puedes diseñar y generar vistas de tablas de datos muy majas para mostrar en las páginas y los posts usando shortcodes. Es muy potentillo.

Don’t fear the database!

Imagen decorativa titulo comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *