Webdesign, WordPress Programmierung, Online und Social Media Marketing - Webworker Blog
Olivers Artikel WordPress Dofollow ohne Plugin hatte mich etwas zum Nachdenken gebracht. Ich bin ja auch eine absolute Plugin Minimalistin und wenn ein Plugin gespart werden kann, dann ist das durchaus schon eine Überlegung wert. Nur mag ich aber ebenfalls auch keine WordPress Core-Änderungen, weswegen für mich die von Oliver vorgestellte Methode, zum Abstellen von Nofollow Links in den WordPress Kommentaren ohne Plugin, nicht in Frage kam.
Auf einigen meiner WordPress Blogs verwende ich das Nofollow Case by Case Plugin. Bis auf die Tatsache, dass es ein Plugin ist, war ich damit ziemlich zufrieden. Über den Sinn oder Unsinn, einzelne Kommentar Links mit nofollow zu versehen, kann man sich ja bekanntlich streiten. Und Olivers Einstellung, entweder ein vollwertiger Link oder gar kein Link, hat auch so einiges für sich.
Also machte ich mich erst einmal auf die Suche, ob es nicht vielleicht eine andere einfache Lösung gibt, um Nofollow im Kommentarbereich ohne Plugin und auch ohne Core-Änderung abzuschalten. Eigentlich müsste das doch auch über die functions.php im Theme hervorragend funktionieren.
Wieder mal bin ich fündig geworden, das bisherige Nofollow Plugin deaktiviert, folgende 4 Zeilen in die functions.php eingefügt und schon ist Dofollow ohne Plugin realisiert:
function strip_nofollow($ret) {
$ret = str_replace("rel='external nofollow'","rel='external'", $ret);
return $ret;
}
add_filter('get_comment_author_link', 'strip_nofollow');
Wer mich kennt wird vielleicht ahnen, dass mir das dann doch noch ein bisschen zu wenig ist. Denn eigentlich fand ich schon immer die Lösung des einen Nofollow Plugins interessant, welches die ersten x Kommentare eines Kommentators automatisch auf nofollow setzt. Dass dies bei meinem Nofollow Case by Case Plugin nicht möglich ist, hat mich etwas gestört und mir gerade auch hier im Blog schon einiges an manueller „Nofollow Case by Case“ Arbeit aufgehalst.
Linkabstauber kann ich so ganz und gar nicht leiden, wobei auch die Einstellung von Oliver – ein Link oder kein Link – nicht zu verachten ist. Dann muss ich halt noch etwas weniger großzügig werden und einfach mehr Links löschen. Hm… da bleiben aber immer noch diejenigen, die mir im Eifer des Gefechts (schließlich habe ich nicht unendlich viel Zeit für meine Blogs) durch die Lappen gehen.
All diese Überlegungen schossen mir durch den Kopf, bis ich mich entschied, einfach mal auszuprobieren die DoFollow functions.php Lösung etwas umzuschreiben und erst ab dem 3. Kommentar einen Dofollow Link zu vergeben. Die ersten beiden Links des Kommentator sind Nofollow, ab dem dritten Kommentar erhält er alle Links dofollow. Einen Comment Count eingebaut, Trackbacks und Pingbacks ausgefiltert und so sieht meine functions.php Lösung nun aus:
//Dofollow ab dem 3. Kommentar
function strip_nofollow($ret) {
global $wpdb, $comment;
$queryString="SELECT COUNT(*) as comments FROM ".$wpdb->comments." WHERE comment_author_url='".$wpdb->escape($comment->comment_author_url)."'";
$comments_count = $wpdb->get_var($queryString);
if ($comment->comment_type == "pingback" || $comment->comment_type == "trackback") {
$ret = str_replace("rel='external nofollow'","rel='external'", $ret);
return $ret;
}
if ($comments_count >= 3) {
$ret = str_replace("rel='external nofollow'","rel='external'", $ret);
return $ret;
} else {
return $ret;
}
}
add_filter('get_comment_author_link', 'strip_nofollow');
Das Ganze hatte ich auf ein paar Blogs zum Test implementiert -> läuft hervorragend.
Der Comment Count könnte bei einer höheren Anzahl von Kommentaren aber einiges an Last fressen, so dass man es erst einmal langsam ausprobieren sollte.
Für alle, die das /dontfollow aus dem Nofollow Case by Case auch weiterhin nutzen wollen, bzw. Ihre Datenbank diesbezüglich nicht bereinigen wollen, habe ich die Funktion mal kurz erweitert, so dass Links mit dem /dontfollow Zusatz in einen nofollow Link umgewandelt werden:
//Dofollow ab dem 3. Kommentar + manuelles dontfollow
function strip_nofollow($ret) {
global $wpdb, $comment;
$queryString="SELECT COUNT(*) as comments FROM ".$wpdb->comments." WHERE comment_author_url='".$wpdb->escape($comment->comment_author_url)."'";
$comments_count = $wpdb->get_var($queryString);
if ($comment->comment_type == "pingback" || $comment->comment_type == "trackback") {
$ret = str_replace("rel='external nofollow'","rel='external'", $ret);
return $ret;
}
$cmntURL = $comment->comment_author_url;
$dontfollow_link = stristr($cmntURL, 'dontfollow');
if ($comments_count >= 3 && $dontfollow_link === FALSE) {
$ret = str_replace("rel='external nofollow'","rel='external'", $ret);
return $ret;
} else {
$ret = str_ireplace("/dontfollow", "/", $ret);
return $ret;
}
}
add_filter('get_comment_author_link', 'strip_nofollow');
Wer die Nofollow Links im WordPress Kommentar Bereich ohne Plugin abschalten möchte, hat nun die Möglichkeit, über diese zwei verschiedenen Funktionen (die ersten beiden) dies beliebig zu gestalten. Auch wer bereits schon das Dofollow Case by Case Plugin im Einsatz hatte, kann die mit diesem Plugin auf nofollow gesetzten Links mit der dritten Möglichkeit weiterhin so belassen, ohne diese Links entsprechend abändern zu müssen.
Letzte Kommentare ohne WordPress Plugin oder Widget anzeigen - Letzte Kommentare können in WordPress über das Standard-Widget angezeigt werden. Es gibt aber auch das eine oder andere Plugin für die letzten bzw. neuesten Kommentare. Für alles, was halbwegs ordentlich [...]
dofollow nur für WordPress Trackbacks und Pingbacks ohne Plugin - Trackbacks und Pingbacks sind in meinen Augen das Herzstück unserer Blogs. Während viele Blogger wesentlich mehr Augenmerk auf die Kommentare legen und ihre Kommentatoren mit allen erdenklichen Features unterstützen, geht [...]
Sidebar Anzeige der letzten Pingbacks und Trackbacks ohne Plugin - Da beschweren wir uns immer wieder über den Linkgeiz in der deutschen Blogosphäre, aber so wirklich auf die Idee gekommen die Pingbacks und Trackbacks zu belohnen ist noch niemand. Stattdessen [...]
WordPress Tagcloud bzw. Archive mit nofollow verlinken - Der eine oder andere hat in seinem WordPress Blog die Tagcloud oder auch die Archive als Widget bzw. manuell über die Sidebar eingebunden. Die Verlinkungen der einzelnen Tags und Archive [...]
WordPress Kommentarzähler Plugin: Comment Count Admin (by URL) - Das zweite Plugin aus meiner eigenen Schmiede ist ein Kommentarzähler, der etwas anders funktioniert, als wir es von WordPress gewohnt sind. Normalerweise werden die Kommentare anhand der eMail Adresse des [...]