WordPress Yinelenen Başlık Etiketleri ve Meta Açıklamalar Sorunu

26 10 2013 17:28 tarihinde, WordPress kategorisinde yazıldı. 4 yorum yapıldı, 5220 kez okundu

canonical

Blogumda yaşadığım ve çözüme kavuşturduğum yeni bir konuyu bu yazımda sizlerle de paylaşmak istiyorum.

Google Web Yönetici Araçlarında HTML geliştirmeleri bölümünde yinelenen başlık etiketleri ve meta açıklamalar mevcut. Bunları nasıl en aza indirgerim diye bir araştırma yaptım. Siz de böyle bir sorun yaşıyorsanız umarım yardımcı olur.

Bu sorunu rel=”canonical” yardımıyla çözeceğiz. Canonical ile aynı içeriğe sahip birden çok sayfaya bir patron seçmektir. Yani arma motorlarında dikkate alınması gereken sayfayı seçmek.

Mesela WordPress’te yorumlarınız sayfalanmış haldeyse 2.sayfadaki yorumlara girdiğinizde sayfanızın içeriği değişmez. Ancak başlık ve meta açıklamalar aynıdır. Adres ise değişir. Mesela;

http://www.nebigarci.net/twitterda-askiya-alinan-hesabi-geri-alma/comment-page-16

adresindeki başlık ve açıklamalar şu adresteki ile aynıdır.

http://www.nebigarci.net/twitterda-askiya-alinan-hesabi-geri-alma

Çünkü biri diğerinin yorum sayfasıdır.

Peki arama motorları bunu nasıl görür?

Arama motorları bu iki adresi farklı sayfalar olarak görür ancak içeriği aynıdır. Biz bunu tek sayfa olarak görmesini sağlarsak anahtar kelimelerimiz, başlıklarımız ve meta açıklamalarımız tekrar etmemiş olur. Dolayısıyla yinelenen içerik sorunu çözülmüş olacaktır.

WordPress varsayılan olarak kendisi  rel=”canonical” etiketini temanızın header kısmına ekler. Ancak burada bir sorun var. Yukarıda verdiğim iki adrese de bu kodu ekler. O zaman arama motorları bu sayfaların hangisinin standart sayfa oluduğunu anlayamaz ve farklı sayfalar olarak indexler.

WordPress’in varsayılan  rel=”canonical” etiketini kaldırmamız gerekecek. Bunun yerine standart sayfaları tanımlamamız gerekiyor. Kaldırmak için temanızın functions.php dosyasına aşağıdaki kodu ekleyin.

remove_action( 'wp_head', 'rel_canonical' );

Kaldırma işlemi tamamlandı. Şimdi biz tekil yazıların haricinde de canonical etiketini kaldırdık. Bu yüzden temamızın <head></head> etiketi içerisine tekil yazıların haricindeki canonical etiketini geri ekleyeceğiz. Bunun için şu kodları ekleyin.

<?php if (! is_singular())

 { ?>
 <link rel="canonical" href="<?php echo bloginfo('url'); echo $_SERVER['REQUEST_URI'];?>" />
 <?php } ?>

Şimdi biz tekil yazıların haricindeki sayfalara canonical etiketini ekledik. Sıra geldi tekil yazılara.  Tekil yazılarda ise yorum sayfaları olsa bile canonical olarak standart sayfayı yorum sayfası görmeyecek şekilde ayarlayacağız.  Bunun için de aşağıdaki kodu functions.php dosyasına ekleyin.

function canonical_yinelenen_yorum() {
	global $cpage, $post;
	if (is_singular()):
		if ($cpage =!'') :
			echo "\n";
			echo "<link rel='canonical' href='";
			echo get_permalink( $post->ID );
			echo "' />\n";
		endif;
	endif;
}
add_action('wp_head', 'canonical_yinelenen_yorum');

Şimdi biz kaç tane yorum sayfası olursa olsun hepsinde cananical etiketinde şu adresi göreceğiz:

http://www.nebigarci.net/twitterda-askiya-alinan-hesabi-geri-alma

Böylece arama motorları yorum sayfalarının tümünü tek sayfa olarak indexleyecektir.

Bu konudaki düşüncelerinizi siz de yorum olarak paylaşabilir, aşağıdaki butonlar aracılığıyla daha çok kişiye ulaştırabilirsiniz.

Bunlar da İlginizi Çekebilir
Bu Makale 4 Yorum Aldı. Siz Ne Düşünüyorsunuz?
  1. Merhaba ;

    Yinelenen başlık etiketi hakkındaki makaleniz güzel olmuş. Fakat Wp tarafından sitemin header kısımına eklenen rel=”canonical” diye bir kod buladım. fuction php de ve tag php de de hatta single php de bile bulamadım. Sizin önerileriniz doğrultusunda, fuction php ye, remove_action( ‘wp_head’, ‘rel_canonical’ ); kodunu ekledim ve site alt üst oldu ve ftp ye girerek kodu kaldırdım da düzeldi. Acaba benmi bir yerde hata yapıyorum yoksa sizin bu metodda bir sorun m var. Ben bu yinelenen başlık etiketlerinden çok çekiyorum, bunları robots txt dosyasıyla engeleme ihtimali varmıdır yardımcı olursanız sevinirim. İyi çalışmalar dilerim

    • Kendi kullandığım kodları paylaştım kodlarda bir sıkıntı olmadığını düşünüyorum. Tema dosyalarınızla ilgili bir sorun olabilir.

  2. Selam.
    O belirttiğiniz kodu functions.php dosyasına ekledim ama canonical kodu kalkmadı. Kodda bir sorun mu var acaba

Sponsorlu Bağlantılar

Son Yorumlar

  • Nebi GARCI Misafir

    Gerçekten güzel bir çalışma. Ellerinize sağlık. Farklı çalışmalarınızı da bekliyorum.
  • Nebi GARCI Nebi Garcı

    Tampermonkey kurulumu için İngilizce bilmenize gerek yok. Verilen bilgilerle eklentiyi kurabiliyor olmanız lazım.
  • Nebi GARCI bayram

    ingilizcem yok bu yüzden tampermonkey i kuramadım yardımcı olur musunuz.
  • Nebi GARCI Misafir

    Hesabım kilitlendi telefonuma kimlik doğrulama kodu gelmesi lazım hesabıma girebilmem için ama kod gönderdik yazıyor gelmiyor lütfen yardımcı olur musun
  • Nebi GARCI Nebi Garcı

    Kod çalışıyor. Twitter bir şeyler değiştirmiş olmalı.