WordPress Hosting

Repara la base de datos de WordPress, desde WordPress

Seguramente ya sabes que la base de datos eventualmente se llena de porquería, muchas veces hay que hacer borrado de restos en la base de datos, pero la mayoría de las veces una simple reparación de las tablas soluciona problemas como el terrible y odiado «ERROR AL ESTABLECER CONEXIÓN CON LA BASE DE DATOS DE WORDPRESS«.

A través de PHPmyAdmin puedes seleccionar las tablas y reparar la base de datos, pero desde no hace mucho también tenemos la posibilidad de reparar la base de datos de WordPress desde el mismo WordPress.

Solo tienes que tener acceso al fichero wp-config.php, al que añadirás la siguiente línea:

define('WP_ALLOW_REPAIR', true);

Una vez guardes los cambios accedes a la dirección http://misitio.com/wp-admin/maint/repair.php y verás la siguiente pantalla:

Simplemente haces clic en «Reparar base de datos» o en «Reparar y optimizar la base de datos» y en un rápido proceso tendrás tu WordPress fino y seguro.

Eso si, al finalizar quita la línea de código que añadiste al archivo wp-config.php para evitar que esa página la utilicen usuarios sin autorización.

Compartir en redes
Resumir con IA

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en las estrellas para valorarlo!

Promedio de puntuación 4.5 / 5. Total de votos: 8

¡Todavía no hay votos! Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en las redes sociales!

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación hace 3 años o más que no se actualiza. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado. ¡Ah! ¿te sirvió?, pues entonces nada :-)


Sobre el autor

21 comentarios en “Repara la base de datos de WordPress, desde WordPress”

  1. Andrés Rodila

    Ayer precisamente leia que se puede causar una denegación de servicio, por ataque de funcionalidad (AoF) al tener 
    'WP_ALLOW_REPAIR' habilitado, así que tengan precaución de deshabilitarlo tras haberlo usado.

  2. Yo acabo de proteger la url mediante un Rewrite:

    RewriteCond %{REQUEST_URI} .*wp-admin/maint/repair.php
    RewriteCond %{REMOTE_ADDR} !^127.0.0.1
    RewriteRule . /index.php [R=301,L]

    Sólo tienes que cambiar el 127.0.0.1 por la ip desde la que vas a administrar el WP para poder acceder al repair.php (siempre y cuando tengas una ip fija, claro).

    Como siempre se trata de añadir capas para dificultar un ataque ;D

    1.  Existe otra opción más chula: si tienes un dominio (o sino te pillas un dyndns o siminar) puesde poner la regla del .htaccess como sigue:

      RewriteCond %{REQUEST_URI} .*wp-admin/maint/repair.php
      RewriteCond %{REMOTE_HOST} !^ejemplo.dyndns.org$
      RewriteRule . /index.php [R=301,L]

      Esto tiene la ventaja de que si tienes el WP en un dominio dado: blog.ejemplo.com, puedes tener distintas máquinas en distintos subdominios para la administración: admin1.ejemplo.com… con lo que el repair queda inaccesible desde otra máquina que no sea la tuya ;D

      Saludos

  3. Juan Antonio Cobo

    mmm… pues WP-Optimize, que de paso te limpia alguna otra cosilla, o PhpMyAdmin (o tu panel de control) a mano.

    Teniendo en cuenta que para esta opción hay que tocar código, algo que un cliente es difícil que haga (es decir, lo harías tú casi seguro): lo mejor es a mano porque se tardan segundos, lo haces sobre seguro, sin pasar por peticiones a tu sitio Wordpress, y te ahorras rollos raros de seguridad.

    Si le quieres poner algo a un cliente yo usaría el plugin que comento al inicio. Además de reparar también te da la posibilidad de eliminar revisiones, borradores, papelera…

    — —
    Aun así, una reparación para nada limpia de "verdadera porquería" la db. De vez en cuando repaso la db de algunas instalaciones y encuentro un montón de opciones en la tabla options de hace 1.000 años. Esto sin contar con los plugins que guardan las opciones "una por una" en lugar, por ejemplo, de objetos o arrays serializados.
    Postmeta también guarda mucha porquería de plugins antiguos… e incluso la de usuarios; vamos, todas las meta y options.

    Evidentemente la culpa es nuestra, de la comunidad, por no exigir unos estándares mínimos en el desarrollo de plugins aceptados por Wordpress: opciones de desinstalación por ejemplo.
    Yo doy 5 estrellas siempre a plugins que ponen énfasis en el rendimiento y mantenibilidad, además de calidad de código, en especial si veo POO "con sentido".

    PD: Es que a veces ya nos volvemos bastante vagos xP

    PD2: Había un plugin, creo recordar, que comprobaba estas tablas y te listaba las opciones y metadatos que posiblemente no estuvieras usando, comprobando plugins instalados y tal.

  4. Juan Antonio Cobo

    Por ejemplo… hace poco leí en el foro oficial a gente quejándose de lentitud con la instalación de un plugin para Metaboxes.

    ¿Qué esperan? es un plugin que guarda uno por uno cada metadato además de una copia para el propio plugin, …incluyendo metadatos vacíos, que eso es otra. Por si fuera poco crea dos tablas nuevas y funciones extra (alias en realidad de métodos de objetos, más pesado aún) para obtener dichos datos, funciones que ya existen en Wordpress (get_post_meta): no tiene sentido si no usas datos serializados, es redundante, sucio y pesado.

    Y así un montón de plugins, ciertamente un asco y una pena, deberíamos aprender de Drupal. Necesitamos estándares 🙁

  5. Rodrigo Bedoya Zuluaga

    He colocado la instruccion define(‘WP_ALLOW_REPAIR’, true); en el archivo config.php , termina bien el proceso, luego quito dicha linea, vuelvo a ingresar para logiarme pero vuelve a decirme que se necesita reparar… alguna sugerencia….

  6. Hago todo lo que me dice, luego WP repara la base de datos y todo bien, despues elimino la linea en cuestión y cuando intento acceder a la web me sale aun el mensaje de error en la base de datos. ¿Como puedo restablecerla? Gracias!

  7. JosepCarceller

    Reparada y borrada la linea de repair espero que me sirva para mi web, muchas gracias

  8. CARLOS POLONIO

    Lo que ha pasado ami es que instalé un plugin el cual me dañado el wordpress,

    lo ha dejado sin opciones y hasta le ha cambiado el formato de las letras, y no se puede hacer nada y cuando quiero ir al panel de escritorio me sale esta notificación:

    Objecto no localizado!

    El URL solicitado no ha sido localizado en este servidor

  9. Hola, no tengo ni puta idea de programación, pero estoy haciendo una web con Wordpress para mi empresa, me sale el error pero alguien me puede decir dónde está el fichero wp-config.ph¿????

  10. Antonio Moreno

    Pues muy agradecido …mi wordpress iba lento, y había un plugin que no se acitivaba ni de coña ..mi proveedor de serivicios me dice que repare y optimice la base de datos …no tenía ni idea de como hacerlo ..he seguido estas instrucciones, y miel sobre hojuelas ..la web vuela y el plugin se ha activado ..GRACIAS DE NUEVO

  11. Gabriel Albornoz

    Hola me gustaria saber si me puedes ayudar con mi wordpress hace tiempo se me puso super lento para la navegación del backend fue desde que hice una restauración del servidor por una falla de proveedor no se hacer para mejorar la velocidad …. no se si en la estructura de la base de datos este el problema…

  12. FinalPans JUan martinez

    Tengo un problema, cuando la pongo me dice que lo tengo todo correcto y que elimine la linia, lo hago y me dice que tengo que volver a ponerla.

  13. AYUDA ME APARECE ESTO : Error en la base de datos de WordPress: [Table ‘boysffzj_wrdp2.wp_betterlinks’ doesn’t exist]
    DESC wp_betterlinks

    Error en la base de datos de WordPress: [Table ‘boysffzj_wrdp2.wp_betterlinks’ doesn’t exist]
    ALTER TABLE wp_betterlinks ADD favorite varchar(255) NOT NULL

  14. Hola, hace un tiempo traté de migrar un sitio web personal que tenía alojado en el servidor de un amigo (Namecheap) a un servidor propio que recién compré (Namecheap); pero al momento de migrar el WordPress al parecer presentó un error y no he podido solucionarlo. Revisé el CPanel/FileManager y se muestra la carpeta del sitio web pero no levanta en el front y me aparece el error: «Error al establecer una conexión con la base de datos».

    Al parecer se copio de manera incorrecta y omitió detalles importantes de la base de datos.

    Mantengo todos los archivos de la migración.

    Agradezco su apoyo y gracias =)

    1. Hola Ariel, ese error es cuando hay algo mal configurado en la base de datos o la información de la misma en el archivo wp-config.php no es correcta.

      Yo comprobaría… 
      1. Que la base de datos tiene un usuario y contraseña asignado y que tiene permisos suficientes en la base de datos
      2. Que la info de la base de datos en wp-config.php corresponde a tu base de datos, usuario y su contraseña

Los comentarios están cerrados.

Scroll al inicio