Avisos
Vaciar todo

Trasients - Opciones solicitadas que no existen  

 
Jose Carlos
 Jose Carlos
Usuario experto

Hola buenos dias.

 

Vemos que tenemos una cantidad enorme de _transient_wc_var_prices_ que el sistema nos indica que son Opciones solicitadas que no existen, puedo borrarlas? Que son y que es lo que genera esto? Tiene un efecto negativo en la optimizacion de wordpress?

 

Muchas gracias

 

Saludos

 

Jose Carlos

Contenido solo visible a usuarios registrados

Citar
Respondido : 12/08/2024 10:08 am
Jose Carlos
 Jose Carlos
Usuario experto

Tambien en la misma linea que el trasient indicado previamente tambien aparecen los siguientes;

_transient_timeout_wc_related_82193

_transient_timeout_wc_product_children_79546

 

y algunos muy pocos

_transient_timeout_wc_system_status_dropins_mu_plugins

_transient_timeout_wc_report_customers_2a6528713a627bcc4891d876f39f6300

_transient_timeout_wc_system_status_theme_info

 

Gracias

 

Saludos

 

Jose Carlos

 

ResponderCitar
Respondido : 12/08/2024 10:13 am

Cursos Gratuitos WordPress

Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Jose Carlos

Los transients son datos que se almacenen en caché. En WooCommerce, los transients son utilizados para almacenar información relacionada con productos, carritos, y otros datos dinámicos.

puedo borrarlas?

Si, puedes eliminarlos todos y programar una limpieza.

.- Accede a WooCommerce -> Estado -> Herramientas

.- En la opción " Programar la limpieza de archivos transitorios caducados " Pulsa en el botón " Programar

Esto creará una tarea Cron para limpiar todos los datos transitorios.

 

Un saludo

ResponderCitar
Respondido : 12/08/2024 11:28 am
Jose Carlos
 Jose Carlos
Usuario experto

@pepesoler

Hola Pepe buenos dias.

 

Un millon de gracias por la informacion, esta tarea se ejecutara siempre cada 24 horas hay alguna forma de que se ejecute cada dia en un periodo inferior a 24 horas? Esto seria recomendable?

 

Gracias

 

Saludos

 

Jose carlos

ResponderCitar
Respondido : 12/08/2024 11:34 am

wpdoctor-revisa-la-salud-de-tu-wordpress

Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Jose Carlos.

Podrías añadir un intervalo de tiempo pero casi que no merece la pena, vas a eliminarlos cada 24 Horas y esto no afecta al rendimiento de la web, yo no lo tocaría pero si quieres puedes añadir lo siguiente en el archivo functions.php o si utilizas algún plugin para añadir código:

// Función para limpiar transients de WooCommerce caducados
function clean_expired_woocommerce_transients() {
global $wpdb;

// Eliminar transients de WooCommerce caducados
$sql = "
DELETE FROM $wpdb->options
WHERE option_name LIKE '_transient_wc_%'
AND option_name NOT LIKE '_transient_timeout%'
AND option_value < NOW();
";
$wpdb->query($sql);

// Eliminar los tiempos de expiración de los transients de WooCommerce caducados
$sql = "
DELETE FROM $wpdb->options
WHERE option_name LIKE '_transient_timeout_wc_%'
AND option_value < UNIX_TIMESTAMP();
";
$wpdb->query($sql);
}

// Añadir intervalos personalizados al cron
function add_custom_cron_intervals( $schedules ) {
// Añadir un intervalo de 1 hora
$schedules['hourly'] = array(
'interval' => 3600, // 3600 segundos = 1 hora
'display' => __( 'Cada Hora' ),
);

// Añadir un intervalo de 6 horas
$schedules['six_hours'] = array(
'interval' => 21600, // 21600 segundos = 6 horas
'display' => __( 'Cada 6 Horas' ),
);

return $schedules;
}
add_filter( 'cron_schedules', 'add_custom_cron_intervals' );

// Programar un evento de Cron para limpiar transients de WooCommerce cada 6 horas
function schedule_woocommerce_transient_cleanup() {
if ( ! wp_next_scheduled( 'cleanup_woocommerce_transients_event' ) ) {
wp_schedule_event( time(), 'six_hours', 'cleanup_woocommerce_transients_event' );
}
}
add_action( 'wp', 'schedule_woocommerce_transient_cleanup' );

// Asociar la función de limpieza con el evento programado
add_action( 'cleanup_woocommerce_transients_event', 'clean_expired_woocommerce_transients' );

// Desprogramar el evento al desactivar el plugin o tema
function unschedule_woocommerce_transient_cleanup() {
$timestamp = wp_next_scheduled( 'cleanup_woocommerce_transients_event' );
if ( $timestamp ) {
wp_unschedule_event( $timestamp, 'cleanup_woocommerce_transients_event' );
}
}
register_deactivation_hook( __FILE__, 'unschedule_woocommerce_transient_cleanup' );

Esto eliminará todos los transitorios cada 6 Horas.

 

Un Saludo

 

ResponderCitar
Respondido : 12/08/2024 12:36 pm
Jose Carlos
 Jose Carlos
Usuario experto

@pepesoler

 

Hola Pepe buenos dias.

 

Gracias por la informacion, voy a probar a insertar este codigo que me comentas y realizar un seguimiento a ver como va.

 

Muchimas gracias por tu ayuda se agradece.

 

Saludos

 

Jose Carlos 

ResponderCitar
Respondido : 13/08/2024 10:20 am

Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Jose Carlos.

Ok, dejo el hilo abierto por si necesitas retomarlo.

 

Un saludo

ResponderCitar
Respondido : 13/08/2024 10:24 am
Jose Carlos
 Jose Carlos
Usuario experto

@pepesoler

 

Hola Pepe buenas tardes.

 

Aparentemente no parece que el codigo que he introducido en el functions.php haya borrado nada en el periodo estipulado de 6 horas ya que he borrado los trasients mediante SQL para ver cuantos habia y me borro más de 8000? El codigo lo he introducido al final del archivo functions.php. Tampoco parece que la opcion primera que me indicabas funcione por algun motivo;

 

WooCommerce -> Estado -> Herramientas

.- En la opción " Programar la limpieza de archivos transitorios caducados " Pulsa en el botón " Programar 

 

Que puede estar frenando estas acciones?

 

Muchas gracias

 

Saludos

 

Jose Carlos

 

ResponderCitar
Respondido : 13/08/2024 7:44 pm

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación

Argenis
 Argenis
Soporte CMS Webempresa Moderator

Hola Jose,

Tienes este plugin para gestionar los transients:

https://es.wordpress.org/plugins/transients-manager/

También tienes este otro:

https://es.wordpress.org/plugins/delete-expired-transients/

Verifica con estos y nos comentás.

Un saludo 🖐️ 

ResponderCitar
Respondido : 13/08/2024 8:28 pm
Jose Carlos
 Jose Carlos
Usuario experto

@argenis

 

Hola Argenis buenos dias.

Gracias por tus indicaciones. Puedo borrar de la tabla options los trasients antiguos que aparecen;

_transient_wc_var_prices_

_transient_timeout_wc_related_82193

_transient_timeout_wc_product_children_79546

 

y algunos muy pocos

_transient_timeout_wc_system_status_dropins_mu_plugins

_transient_timeout_wc_report_customers_2a6528713a627bcc4891d876f39f6300

_transient_timeout_wc_system_status_theme_info

 

Tambien en esta tabla veo bastantes updraft_lock_wpo_wcpdf_main_semaphore_ puedo borrarlos?

 

Por ultimo en esta tabla nos esta apareciendo cada dia lineas de litespeed cuando nosotros no utilizamos este plugin como puedo parar la entrada de estas lineas en la tabla options?

 

Muchas gracias

 

 

Saludos

 

Jose Carlos

 

 

ResponderCitar
Respondido : 14/08/2024 11:12 am

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Jose Carlos.

Sí, puedes borrar los datos de las tablas que almacenan transients caducados o relacionados con productos de WooCommerce, como las tablas transient_timeout_wc_product_children, sin que afecte al funcionamiento general de tu tienda. Estas tablas almacenan transients, que son datos en caché utilizados temporalmente por WooCommerce para mejorar el rendimiento de la tienda. Si borras esos transients caducados, WooCommerce simplemente regenerará la información la próxima vez que sea necesaria.

Las tablas que contienen transients en WooCommerce (como transient_timeout_wc_product_children) están relacionadas con la caché temporal de datos, como la jerarquía de productos o las relaciones entre productos padres e hijos (productos variables). Estos transients suelen tener un límite de tiempo (timeout) que, una vez expirado, WooCommerce los elimina automáticamente o los actualiza cuando se accede nuevamente a los productos.

Si deseas eliminarlos manualmente desde tu base de datos, puedes ejecutar una consulta SQL para borrar los transients expirados o todos los transients relacionados con WooCommerce:

DELETE FROM wp_options
WHERE option_name LIKE '%_transient_wc_%'
OR option_name LIKE '%_transient_timeout_wc_%';

 

Asegúrate de que tu prefijo de tabla es correcto, en este caso es wp_, pero puede variar dependiendo de tu instalación de WordPress

Tambien en esta tabla veo bastantes updraft_lock_wpo_wcpdf_main_semaphore_

La tabla o fila con el nombre updraft_lock_wpo_wcpdf_main_semaphore es un registro relacionado con la gestión de bloqueos (semaphores) utilizados por plugins de WordPress. En este caso, parece estar asociada con dos plugins Updraft y WooCommerce PDF Invoices & Packing Slips.

Un "semaphore" es un mecanismo que utilizan algunos procesos o plugins para asegurarse de que ciertas tareas no se ejecuten en paralelo. Esto es útil, por ejemplo, para evitar que se realicen dos copias de seguridad al mismo tiempo o que se generen varios documentos PDF simultáneamente.

En términos generales, no es recomendable eliminar o vaciar directamente registros de bloqueo como updraft_lock_wpo_wcpdf_main_semaphore si no estás seguro de que el proceso correspondiente ha finalizado. Eliminar manualmente estos registros mientras un proceso está en curso puede causar problemas.

 

Veo que utilizas el plugin WP-Optimize, con este plugin puedes eliminar los datos Huérfanos o caducados de WooCommerce y WordPress en general.

 

Nota: ten cuidado al trabajar en la base de datos y siempre, antes de realizar alguna acción, exporta la base de datos para tener una copia.

 

Un Saludo

Esta publicación ha sido modificada el hace 3 meses 2 veces por Pepe
ResponderCitar
Respondido : 14/08/2024 11:36 am
Jose Carlos
 Jose Carlos
Usuario experto

@pepesoler

 

Hola Pepe buenos dias.

 

Perfecto asi lo hare muchas gracias por tu ayuda.

 

Saludos

 

Jose Carlos

ResponderCitar
Respondido : 15/08/2024 8:28 am

Cursos Gratuitos WordPress

Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola José Carlos,

Gracias a ti, es un placer para nosotros siempre poder ayudarte.

Coméntanos sin con esto podemos dar el tema como solucionado.

Un saludo

ResponderCitar
Respondido : 15/08/2024 12:02 pm