Regulaaravaldise kasutamine WordPressi väliste linkide asendamiseks SEO eesmärkidel
wordpress-pad
Oletame, et tahame lisada REL=NOFOLLOW kõigile välistele linkidele teie WordPressi postitustes/lehtedes, saame lisada filtri sisu sõelumiseks, kasutades regulaaravaldise asendamise funktsiooni, nt 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;
}
Lisame filtrile the_content filtrifunktsiooni add_utm_string. Seejärel kasutame PHP funktsiooni preg_replace_callback, mis analüüsib praeguse WordPressi postituse/lehe HTML-stringi ja asendab hüperlingi, kui see on väline.
Kasutame teie WordPressi saidi praeguse domeeninime, nt helloacm.com, eraldamiseks järgmist.
$home_url = parse_url(home_url())['host'];
Seejärel saame oma lingid välja jätta. Vastasel juhul lisatakse kõigile välistele linkidele silt NOFOLLOW ja päringuparameeter ?utm_source. Muidugi saate linkide loomist hõlpsalt kohandada.
Funktsioon PHP preg_replace_callback võtab esimese parameetri: Regular Expression Pattern, teine parameeter on tagasikutsumisfunktsioon, kui muster on sobitatud, ja kolmas parameeter algse stringi.
See on kasulik näpunäide teie WordPressi malli jaoks (saate lisada ülaltoodud PHP funktsiooni oma teemamallile functions.php), mis täiustab teie WordPressi SEO-d.