WordPress Admin Paneli Açılmıyor: wp-admin Çözümü
WordPress admin paneline giremeyin mi? Cookie/oturum sorunu, güvenlik eklentisi engellemesi veya htaccess hatası olabilir. Çözümler için okuyun.
WordPress Admin Paneli Neden Açılmaz?
WordPress yönetim paneline (wp-admin) erişememeniz birçok farklı nedenden kaynaklanabilir. Bu durum: yönlendirme döngüsü, cookie/oturum sorunu, güvenlik eklentisi engellemesi, bozulmuş .htaccess dosyası, veritabanı bağlantı hatası veya IP engeli olabilir. Bu makalede tüm olası nedenleri ve çözümlerini ele alacağız.
Belirti Türleri ve Olası Nedenler
- Beyaz ekran: PHP hatası veya bellek sorunu
- Sonsuz yönlendirme döngüsü: Cookie/HTTPS sorunu
- 403 Forbidden: Güvenlik eklentisi veya .htaccess kısıtlaması
- 404 Not Found: .htaccess bozulması
- Hata mesajı: "Veritabanına bağlanılamadı": DB bağlantı sorunu
Çözüm 1: Cookie ve Tarayıcı Önbelleğini Temizleme
En basit çözümle başlayın: Tarayıcı önbelleğini ve cookie'leri temizleyin.
- Chrome: Ctrl+Shift+Delete → Önbelleği ve cookie'leri temizle
- Farklı bir tarayıcıda veya gizli sekmede deneyin
- Farklı bir ağdan (mobil veri) deneyin
Çözüm 2: Güvenlik Eklentisini Devre Dışı Bırakma
Wordfence, Sucuri veya iThemes Security gibi güvenlik eklentileri IP adresinizi yanlışlıkla engelleyebilir.
# SSH ile eklentiyi yeniden adlandır
mv /var/www/html/wp-content/plugins/wordfence /var/www/html/wp-content/plugins/wordfence_disabled
# Ardından wp-admin'e erişmeyi deneyin
# Başarılıysa eklenti sorunluydu, önce IP'nizi whitelist'e ekleyin
Erişim sağlandıktan sonra eklentinin ayarlarından kendi IP'nizi beyaz listeye ekleyin.
Çözüm 3: .htaccess Dosyasını Sıfırlama
Bozulmuş .htaccess dosyası 403 ve 404 hatalarına yol açar:
cd /var/www/html/wordpress
# Mevcut .htaccess dosyasını yedekle
mv .htaccess .htaccess_backup
# Yeni varsayılan .htaccess oluştur
cat > .htaccess << 'EOF'
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
EOF
WordPress admin paneline giriş yapıp Ayarlar → Kalıcı Bağlantılar bölümüne gidin ve kaydedin. Bu işlem .htaccess dosyasını otomatik yeniden oluşturur.
Çözüm 4: WP-CLI ile Admin Kullanıcısı Sıfırlama
cd /var/www/html/wordpress
# Mevcut kullanıcıları listele
wp user list --allow-root
# Admin parolasını sıfırla
wp user update admin --user_pass=YeniGuvenliSifre123! --allow-root
# Yeni admin kullanıcısı oluştur (gerekirse)
wp user create yeni_admin yeniadmin@example.com --role=administrator --user_pass=GuvenliSifre123! --allow-root
Çözüm 5: Veritabanı Üzerinden Şifre Sıfırlama
SSH veya WP-CLI erişiminiz yoksa phpMyAdmin veya MySQL komut satırı ile şifre sıfırlayabilirsiniz:
mysql -u root -p
USE wordpress_db;
-- Kullanıcıyı bul
SELECT ID, user_login, user_email FROM wp_users;
-- Şifreyi güncelle (MD5 değil WordPress hash kullanın)
UPDATE wp_users
SET user_pass = MD5('YeniSifre123')
WHERE user_login = 'admin';
-- Daha güvenli yöntem: WordPress hash
UPDATE wp_users
SET user_pass = '$P$B55.FHQMae2SiKeDhfdHNmh4ax.Uw0/'
WHERE user_login = 'admin';
Not: WordPress şifresi düz MD5 değil, özel bir hash algoritması kullanır. En güvenli yöntem WP-CLI kullanmaktır.
Çözüm 6: Kullanıcı Rolünü Veritabanından Düzeltme
Bazen kullanıcı tablosunda admin rolü bozulabilir:
-- wp_usermeta tablosunda admin rolünü kontrol et
SELECT * FROM wp_usermeta WHERE user_id = 1 AND meta_key = 'wp_capabilities';
-- Admin rolünü zorla güncelle
UPDATE wp_usermeta
SET meta_value = 'a:1:{s:13:"administrator";b:1;}'
WHERE user_id = 1 AND meta_key = 'wp_capabilities';
Çözüm 7: HTTPS ve Sonsuz Yönlendirme Döngüsü
Admin paneline girince sonsuz yönlendirme döngüsü yaşıyorsanız, wp-config.php dosyasını düzenleyin:
// wp-config.php başına ekle
$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_ADMIN', true);
define('WP_HOME', 'https://example.com');
define('WP_SITEURL', 'https://example.com');
Aynı zamanda Nginx yapılandırmanızda şu satırı ekleyin:
fastcgi_param HTTPS on;
Çözüm 8: wp-config.php Veritabanı Bilgilerini Kontrol Etme
cat /var/www/html/wordpress/wp-config.php | grep -E "DB_NAME|DB_USER|DB_PASSWORD|DB_HOST"
Veritabanı bilgilerinin doğruluğunu kontrol edin:
mysql -u DB_KULLANICISI -p DB_ADI -h localhost -e "SELECT 1;"
Çözüm 9: Tüm Eklentileri Devre Dışı Bırakma
cd /var/www/html/wordpress
# Tüm eklentileri devre dışı bırak
mv wp-content/plugins wp-content/plugins_disabled
mkdir wp-content/plugins
# wp-admin'e erişim sağlandıktan sonra geri yükle
rm -rf wp-content/plugins
mv wp-content/plugins_disabled wp-content/plugins
# Ardından WP-CLI ile tüm eklentileri kontrol et
wp plugin list --allow-root
Önleyici Tedbirler
- Düzenli tam site yedekleri alın
- Admin URL'ini değiştirin (WPS Hide Login eklentisi)
- İki faktörlü doğrulama aktifleştirin
- Güvenlik eklentisi IP whitelist ayarlarını düzgün yapın
- Giriş denemelerini sınırlandırın (Limit Login Attempts Reloaded)
Özet
WordPress admin panelinize erişemiyorsanız sırasıyla şu adımları izleyin: tarayıcı önbelleğini temizleyin, güvenlik eklentisini devre dışı bırakın, .htaccess dosyasını sıfırlayın, WP-CLI ile şifreyi sıfırlayın ve veritabanı bağlantısını kontrol edin. Sorunun kaynağını belirlemek için her adımdan sonra erişimi tekrar deneyin.
Yorumlar
Henüz yorum yok. İlk yorumu siz yapın!