Müşterilerimden biri son zamanlarda web sitelerini, tüm hesaplarda, web sitelerinin önceki sürümlerinden daha hızlı ve daha iyi optimize edilmiş yeni bir teknoloji yığınına taşıdı. Taşıma işleminden önce, bu müşteri Google’ın arama sonuçlarında çok sayıda zengin snippet’ten yararlandı. Özellikle, anahtar sayfalarının çoğunda yıldız derecelendirme snippet’leri vardı, göç ettikten sonra, bu yıldız puanlarının tümünü hızlıca kaybettiler. Ve nedenini anlayamadık.

Google’ın Yapısal Veri Test Aracı (SDTT) hiçbir yardım sunmadı. Sitedeki yapısal veriler, araç tarafından uygun şekilde tanındı ve tam olarak geçerli bir işaretleme gibi görünüyordu. Öyleyse, Google neden bu işaretlemeyi yok sayar ve yıldız derecelendirme pasajını bu müşterinin sayfalarından kaldırmıştır?

Çok fazla fark etmeyeceğimizi düşündüğümüz bir şeyi denemeye karar verdik, ancak tüm sorunu çözdük: Yapısal veri snippet’ini sayfanın kaynak kodunun <head> bölümüne taşıdık.

Bu, biçimlendirme doğruluğunu hiçbir şekilde etkilemediği için SDTT için bir fark yaratmadı. HTML kaynak kodunda yer alan öğelerin sırasının, Google’ın işleyiş şeklini etkileyip etkilemediğini görmek, son bir gedikli çabadır.

Bu değişikliği yaptıktan kısa bir süre sonra, sitenin zengin snippet’leri hızla geri gelmeye başladı. Birkaç gün içinde, tüm kayıp yıldız snippet’leri geri döndü.

Yapısal veri işaretlemesinin konumu, Google’ın bunu nasıl ele almasında büyük bir fark yarattı.

Teorik olarak, ham HTML kaynak kodunda mevcut olduğu sürece, biçimlendirmenin bulunduğu yerde herhangi bir fark yaratmamalıydı – pratikte, snippet , arama için zengin snippet’leri elde etmek için bir sitenin <head> bölümünde olmalıdır. motor sonuçları sayfaları.

Bu, Google’ın dokümanlarından hemen belli değil . İşaretlemeyi bir sayfanın <head> bölümüne <body> bölümünde değil, sayfanın içine koymaktan söz etmenin açık bir anlamı yoktur .

Yine de, bu sorunun arkasında, her zaman yapısal veri biçimlendirmenizi bir sayfanın HTML kaynak kodunun <head> bölümüne koyma tavsiyem oldu . Bu, yapılandırılmış verilerin Google tarafından daha kolay işlenmesine neden oluyor ve müşterilerim için zengin snippet’lere ulaşmaya yardımcı oldu.

Hreflang meta etiketleri ve iframe’ler

Benzer bir meseleyle oldukça yakın bir zamanda karşılaştım. Bir müşterinin sitesi, farklı ülkeleri hedefleyen alternatif sürümleri belirtmek için ana sayfalarında hreflang meta etiketleri uygulamıştı. Bu hreflang etiketleri mükemmel bir şekilde geçerliydi ve ana sayfanın tüm sürümlerinde mevcuttu, ancak Google bunları tanıyamadı.

Müşterinin geliştiricileri, Google’ın bu hreflang meta etiketlerini işleyebilmesinin neleri engelleyebileceğini bulmaya çalışırken, beynine saldırdılar. Etiketler, sayfanın <head> bölümünde yer alan HTML kaynak kodunda olması gerektiği gibi mevcuttu ve diğer tüm ana sayfalardan tam olarak karşılıklılıkları vardı. Bu etiketlerle ilgili herhangi bir sorun olmamalıydı.

Yine de, Google bunları Search Console’da raporlamadı ve uluslararası arama sonuçlarında yanlış ülke versiyonunu gösterme eğiliminde oldu.

Bu müşteriyi aldığımda, yaptığım ilk şeylerden biri sayfanın HTML kaynak kodunu tamamlanmış DOM ile karşılaştırmaktı. Birincisi, bir sayfada “görüntüleme kaynağı” yaptığınızda gördüğünüz şeydir ve ikincisi, tarayıcının, tüm istemci tarafı kodu (JavaScript gibi) yürütüldüğünde kullanıcıları son kullanıcılara göstermek için kullandığı şeydir.

Ve burada çok ilginç bir şey tespit ettim: ham HTML kodunda, hreflang meta etiketlerinin üzerinde yer alan bir JavaScript parçası vardı. Sayfa tamamen oluşturulduğunda ve tüm istemci tarafı kodu yürütüldüğünde, JavaScript sayfaya bir <iframe> yerleştirmişti .

Bu iframe daha sonra hreflang meta etiketlerinin üstüne oturdu. Ve bu, ortaya çıktığında, bir problemdi.

Görüyorsanız, iframe’ler bir web sayfasının <head> bölümüne ait değildir. Resmi HTML5 standardına göre, iframe’ler yalnızca bir sayfanın <body> bölümünde var olmalıdır. Bir web sayfasının kodunun <head> bölümüne bir iframe koymak resmi W3C standardına aykırıdır.

Google, web sayfalarını dizine eklediğinde, bu tür standart kırılma sorunlarının çoğunu hesaba katmaya çalışır. Tamamen W3C uyumlu kodu olan bir web sayfası bulmak çok nadirdir. Neyse ki, HTML çok hoşgörülü bir biçimlendirme dilidir. Web tarayıcıları ve arama motorları, bu sayfaların geçersiz biçimlenmesi olsa bile çoğu web sayfasını iyi işleyebilir.

Ancak bu durumun sorunlu olduğu ve Google’ın iki aşamalı dizin oluşturma işlemiyle ilgili olduğu kanıtlandı. İndekslemenin ilk aşaması bir web sayfasının HTML kaynak koduna dayanır ve bu endeksleme sürecinin bir parçası olarak hiçbir istemci tarafı betiği yürütülmez. Daha sonra Google, aynı sayfanın ikinci aşama dizinlemesini yapar. Burada istemci tarafı komut dosyaları yüklenir ve bir web tarayıcısı olarak sayfa tamamen oluşturulur.

Bir önceki yazımız olan Dofollow mu yoksa Nofollow mu ? başlıklı makalemizi de okumanızı öneririz.