Sayfa Açılıyor Ama 404: Google Neden İndekslemez?
Bir web sitesi yöneticisi veya SEO uzmanı için en kafa karıştırıcı durumlardan biri, tarayıcıda sorunsuz bir şekilde açılan, içeriği eksiksiz görüntülenen bir sayfanın Google Search Console panelinde '404 Bulunamadı' hatasıyla karşılaşmasıdır. Kullanıcı olarak adresi yazdığınızda veya bir bağlantıya tıkladığınızda karşınızda duran sayfa, arama motoru botları tarafından adeta yok sayılmaktadır. Bu durum, yalnızca organik trafik kaybına yol açmakla kalmaz, aynı zamanda sitenizin genel taranma bütçesini ve teknik SEO sağlığını da olumsuz etkiler. İlk bakışta mantığa aykırı gelen bu problemin temelinde, tarayıcılar ile arama motoru örümceklerinin sunucuyla kurduğu iletişimin teknik detayları ve HTTP istek yöntemlerinin farklı kullanımı yatmaktadır. Bu kapsamlı rehberde, bir sayfanın canlıda açık olmasına rağmen neden HTTP 404 durum kodu verebildiğini, HEAD ve GET isteklerinin bu süreçteki rolünü ve bu kritik teknik SEO probleminin nasıl çözüleceğini detaylandıracağız.
Tarayıcı ve Arama Motoru Botlarının Farklı Çalışma Prensipleri
Bir internet kullanıcısı tarayıcısına bir URL yazdığında, tarayıcı arka planda web sunucusuna bir istek gönderir ve sunucudan gelen yanıtı görsel bir arayüze dönüştürür. Bu süreçte kullanıcı, sayfanın tasarımını, metinlerini ve görsellerini görerek sayfanın çalıştığına ikna olur. Ancak arama motoru botları (örneğin Googlebot) bir web sitesini ziyaret ederken insan gibi davranmazlar. Onlar için öncelik, sayfanın görsel tasarımı değil, sunucunun verdiği teknik yanıtlardır.
Arama motoru botları internetteki milyarlarca sayfayı taramak zorundadır. Bu devasa operasyonu optimize etmek ve sunucu kaynaklarını verimli kullanmak için her sayfayı tam olarak indirmeden önce bazı ön kontroller yaparlar. İşte bu noktada, tarayıcıların ve botların sunucu ile kurduğu iletişim protokollerindeki farklılıklar su yüzüne çıkar. Kullanıcı tarayıcısı doğrudan içeriği çekmeye odaklanırken, arama motoru botları öncelikle sayfanın durumunu sorgular. Eğer bu sorgulamada bir tutarsızlık varsa, kullanıcı sayfayı görse bile botlar sayfayı indekslemeyi reddeder.
GET ve HEAD İstekleri Arasındaki Kritik Fark
HTTP protokolü, istemci (tarayıcı veya bot) ile sunucu arasındaki iletişimi yöneten farklı istek yöntemleri tanımlar. Bu yöntemler arasında en yaygın olanları GET ve HEAD istekleridir. Bu iki istek türü arasındaki fark, sayfanın açık görünmesine rağmen dizine eklenememesinin ana nedenidir:
- GET İsteği: Belirtilen kaynağın hem başlık (header) bilgilerini hem de gövde (body) içeriğini talep eder. Tarayıcılar sayfayı yüklemek ve kullanıcılara göstermek için bu yöntemi kullanır. Sunucu, bu isteğe karşılık olarak durum kodunu (genellikle 200 OK) ve ardından sayfa içeriğini gönderir.
- HEAD İsteği: GET isteğiyle tamamen aynı başlık bilgilerini talep eder, ancak sunucudan gövde içeriğini (HTML kodlarını) göndermemesini ister. Sunucu bu isteğe sadece meta verileri, sunucu tipini, içerik uzunluğunu ve en önemlisi HTTP durum kodunu içeren başlık bilgisiyle yanıt vermelidir.
Arama motoru botları, bir sayfanın değişip değişmediğini, dosya boyutunu veya sayfanın hala var olup olmadığını kontrol etmek için sıklıkla HEAD isteği gönderir. Eğer sunucunuz GET isteklerine doğru bir şekilde '200 OK' yanıtı verirken, HEAD isteklerine '404 Not Found' yanıtı veriyorsa, Googlebot bu sayfanın silindiğini veya var olmadığını varsayar. Sonuç olarak, teknik SEO açısından sayfa taranamayan bir alan haline gelir.
Sunucu Yapılandırma Hataları ve Yanlış Durum Kodları
Yazılım geliştiriciler veya sistem yöneticileri, web uygulamalarını yapılandırırken bazen HTTP metotlarının yönetimini gözden kaçırabilirler. Özellikle modern MVC (Model-View-Controller) yapıları veya özel rota (routing) sistemleri kullanılırken, rotalar genellikle sadece GET isteklerini kabul edecek şekilde tanımlanır.
Örneğin, bir rota tanımlamasında sadece GET metoduna izin verilip HEAD metodu tanımlanmadığında, sunucu gelen HEAD isteğini karşılayamaz ve varsayılan olarak bir hata kodu döndürür. Benzer şekilde, Nginx veya Apache gibi web sunucularında güvenlik duvarları (WAF) veya özelleştirilmiş yönlendirme kuralları, HEAD isteklerini şüpheli bularak engelleyebilir veya bunlara doğrudan 404 yanıtı verecek şekilde yapılandırılmış olabilir.
Aşağıdaki tabloda, farklı istek türleri ve sunucu yapılandırmalarının arama motoru üzerindeki etkileri özetlenmiştir:
| İstek Türü | Kullanıcı Deneyimi | Sunucu Yanıtı | Googlebot Davranışı |
|---|---|---|---|
| GET | Sayfa Sorunsuz Açılır | 200 OK | İçeriği Okuyabilir ve İşleyebilir |
| HEAD (Doğru Yapılandırma) | Etkilenmez | 200 OK | Sayfayı İndekslemeye Uygun Görür |
| HEAD (Hatalı Yapılandırma) | Etkilenmez | 404 Not Found | Sayfayı Yok Sayar ve Dizinden Çıkarır |
Google Search Console Üzerinde Bu Sorunu Teşhis Etme
Bu teknik SEO problemini tespit etmenin en güvenilir yolu Search Console panelini kullanmaktır. Eğer sitenizde bu tür bir uyumsuzluk varsa, Search Console size doğrudan teknik ipuçları sunar.
URL Denetimi Aracını Kullanma
Search Console paneline giriş yaptıktan sonra, üst kısımda yer alan arama çubuğuna şüphelendiğiniz URL'yi yazın. URL Denetimi aracını çalıştırdığınızda karşınıza çıkan raporda 'Canlı URL'yi Test Et' seçeneğine tıklayın. Canlı test sonucunda sayfanın ekran görüntüsü doğru görünse bile, 'Sayfa taranamıyor: Bulunamadı (404)' uyarısı alıyorsanız, bu durum HEAD isteği ile GET isteği arasındaki uyuşmazlığa işaret eder.
Dizin Oluşturma Raporlarını İnceleme
Sitenizin dizin oluşturma sekmesi altında yer alan hata listelerinde, 'Gönderilen URL bulunamadı (404)' hatası alan sayfaları inceleyin. Eğer bu URL'leri tarayıcınızda açtığınızda sitenin normal bir şekilde çalıştığını görüyorsanız, sunucunuzun HTTP başlık yanıtlarında bir tutarsızlık olduğunu kesinleştirebilirsiniz.
HTTP Durum Kodunu Doğrulama Yöntemleri ve Araçlar
Sorunu çözmek için öncelikle sunucunun tam olarak hangi yanıtı verdiğini bağımsız araçlarla doğrulamamız gerekir. Tarayıcının adres çubuğu bize sadece görsel sonucu gösterdiği için daha derinlemesine testler yapmalıyız.
Komut Satırı (cURL) ile Test Etme
Terminal veya komut satırı üzerinden cURL aracını kullanarak sunucunuzun hem GET hem de HEAD isteklerine nasıl yanıt verdiğini saniyeler içinde görebilirsiniz.
Öncelikle HEAD isteğini test etmek için şu komutu çalıştırın:
curl -I https://benguerp.com.tr/ornek-sayfaBurada geri dönen çıktının ilk satırında 'HTTP/1.1 200 OK' yerine 'HTTP/1.1 404 Not Found' görüyorsanız, sorun tespit edilmiş demektir.
Ardından GET isteğinin başlık bilgilerini kontrol etmek için şu komutu kullanın:
curl -X GET -I https://benguerp.com.tr/ornek-sayfaEğer GET isteği 200 OK verirken HEAD isteği 404 veriyorsa, yazılımsal rotalarınızı veya sunucu ayarlarınızı düzeltmeniz gerekecektir.
Sitemap (Site Haritası) Kontrolleri
Site haritanızda yer alan tüm URL'lerin kesinlikle 200 OK durum kodu vermesi gerekir. Tarama bütçesini optimize etmek için Googlebot, site haritasındaki URL'leri hızlıca tararken HEAD isteklerinden yararlanabilir. Site haritanızda yer alan bir URL HEAD isteğine 404 yanıtı veriyorsa, Google bu URL'yi taramayı bırakabilir.
Bu Teknik SEO Sorununu Çözmek İçin Adım Adım Yol Haritası
Eğer sitenizde bu uyuşmazlığı tespit ettiyseniz, sorunu gidermek için aşağıdaki adımları sırasıyla uygulayabilirsiniz:
- Yazılım Rotalarını İnceleyin: Kullandığınız web çatısında (framework) rota tanımlamalarını kontrol edin. Eğer rotalar sadece GET metoduna bağlanmışsa, bunu HEAD isteklerini de kabul edecek şekilde güncelleyin.
- Web Sunucusu Yapılandırmasını Kontrol Edin: Nginx kullanıyorsanız, yapılandırma dosyanızda (nginx.conf) limit_except yönergesini kontrol edin. HEAD isteklerinin engellenmediğinden emin olun. Apache kullanıyorsanız, .htaccess dosyasındaki LimitExcept kurallarını gözden geçirin.
- Güvenlik Duvarı Ayarlarını Düzenleyin: Cloudflare veya sunucu düzeyindeki diğer güvenlik duvarlarının HEAD isteklerini bot saldırısı olarak algılayıp engellemediğini doğrulayın.
- Sitemap Dosyasını Güncelleyin: Hatalı yönlendirmeleri veya geçici durum kodlarını temizleyerek site haritanızın tamamen güncel ve temiz 200 OK veren URL'lerden oluştuğundan emin olun.
- Yeniden Dizin Oluşturma İsteği Gönderin: Sorunu çözdükten sonra Search Console'a giderek düzeltilen URL'ler için 'Düzeltmeyi Doğrula' butonuna tıklayın ve Googlebot'u sitenizi yeniden taramaya davet edin.
Sonuç
Teknik SEO, arama motorlarının web sitenizi sorunsuz bir şekilde anlamasını ve dizine eklemesini sağlayan en önemli sütunlardan biridir. Bir sayfanın tarayıcıda açılıyor olması, onun teknik olarak kusursuz olduğu anlamına gelmez. GET ve HEAD istekleri arasındaki fark gibi derin teknik detaylar, sitenizin arama sonuçlarında görünmesini tamamen engelleyebilir. Sunucu yapılandırmalarınızı düzenli olarak test etmek, HTTP durum kodlarının tutarlılığını denetlemek ve Google Search Console uyarılarını yakından takip etmek, bu tür gizli hataların önüne geçecektir. Doğru yapılandırılmış bir sunucu altyapısı, arama motoru botlarının sitenizi verimli bir şekilde taramasına olanak tanıyarak organik görünürlüğünüzü doğrudan korumanıza yardımcı olur.
BENGU, Sakarya merkezli ERP, web tasarım ve dijital çözüm ortağıdır. Sahanıza uygun bir kurgu konuşmak isterseniz iletişim formundan yazabilirsiniz.
Projeniz mi var? Ücretsiz danışın.
Web tasarım, ERP, mobil uygulama veya dijital reklam — size en uygun çözümü birlikte bulalım.
İletişime Geç