ResolvedGoogle Search Console "url" alanı eksik ("author" içinde) Hatası ve Kesin Çözümü (Denendi)

Joined
Dec 31, 2025
Messages
21
Solutions
1
Reaction score
13
Trade
+0 (+0/-0)
Points
108
1/3
Thread owner
Arkadaşlar selamlar,
Son zamanlarda Google Search Console panelimde Kritik olmayan en önemli sorunlar altında "url" alanı eksik ("author" içinde) uyarısını almaya başlamıştım. Benim gibi bu sorunu yaşayan çok kişi olduğunu gördüğüm için, kendi sitemde uyguladığım ve kesin sonuç aldığım çözümü sizinle de paylaşmak istedim.
Sorunun Sebebi Nedir?
Eğer forumunuzda ziyaretçi (misafir) yorumlarına izin veriyorsanız, Google Bot bu yorumları tararken bir üye profili (url) arıyor. Ancak misafirlerin bir profil sayfası olmadığı için XenForo varsayılan olarak bu alanı boş bırakıyor. Google da haklı olarak "Burada bir yazar var ama profil linki nerede?" diyerek hata veriyor.
Önemli Uyarı: Bu sorunu çözmek için ziyaretçi linklerini ana sayfaya yönlendirmeyi (redirect) denemeyin. Bu durum sitenizde Soft 404 hatalarına yol açar ve Search Console'daki uyarıyı da kod yapısı değişmediği için düzeltmez.
Sorunu Nasıl Çözdüm? (Adım Adım Uygulama)
Çözüm aslında çok basit. Kod üzerinden sisteme şunu söylüyoruz: "Eğer yorumu yazan üyeyse profil linkini ver, misafirse forumun ana sayfa linkini ver." Böylece Google aradığı URL alanını boş görmüyor.
  1. Admin Paneli > Görünüm ve Diller (Appearance) > Şablonlar (Templates) sekmesine girin.
  2. Arama çubuğuna structured_data_macros yazarak şablonu açın.
  3. Şablon kodları içinde Ctrl + F yardımıyla şu bloğu bulun.
Welcome! Please Login or Register to view hidden content.
Bu bloğu silin ve yerine tam olarak aşağıdaki güncel kodu yapıştırıp şablonu kaydedin.

Welcome! Please Login or Register to view hidden content.

Sonuç:
Bu düzenlemeyi yaptıktan sonra Google Zengin Sonuçlar Testi ile kontrol ettim ve hatanın tamamen yeşile döndüğünü gördüm. Ardından Search Console'a girip "Düzeltmeyi Doğrula"butonuna bastım. Şu an sorunsuz bir şekilde süreç tamamlandı.
Aynı hatayı alan arkadaşlara kesinlikle bu yöntemi tavsiye ederim. Takıldığınız bir yer olursa konunun altına yazın, sitedeki adminleriniz yardımcı olacaktır. Yaptığım işlem yalnışsa sayın adminlerim beni uyarın lütfen
 
Solution
Paylaşımınız ve emeğiniz için teşekkür ederim. Lakin bir şey sormak istiyorum. Kullanmış olduğunuz XenForo sürümü nedir? XenForo çekirdek şablonlarında structured_data_macros böyle bir şablon bulunmamaktadır. Bu kullandığınız herhangi bir eklentiye ait bir şablon olabilir mi?

Yanlış anlamanızı istemem ama Artık structured_data_macros gibi bir şablon yok; çünkü XenForo 2.3.x yapısal verileri (JSON-LD) artık şablonlarda (HTML içinde) değil, tamamen arkaplanda PHP (Entity ve Handler) katmanında dinamik olarak oluşturulmaktadır.

Sizin aradığınınız ve misafirlerin profil linki olmadığı için boş dönen o author > url kısmı, doğrudan çekirdek PHP dosyasında oluşturuluyor. Örneğin Konular (Threads) için bu veri şu...
Paylaşımınız ve emeğiniz için teşekkür ederim. Lakin bir şey sormak istiyorum. Kullanmış olduğunuz XenForo sürümü nedir? XenForo çekirdek şablonlarında structured_data_macros böyle bir şablon bulunmamaktadır. Bu kullandığınız herhangi bir eklentiye ait bir şablon olabilir mi?

Yanlış anlamanızı istemem ama Artık structured_data_macros gibi bir şablon yok; çünkü XenForo 2.3.x yapısal verileri (JSON-LD) artık şablonlarda (HTML içinde) değil, tamamen arkaplanda PHP (Entity ve Handler) katmanında dinamik olarak oluşturulmaktadır.

Sizin aradığınınız ve misafirlerin profil linki olmadığı için boş dönen o author > url kısmı, doğrudan çekirdek PHP dosyasında oluşturuluyor. Örneğin Konular (Threads) için bu veri şu dosyada inşa edilir: src\XF\ThreadType\AbstractHandler.php (Satır 295 civarı):

Welcome! Please Login or Register to view hidden content.
Google Search Console'daki "url alanı eksik (author içinde)" uyarısı aslında bir "Hata" değil, "Kritik Olmayan Uyarı"dır. Misafir kullanıcıların doğal olarak bir profil linki olmadığı için XenForo bunu bilerek boş bırakır. Bu sitenin sıralamasını düşürmez. Ancak Search Console'da %100 yeşil bir tabloda göstermez.

Bu sorunu çözmek için ya eklenti kullanmak gerekir. Yada XF çekirdek dosyasına müdehale etmek gerekir ki bunu öneremem.

En sağlıklı yöntem, XenForo'nun Class Extension (Sınıf Uzantısı) sistemini kullanarak küçük bir eklenti yazmaktır. XF\ThreadType\AbstractHandler sınıfındaki getLdStructuredData metodunu extend edip, yazar misafirse URL olarak \XF::options()->boardUrl (Anasayfa linki) atanmasını sağlayabilirsiniz.

Diğer bir seçenek önermediğim:
src/XF/ThreadType/AbstractHandler.php dosyasını açarsınız

Bul:
Welcome! Please Login or Register to view hidden content.
Değiştir:
Welcome! Please Login or Register to view hidden content.
Bu sayede daha doğru bir yol izlemiş olabiliriz.
 
Solution
Thread owner
XenTR
Hocam selamlar, öncelikle bu harika ve teknik detaylarla dolu katkınız için çok teşekkür ederim! Haklısınız, eksik bıraktığım noktayı çok güzel tamamlamışsınız.
Benim bu düzenlemeyi yaptığım test sitesi XenForo 2.2.x sürümündeydi. Sizin de belirttiğiniz gibi XenForo, yeni nesil 2.3.x sürümlerinde yapısal verileri (JSON-LD) şablonlardan tamamen kaldırıp arka planda PHP (Entity ve Handler) katmanına taşıdı.
Sürüm farkından dolayı oluşabilecek bu karmaşayı netleştirdiğiniz için minnettarım. Sizin verdiğiniz PHP çözümünü de izninizle ana konuya ekleyeceğim. Böylece konumuz hem XenForo 2.2 ve altısürümleri kullananlar için (Şablon yöntemi) hem de XenForo 2.3+ kullananlar için (PHP / Dosya yöntemi) tam bir rehber haline gelmiş olur.
Çekirdek dosya düzenlemek istemeyen 2.3 kullanıcıları için de belirttiğiniz gibi Class Extension ile küçük bir eklenti yazmak en doğrusu, ancak eklenti yapamayanlar için paylaştığınız satır arası urlLink ?: \XF::options()->boardUrl fallback çözümü hayat kurtaracaktır.
Bilgi paylaştıkça çoğalır, değerli yorumunuz için tekrar teşekkürler!
 
Quick Jump
Back
Top Bottom