FUTIA
GÜVENLIK10 dk okuma

WordPress Hacklendi: 10 Adımlık Acil Müdahale Rehberi (2025)

WordPress siteniz hacklendiyinde ilk 2 saat kritik. 6 yıldır sosyal medya ve 2 yıldır AI otomasyon alanında çalışan biri olarak, hacklenmiş siteleri kurtarma sürecini adım adım anlatıyorum.

WordPress Hacklendi: 10 Adımlık Acil Müdahale Rehberi (2025)
Miraç Eroğlu
13 Mayıs 2026

Sabah 07:30'da kahvemi içerken telefonum çaldı. Arayan, 8 yıldır yönettiğim bir e-ticaret sitesinin sahibiydi. "Miraç, siteye girince Rus bahis reklamları çıkıyor, ne oldu?" dedi. İşte o an biliyorsunuz, WordPress siteniz hacklenmiş. İlk 2 saat kritik, çünkü Google bu sürede siteyi blacklist'e alabilir veya hosting firmanız hesabı askıya alabilir. Ben bu yazıda, 2019'dan beri onlarca hacklenmiş siteyi kurtarırken uyguladığım 10 adımlık protokolü paylaşacağım. Teknik bilginiz sınırlı olsa bile, bu adımları takip ederek sitenizi 24 saat içinde temizleyip güvenli hale getirebilirsiniz.

WordPress, dünyadaki sitelerin %43'ünü çalıştırıyor. Bu popülerlik onu hackerlar için de birinci hedef yapıyor. Geçen ay kamupersonelhaber.com projesinde, günde 50+ otomatik ilan yayınlayan bir sistem kurarken, aynı zamanda güvenlik katmanlarını da dizayn etmek zorunda kaldım. Çünkü yüksek trafikli siteler, botlar ve kötü niyetli kullanıcılar için mıknatıs gibi.

WordPress Neden Bu Kadar Sık Hackleniyor?

WordPress'in kendisi aslında oldukça güvenli. Sorun genellikle üç noktada ortaya çıkıyor: eski tema ve eklentiler, zayıf parolalar ve güncellenmeyen core dosyalar. Ben FUTIA'da Hollanda'dan Türk markalarına site ve otomasyon hizmeti verirken, ilk yaptığım şey güvenlik denetimidir.

2023'te diolivo.com.tr için yaptığımız çalışmada, sitenin 6 ay içinde %340 trafik büyümesi yaşamasının ardından DDoS saldırıları başladı. Cloudflare entegrasyonu ve rate limiting ile bu saldırıları engelledik, ama daha önce temel güvenlik önlemlerini almamış olsaydık, site çoktan çökmüştü.

Hacklerin %90'ı şu sebeplerden kaynaklanıyor:

  • Güncellenmeyen eklentiler (özellikle Contact Form 7, Yoast SEO gibi popüler olanlar)
  • Nulled (korsan) temalar ve pluginler
  • Zayıf admin parolaları (admin, 123456, sitenizin adı)
  • Eski PHP versiyonları (7.4 ve altı)
  • Güvenlik duvarı ve 2FA olmaması

Bir de brute force saldırıları var. Botlar, dakikada yüzlerce farklı parola kombinasyonu deneyerek wp-admin paneline girmeye çalışıyor. Eğer parolanız "admin123" gibiyse, 10 dakikada içerideler.

Hacklenme Belirtileri: Siteniz Tehlikede mi?

Bazen hack o kadar gizli yapılır ki, aylarca fark etmezsiniz. Arka planda kripto madenciliği yapan bir script çalışıyor olabilir veya siteniz phishing kampanyalarında kullanılıyordur. İşte dikkat etmeniz gereken sinyaller:

Görsel Belirtiler

  • Anasayfada tanımadığınız reklamlar, pop-up'lar
  • Google'da siteniz aratıldığında "Bu site hacklenmiş olabilir" uyarısı
  • Sayfalar arasında otomatik yönlendirmeler (özellikle bahis veya ilaç sitelerine)
  • Admin panelinde yabancı kullanıcı hesapları

Teknik Belirtiler

  • Hosting panelinde anormal CPU ve RAM kullanımı
  • wp-content/uploads klasöründe .php uzantılı dosyalar
  • .htaccess veya wp-config.php dosyalarında anormal kodlar
  • E-posta kutunuza gelen "sitenizden mail gönderildi" bildirimleri

italyanmutfagi.com için 618 otomatik tarif üretimi yaparken, bir sabah sistemin yavaşladığını fark ettim. Log dosyalarına baktığımda, wp-login.php'ye saniyede 40 istek geldiğini gördüm. Fail2ban kurup bu IP'leri engelledikten sonra sistem normale döndü.

Adım 1: Panik Yapmayın, Siteyi Bakım Moduna Alın

İlk refleksiniz tüm dosyaları silmek olabilir. Yapmayın. Önce siteyi ziyaretçilere kapatın ki hem Google hem de kullanıcılar zararlı içerik görmesin.

En hızlı yöntem, .htaccess dosyasına şu kodları eklemek:

RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000$
RewriteRule ^(.*)$ - [R=503,L]

(123.456.789.000 yerine kendi IP'nizi yazın, böylece sadece siz siteye girebilirsiniz)

Alternatif olarak WP Maintenance Mode gibi bir eklenti kullanabilirsiniz, ama ben dosya bazlı çözümü tercih ediyorum çünkü eklentiler de hacklenmiş olabilir.

Adım 2: Hosting ve Veritabanı Parolalarını Değiştirin

Hemen, şu anda. cPanel, FTP, MySQL parolalarınızı değiştirin. Çünkü hackerin hala erişimi varsa, siz temizlik yaparken o tekrar dosya yükleyebilir.

Güçlü parola oluşturmak için 1Password veya Bitwarden kullanın. En az 16 karakter, büyük-küçük harf, rakam ve sembol karışımı. "Miraç2024!" gibi parolalar yeterli değil.

Ayrıca wp-config.php dosyasındaki veritabanı parolasını da güncelleyin:

define('DB_PASSWORD', 'yeni_guclu_parola');

Bu adımı atlamayın. Geçen yıl bir müşterim, siteyi temizledi ama parolaları değiştirmedi. 3 gün sonra aynı hacker tekrar girdi.

Adım 3: Tam Yedek Alın (Kirli Bile Olsa)

Evet, site hacklenmiş ama yine de yedek alın. Çünkü temizlik sırasında bir şeyler ters giderse, en azından bu noktaya geri dönebilirsiniz.

cPanel'de "Backup" bölümünden "Full Backup" seçin. Dosyalar ve veritabanını ayrı ayrı indirin. Ben genellikle dosyaları .tar.gz, veritabanını .sql.gz formatında alıyorum.

Bu yedek, aynı zamanda adli analiz için de önemli. Hangi dosyaların değiştirildiğini, ne zaman hacklendiğinizi anlamak için bu dosyaları karşılaştırabilirsiniz.

doktorbul.com projesinde, 79.000 doktor profilini programatik SEO ile oluştururken, her gün otomatik yedek alacak bir sistem kurdum. Çünkü bu kadar büyük bir veritabanında bir hata, günlerce süren bir kurtarma operasyonuna dönüşebilir.

Adım 4: Zararlı Dosyaları Tespit Edin ve Temizleyin

Bu en zor adım. Hacklenmiş bir WordPress sitesinde yüzlerce, hbinlerce dosya olabilir. Hangisi temiz, hangisi zararlı?

Manuel Kontrol Noktaları

1. wp-content/uploads klasörü: Burada sadece resim, PDF gibi medya dosyaları olmalı. Eğer .php, .js, .html uzantılı dosyalar görüyorsanız, büyük ihtimalle backdoor.

2. .htaccess dosyası: Dosyanın sonunda tanımadığınız yönlendirme kodları var mı? Silin.

3. wp-config.php: Dosyanın en üstünde veya en altında base64 encode edilmiş kodlar varsa, zararlı.

4. Tema dosyaları: header.php, footer.php, functions.php dosyalarının sonunda eval(), base64_decode(), gzinflate() gibi fonksiyonlar varsa şüpheli.

Ben FTP üzerinden FileZilla ile dosyaları indirip, Visual Studio Code'da "Search in Files" özelliğiyle şu terimleri arıyorum:

  • eval(
  • base64_decode(
  • gzinflate(
  • preg_replace(.*\/e
  • assert(

Bu fonksiyonlar her zaman zararlı değil, ama hacklenmiş sitelerde %80 oranında bu fonksiyonları görüyorsunuz.

Otomatik Tarama Araçları

Wordfence Security eklentisini kurun ve "Scan" butonuna basın. Eklenti, WordPress core dosyalarını orijinalleriyle karşılaştırır ve değiştirilmiş dosyaları gösterir.

Alternatif olarak Sucuri SiteCheck gibi online araçlar da var. Ama dikkat, bu araçlar sadece yüzeysel tarama yapar. Derin temizlik için manuel kontrol şart.

memuratamalari.com projesinde, ilan.gov.tr API'sinden günlük 50+ ilan çekerken, bir gün Wordfence bize "wp-content/themes/twentytwenty/functions.php değiştirilmiş" uyarısı verdi. Dosyayı açtığımızda, en alta eklenmiş 200 satırlık obfuscated bir kod vardı. Sildik, site normale döndü.

Adım 5: WordPress Core, Tema ve Eklentileri Yeniden Yükleyin

En garantili yöntem, WordPress core dosyalarını sıfırdan yüklemek. Ama dikkat, wp-content ve wp-config.php dosyalarını silmeyin.

Core Dosyaları Yeniden Yükleme

1. wordpress.org/download adresinden en güncel WordPress sürümünü indirin 2. .zip dosyasını açın 3. wp-content ve wp-config.php hariç tüm dosyaları FTP ile sunucuya yükleyin (üzerine yazın)

Bu işlem, wp-admin ve wp-includes klasörlerindeki tüm zararlı kodları temizler.

Tema ve Eklentileri Güncelleme

Tüm eklentileri devre dışı bırakın, sonra tek tek aktif edip test edin. Hangi eklenti soruna yol açıyorsa, onu silin ve alternatifini kurun.

Nulled (korsan) tema veya eklenti kullanıyorsanız, hemen silin. Bu dosyalar genellikle backdoor ile geliyor. Parasını ödeyin veya ücretsiz alternatif bulun.

Ben FUTIA projelerinde sadece GPL lisanslı, aktif geliştirilen eklentiler kullanıyorum. Örneğin diolivo.com.tr'de CartBounty ile sepet kurtarma otomasyonu kurarken, eklentinin son 6 ay içinde güncellendiğinden emin oldum. Sonuç: %340 trafik artışı ve sıfır güvenlik sorunu.

Adım 6: Veritabanını Temizleyin

Hackerlar genellikle veritabanına da zararlı kod enjekte eder. Özellikle wp_options, wp_posts ve wp_users tablolarına.

phpMyAdmin ile Kontrol

cPanel'den phpMyAdmin'e girin, veritabanınızı seçin ve şu SQL sorgusunu çalıştırın:

SELECT * FROM wp_options WHERE option_value LIKE '%base64%' OR option_value LIKE '%eval%';

Bu sorgu, wp_options tablosunda şüpheli kodları arar. Bulduğunuz satırları silin veya eski bir yedekten geri yükleyin.

Ayrıca wp_users tablosunda yabancı admin hesapları olup olmadığını kontrol edin:

SELECT * FROM wp_users WHERE user_login NOT IN ('bildiginiz_kullanici_adlari');

italyanmutfagi.com'da 618 tarif oluştururken, Schema.org Recipe markup'larını veritabanına kaydediyorduk. Bir gün fark ettik ki wp_postmeta tablosunda tanımadığımız meta_key değerleri var. SQL injection saldırısıydı. Tabloyu temizleyip prepared statements kullanmaya başladık.

Adım 7: Güvenlik Eklentisi Kurun ve Yapılandırın

Siteyi temizledikten sonra, bir daha hacklenmeyi önlemek için güvenlik katmanları ekleyin.

Wordfence vs Sucuri vs iThemes Security

Ben genellikle Wordfence kullanıyorum çünkü ücretsiz versiyonu bile güçlü. Şu özellikleri aktif edin:

  • Firewall: "Extended Protection" modunda çalıştırın
  • Login Security: 3 başarısız denemeden sonra IP'yi 1 saat engelleyin
  • Two-Factor Authentication: Admin hesapları için zorunlu yapın
  • Scheduled Scans: Günlük otomatik tarama

Sucuri daha çok CDN ve DDoS koruması için iyi. Eğer yüksek trafikli bir siteniz varsa (günlük 10.000+ ziyaretçi), Sucuri'nin ücretli planını düşünebilirsiniz.

iThemes Security ise daha kullanıcı dostu. Teknik bilginiz sınırlıysa, kurulumu kolay olduğu için bunu tercih edebilirsiniz.

kamupersonelhaber.com'da günlük 50+ ilan yayınlarken, Wordfence sayesinde dakikada 200 istek gönderen bir botu yakaladık. IP'yi blacklist'e aldık, sunucu yükü %60 düştü.

Adım 8: SSL ve Güvenlik Başlıklarını Aktif Edin

HTTPS artık opsiyonel değil, zorunlu. Google, SSL olmayan siteleri "Güvenli Değil" olarak işaretliyor ve ranking'te cezalandırıyor.

Let's Encrypt ile Ücretsiz SSL

Çoğu hosting firması (Hostinger, SiteGround, Natro) cPanel'de tek tıkla Let's Encrypt SSL kurulumu sunuyor. Eğer sunucunuz bu özelliği desteklemiyorsa, Cloudflare'in ücretsiz SSL'ini kullanabilirsiniz.

SSL kurduktan sonra, wp-config.php dosyasına şu satırı ekleyin:

define('FORCE_SSL_ADMIN', true);

Bu, admin paneline sadece HTTPS ile erişimi zorunlu kılar.

Güvenlik Başlıkları

.htaccess dosyasına şu başlıkları ekleyin:

Header set X-Content-Type-Options "nosniff"
Header set X-Frame-Options "SAMEORIGIN"
Header set X-XSS-Protection "1; mode=block"
Header set Referrer-Policy "strict-origin-when-cross-origin"

Bu başlıklar, clickjacking, XSS ve MIME type sniffing gibi saldırıları önler.

FUTIA projelerinde, tüm sitelere varsayılan olarak Cloudflare + SSL + güvenlik başlıkları kuruyoruz. Örneğin futia.net için 3 ayda 2000+ video üretirken, DDoS koruması sayesinde hiç downtime yaşamadık.

Adım 9: Düzenli Yedekleme Sistemi Kurun

Bir daha hacklenme ihtimaline karşı, otomatik yedekleme sistemi şart. Çünkü manuel yedek almayı unutursunuz.

UpdraftPlus ile Otomatik Yedekleme

UpdraftPlus, en popüler yedekleme eklentisi. Ücretsiz versiyonu bile Google Drive, Dropbox, OneDrive gibi bulut depolamaya otomatik yedek atıyor.

Kurulum:

1. UpdraftPlus'ı kurun ve aktif edin 2. Settings > UpdraftPlus Backups'a gidin 3. "Schedule Backups" bölümünde: - Files: Haftalık - Database: Günlük 4. "Remote Storage" olarak Google Drive seçin 5. "Save Changes" ve "Backup Now" ile test edin

Ben müşterilerime en az 3 farklı yerde yedek tutmalarını öneriyorum: hosting sunucusu, bulut depolama (Google Drive) ve lokal bilgisayar.

doktorbul.com'da 79.000 profil olduğu için veritabanı 2 GB'ı geçiyor. Bu kadar büyük bir siteyi günlük yedeklemek, sunucu kaynaklarını zorlar. O yüzden incremental backup (sadece değişen dosyaları yedekleme) kullanıyoruz.

Adım 10: Google'a Yeniden İnceleme Talebi Gönderin

Eğer siteniz Google tarafından "hacklenmiş" olarak işaretlendiyse, temizlik sonrası yeniden inceleme talebi göndermelisiniz.

Google Search Console Üzerinden

1. search.google.com/search-console adresine gidin 2. Sitenizi seçin 3. Sol menüden "Security Issues" (Güvenlik Sorunları) tıklayın 4. "Request Review" (Yeniden İnceleme Talep Et) butonuna basın 5. Ne yaptığınızı detaylı açıklayın (İngilizce)

Google genellikle 3-7 gün içinde siteyi tekrar tarar ve sorun çözüldüyse uyarıyı kaldırır.

Blacklist Kontrolü

Sitenizin başka blacklistlerde olup olmadığını kontrol etmek için mxtoolbox.com/blacklists.aspx adresini kullanın. Eğer listeye alınmışsanız, her liste için ayrı ayrı removal talebi göndermeniz gerekir.

memuratamalari.com'da bir keresinde, sunucudaki başka bir site hacklendiği için IP adresi Spamhaus'a düştü. Biz temiz olmamıza rağmen, aynı IP'yi paylaştığımız için etkilendik. Hosting firmasına dedicated IP talep ettik, sorun çözüldü.

Hacklenmeyi Önlemek İçin Uzun Vadeli Stratejiler

Siteyi temizledikten sonra, bir daha aynı duruma düşmemek için sürekli bakım şart.

Aylık Güvenlik Kontrol Listesi

  • WordPress core, tema ve eklentileri güncelleyin
  • Kullanılmayan eklentileri silin (devre dışı bırakmak yetmez)
  • Güvenlik loglarını inceleyin (Wordfence Activity Log)
  • Yedeklerin düzgün alındığını kontrol edin
  • Parola değiştirin (özellikle admin hesapları)

Ben FUTIA'da müşterilere aylık bakım hizmeti verirken, bu kontrolleri otomatikleştirdim. Claude Haiku API'si ile güvenlik loglarını analiz edip, anormal aktivite varsa WhatsApp'tan bildirim gönderen bir sistem kurdum. Örneğin memuratamalari.com'da 40.400 aylık organik arama trafiği varken, bu otomasyon sayesinde hiç downtime yaşamadık.

PHP ve Sunucu Güncellemeleri

Hosting firmanız eski PHP versiyonu (7.4 veya altı) kullanıyorsa, mutlaka 8.1 veya 8.2'ye yükseltin. Eski versiyonlar, bilinen güvenlik açıklarına sahip.

cPanel'de "Select PHP Version" bölümünden güncelleyebilirsiniz. Ama dikkat, bazı eski temalar PHP 8 ile uyumsuz olabilir. Güncelleme öncesi mutlaka yedek alın.

İki Faktörlü Kimlik Doğrulama (2FA)

Parola ne kadar güçlü olursa olsun, tek başına yeterli değil. 2FA eklerseniz, hacker parolanızı bilse bile giriş yapamaz.

Wordfence veya Google Authenticator eklentisi ile 2FA kurabilirsiniz. Ben Google Authenticator kullanıyorum, çünkü telefon değişse bile QR kodunu yeniden taratıp devam edebiliyorsunuz.

Bu noktada eğer teknik bilginiz sınırlıysa veya zamanınız yoksa, profesyonel destek almanızı öneririm. Ben FUTIA olarak, Hollanda'dan Türk markalarına site, otomasyon ve aylık bakım hizmeti sunuyorum. Hacklenmiş siteleri kurtarma, güvenlik denetimi ve sürekli izleme gibi konularda 6 yıllık sosyal medya ve 2 yıllık AI otomasyon deneyimim var. Eğer siteniz hacklenmiş durumda ve acil müdahale gerekiyorsa, WhatsApp üzerinden +90 532 491 17 05 numarasından veya info@futia.net adresinden ulaşabilirsiniz. İlk analiz genellikle 1 saat içinde tamamlanıyor.

Sıkça Sorulanlar

WordPress sitem hacklendiyse ne kadar sürede temizleyebilirim?

Hacklenmenin boyutuna göre değişir. Basit bir backdoor veya spam injection 4-6 saat içinde temizlenebilir. Ama veritabanına kadar sızmış, çok sayıda zararlı dosya yüklenmiş bir hack, 24-48 saat sürebilir. Ben genellikle ilk 2 saatte siteyi bakım moduna alıp, acil tehditleri (Google blacklist, hosting askıya alma) ortadan kaldırıyorum. Sonra detaylı temizlik 1-2 gün sürüyor. Önemli olan, panik yapmadan sistematik ilerlemek.

Nulled tema kullanmak neden tehlikeli?

Nulled (korsan) temalar, lisans kontrolünü bypass etmek için değiştirilmiş dosyalardır. Bu değişiklikler sırasında, geliştiriciler genellikle backdoor, malware veya kripto madenciliği scripti ekler. Siz temayı kurduğunuzda, bu zararlı kodlar da aktif olur ve hacker sitenize istediği zaman erişebilir. Üstelik tema güncellemesi alamazsınız, bu da güvenlik açıklarının kapanmaması demek. GPL lisanslı ücretsiz temalar (Astra, GeneratePress) veya ücretli temaların orijinalini kullanın. 50 dolar tasarruf için sitenizi riske atmayın.

Wordfence ücretsiz mi, yoksa ücretli versiyonu mu almalıyım?

Wordfence'in ücretsiz versiyonu çoğu site için yeterli. Firewall, malware tarama, login güvenliği ve 2FA gibi temel özellikler ücretsiz. Ücretli versiyon (yıllık 119 dolar) gerçek zamanlı tehdit güncellemeleri, ülke bazlı engelleme ve premium destek sunuyor. Eğer e-ticaret siteniz varsa veya günlük 5000+ ziyaretçi alıyorsanız, ücretli versiyonu düşünebilirsiniz. Ama küçük bir blog veya kurumsal siteyse, ücretsiz versiyon yeterli. Ben FUTIA projelerinde genellikle ücretsiz Wordfence + Cloudflare kombinasyonunu kullanıyorum.

Hosting firması 'siteniz hacklenmiş, hesap askıya alındı' dedi, ne yapmalıyım?

Önce panik yapmayın, bu durum düzeltilebilir. Hosting firmasının destek ekibiyle iletişime geçin ve hangi dosyaların zararlı olduğunu sorun. Genellikle size bir log dosyası veya zararlı dosya listesi verirler. Bu dosyaları FTP üzerinden silin, sonra hosting firmasına temizlediğinizi bildirin. Çoğu firma 24-48 saat içinde hesabı tekrar açar. Eğer teknik bilginiz yoksa, Codeable veya Fiverr'dan WordPress güvenlik uzmanı kiralayabilirsiniz. Ya da bana WhatsApp'tan yazın, acil müdahale için genellikle aynı gün çözüyoruz.

WordPress güncellemesi yaparken site bozulur mu?

Evet, bazen uyumsuzluk sorunları çıkabilir. Özellikle eski temalar veya eklentiler, yeni WordPress versiyonuyla çalışmayabilir. O yüzden güncelleme öncesi mutlaka yedek alın. Ben şu süreci uyguluyorum: 1) UpdraftPlus ile tam yedek, 2) Staging ortamında (test sitesi) güncelleme, 3) Sorun yoksa canlı sitede güncelleme. Çoğu hosting firması (SiteGround, Kinsta) staging özelliği sunuyor. Eğer yoksa, Local by Flywheel gibi araçlarla bilgisayarınızda test edebilirsiniz. Güncelleme sonrası mutlaka sitenin tüm sayfalarını kontrol edin.

YAZAR HAKKINDA
Miraç Eroğlu

Hacettepe mezunu, 6 yıldır sosyal medya, 2 yıldır AI otomasyon.

Daha fazla bilgi →

Bu yazıdaki tekniklerden birini uygulamak ister misiniz? Kısa bir form doldurun, 48 saat içinde ücretsiz ön inceleme raporu mailinize düşsün.