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.

Bu kod ile birlikte temanızın içinde bulunan functions.php dosyasını düzenleyeceğiz. Bu temanızın ve WordPress sisteminin düzgün çalışabilmesi için gerekli olan bir dosya olduğundan, işlemden önce lütfen yedek alınız. functions.php wp-content/themes/temanizin-adi/ klasöründe bulunur.
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;
}

Kaynak: http://www.onextrapixel.com/2012/10/12/5-code-snippets-for-interacting-with-wordpress-post-content-effectively

Selametle