wordpress-pad
Скажімо, ми хочемо розмістити REL=NOFOLLOW на всіх зовнішніх посиланнях у ваших публікаціях/сторінках WordPress, ми можемо додати фільтр для аналізу вмісту за допомогою функції заміни регулярного виразу, наприклад 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;
}
Ми додаємо функцію фільтра add_utm_string до фільтра the_content. Потім ми використовуємо функцію PHP preg_replace_callback, яка аналізує рядок HTML поточної публікації/сторінки WordPress і замінює гіперпосилання, якщо воно зовнішнє.
Ми використовуємо наступне, щоб отримати поточне доменне ім’я, наприклад helloacm.com, вашого сайту WordPress.
$home_url = parse_url(home_url())['host'];
Тоді ми можемо виключити наші власні посилання. В іншому випадку до всіх зовнішніх посилань буде додано тег «NOFOLLOW» і параметр запиту ?utm_source. Звичайно, ви можете легко налаштувати створення посилань.
Функція PHP preg_replace_callback приймає перший параметр: шаблон регулярного виразу, другий параметр — це функція зворотного виклику, коли шаблон збігається, а третій параметр — вихідний рядок.
Це корисне налаштування для вашого шаблону WordPress (ви можете додати наведену вище функцію PHP до свого шаблону теми functions.php), яке покращує ваш WordPress SEO.