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.

(1 votos, promedio: 5) Valora este artículo para ayudar a mejorar la calidad del blog

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

AVISO: Esta publicación es de hace 3 años o más. 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 funciona? pues entonces no he dicho nada :)

Sobre el autor

18 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. 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

  8. 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¿????

  9. 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

  10. 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…

  11. 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.

Deja un comentario

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

Información base sobre privacidad:
  • Responsable: Fernando Tellado ([email protected])
  • Fin del tratamiento: Moderación de comentarios para evitar spam
  • Legitimación: Tu consentimiento
  • Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
  • Derechos: Acceso, rectificación, portabilidad, olvido

 

Ir arriba Ir al contenido