Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
mecha in opensource nofollow mechacms externen hooks webmaster cms bei snippets links webentwicklung blogger v php attribut software

NoFollow-Attribut bei externen Links in Mecha v CMS

#1
Star 
Hallo Forumleser,

ich habe mich heute bei meinem Mecha v2 CMS Projekt einem neuen Hook seitens des Entwicklers Tovic unter https://mechacms.wpzweinull.ch/article/m...e-geht-das gewidmet. Mit diesem Hook verpasst du im Falle des HTML-Formats allen ausgehenden Links das NoFollow-Attribut. Ich kann es nur begrüssen, speziell im eigenen Portfolio, denn dir entgeht es doch auch nicht, dass ich meine Projekte untereinander verlinkte. Daher muss ich überall mit NoFollow arbeiten.

Wie geht der Hook als eine Art Code Schnipsel?
Code:
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 wäre dieser Hook und er wieder in der index.php deines Shields eingebunden. Das wäre im FTP-Account unter /lot/shield/normal oder /lot/shield/document. Nimm von dort die index.php, öffne sie im PHP/HTML-Editor und füge den Hook dort ein. Vermutlich hast du schon welche Hooks eingebunden, so achte darauf, dass zwischen den Hooks Abstände sind, damit du es dann selbst auseinander halten kannst.

Zahlreiche Snippets, Code Schnipsel, hat der Entwickler Tovic für dich auf seine Entwickler Webseite unter Mecha CMS und von der lasse ich mich des Öfteren mal inspirieren. Wenn ich welche Hooks selbst einigermassen nachvollziehen kann bzw. weiss, wie sie eingebunden werden, zeige ich sie dann auch sehr gerne.
Alexander Liebrecht
Alte Warnemünder Ch. 25
D-18109 Rostock
Mail: power_sash@gmx[dot]net

Kleinunternehmer nach §19 der Kleinunternehmerregelung. Steuernummer 079/245/06541. Finanzamt Rostock. Rechnungen weisen keine Mehrwertsteuer aus.

Portfolio:
Hauptblog >> https://internetblogger.de
Hauptwiki: >> https://wiki.webmasterwelten.de
CMS-Installation-Service >> KLICK <<
Confluence Server >> http://confluenceblog.internetblogger.de
Zitieren
  


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
Lightbulb NoFollow-Links bei "external" im Flatboard-Forum Alex L 0 124 11.08.2017, 16:44
Letzter Beitrag: Alex L
Star Wie du beim Mecha v2 CMS eine Poll-Extension zum Laufen bringen kannst Alex L 0 226 14.05.2017, 18:17
Letzter Beitrag: Alex L
Star Du kannst dich beim Mecha v2 CMS bei neuen Kommentaren benachrichtigen lassen Alex L 0 353 25.04.2017, 15:07
Letzter Beitrag: Alex L
Heart Zu Mecha v2 CMS-Entwicklung gebloggt Alex L 0 314 11.04.2017, 03:59
Letzter Beitrag: Alex L
  Kanntest du den Fakt der noFollow-Links bei PHP Fusion 9 CMS Alex L 0 596 10.01.2017, 15:50
Letzter Beitrag: Alex L
Rainbow DoFollow oder noFollow im Internetforum Alex L 0 503 14.08.2016, 13:30
Letzter Beitrag: Alex L
Star Mecha CMS auf Rootserver installieren Alex L 0 485 26.07.2016, 06:43
Letzter Beitrag: Alex L
Smile Mecha CMS 1.2.7 erblickte die Welt Alex L 0 607 18.06.2016, 13:05
Letzter Beitrag: Alex L
  Neues Mecha CMS Update erschienen Alex L 0 537 25.03.2016, 09:27
Letzter Beitrag: Alex L
Star Mecha CMS Version 1.2.1 online Alex L 0 744 15.02.2016, 21:20
Letzter Beitrag: Alex L

Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
1 Gast/Gäste