Błędy WordPress - jak naprawić najczęstsze problemy
WordPress czasem sprawia problemy - biały ekran, błędy 500, niedziałające wtyczki. Większość z nich można naprawić samodzielnie, znając podstawy diagnostyki. Pokażę Ci jak rozwiązać najczęstsze błędy.
Krótka odpowiedź
1) Biały ekran - włącz WP_DEBUG, wyłącz wtyczki przez FTP,
2) Error 500 - sprawdź .htaccess, zwiększ limity PHP,
3) Błąd bazy danych - napraw przez phpMyAdmin,
4) Błąd połączenia - sprawdź wp-config.php. Zawsze rób backup przed naprawami.
Biały ekran śmierci (White Screen of Death)
Objaw: Strona całkowicie biała, żadnych komunikatów.
Przyczyny:
- Błąd PHP w wtyczce lub motywie
- Przekroczony limit pamięci
- Konflikt wtyczek
Diagnostyka:
1. Włącz debug w wp-config.php:
```
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
```
2. Sprawdź wp-content/debug.log
Naprawa:
Metoda 1 - wyłącz wtyczki przez FTP:
- Zmień nazwę folderu wp-content/plugins na plugins_old
- Jeśli strona działa - problem w wtyczce
- Włączaj wtyczki pojedynczo aż znajdziesz winowajcę
Metoda 2 - zmień motyw przez FTP:
- Zmień nazwę folderu aktywnego motywu
- WordPress włączy domyślny motyw
Metoda 3 - zwiększ pamięć:
- wp-config.php: define('WP_MEMORY_LIMIT', '256M');
Błąd 500 Internal Server Error
Objaw: Strona pokazuje błąd 500, czasem z komunikatem serwera.
Przyczyny:
- Uszkodzony .htaccess
- Błąd w kodzie PHP
- Przekroczone limity serwera
- Problemy z uprawnieniami plików
Naprawa:
1. Sprawdź .htaccess:
- Zmień nazwę na .htaccess_old przez FTP
- Jeśli strona działa - problem w .htaccess
- WordPress → Ustawienia → Bezpośrednie odnośniki → Zapisz (odtworzy .htaccess)
2. Sprawdź limity PHP:
- Zwiększ w php.ini lub .htaccess:
```
php_value memory_limit 256M
php_value max_execution_time 300
php_value upload_max_filesize 64M
```
3. Sprawdź logi serwera:
- cPanel → Error Logs
- Lub plik error_log w folderze strony
4. Uprawnienia plików:
- Foldery: 755
- Pliki: 644
- wp-config.php: 600
Błąd połączenia z bazą danych
Objaw: "Error establishing a database connection"
Przyczyny:
- Złe dane dostępowe w wp-config.php
- Serwer MySQL nie działa
- Uszkodzona baza danych
- Przekroczony limit połączeń
Naprawa:
1. Sprawdź wp-config.php:
```
define('DB_NAME', 'nazwa_bazy');
define('DB_USER', 'uzytkownik');
define('DB_PASSWORD', 'haslo');
define('DB_HOST', 'localhost');
```
- Porównaj z danymi w panelu hostingu
2. Sprawdź czy MySQL działa:
- phpMyAdmin → czy możesz się zalogować?
- Skontaktuj się z hostingiem jeśli nie
3. Napraw bazę danych:
- Dodaj do wp-config.php: define('WP_ALLOW_REPAIR', true);
- Wejdź na: twojadomena.pl/wp-admin/maint/repair.php
- Napraw i optymalizuj tabele
- Usuń linię WP_ALLOW_REPAIR po naprawie
4. phpMyAdmin:
- Wybierz bazę → Zaznacz wszystkie tabele → Napraw
Błąd 404 na wszystkich stronach
Objaw: Strona główna działa, ale podstrony pokazują 404.
Przyczyny:
- Problem z permalinkami i .htaccess
- mod_rewrite wyłączony na serwerze
Naprawa:
1. Odśwież permalinki:
- wp-admin → Ustawienia → Bezpośrednie odnośniki
- Bez zmian kliknij "Zapisz zmiany"
- WordPress odtworzy reguły .htaccess
2. Sprawdź .htaccess:
- Czy plik istnieje w głównym folderze?
- Czy zawiera reguły WordPress?
```
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
```
3. mod_rewrite:
- Skontaktuj się z hostingiem
- Na niektórych serwerach trzeba włączyć
Problem z logowaniem do wp-admin
Objaw: Pętla przekierowań, nie można się zalogować, strona odświeża się.
Przyczyny:
- Problem z cookies/sesją
- Zły URL w bazie danych
- Konflikt wtyczki bezpieczeństwa
Naprawa:
1. Wyczyść cookies przeglądarki:
- Lub spróbuj w trybie incognito
- Lub inną przeglądarkę
2. Sprawdź URL w wp-config.php:
```
define('WP_HOME','https://twojadomena.pl');
define('WP_SITEURL','https://twojadomena.pl');
```
3. Wyłącz wtyczki przez FTP:
- Zwłaszcza wtyczki bezpieczeństwa
- Zmień nazwę folderu plugins
4. Zresetuj hasło przez phpMyAdmin:
- Tabela wp_users
- Zmień user_pass na MD5 hash nowego hasła
- MD5 generator online
5. Dodaj nowego admina przez functions.php:
```php
add_action('init', function() {
wp_create_user('newadmin', 'haslo123', '[email protected]');
$user = get_user_by('login', 'newadmin');
$user->set_role('administrator');
});
```
- Usuń kod po zalogowaniu!