WordPress için rel canonical
[ Okuma süresi tahmini 2 dakikadır ]
WordPress anasayfamız için bir rel canonical üretmiyor. Yazılar/ post ve sayfalar/ page için ise otomatik üretiyor.
Anasayfamız için rel canonical kodu eklemek kolay.
<?php if ( is_home() ) : ?><link rel="canonical" href="<?php echo esc_url( home_url( '' ) ); ?>" /><?php endif; ?>
Fakat bu kod sadece anasayfa için
<link rel="canonical" href="https://www.siteisminiz.com" />
şeklinde kod oluşturuyor. Yeterli mi? Değil.
Neden?
Yazıların olduğu 2, 3, 4 … şeklinde devam eden sayfalara da aynı link rel kodunu üretiyor.
İstediğimiz ise;
<link rel="canonical" href="https://www.siteisminiz.com/page/2"/>
olarak da kod üretmesi.
Sayfalandırılmış sayfalar için canonical
Yazıların paginated yani sayfalandırılmış sayfalar şeklinde olduğu durumlar, temalar için rel canonical kodunu bulmam biraz zaman aldı.
İlk önce bu kodu buldum;
<?php if ( is_home() ) : ?><link rel="canonical" href="<?php global $wp; echo home_url($wp->request); ?>" /><?php endif; ?>
Ufak bir iyileştirme ile
<?php if ( is_home() ) : ?><link rel="canonical" href="<?php global $wp; echo esc_url( home_url($wp->request) ); ?>" /><?php endif; ?>
olarak sitede kullandım.
<link rel="canonical" href="https://www.sunipeyk.com/page/2"/>
şeklinde rel canonical kodlarım oldu.