No es habitual que suceda, pero tampoco es algo excesivamente extraño: de pronto la actualización de un plugin hace que algo comience a funcionar mal, que perdamos funcionalidades que teníamos correctamente configuradas, que surjan incompatibilidades con otro plugin o con nuestro theme o, incluso, que el desarrollador del plugin haya metido la pata y la web se rompa.
El caso es que a veces toca «deshacer» la actualización, volver a la versión anterior del plugin, bien en espera de que el desarrollador corrija el fallo o bien mientras encontramos una alternativa. Si te encuentras con ese problema, no te agobies: revertir la actualización de un plugin en WordPress es sencillo y se puede hacer de varias formas.
Tabla de contenidos
Hacer downgrade a un plugin
Cuidado, no estoy haciendo apología de la «desactualización». No deberías mantener en tu web versiones desactualizadas y, mucho menos, utilizar plugins que deshabilitan las actualizaciones de la web.
No, de lo que se trata es, como decía, de volver temporalmente a la versión anterior, bien en espera de una corrección (si es evidente que se trata de un error en el plugin), bien para buscar soluciones alternativas, cuando surgen incompatibilidades.
El ejemplo más reciente es el de WooCommerce 3.0. Los cambios en el plugin en la actualización de 2.6 a 3.0 son de tanto calado que:
- Algunos plugins, e incluso themes, eran incompatibles con la nueva versión, hasta el punto de que podían dejar la web K.O. debido a errores generados por incompatibilidades en el código
- La versión mostraba en sus primeras semanas bastantes bugs (prueba de ello son las cuatro revisiones, de la 3.0.0 a la 3.0.4, en menos de tres semanas)
- Muchas funcionalidades presentaban fallos o incluso se perdían
El resultado: decenas de tiendas online haciendo downgrade de vuelta a la versión 2.6.14, a la espera de que se fueran corrigiendo todas esas cosas. ¿Quiere eso decir que hay que quedarse con WooCommerce 2.6.14? ¡Para nada! Quiere decir que tocaba esperar un poco a que se revisaran los bugs y a que los desarrolladores de los plugins que estuvieran en uso se actualizaran para ser compatibles con la nueva versión.
¿Estás construyendo tu tienda online o eres implementador WordPress?
¿Necesitas plugins de calidad y con soporte para implementar funcionalidades concretas?
Consigue todos los plugins a la venta en la sección de plugins de esta web y todos los que siga añadiendo. Acceso a los 96 plugins (y subiendo) con soporte directo del desarrollador, actualizaciones y uso ilimitado: úsalos en tantas webs como lo necesites.
¿Qué hace falta para revertir la actualización de un plugin?
En principio para revertir la actualización no hace falta gran cosa: basta con conservar la versión anterior del plugin. Una copia de seguridad, por ejemplo. Pero claro, si todo el mundo tuviera copias de seguridad de los plugins no haría falta escribir esto (y si lo escribo es porque ya me han preguntado por esto mismo varias veces).
Afortunadamente el repositorio de plugins de WordPress funciona con Subversion, lo que significa que en él queda, de forma permanentemente accesible, una copia de cada versión de cada uno de los plugins funcionales que hay en él. Así, puedes sin problemas conseguir la versión anterior del plugin que necesites. Cualquiera de las versiones anteriores, de hecho.
Para ello basta con que vayas a la página del plugin en el repositorio y, bajo los datos del plugin (versión, número de descargas, etc) pinches en Vista avanzada. A continuación sólo hay que bajar hasta el apartado Versiones previas, seleccionar la que te interese en el deplegable (que por lo general será la que aparece a continuación de Versión en desarrollo) y pulsar el botón Descargar.
¿Y qué haces con este ZIP? Pues lo mismo que cualquier plugin que instalas desde fuera del repositorio: desinstalas la versión actualizada del plugin e instalas esta versión anterior. Si la actualización te ha hecho perder el acceso al panel de control, puedes hacerlo mediante FTP. Si necesitas ayuda puedes contactarme a través del formulario de contacto.
Ayudándonos de un plugin: WP Rollback
Como no podía ser de otra forma, también hay un plugin que nos puede ayudar en este cometido: WP Rollback.
Usarlo no puede ser más fácil: una vez lo instalas y lo activas tendrás disponible una nueva opción en los enlaces de acción de tus plugins instalados (incluso los que estén desactivados), la opción Rollback. Pinchando en ella podrás elegir qué versión del plugin instalar.
Ya ves que el sistema es fácil y rápido, y te permite no sólo ir versiones hacia atrás, sino también hacia adelante (excepto, claro está, si tienes instalada la última versión). Y no sólo con los plugins: también puedes usarlo para revertir actualizaciones de tu plantilla.
La única condición es, claro está, que estén en el repositorio de WordPress.
Vicenç dice
Estupenda aportación Enrique. Con la última actualización de Woo, la 3.0 más de uno hemos tenido problemas, si.
Gracias!!
Enrique dice
Gracias a ti por tu comentario Vicenç. Sí, no han sido precisamente casos aislados, no 🙂
Un saludo.
Hugo dice
Va a mis favoritos ya, como he echado de menos algo así alguna vez. Gracias,
Enrique dice
A ti, Hugo, por tu comentario 🙂
Un saludo.
Ma. José dice
Gracias. Me fue de gran ayuda este artículo. Al final tuve que optar por instalar el pluguin Rollback y me ha ido genial. Había instalado la útlima actuallización de woocommerce y muchas cosas fallaban. Despareciò el slider de cabecera, la galería de imágenes se desactivaba,..etc. Con volver a instalar la antigua woocommerce todo ha vuelto a su lugar. Esperaré a que actualicen mi tema ENFOLD, o bien que solventen los errores de la nuvea versión de woocommerce. Mil gracias.
Enrique dice
Gracias a ti, Mª José, me alegra que te haya sido útil 🙂
Un saludo.
Miguel dice
Enrique, como siempre tus artículos son de gran ayuda. Muchas gracias por tu trabajo
Enrique dice
A ti, Miguel, por tu amable comentario. Me alegra que te sea de utilidad 🙂
Un saludo.
Marcelo dice
Hola. He actualizado woocommerce y un par de pluging adicionales a woo yith magnifier y yith wishing list y ahora no puedo acceder al wp-admin, me da error 500. Me parece muy interesante esta solucion de revertir a la version anterior. Pienso intentarlo, pero tengo una duda, que pasara cuando desinstale woo y lo vuelva a instalar con toda la data de mi tienda, historial de operaciones productos, etc.? Porque si tuviera que volver a cargar todos los productos seria un gran problema y me gustaria conservar todo mi historial de operaciones y no comenzar desde cero.. A lo mejor es una pregunta tonta la mia, pero verdaderamente nunca me habia pasado algo asi y no se bien como funciona esta internamente. desde ya muchas gracias por sus comentarios y/o consejos. Saludos
Enrique J. Ros dice
Hola Marcelo
Recuerda que tanto los productos como los historiales de ventas están en la base de datos, así que no perderás nada por revertir una actualización de un plugin.
De todos modos echa un vistazo a este artículo, ahí podrás ver cómo averiguar cuál de los plugins es el que está generando el error, no creo que sea culpa de WooCommerce.
Un saludo.
Marcelo dice
Hola, nuevamente sobre este tema del cual no he tenido tiempo de ocuparme. La tienda funciona perfectamente, el único problema (gran problema) que tengo es que no puedo acceder al wp-admin de WordPress desde que se actualizo Woocommerce. Ya he confirmado que es Woocommerce el culpable, con el metodo de desactivar los plugins cambiando los nombres de carpeta, solo cuando cambio el nombre de la carpeta woocommerce puedo volver a acceder al wp-admin. Ahora, con el nombre de carpeta cambiado es como si woocommerce directamente no estuviera instalado, por lo que se me había ocurrido directamente instalarlo y ya. Pero como no estoy seguro que ocacionaria eso, he buscado info y encontré que algunos dicen que no se puede volver a instalar woo si queda cualquier vestigio de la instalación anterior en la base de datos, como tablas, etc. Eso me vuelve al problema original, no quiero perder los datos de mi tienda. Aun no entendí del todo como hacer un rollback de versión, pero lo que si creo entender es que si no esta instalado el plugin no se puede hacer rollback, parece bastante lógico, no? Como hacer rollback de un plugin que no tengo instalado. Bien pues en este momento con la carpeta de woo cambiada de nombre es lo mismo que si no estuviera, entonces como hago el rollback? Con el plugin rollback tampoco creo que funcionara, por el mismo motivo. Puedo instalar el plugin rollback, pero para hacer el rollback de woo primero lo tendría que habilitar, es decir restaurar el nombre de carpeta por el correcto, y apenas haga eso ya perdería la posibilidad de acceder al wp-admin, o sea…. como voy a usar entonces el plugin de rollback si no puedo ingresar al WordPress…. Uffff…. espero no haberme enrollado demasiado, y que se haya entendido…. la pura realidad es: No se como solucionar este problema y Realmente necesito solucionar este problema. Todo ayuda que me puedan brindar es agradecida desde ya. Espero pronta resuesta. Gracias.
Marcelo dice
Actualizo…. con la idea de dejar todo como estaba, volvi a cambiar el nombre de la carpeta de woo por el nombre correcto para que este volviera a funcionar, ya que no me sirve tener la tienda paraday la tienda funciona. Al hacerlo yo aun estaba logeado en el admin, y me llamo la atencion que no volvio el error 500, ahi adverti que el plugin woocommerce estaba inactivo y que ademas me decia que habia una nueva version disponible. Asi que la tentacion fue muy grande, a ver si al actualizar a otra version se solucionaba el problema! Actualice y lo active, y automaticamente ya no puedo acceder mas a wp-admin… sin embargo cuando estoy en el sitio, el cual parece funcionar perfectamente, puedo ver la barra superior de WordPress que indica que estoy logeado, solo que apenas intento entrar todo lo que veo es una pantalla de error 500 nuevamente….
Marcelo dice
He probado cargando algo al carrito y llegando hasta la instancia de pago y me llevo a la ventana de proceso del pago (MercadoPago) solo me falto darle al boton «Pagar» por lo que parece que , salvo que no puedo ingresar a wp-admin, todo lo demas funciona bien. Agrego esta informacion en caso sea util. Gracias nuevamente.
Enrique J. Ros dice
Hola Marcelo
Activa el modo debug para que el error 500 te muestre la información relativa a qué lo está causando. Aquí explico cómo hacerlo.
Un saludo.
Marcelo dice
Bien, eso hice, y esto es lo que me encontre en el debug.log:
[22-Nov-2017 13:56:42 UTC] PHP Notice: Undefined index: id in /home/wy000357/public_html/wp-content/plugins/LayerSlider/wp/widgets.php on line 44
[22-Nov-2017 13:56:42 UTC] PHP Notice: Undefined index: id in /home/wy000357/public_html/wp-content/plugins/LayerSlider/wp/widgets.php on line 44
[22-Nov-2017 13:56:42 UTC] PHP Notice: Undefined index: id in /home/wy000357/public_html/wp-content/plugins/LayerSlider/wp/widgets.php on line 44
[22-Nov-2017 13:56:42 UTC] PHP Notice: Undefined index: id in /home/wy000357/public_html/wp-content/plugins/LayerSlider/wp/widgets.php on line 44
[22-Nov-2017 13:56:42 UTC] PHP Notice: Undefined index: id in /home/wy000357/public_html/wp-content/plugins/LayerSlider/wp/widgets.php on line 44
[22-Nov-2017 13:57:45 UTC] PHP Notice: Undefined index: id in /home/wy000357/public_html/wp-content/plugins/LayerSlider/wp/widgets.php on line 44
[22-Nov-2017 13:57:45 UTC] PHP Notice: Undefined index: id in /home/wy000357/public_html/wp-content/plugins/LayerSlider/wp/widgets.php on line 44
[22-Nov-2017 13:57:45 UTC] PHP Notice: Undefined index: id in /home/wy000357/public_html/wp-content/plugins/LayerSlider/wp/widgets.php on line 44
[22-Nov-2017 13:57:45 UTC] PHP Notice: Undefined index: id in /home/wy000357/public_html/wp-content/plugins/LayerSlider/wp/widgets.php on line 44
[22-Nov-2017 13:57:45 UTC] PHP Notice: Undefined index: id in /home/wy000357/public_html/wp-content/plugins/LayerSlider/wp/widgets.php on line 44
[22-Nov-2017 13:57:47 UTC] PHP Notice: Undefined index: id in /home/wy000357/public_html/wp-content/plugins/LayerSlider/wp/widgets.php on line 44
[22-Nov-2017 13:57:47 UTC] PHP Notice: Undefined index: id in /home/wy000357/public_html/wp-content/plugins/LayerSlider/wp/widgets.php on line 44
[22-Nov-2017 13:57:47 UTC] PHP Notice: Undefined index: id in /home/wy000357/public_html/wp-content/plugins/LayerSlider/wp/widgets.php on line 44
[22-Nov-2017 13:57:47 UTC] PHP Notice: Undefined index: id in /home/wy000357/public_html/wp-content/plugins/LayerSlider/wp/widgets.php on line 44
[22-Nov-2017 13:57:47 UTC] PHP Notice: Undefined index: id in /home/wy000357/public_html/wp-content/plugins/LayerSlider/wp/widgets.php on line 44
[22-Nov-2017 13:57:52 UTC] PHP Notice: Undefined index: id in /home/wy000357/public_html/wp-content/plugins/LayerSlider/wp/widgets.php on line 44
[22-Nov-2017 13:57:52 UTC] PHP Notice: Undefined index: id in /home/wy000357/public_html/wp-content/plugins/LayerSlider/wp/widgets.php on line 44
[22-Nov-2017 13:57:52 UTC] PHP Notice: Undefined index: id in /home/wy000357/public_html/wp-content/plugins/LayerSlider/wp/widgets.php on line 44
[22-Nov-2017 13:57:52 UTC] PHP Notice: Undefined index: id in /home/wy000357/public_html/wp-content/plugins/LayerSlider/wp/widgets.php on line 44
[22-Nov-2017 13:57:52 UTC] PHP Notice: Undefined index: id in /home/wy000357/public_html/wp-content/plugins/LayerSlider/wp/widgets.php on line 44
[22-Nov-2017 13:57:57 UTC] PHP Notice: Undefined index: id in /home/wy000357/public_html/wp-content/plugins/LayerSlider/wp/widgets.php on line 44
[22-Nov-2017 13:57:57 UTC] PHP Notice: Undefined index: id in /home/wy000357/public_html/wp-content/plugins/LayerSlider/wp/widgets.php on line 44
[22-Nov-2017 13:57:57 UTC] PHP Notice: Undefined index: id in /home/wy000357/public_html/wp-content/plugins/LayerSlider/wp/widgets.php on line 44
[22-Nov-2017 13:57:57 UTC] PHP Notice: Undefined index: id in /home/wy000357/public_html/wp-content/plugins/LayerSlider/wp/widgets.php on line 44
[22-Nov-2017 13:57:57 UTC] PHP Notice: Undefined index: id in /home/wy000357/public_html/wp-content/plugins/LayerSlider/wp/widgets.php on line 44
[22-Nov-2017 13:57:58 UTC] PHP Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 12288 bytes) in /home/wy000357/public_html/wp-admin/includes/comment.php on line 161
Eso es lo que me aparecio la primera vez que intente logearme en el admin, luego de habilitar el modo debug. Ahora si vuelvo a mirar hay muchisimas mas lineas de errores… La verdad es que sigo sin saber como solucionarlo… Lo unico que me queda claro de todo esto es que todo funcionaba perfecto hasta que se actualizo woocommerce. Si tienen forma de ayudarme hazmelo saber, desde ya muchas gracias.!
Hernan dice
Te amo me salvaste la vida a mi y a mi blog. <3
diego cortes dice
excelente plugin, gracias por la recomendación.
Hugo Sosa dice
Hola Enrique… muchas gracias por este articulo. Gracias a ello pude resolver mi problema en mi sitio web.