Google Analytics 4 este mai mult decât un instrument de monitorizare a traficului. Folosit strategic,…
Optimizarea bazei de date WordPress: curățare, indexare și performanță avansată
Baza de date MySQL a unui site WordPress se degradează în performanță în timp, acumulând date orfane, revizii inutile, log-uri de tranzacții și tabel fragmentate care încetinesc interogările. Un site WordPress vechi de câțiva ani poate acumula sute de mii de înregistrări inutile, ducând la timpi de răspuns crescuți și la o experiență degradată pentru utilizatori.
Optimizarea bazei de date este o componentă adesea neglijată a mentenanței WordPress, deși poate reduce semnificativ timpii de răspuns ai serverului (TTFB) și poate elibera spațiu pe disk. Combinată cu caching și optimizarea serverului, o bază de date curată și optimizată contribuie direct la îmbunătățirea Core Web Vitals și a ranking-ului SEO.
Acest ghid acoperă ce date se acumulează inutil, cum le identificați, cum le curățați în siguranță și cum mențineți performanța bazei de date pe termen lung.
Optimizarea bazei de date WordPress: ghid tehnic complet
Ce date inutile se acumulează în baza de date WordPress
Principalele surse de date inutile în baza de date WordPress includ:
- Revizii de posturi: WordPress salvează automat o revizie la fiecare salvare manuală. Un articol editat de 50 de ori are 50 de revizii stocate, fiecare ocupând spațiu inutil
- Autosal-vări: WordPress salvează automat proiecte la fiecare minut, generând înregistrări multiple pentru fiecare postare în lucru
- Comentarii spam: dacă Akismet sau alt filtru de spam nu șterge automat comentariile spam, acestea se acumulează
- Metadate orfane: plugin-urile dezinstalate lasă adesea tabele sau intrări în tabelele de metadate (wp_options, wp_postmeta, wp_usermeta)
- Log-uri tranzacții WooCommerce: comenzi vechi, notificări email, sesiuni expirate
- Opțiuni wp_options cu autoload=yes: plugin-urile adaugă opțiuni cu autoload activat, încărcate la fiecare cerere PHP
- Fragmente de cache expirate: plugin-urile de cache sau object cache pot lăsa date expirate
Identificarea problemelor de performanță ale bazei de date
Înainte de a optimiza, identificați problemele specifice:
-- Numărați reviziile de postări
SELECT COUNT(*) FROM wp_posts WHERE post_type = 'revision';
-- Verificați dimensiunea tabelelor
SELECT table_name,
round(((data_length + index_length) / 1024 / 1024), 2) AS 'Size_MB',
round((data_free / 1024 / 1024), 2) AS 'Free_MB'
FROM information_schema.tables
WHERE table_schema = 'database_name'
ORDER BY (data_length + index_length) DESC;
Curățarea reviziilor de posturi
Limitați numărul de revizii stocate adăugând în wp-config.php:
define('WP_POST_REVISIONS', 5);
Aceasta limitează reviziile la ultimele 5 versiuni per articol. Pentru ștergerea reviziilor existente:
DELETE FROM wp_posts WHERE post_type = 'revision';
DELETE FROM wp_postmeta WHERE post_id NOT IN (SELECT ID FROM wp_posts);
Atenție: faceți backup complet înainte de orice operațiune directă pe baza de date.
Optimizarea tabelului wp_options
Tabelul wp_options este cel mai problematic în multe instalări WordPress. Plugin-urile adaugă opțiuni cu autoload=yes, încărcate la fiecare cerere PHP, indiferent dacă sunt folosite sau nu. Identificați opțiunile cu autoload problematice:
SELECT option_name, length(option_value) as size
FROM wp_options
WHERE autoload = 'yes'
ORDER BY size DESC
LIMIT 20;
Opțiunile mari cu autoload activ de la plugin-uri dezinstalate sau inactive pot fi dezactivate sau șterse cu atenție. Verificați dacă opțiunea aparține unui plugin activ înainte de ștergere.
Plugin-uri pentru optimizarea bazei de date
Plugin-urile recomandate pentru curățarea și optimizarea bazei de date:
- WP-Optimize: curăță revizii, comentarii spam, tabele fragmentate și oferă compresie baze de date
- Advanced Database Cleaner: identifică tabele orfane lăsate de plugin-uri dezinstalate
- WP Rocket: include funcții de bază de optimizare a bazei de date în versiunea premium
Defragmentarea și optimizarea tabelelor MySQL
Ștergerea înregistrărilor lasă spații goale în fișierele tabelelor MySQL, fenomen denumit fragmentare. Defragmentarea recâștigă spațiu pe disk și îmbunătățește viteza de interogare:
OPTIMIZE TABLE wp_posts, wp_postmeta, wp_options, wp_usermeta;
Aceasta poate fi rulată din phpMyAdmin sau programată ca task cron periodic. Pe serverele cu InnoDB (engine implicit), OPTIMIZE TABLE reconstruiește indexurile, ceea ce poate dura pentru tabele mari.
Programarea automată a curățărilor
Integrați optimizarea bazei de date în rutina de mentenanță lunară. WP-Optimize permite programarea automată a curățărilor. Alternativ, creați un script Bash care rulează interogările de optimizare și programați-l ca cron job lunar:
#!/bin/bash
mysql -u user -p'parola' numebaza -e "OPTIMIZE TABLE wp_posts, wp_postmeta, wp_options;"
O bază de date optimizată reduce TTFB-ul serverului cu 20-50% față de o bază de date neglijată pe site-uri cu conținut mai vechi de 2-3 ani. Această îmbunătățire directă se reflectă în scorul Core Web Vitals și în experiența utilizatorilor, contribuind indirect la poziționarea în Google.
