Google'da site:alanadiniz.com diye arattığınızda, hiç oluşturmadığınız ve Japonca başlıklı yüzlerce sayfa görüyorsanız büyük olasılıkla "Japon anahtar kelime hack" ile karşı karşıyasınız. Google'ın web.dev rehberine göre bu saldırıda sitenizde, rastgele adlandırılmış klasörler altında otomatik üretilmiş Japonca metin içeren yeni sayfalar oluşturulur; bu sayfalar sahte marka ürünleri satan mağazalara yönlendiren ortaklık (affiliate) bağlantılarıyla para kazandırmak için kullanılır ve sitenizin arama sonuçlarındaki itibarını kullanır. Google bu tür içeriği spam politikalarında hacklenmiş içerik olarak tanımlar.
Önce sakin olun: bu saldırı çok yaygındır ve adım adım temizlenebilir. Bu yazıda sorunu doğrulamayı, Search Console'a sızmış yabancı sahipleri kaldırmayı, .htaccess ve sitemap temizliğini, spam URL'lerin arama sonuçlarından nasıl düşürüleceğini ve Google'ın Removals aracının neyi yapıp neyi yapmadığını anlatıyoruz. Dosya düzeyindeki genel temizlik için WordPress hacklendi temizleme rehberi bu yazıyla birlikte kullanılmalıdır.
Belirtiler: hack'i nasıl doğrularsınız?

- site: araması: Google'da
site:alanadiniz.comaratın ve birkaç sonuç sayfasına bakın. Japonca başlıklar veya tanımadığınız URL kalıpları görüyorsanız sorun büyük ihtimalle budur. Google, aynı aramayı gerekirse başka bir arama motorunda da tekrarlamanızı önerir. - Search Console Security issues raporu: Google hacklenmiş sayfalar bulduysa bu raporda görünür. Rapordaki örnek URL listesi tam değildir, yalnızca bir örnektir. Bu rapor "Bu site saldırıya uğramış olabilir" uyarısı yazısında ayrıntılı anlatılıyor.
- Size 404, Google'a spam: Spam URL'yi kendi tarayıcınızda açtığınızda "sayfa bulunamadı" görebilirsiniz. Bu, sitenin temiz olduğu anlamına gelmez. Google'a göre saldırganlar cloaking (gizleme) kullanarak site sahibine 404 gösterirken arama motoruna spam içeriği sunabilir.
Gizlenmiş içeriği görmenin en güvenilir yolu Search Console'daki URL Inspection aracıdır; araç sayfayı Google'ın gördüğü şekilde gösterir. Komut satırında curl ile farklı user agent ve referrer değerleri deneyerek de fikir edinebilirsiniz:
# Normal ziyaretci gibi istek: durum kodu
curl -s -o /dev/null -w '%{http_code}\n' https://alanadiniz.com/supheli-url
# Googlebot user agent ile istek: icerigin ilk satirlari
curl -s -A 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)' https://alanadiniz.com/supheli-url | head -40
# Google aramasindan gelmis gibi istek
curl -s -e 'https://www.google.com/' https://alanadiniz.com/supheli-url | head -40Adım 1: Search Console kullanıcılarını kontrol edin
Bu saldırıda saldırganlar çoğu zaman kendilerini Search Console mülkünüze sahip olarak ekler. web.dev rehberine göre amaç, coğrafi hedefleme veya sitemap gibi site ayarlarını kendi çıkarları için değiştirmektir. Google, mülke yeni bir sahip eklendiğinde mevcut doğrulanmış sahiplerin tamamına bildirim gönderildiğini belirtir; tanımadığınız bir sahip bildirimi geldiyse bunu ciddiye alın.
- Search Console'da Settings > Users and permissions bölümünü açın (Türkçe arayüzde bu adlar çevrilmiş olarak görünür) ve tanımadığınız kullanıcıları kaldırın.
- Kişi doğrulanmış sahip (verified owner) ise yalnızca listeden çıkarmak yetmez. Kullanıcı adının yanındaki Verification details bölümünden hangi doğrulama yöntemini kullandığına bakın ve o doğrulama belirtecini sitenizden kaldırın.
- web.dev rehberine göre bu belirteç genellikle site kökünde bir HTML dosyası veya dinamik olarak üretilen bir .htaccess yeniden yazma kuralıdır.
- Dinamik bir belirteç kaldırıldı mı diye anlamak için
/googleile başlayan ve rastgele karakterlerle devam eden uydurma bir.htmladresini isteyin. Google'ın rehberine göre 404 yanıtı sorunun giderildiğini gösterir; sitenin her böyle isteğe bir doğrulama sayfası döndürmesi ise kural hâlâ yerindedir demektir.
Adım 2: Tüm .htaccess dosyalarını temizleyin
Saldırganlar .htaccess dosyalarını hem doğrulama belirtecini üretmek hem de spam sayfalarına yönlendirme yapmak için kullanabilir. Google'ın önerdiği yöntem basittir: sitedeki gizli olanlar dahil tüm .htaccess dosyalarını bulun, temiz veya varsayılan sürümleriyle değiştirin. Varsayılanı yoksa ve siz hiç oluşturmadıysanız, bir kopyasını çevrimdışı saklayıp silin.
# Tum .htaccess dosyalarini listeleyin
find . -type f -name '.htaccess'WordPress'in kök dizindeki standart .htaccess içeriğini WordPress .htaccess permalink kuralları yazısında bulabilirsiniz. Temizledikten sonra yönetim panelinde kalıcı bağlantılar ayarını bir kez kaydetmek, WordPress'in kendi kurallarını yeniden yazmasını sağlar.
Adım 3: Spam üreten dosyaları bulun ve temizleyin

Spam sayfaları çoğu zaman tek tek dosya olarak değil, istek geldiğinde sayfa üreten bir PHP kodu tarafından oluşturulur. Google bu yüzden CMS çekirdeğini, tema ve eklentileri yeniden kurmanızı (önce yedek alarak) ve aramayı şu dosyalara daraltmanızı önerir:
- Varsayılan kurulumda bulunmayan dosyalar,
- Hack'i fark ettiğiniz tarihe yakın değişmiş dosyalar,
- Alışılmadık büyüklükteki dosyalar,
- Sık enjekte edilen dosyalar:
index.php,wp-load.php,404.php,view.php, base64_decode,rot13,eval,strrevveyagzinflateiçeren karışık, okunmaz kodlar.
Bu aramanın komutlarını, WP-CLI ile çekirdek doğrulamayı ve yanlış alarmları ayırmayı şüpheli PHP dosyası ve web shell bulma yazısında ayrıntılı anlattık. Temizlik sırasında WordPress.org'un uyarısını unutmayın: yönetim panelindeki yeniden kurma seçeneği yerine aynı sürümü FTP/SFTP ile yükleyin, çünkü saldırılar çoğu zaman yeni dosya ekler ve panel içi kurulum bunları silmez.
Adım 4: Sitemap dosyalarını kontrol edin

Google'ın rehberi mevcut sitemap dosyalarınızda şüpheli bağlantı olup olmadığına bakmanızı, eklediğinizi hatırlamadığınız sitemap dosyalarını incelemenizi ve yalnızca spam URL içerenleri silmenizi önerir.
- Search Console'daki Sitemaps raporunda listelenen dosyaları gözden geçirin. Tanımadığınız bir sitemap varsa önce dosyayı sunucudan silin.
- Raporda Remove sitemap ile bir sitemap'i kaldırmanın, Google'ın o dosyayı ve içindeki URL'leri unutmasını sağlamadığını bilin. Google bunu açıkça belirtir. Asıl çözüm, dosyanın ve içindeki spam sayfaların sitenizde artık bulunmamasıdır.
- Kendi sitemap'inizi (WordPress'in yerleşik
/wp-sitemap.xmldosyası veya SEO eklentinizin ürettiği dosya) açıp içinde Japonca veya tanımadığınız URL olmadığını kontrol edin. - Temizlik bittikten sonra kendi sitemap'inizi Sitemaps raporunda yeniden gönderin. Google, sitemap'te büyük değişiklik yaptığınızda yeniden göndermenin uygun olduğunu söyler.
- Kök dizindeki
robots.txtdosyasında sizin eklemediğinizSitemap:satırları olup olmadığına da bakın.
Adım 5: Spam URL'leri arama sonuçlarından düşürün
Dosyalar temizlendiğinde spam URL'ler artık içerik üretmez. Sunucunuzun bu adreslere 404 (Not Found) veya 410 (Gone) durum kodu döndürdüğünden emin olun. Google'ın Removals aracı belgesi, kalıcı kaldırma için bu iki koddan birinin dönmesi gerektiğini belirtir. web.dev rehberine göre ek bir işlem yapmasanız da bu sayfalar zamanla Google dizininden doğal olarak düşer.
Spam sayfaları belirli bir klasör altında toplanmışsa ve o klasörün sitenizde meşru bir karşılığı yoksa, Apache'de bu yolu 410 ile yanıtlayan bir kural ekleyebilirsiniz:
# Kok .htaccess icinde, WordPress kurallarindan ONCE
# 'spam-klasoru' yerine kendi sitenizdeki spam yolunu yazin
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^spam-klasoru/ - [G,L]
</IfModule>Removals aracı: ne işe yarar, sınırları neler?
Spam sayfaların arama sonuçlarından daha hızlı kalkmasını istiyorsanız Search Console'daki Removals aracını kullanabilirsiniz. Google'ın belgesindeki önemli noktalar şunlardır:
| Konu | Google'ın belgesinde yazan |
|---|---|
| Süre | Başarılı bir istek yalnızca yaklaşık altı ay geçerlidir. Kalıcı kaldırma için sayfanın 404/410 döndürmesi, parola ile korunması veya noindex içermesi gerekir. |
| Kapsam | Sayfayı yalnızca Google arama sonuçlarından gizler; Google'ın sayfayı taramasını engellemez, içeriği internetten silmez, diğer arama motorlarını etkilemez. |
| Hacklenmiş siteler | Saldırganın oluşturduğu yeni URL'leri engellemek için kullanılabilir. Ancak tüm siteyi veya ileride dizinde olmasını istediğiniz URL'leri engellemeniz önerilmez; hack'i temizleyip Google'ın yeniden taramasına izin verin. |
| Önek ile toplu kaldırma | Remove all URLs with this prefix seçeneği, belirttiğiniz önekle başlayan tüm URL'leri (www ve www olmayan, http ve https sürümleri dahil) engeller. |
| İşlem süresi | İstek genellikle bir gün içinde işlenir ve kabul edilmesi garanti değildir. |
| Yetki | Aracı kullanmak için mülkte sahip veya tam kullanıcı olmanız gerekir; kısıtlı kullanıcılar yalnızca görüntüleyebilir. |
web.dev rehberi ayrıca bu aracı yalnızca saldırganın oluşturduğu sayfalar için kullanmanızı, saldırgan tarafından yalnızca değiştirilmiş iyi sayfalarınız için kaldırma istememenizi özellikle vurgular. Temizlediğiniz iyi sayfalar için URL Inspection aracından yeniden tarama isteyebilirsiniz; Google bunun isteğe bağlı olduğunu, değişen sayfaların zamanla zaten taranacağını belirtir.
Adım 6: Temizliği doğrulayın ve inceleme isteyin
- Spam URL örneklerini URL Inspection aracıyla tekrar kontrol edin. Google'ın rehberine göre "Not Found" yanıtı sitenin iyi durumda olduğuna işarettir.
- Birkaç gün boyunca
site:alanadiniz.comaramasını ve sunucudaki son değişen dosyaları izleyin. Yeni spam URL'ler çıkıyorsa giriş yolu hâlâ açıktır. - Security issues raporunda listelenen tüm sorunları tüm sayfalarda düzelttikten sonra Request Review ile inceleme isteyin ve yaptığınız düzeltmeleri açıkça anlatın. Google'ın belgesine göre güvenlik incelemesi birkaç günden birkaç haftaya kadar sürebilir; bekleyen bir istek sonuçlanmadan yeni istek göndermeyin.
- Rapor yoksa ama sayfalar dizindeyse, 404/410 dönen spam sayfalar zamanla düşecektir. Genel dizin durumunu Search Console dizine eklenmedi hataları yazısındaki raporlarla takip edebilirsiniz.
Tekrar hacklenmemek için
Google'ın web.dev rehberi, hacklenen sitelerin önemli bir kısmının kısa süre içinde yeniden hacklendiğine dikkat çeker ve sitenin nasıl ele geçirildiğini anlamanızı ister. Rehberin önerileri şunlardır: bilgisayarınızı virüs taramasından geçirmek, her hesap için benzersiz ve güçlü şifreler kullanmak, iki adımlı doğrulamayı açmak ve CMS ile eklentileri güncel tutmak. Bunların WordPress'e özel uygulaması hack sonrası WordPress güvenlik sertleştirme yazısında anlatılıyor. Saldırı sırasında sitenizden spam e-posta da gönderildiyse hosting hesabı spam mail gönderiyor yazısına göz atın.
Sık Sorulan Sorular
Spam sayfalar bende 404 veriyor, yine de temizlik gerekir mi?
Evet. Google, saldırganların site sahibine 404 gösterip arama motoruna spam içerik sunabildiğini belirtir. URL Inspection aracında sayfanın Google'a ne gösterdiğine bakın. Gerçekten 404 dönüyor ve dosyalarda zararlı kod yoksa sayfalar zamanla dizinden düşer.
Removals aracıyla tüm siteyi kaldırıp yeniden başlasam olur mu?
Google bunu önermez. Removals belgesi, hack sonrasında tüm siteyi engellemek yerine hack'i temizleyip sitenin yeniden taranmasına izin vermenizi söyler. Aracı yalnızca saldırganın oluşturduğu URL'ler için kullanın.
Spam URL'ler için 404 mü, 410 mu döndürmeliyim?
Google'ın Removals belgesi kalıcı kaldırma için 404 veya 410'u birlikte sayar. Dosyaları silip WordPress'in kendi 404 sayfasının dönmesine izin vermek çoğu site için yeterlidir. Spam belirli bir klasörde toplanmışsa 410 kuralı da kullanılabilir.
Search Console'daki yabancı sahibi sildim, ertesi gün yine geldi. Neden?
Doğrulama belirteci sitede hâlâ duruyor veya saldırganın arka kapısı onu yeniden oluşturuyor demektir. Belirteç dosyasını ve .htaccess kuralını silin, ardından sunucudaki şüpheli PHP dosyalarını temizleyin. Google, site hackliyken belirteci kaldırmanın yalnızca geçici bir çözüm olduğunu belirtir.
Bu hack sıralamalarımı kalıcı olarak etkiler mi?
Google'ın belgeleri bu konuda bir süre veya sonuç taahhüdü vermez. Yapabileceğiniz şey, hacklenmiş içeriği tamamen temizlemek, spam URL'lerin 404/410 döndürmesini sağlamak ve bir güvenlik sorunu bildirildiyse inceleme istemektir. Manuel işlemlerle ilgili genel bilgi için Google manuel işlem ve disavow yazısına bakabilirsiniz.
Yazılım, eklenti ve hizmet adları sahiplerine aittir. Bu yazı bağımsız bir teknik rehberdir; adı geçen şirketlerle bayilik veya ortaklık ilişkisi bulunduğu anlamına gelmez.
İlgili içerikler: WordPress hacklendi: temizleme rehberi · Şüpheli PHP dosyası bulma · "Bu site saldırıya uğramış olabilir" uyarısı · Site başka siteye yönleniyor · Google spam politikaları · .htaccess rehberi