WordPress: dodaj nofollow do wszystkich linków w treści

Drobny kawałek kodu, który nadaje wszystkim linkom w artykułach atrybut nofollow.

add_filter( 'the_content', 'add_no_follow' );
function add_no_follow($content)
{
    if ( preg_match_all( '/<a[^>]+>/', $content, $matches ) ) {
        foreach ( $matches[0] as $old ) {
            $new = preg_replace( '/ rel="[^"]+"/', '', $old );
            $new = preg_replace( '/>/', ' rel="nofollow">', $new );
            $re = sprintf('|%s|', preg_replace( '/\|/', '\\|', $old ) );
            $content = preg_replace( $re, $new, $content );
        }
    }
    return $content;
}
[zip href="http://iworks.pl/wp-content/uploads/2013/09/iworks-wp-login.php-.zip"]iworks-nofollow.php[/zip]

Jak użyć podany kod?

Masz 3 rozwiązania:

  1. wrzuć załączony plik do folderu wp-content/plugins, a potem włącz wtyczkę
  2. wrzuć załączony plik do folderu wp-content/mu-plugins
  3. dołącz kod do pliku functions.php aktualnie używanego motywu

Poprzedni

WordUp Łódź

Następne

WordPress 3.8 – polskie tłumaczenie

9 komentarzy

  1. eldeko

    Z jakich przyczyn może to mi nie działać?

  2. Może moje pytanie będzie dziwne, ale i tak je zadam – po co robić taki zabieg z linkami?

  3. @Jakub: nie wiem.

  4. @Marcin – Rozumiem, że zadziałało – „klient tak chciał”?

  5. Michał Kutnik

    Atrybut ten zabrania indexowania poszczególnych elementów strony. Z tego co mi wiadomo, taki zabieg wykonuje się przy pozycjonowaniu strony =)
    Pozdrawiam

  6. Ja wiem co robi atrybut nofollow – pytałem raczej filozoficznie po co tak robić?

  7. Kulin

    W olbrzymiej większości blogów jest ustawiony atrybut nofollow. Ja w swoich serwisach też bardzo często go ustawiam. Ustawiam to jednak ręcznie…

    Zawsze to jednak bezpiecznie (ze względu na Google) mieć nofollow zamiast dofolow (zwłąszcza tam, gdzie dofolow nie jest potrzebny).

  8. @Kulin – Napisałeś, jak robisz u siebie, ale to nadal nie jest odpowiedź na moje pytanie – po co?

Oparte na WordPress & Theme by Anders Norén