Как автоматически истечь срок действия ссылок 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 (Блог о совершенных вычислениях и технологиях) –
Рейтинг: 10.0/ 10 (1 голос)
536 слов
Последнее сообщение: Обучение детей программированию — преобразование заголовков столбцов электронной таблицы в числа
Следующее сообщение: Обучение детей программированию — создание простых чисел с использованием алгоритмов решета Эратосфена
Постоянный URL-адрес: Как автоматически истечь срок действия ссылок DoFollow (функция управления SEO-ссылками в PHP) (версия AMP)
