Yazı içeriğindeki linklere nofollow eklemek
Warning: file_get_contents(http://www.onextrapixel.com/2012/10/12/5-code-snippets-for-interacting-with-wordpress-post-content-effectively): Failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in /home/u989750086/domains/wpadami.com/public_html/wp-content/plugins/s-fonks/s-fonks.php on line 89
Konu başlığına bakında oradan nasıl görünüyor bilmiyorum, ama buradan bana bir SEO geliştirmesi olarak görünüyor bu fonksiyon. WordPress yapısının varsayılanı olarak, yazı içerisindeki linklerde bir değişiklik yapılmaz. Yani siz ne şekilde o linkleri eklerseniz aynen o şekilde görünür yazı sayfasında. Ama bazı durumlarda verdiğimiz linkler içerik barındırmayan sayfalara gidiyor olabilir. Link verilen sitenin anasayfası gibi. Ayrıca sitenizin dışında manasız linkler vermek ve bunları robotlara takip ettirmek de pek akıllıca değil.
Aşağıda bulacağınız kod ile yeni eklediğiniz (ve ondan öncekilerinde) yazılarınızda bulunan sizin sitenizin dışındaki linklerin tümüne otomatik olarak rel="nofollow"
ekleyeceksiniz. Bunun elbette link değişimi yapmış olduğunuz site sahipleriyle sorun yaratabilme ihtimali olacaktır. Ama sitenizin arama motorları tarafından indekslemesi safhasını kolaylaştırmak istiyorsanız bunu yapmalısınız.
Kod
Bu kodu temanızın functions.php
dosyası içine ?>
ifadesinden önce ekleyin.
add_filter('the_content', 'auto_nofollow');
function auto_nofollow($content) {
//return stripslashes(wp_rel_nofollow($content));
return preg_replace_callback('/<a>]+/', 'auto_nofollow_callback', $content);
}
function auto_nofollow_callback($matches) {
$link = $matches[0];
$site_link = get_bloginfo('url');
if (strpos($link, 'rel') === false) {
$link = preg_replace("%(href=S(?!$site_link))%i", 'rel="nofollow" $1', $link);
} elseif (preg_match("%href=S(?!$site_link)%i", $link)) {
$link = preg_replace('/rel=S(?!nofollow)S*/i', 'rel="nofollow"', $link);
}
return $link;
}
Selametle