Автоматизация поиска всех ссылок на javascript здесь
Для SEO очень важно контролировать внешние ссылки на вашем сайте. В данной статье будем это делать при помощи редиректа на языке PHP, методом $_GET, а также без потери зеленого замка использовать HTTP адреса на страницах с HTTPS SSL.
Ко всем ссылкам мы будем добавлять небольшой префикс в качестве $_GET параметра благодаря чему внешняя ссылка становится частью сайта. Такие страницы индексируются но не несут никакого веса. Для работы необходимо наличие php.
<a href="/r.php?r=https://someurl.website">Внешняя ссылка, как часть сайта</a>
Тем, кто перейдет по ссылке можно представить два варианта: мгновенный редирект на искомый сайт или страница с предупреждением.
Создаем файл
Создаем файл в формате PHP, название которого будет частью ссылки, например — r.php (одной буквы хватит, в будущем меньше текста придется набирать).
Редирект без страницы-заглушки
В созданный файл r.php добавляем следующий код, который сразу же будет перенравлять на искомый сайт.
<?php
if($_GET['r'] && substr($_GET['r'], 0, 4) == 'http')
Header("Location:" . $_GET['r'] );
else
Header("Location: / ");
Ссылка должна передавать непустое значение $_GET[‘r’] и должна содержать в первых четырех символах протокол HTTP, и иметь следующий вид.
/r.php?r=https://someurl.website
Редирект с заглушкой
<?php
if($_GET['r'] && substr($_GET['r'], 0, 4) == 'http'){ ?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<title> Переход по внешней ссылке на <?= $_GET['r'] ?></title>
</head>
<body>
<h1>Вы переходите по ссылке </h1>
<h2><?= $_GET['r'] ?></h2>
<br/><br/>
<strong>Подождите пожалуйста 5 секунд или нажмите <a href="<?= $_GET['r'] ?>">сюда</a></strong>
<script>
setTimeout('location.href="<?= $_GET['r'] ?>"',5000);
</script>
</body>
</html>
<?php } else Header("Location: / ");
Ссылку передаем с аналогичными параметрами.
/r.php?r=https://someurl.website
Дополнительно сделал небольшую проверку на корректность передаваемого урл скрипту. Проверяет наличие HTTP в первых четырех буквах адреса, иначе перенаправляет на главную страницу.
У меня редирект работал на протоколе http, но после перехода на https редирект перестал работать. Пробовал ваш скрипт с https, но он тоже не хочет работать
Пример можно?
Для Header Location не важно, какой протокол использовать. Возможно на уровне провайдера заблочено или ошибка в коде
Пример:
https://devarts.pro/r.
php?r=https://someurl.website
Thanks for finally talking about > Редирект внешних ссылок
через PHP $_GET, HTTP ссылки на HTTPS страницах без потери
зеленого замка < Loved it!