Använda det reguljära uttrycket för att ersätta externa länkar i WordPress för SEO-ändamål
wordpress-pad
Låt oss säga att vi vill sätta en REL=NOFOLLOW på alla externa länkar i dina wordpress-inlägg/sidor, vi kan lägga till ett filter för att analysera innehållet med hjälp av det reguljära uttrycket ersätt funktionen t.ex. 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;
}
Vi lägger till filterfunktionen add_utm_string till filtret the_content. Sedan använder vi PHP preg_replace_callback-funktionen som analyserar HTML-strängen för det aktuella wordpress-inlägget/sidan, och ersätter hyperlänken om den är extern.
Vi använder följande för att extrahera det aktuella domännamnet t.ex. helloacm.com för din wordpress-sajt.
$home_url = parse_url(home_url())['host'];
Sedan kan vi utesluta våra egna länkar. Annars kommer alla externa länkar att läggas till "NOFOLLOW"-taggen och frågeparametern ?utm_source. Du kan naturligtvis anpassa länkbyggandet enkelt.
PHP preg_replace_callback-funktionen tar den första parametern: Regular Expression Pattern, den andra parametern är en call back-funktion när mönstret matchas, och den tredje parametern den ursprungliga strängen.
Detta är en användbar tweak för din wordpress- mall (du kan lägga till ovanstående PHP-funktion till din temamall functions.php) som förbättrar din wordpress SEO.