Verwenden des regulären Ausdrucks zum Ersetzen externer Links in WordPress für SEO-Zwecke
WordPress-Pad
Angenommen, wir möchten allen externen Links in Ihren WordPress-Beiträgen/-Seiten ein REL=NOFOLLOW hinzufügen. Wir können einen Filter hinzufügen, um den Inhalt mithilfe der Ersetzungsfunktion für reguläre Ausdrücke zu parsen, z. B. preg_replace_callback.
add_filter('the_content','add_utm_string',999);
function add_utm_string($content){
$content = preg_replace_callback('~hrefs*=s*['"](.*)['"]~i', function ($matches) {
$home_url = parse_url(home_url())['host'];
if (stripos($matches[1], $home_url) === false) {
return 'href="'.$matches[1]. '?utm_source='. $home_url. '" rel=nofollow';
}
return 'href="'.$matches[1].'"';
}, $content);
return $content;
}
Wir fügen dem Filter the_content die Filterfunktion add_utm_string hinzu. Dann verwenden wir die PHP-Funktion preg_replace_callback, die den HTML-String des aktuellen WordPress-Beitrags/der aktuellen WordPress-Seite analysiert und den Hyperlink ersetzt, wenn er extern ist.
Wir verwenden Folgendes, um den aktuellen Domainnamen, z. B. helloacm.com, Ihrer WordPress-Site zu extrahieren.
$home_url = parse_url(home_url())['host'];
Dann können wir unsere eigenen Links ausschließen. Andernfalls werden allen externen Links das „NOFOLLOW”-Tag und der Abfrageparameter ?utm_source hinzugefügt. Sie können den Linkaufbau natürlich ganz einfach anpassen.
Die PHP-Funktion preg_replace_callback nimmt den ersten Parameter: Reguläres Ausdrucksmuster, der zweite Parameter ist eine Rückruffunktion, wenn das Muster übereinstimmt, und der dritte Parameter die ursprüngliche Zeichenfolge.
Dies ist eine nützliche Optimierung für Ihre WordPress -Vorlage (Sie können die obige PHP-Funktion zu Ihrer Theme-Vorlage functions.php hinzufügen), die Ihre WordPress-SEO verbessert.