Säännöllisen lausekkeen käyttäminen ulkoisten linkkien korvaamiseen WordPressissä SEO-tarkoituksiin
wordpress-pad
Oletetaan, että haluamme laittaa REL=NOFOLLOW kaikkiin ulkoisiin linkkeihin wordpress-viesteissäsi/sivuillasi. Voimme lisätä suodattimen sisällön jäsentämiseksi käyttämällä säännöllistä lauseketta korvaa-toimintoa, esim. 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;
}
Lisäämme suodatusfunktion add_utm_string suodattimeen the_content. Sitten käytämme PHP preg_replace_callback -funktiota, joka jäsentää nykyisen wordpress-viestin/sivun HTML-merkkijonon ja korvaa hyperlinkin, jos se on ulkoinen.
Käytämme seuraavaa poimiaksemme WordPress-sivustosi nykyisen verkkotunnuksen, esim. helloacm.com.
$home_url = parse_url(home_url())['host'];
Sitten voimme sulkea pois omat linkkimme. Muussa tapauksessa kaikkiin ulkoisiin linkkeihin lisätään "NOFOLLOW"-tunniste ja ?utm_source-kyselyparametri. Voit tietysti muokata linkkien rakentamista helposti.
PHP preg_replace_callback -funktio ottaa ensimmäisen parametrin: Regular Expression Pattern, toinen parametri on takaisinkutsutoiminto, kun kuvio on sovitettu, ja kolmas parametri alkuperäisen merkkijonon.
Tämä on hyödyllinen nipistys wordpress – mallillesi (voit lisätä yllä olevan PHP-toiminnon teemamalliisi functions.php), joka parantaa wordpress SEO:ta.