Optymalizacja bazy danych WordPress - kompletny poradnik

Baza danych WordPress rośnie z czasem - rewizje, spam, transients, autoloaded data. Spowolnienie strony może być spowodowane właśnie bazą. Pokażę jak ją wyczyścić i zoptymalizować.

Krótka odpowiedź

Optymalizacja bazy WordPress:

1) usuń rewizje postów (wp_posts),

2) wyczyść spam i kosz,

3) usuń niepotrzebne transients (wp_options),

4) zoptymalizuj tabele (OPTIMIZE TABLE),

5) ogranicz autoloaded data. Wtyczki: WP-Optimize, Advanced Database Cleaner.

Co spowalnia bazę danych WordPress

Rewizje postów:
- Każda edycja = nowy wiersz w wp_posts
- Post z 50 edycjami = 50 rewizji
- Mogą stanowić 80% tabeli wp_posts

Transients:
- Tymczasowe dane w wp_options
- Często nie wygasają poprawnie
- Gromadzą się tysiącami

Autoloaded data:
- Dane ładowane przy każdym request
- Wtyczki zostawiają śmieci po odinstalowaniu
- Może wynosić 1MB+ (powinno < 1MB)

Spam i kosz:
- Komentarze spam
- Posty/strony w koszu
- Metadane usuniętych elementów

WP-Optimize (wtyczka)

Instalacja:
- Wtyczki → WP-Optimize
- Aktywuj

Optymalizacja jednym kliknięciem:
1. WP-Optimize → Database
2. Zaznacz opcje:
- Clean all post revisions
- Clean all auto-draft posts
- Clean all trashed posts
- Remove spam comments
- Remove transient options
- Optimize database tables
3. Run all selected optimizations

Automatyzacja:
- Scheduled clean-up (tygodniowo)
- Ustaw retencję rewizji (np. ostatnie 2)

Dodatkowe funkcje:
- Image compression
- Cache (alternatywa dla W3TC)
- Minify CSS/JS

Ręczna optymalizacja (phpMyAdmin / WP-CLI)

phpMyAdmin - usuwanie rewizji:
```sql
DELETE FROM wp_posts WHERE post_type = 'revision';
```

Usuwanie transients:
```sql
DELETE FROM wp_options WHERE option_name LIKE '%_transient_%';
```

Optymalizacja tabel:
```sql
OPTIMIZE TABLE wp_posts, wp_postmeta, wp_options, wp_comments;
```

WP-CLI:
```bash
wp post delete $(wp post list --post_type='revision' --format=ids) --force
wp transient delete --all
wp db optimize
```

Sprawdzenie autoload:
```sql
SELECT SUM(LENGTH(option_value)) as autoload_size
FROM wp_options WHERE autoload = 'yes';
```
Wynik powyżej 1MB = problem.

Ograniczenie rewizji i autoload

Limit rewizji w wp-config.php:
```php
// Maksymalnie 3 rewizje na post
define('WP_POST_REVISIONS', 3);

// Lub całkowite wyłączenie (niezalecane)
define('WP_POST_REVISIONS', false);
```

Interwał autosave:
```php
// Autosave co 120 sekund (domyślnie 60)
define('AUTOSAVE_INTERVAL', 120);
```

Znajdowanie problematycznych autoload:
```sql
SELECT option_name, LENGTH(option_value) as size
FROM wp_options
WHERE autoload = 'yes'
ORDER BY size DESC
LIMIT 20;
```

Wyłączenie autoload dla dużych opcji:
```sql
UPDATE wp_options SET autoload = 'no'
WHERE option_name = 'nazwa_opcji';
```

Wspomniane narzędzia

WP-Optimize Advanced Database Cleaner phpMyAdmin WP-CLI

Najczęściej zadawane pytania

Czy optymalizacja bazy może uszkodzić stronę?
Usuwanie rewizji i transients jest bezpieczne. Optymalizacja tabel też. Niebezpieczne może być ręczne usuwanie z wp_options bez wiedzy co usuwasz. Zawsze rób backup bazy przed optymalizacją. Używaj sprawdzonych wtyczek.
#wordpress#baza-danych#optymalizacja#rewizje#wydajność

Potrzebujesz pomocy specjalisty?

Skorzystaj z naszych usług w największych miastach Polski