Zoals ik in andere artikelen zei, is WooCommerce een robuustere en flexibelere module, in staat om WordPress in een Ideale online winkel voor een bedrijf aan het begin.
inhoud
Voor een online opslag van bescheiden grootte kan wocommerce worden gerold op een “Gedeelde hosting”, in staat zijn om licht te doorstaan en 5.000 producten / 100 bestellingen up -to -date, als het gebruikte onderwerp niet veel bronnen verbruikt en geen andere modules (plug -ins) misbruikt.
Optimalisatie van de broncode Van het thema (WP -thema's), modules (WP -plug -ins) en De database optimaliseren Er zijn ook twee aspecten die we veel moeten nemen.
Ik merkte de vorige dagen op als een online opslag van bescheiden dimensies begint om veel RAM- en CPU -bronnen op een speciale server te consumeren genereus. Deze hoge consumptie van middelen heeft geleid tot een standaard op een “laden” Verhoogd op de server en een grote tijd om de pagina's van de avondwinkel op te laden.
Wanneer we een ongerechtvaardigde grote belasting op een webserver opmerken, is het goed om de oorzaken te onderzoeken voordat we een maatregel nemen.
In de database merkte ik dat de tabel “wp_woocommerce_sessions
” Het is enorm. Het was meer dan 6 GB. Een enorm volume voor een tabel uit een database die normaal niet meer dan 100 MB in totaal overschrijdt.

Deze este wp_woocommerce_ssionals?
Zoals we uit zijn naam kunnen voelen, de tabel “wp_woocommerce_sessions
” Bevat PHP -sessies (PHP -sessies).
Deze sessies zijn acties van gebruikers op de site (of webrobots) en bereiken meestal de database via cookies. In de WP_WOOCOMMERCE_Sessions worden gegevens opgeslagen over de producten die door gebruikers in het winkelwagentje worden geplaatst, kortingsbonnen, transportkosten, klantgegevens en vele andere informatie met betrekking tot het productorderproces.
Deze sessies worden gemaakt, zelfs of de gebruiker al dan niet op de site is geregistreerd en normaal gesproken moeten hij aflopen en automatisch verwijderen.
Helaas gebeurt het niet altijd dat deze sessies worden verwijderd en in sommige gevallen blijven ze permanent opgeslagen in wp_woocommerce_sessions, waardoor de tabel een groot volume bereikt.
Hoe de tafel te vegen wp_woocommerce_sessions
Din SQL?
1. We gaan naar Dashboard → Woocommerce → Status → Hulpmiddelen (Tab).
2. We gaan naar de optie “Duidelijk klantsessies“. Voorzichtig! STERGEREA SESIUNILOR clientilor voorlopige stergerera tuturor Produselor puse de acestia in Cosul de cumparaturi. Als het verwijderen van deze sessies klanten zijn die producten in de mand hebben, zullen ze verdwijnen en wordt de uiteindelijke bestelling niet voltooid.
3. Klik “Duidelijk” en bevestiging de bewerking.

Op dit moment de tafel “wp_woocommerce_sessions” Het is leeg, dus alle winkelsessies voor klanten zijn verwijderd.
Het probleem is niet veruit opgelost. De tabel SQL WP_WOOCOMMERCE_Sessions verzamelt er gegevens in en zal standaard opnieuw verhoudingen krijgen, wat niet wenselijk is.
Hoe zorgen we ervoor dat klantensessies permanent stoppen in WooCommerce – wp_woocommerce_sessions
?
Ik heb hierboven laten zien hoe de tabel kan worden geleegd “wp_woocommerce_sessions” Uit de database, maar het probleem verschijnt opnieuw na een paar dagen wanneer clientsessies worden verzameld.
Vóór WooCommerce 2.5 werden klantensessies vastgelegd via cookies en vervolgens opgeslagen in WordPress -tabel “wp_options
“.
Voor grotere winkels heeft deze methode vaak geleid tot rampen. “WP_OPTIONS” Een essentiële tabel van WordPress zijn, gebruikt door algemene opties en instellingen. Handmatige identificatie en verwijdering van clientsessies opgeslagen in wp_options
Het was geen gemakkelijk werk.
WooCommerce -prestaties waren niet de beste, en de schaalbaarheid in de loop van de tijd was een gevoelig punt.
Met de lancering van WooCommerce 2.5 in 2015 hebben WooCommerce -ontwikkelaars een nieuw WooCommerce -gebaseerd handling- en opslagsysteem geïntroduceerd WP Sessions Manager. Dit systeem heeft geleid tot het uiterlijk wp_woocommerce_sessions
. Een speciale tabel voor klantensessies, die in de database geen interactie heeft met andere tabellen. In het geval van grote fouten moeten de verliezen minimaal zijn.
Uit wat ik heb opgemerkt, hebben de online winkels gelanceerd vóór WooCommerce 2.5 en die in de loop van de tijd constante updates hebben gekregen, enkele problemen hebben met betrekking tot de automatische verwijdering van de klantsessies. Het gaat hoogstwaarschijnlijk over een bug op een nieuwere versie van WooCommerce 2.5 of een WordPress / WooCommerce -plug -in die de updates niet heeft bijgehouden.
In mijn geval was het een conflict met een functie die in het bestand is toegevoegd functions.php
van het thema, en welke voorkomen automatische verwijdering na een verlopen sessies van woocommerce_sessions
.
Als u een dergelijk probleem ondervindt, moet u alle mogelijke oorzaken zorgvuldig onderzoeken. SQL -fout, SQL -vervolgingen, CRON -taak, conflicteert met andere plug -ins en controleer uw wijzigingen in de code in de loop van de tijd.
Ik zag dat WooCommerce biedt voor slechts $ 29 per plug -in die klanten kan beheren. “Duidelijke kar en sessies voor WooCommerce.“. Natuurlijk, naast de geprogrammeerde verwijdering van de sessies, heeft de module verschillende tools die nuttig kunnen zijn.
Een eenvoudiger optie van geprogrammeerde verwijdering a “woocommerce_sessions
” Op één dag intervallen, is de verplaatsing met de volgende code in functions.php
:
// clean cart every day
if (!wp_next_scheduled('cron_wc_clean_cart')) {
wp_schedule_event( time(), 'daily', 'cron_wc_clean_cart' );
}
add_action ( 'cron_wc_clean_cart', 'wc_clean_session_cart' );
function wc_clean_session_cart() {
global $wpdb;
$wpdb->query( "TRUNCATE {$wpdb->prefix}woocommerce_sessions" );
$wpdb->query( "DELETE FROM {$wpdb->usermeta} WHERE meta_key='_woocommerce_persistent_cart_" . get_current_blog_id() . "';" );
wp_cache_flush();
}
Laat een reactie achter als je hulp nodig hebt of een andere oplossing hebt.
Ik heb geen manier om de gegevens te wissen, weegt 500 MB en ik heb een limiet van 1000 MB tot de minuut van het wissen van alles is volledig gevuld…Een oplossing?