Як автоматично завершити термін дії посилань DoFollow (функція керування посиланнями SEO в PHP)
Я бачу потребу керувати гіперпосиланнями в wordpress у центральному місці. Оскільки у мене є багато посилань dofollow, які більше не дійсні (доступні). Зробити ці недійсні посилання nofollow обов’язковим для цілей пошукової оптимізації (SEO) – ви несете відповідальність за видалення мертвих зворотних посилань, щоб уникнути покарання SEO.
У цій публікації ми розглянемо функції PHP для автоматичного керування посиланнями, щоб ви могли або автоматично закінчувати термін дії посилань, або зробити інші посилання забороненими в одному місці. Ви можете використовувати його на своєму веб-сайті, і він також добре працює в WordPress – можливо, вам знадобиться змінити дочірню функцію вашої теми WordPress, щоб застосувати перетворення тексту/посилань.
По-перше, наведена нижче функція find_links приймає рядок HTML, тож ви можете заповнити його виводом HTML, і вона аналізуватиме рядок HTML і шукатиме кожне гіперпосилання:
1 2 3 4 5 6 |
<?php function find_links($htmlString){ $pattern = '/<a (.*?)href=["'](.*?)//(.*?)["'](.*?)>(.*?)</a>/i'; $htmlString = preg_replace_callback($pattern, 'process_links', $htmlString); return $htmlString; } |
<?php
function find_links($htmlString){
$pattern = '/<a (.*?)href=["'](.*?)//(.*?)["'](.*?)>(.*?)</a>/i';
$htmlString = preg_replace_callback($pattern, 'process_links', $htmlString);
return $htmlString;
}
Як ви могли помітити, регулярний вираз повертає process_links для кожного знайденого гіперпосилання . А далі ви можете додати домен свого сайту в масив $good_domains. І ви можете встановити домени, термін дії яких закінчується, і відповідні дати закінчення терміну їх дії, щоб посилання автоматично ставали NOFOLLOW.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
<?php function process_links($m){ $good_domains = array( "helloacm.com" ); $expiring_domains = array( "fakedomain.com" => "2099-01-01" ); $nofollow = "rel="nofollow""; $target = "target="blank""; $m[2] = strtolower($m[2]); if (($m[2] != "https:") && ($m[2] != "http:")) { $m[2] = ""; } //$domain = str_lower(parse_url($m[3], PHP_URL_HOST)); $domain = getDomainName($m[3]); $curDomain = $_SERVER['SERVER_NAME'] ?? ""; if (in_array($domain, $good_domains) || ($curDomain == $domain)) { $nofollow = ""; } if ($curDomain == $domain) { $target = ""; } if (in_array($domain, array_keys($expiring_domains))) { $expiry = $expiring_domains[$domain]; $today = date("Y-m-d"); if ($today < $expiry) { $nofollow = ""; } } return "<a $nofollow $target href="{$m[2]}//{$m[3]}">{$m[5]}</a>"; } |
<?php
function process_links($m){
$good_domains = array(
"
Функція змінює дві властивості гіперпосилання: _target, яке буде _blank, якщо це зовнішній домен, і rel, для якого автоматично буде встановлено значення nofollow. Ви також можете додати логіку, щоб уніфікувати всі URL-адреси, наприклад, автоматичне перезапис HTTPS, мітки гіперпосилань тощо.
–EOF (The Ultimate Computing & Technology Blog) —
Оцінка: 10.0/ 10 (1 голос)
536 слів
Останній допис: Навчання дітей програмуванню – Перетворення заголовків стовпців електронної таблиці на числа
Наступний допис: Навчання дітей програмуванню – Генерування простих чисел за допомогою алгоритмів Сито Ератосфена
Постійна URL-адреса: Як автоматично завершити термін дії посилань DoFollow (функція керування посиланнями SEO в PHP) (версія AMP)
