nofollow-links-flatboard-forum-und-mecha-v2-flatfile-cms

Flatboard Forum und Mecha v2 CMS: externe Links auf noFollow umstellen – wie geht das?

Hallo lieber Blogleser! Online bin ich nicht als derjenige bekannt, der mit Links geizt, denn das bin ich nicht. Meine wichtigsten Internetforen wie Webmasterwelten.de, Yaf-forum.de und Rostockerblogger.de haben keinerlei NoFollow-Attribut bei den externen Links. In solchen WP-Blogs wie dem Internetblogger.de habe ich es durch das Plugin SMU Manual DoFollow so hand, dass du als Kommentierer nach dem dritten Kommentar doFollow bekommst. So viel Linkliebe muss sein, wenn ich mal meinen würde.

Nun aber zum Wesentlichen dieses Blogposts und ich möchte dir zeigen, wie du dennoch mit noFollow beim Flatboard Forum und in Mecha v2 CMS bei externen Links arbeiten kannst. Der einzige Grund fürs Nofollow meinerseits ist, der – du kennst es ja bei mir schon – dass ich haufenweise eigene Projekte untereinander verlinke. Googlchen sieht so etwas ganz und gar nicht gerne. Daher habe ich seit einer langen Zeit schon beschlossen, nur noch NoFollow zu verlinken.

Beim Flatboard Forum und in Mecha CMS mit noFollow fahren

Seit nun ist es möglich, weil beim Flatboard-Forum dafür ein neues Plugin gibt. Beim Mecha v2 CMS hat der Entwickler Tovic, welcher zuhause unter http://mecha-cms.com ist, einen neuen Hook geschrieben. Mit dem Hook kannst du alle ausgehenden Links im Content, welcher mit dem HTML-Format erstellt wurde, mit NoFollow durchgehen lassen. Ich fange mal mit dem Flatboard an.

Flatboard und noFollow Links

Das gute noFollow-Plugin gibt es in den Ressourcen unter http://flatboard.free.fr/view.php/forum/resources , wo das herunterzuladen wäre. Das Plugin lädst du dann herunter, entpackst es lokal und lädst alles ins Verzeichnis /plugin hoch. Anschliessend loggst du dich im Flatboard-Forum-Backend als Admin ein und aktivierst das erwähnte noFollow-Plugin. Ab dann gilt es. Das Resultat und die Funktionsweise dieses Plugins kannst du dir in meinem Flatboard Board unter https://flatboard.wpzwienull.ch gerne ansehen. Jetzt sind alle externen Links per noFollow und ich habe meine Ruhe wegen dem Suchgigant Googlchen.

NoFollow Links beim Mecha v2 CMS

Das ist ab nun auch möglich und zwar mit dem Einbinden eines Hooks in die index.php deines aktiven Shields. Den Shield, den du nutzt, findest du im FTP-Account mit dem Pfad wie /lot/shield/normal und/oder /lot/shield/document. Je nachdem, was du vorher im GUI, dem Mecha Backend, einstelltest.

Der Hook schaut folgendermassen aus.

Hook zum Einbinden in die index.php

Hook::set('page.content', function($content, $lot = []) use($url) {
 // Page type is not set or has value other than `HTML`, skip!
 if (!isset($lot['type']) || $lot['type'] !== 'HTML') {
 return $content;
 }
 // No anchor(s) found, skip!
 if (strpos($content, '</a>') === false) {
 return $content;
 }
 // Get anchor element(s) from page content…
 $union = new Union;
 return preg_replace_callback('#<a(?:\s[^<>]*?)?>(?:[\s\S]*?)</a>#', function($m) use($union, $url) {
 $a = $union->apart($m[0]);
 // No `href` attribute, skip!
 if (!isset($a[2]['href'])) {
 return $m[0];
 }
 // Check for external link(s)…
 // Based on <https://github.com/tovic/parsedown-extra-plugin>
 $href = $a[2]['href'];
 $if = strpos($href, 'https://' . $url->host) === 0 ||
 strpos($href, 'http://' . $url->host) === 0 ||
 strpos($href, '//' . $url->host) === 0 ||
 strpos($href, '/') === 0 ||
 strpos($href, '?') === 0 ||
 strpos($href, '#') === 0 ||
 strpos($href, 'javascript:') === 0 ||
 strpos($href, '.') === 0 ||
 strpos($href, '://') === false;
 // Check for relative protocol…
 if (strpos($href, '//') === 0 && strpos($href, '//' . $url->host) !== 0) {
 $if = false;
 }
 // If external link…
 if (!$if) {
 // Add `rel="nofollow"` attribute
 $a[2]['rel'] = 'nofollow';
 // Add `target="_new"` attribute
 $a[2]['target'] = '_new';
 }
 // Re-unite the anchor…
 return call_user_func_array([$union, 'unite'], $a);
 }, $content);
 return $content;
}, 2.1);

Das bindest du an der beliebigen Stelle in der nähe anderer Hooks in der index.php ein. Aber bitte nicht die index.php aus dem Rootverzeichnis nehmen. Es wird Fehler geben und da muss es nicht sein.

Das ist auch schon die eigentliche Lösung, die dir ins Mecha CMS und den dazugehörigen Content das NoFollow bringt. Meinerseits sehr zu begrüssen diese Lösung für die ausgehenden Links, denn so kann ich nach Herzenslust meine Projekte im Mecha Blog reviewen und mache mir wegen Google und Co. keine Sorgen.

Fazit dieses Blogposts

Falls du Fragen zum Hook hast, wende dich bitte direkt an den Tovic, den Entwickler unter https://github.com/Tovic. Im Falle des Flatboard Forums und der Fragen zum Plugin wende dich bitte an den Entwickler Fred unter http://flatboard.free.fr. Beiderseits wird dir zeitnah geholfen, weil ich es bereits so kenne.

Vielleicht arbeitest du ja mit dem Flatboard Forum und/oder dem Mecha v2 CMS, dann freue mich auf dein Feedback darunter.

by Alexander Liebrecht

2 Kommentare

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert