Редирект внешних ссылок через PHP $_GET, HTTP ссылки на HTTPS страницах без потери зеленого замка

Редирект внешних ссылок через PHP $_GET, HTTP ссылки на HTTPS страницах без потери зеленого замка


Автоматизация поиска всех ссылок на javascript здесь


Для SEO очень важно контролировать внешние ссылки на вашем сайте. В данной статье будем это делать при помощи редиректа на языке PHP, методом $_GET, а также без потери зеленого замка использовать HTTP адреса на страницах с HTTPS SSL.

Ко всем ссылкам мы будем добавлять небольшой префикс в качестве $_GET параметра благодаря чему внешняя ссылка становится частью сайта. Такие страницы индексируются но не несут никакого веса. Для работы необходимо наличие php.

<a href="/r.php?r=https://someurl.website">Внешняя ссылка, как часть сайта</a>

Тем, кто перейдет по ссылке можно представить два варианта: мгновенный редирект на искомый сайт или страница с предупреждением.

Редирект внешних ссылок через PHP $_GET, HTTP ссылки на HTTPS страницах без потери зеленого замка



Создаем файл



Создаем файл в формате 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: / ");

Редирект внешних ссылок через PHP $_GET, HTTP ссылки на HTTPS страницах без потери зеленого замка


Ссылку передаем с аналогичными параметрами.

/r.php?r=https://someurl.website


Дополнительно сделал небольшую проверку на корректность передаваемого урл скрипту. Проверяет наличие HTTP в первых четырех буквах адреса, иначе перенаправляет на главную страницу.


Понравилась статья "Редирект внешних ссылок через PHP $_GET, HTTP ссылки на HTTPS страницах без потери зеленого замка" из раздела PHP кодинг, Оптимизация и SEO? Подпишись на RSS. Будь в курсе всего происходящего на сайте
Комментариев: 0 •  Просмотров: 468   Дата: 28-мая-2017, 18:48

Похожие статьи

Комментарии

b
i
u
s
|
left
center
right
|
emo
color
|
hide
quote
translit

© 2010-2017 devarts.pro v 7.0: flexyflat tpl Designed by devarts
Карта сайта HTMLКарта сайта XMLПравообладателям
Яндекс.Метрика