Новости
Для 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: /");
Додатково зробив невелику перевірку на коректність переданого урл скрипту. Перевіряє наявність HTTP в перших чотирьох буквах адреси, інакше перенаправляє на головну сторінку.
приклад
/r.php?r=https://someurl.website
Php?Lt;?
Php?
Php if ($ _ GET [ 'r'] && substr ($ _ GET [ 'r'], 0, 4) == 'http') {?
GET [ 'r']?
GET [ 'r']?
GET [ 'r']?
Php?