HTML redirect играют важную роль для масштабных веб-проектов. Возможность переадресации трафика с одного сайта на другой помогает лучше управлять потоками посетителей и выполнять реструктуризацию ресурса.
Редиректы выполняются с помощью .htaccess , PHP скрипт , HTML мета-тегов и JavaScript .
Перенаправление доменов сайта
Редиректы используются для информирования серверов о том, что контент сайта был перенесен с одного URL-адреса на другой. Делать это необходимо, когда исходный веб-адрес ( цель входящей ссылки ) занимает высокие позиции в выдаче поисковых систем ( SERP ). В этом случае редирект сообщает поисковому роботу, что нужный контент был перенесен, предоставляя пользователю ссылку на новый адрес.
Без таких переадресаций веб-мастера столкнулись бы со страницей ошибки 404 вместо искомого сайта. Это то, чего коммерческие ресурсы особенно стремятся избежать. Онлайн-магазины предлагают постоянно меняющийся ассортимент товара, который отображается на многих страницах. Как только товар перестает продаваться, потенциальных клиентов перенаправляют на страницу с аналогичным продуктом. Это позволяет более эффективно управлять потоком посетителей, а также уменьшить показатель отказов.
Перенаправление редирект сайта ссылки домена переадресация скрыть перенаправить ссылку сайт домен
Кроме этого перенаправление позволяет одинаковому контенту быть доступным по различным веб-адресам. Все альтернативные адреса перенаправляются в сторону приоритетного домена сайта:
Типы редиректов
Различают клиентские и серверные HTML meta redirect . В случае с серверными перенаправлениями происходит передача кодов состояния HTTP пользовательским агентам ( браузерам и поисковым роботам ).
Когда дело доходит до перенаправлений на стороне клиента, все выглядит по-другому: они выполняются без какого-либо ответа, и никакие коды состояний не передаются. Именно поэтому не все системы поддерживают редирект. Это может привести к ситуациям, когда посетители остаются на оригинальном сайте и не перенаправляются на новую страницу.
Такие недостатки делают использование серверных редиректов более предпочтительным. Поэтому клиентские решения должны применяться только тогда, когда перенаправления домена на стороне сервера невозможно из-за технических препятствий.
Серверные редиректы
В большинстве случаев серверные перенаправления домена выполняются через конфигурационный файл .htaccess или PHP скрипт . Преимущество этих методов состоит в том, что можно индивидуально определить, какой код состояния HTTP должен быть выведен на экран пользовательскому агенту. Это позволяет веб-мастерам помечать перенаправления, как постоянные или временные.
Ниже приведены актуальные коды состояния HTTP 301 и 302 :
- redirect 301 HTML – перемещен навсегда: запрашиваемый ресурс теперь постоянно доступен по новому URL . Старый URL с этого момента становится недействительным;
- 302 – перемещен временно: запрашиваемый ресурс доступен по новому URL . При этом исходный URL по-прежнему сохраняет свою актуальность.
Если код состояния HTTP не определен явно, сервер передает код состояния 302 во время редиректа. Это не всегда необходимо и рекомендуется вручную вводить нужный код состояния при каждой переадресации, так как это позволяет снизить вероятность ошибки индексации, как в ситуации взлома URL . В отличие от редиректа 301 , код состояния 302 сообщает поисковым роботам, что первоначальный URL должен оставаться индексируемым. Предназначенный для постоянной работы адрес редиректа конкурирует с адресом, указанным в индексе поисковой системы.
Как сделать переадресацию с домена на группу ВКонтакте в Acesse?
Перенаправление через .htaccess
.htaccess представляет собой конфигурационный файл на сервере Apache , используемый для перезаписи центральной конфигурации на уровне каталогов. Этот файл позволяет администраторам сайта выполнять специфичные настройки каталога для доменов и их подкаталогов. Одна из функций файла .htaccess включает в себя серверные перенаправления отдельных адресов на другие URL .
После того, как файл .htaccess со следующим кодом помещается в основные каталоги, запросы на исходный домен перенаправляются серверной стороной на домен www.example.com ‘ ‘:
.htaccess перенаправление на новый домен redirect 301 / http://www.example.com/
Строка кода начинается с redirect 301 HTML и определяет код состояния HTTP , который будет передан сервером. Далее следует путь к контенту, который должен быть перенаправлен. В данном случае будет перенаправлено все содержимое. В заключении целевой URL перенаправляется на URL пользовательского агента: ‘http://www.example.com’ .
Этот метод позволяет перенаправить отдельные файлы. Следующий код показывает редирект с одного сайта на другой:
.htaccess перенаправление из подкаталога на другой URL
Вот как выглядит постоянное перенаправление на сервере Apache с активным модулем mod_rewrite :
RewriteEngine On RewriteRule ^directory/example-document.html$ http://www.example.com/example.html [L,R=301]
В первой строке кода модуль mod_rewrite сервера Apache активируется с помощью команды ‘RewriteEngine On’ . После этого указывается » RewriteRule » с путем к файлу перенаправления и адресом назначения. Символы ^ и $ обозначают начало и конец пути, а L означает последнее правило для соответствующего запроса. R = 301 пересылает статус HTTP 301 .
При настройке редиректа с помощью .htaccess ошибочные записи могут серьезно повлиять на работу сайта. Учитывая, что эти изменения вступают в силу сразу после сохранения файла .htaccess , нужно тщательно проверять соответствующие конфигурации.
Перенаправления с помощью PHP
HTML redirect на другую страницу может также быть выполнен PHP скриптом ( например, в index.php ). Следующий код отображает постоянное перенаправление к целевому URL ‘www.example.com’ :
При передаче через PHP скрипт код состояния HTTP определяется с помощью функции » header » во второй строке кода. В этом примере должен быть выполнен постоянный 301 редирект . Учитывая, что серверные перенаправления обычно выполняются на временной основе, то для постоянного редиректа нужно явно указать код состояния 301 . Адрес назначения перенаправления также прописан в ‘ header ‘.
В примере перенаправление происходит на ‘ http://www.example.com ‘. Функция ‘ exit ‘ в четвертой строке кода заканчивает сценарий и препятствует выполнению следующей строки. Чтобы редиректы работали через PHP скрипт, блок кода должен быть расположен в начале HTML страницы. Это препятствует передаче сервером содержимого HTML на страницу перенаправления.
Клиентские редиректы
Если выполнение перенаправления на стороне сервера невозможно по техническим причинам, то можно использовать клиентское решение. Для этого применяется HTML метатег » refresh » и JavaScript . Недостатком перенаправления на стороне клиента является то, что серверы не передают коды состояния HTTP запрашивающим браузерам или поисковым роботам.
Более того, перенаправления на стороне клиента не поддерживаются всеми пользовательскими агентами, а это значит, есть риск того, что не все посетители сайта будут перенаправлены.
Redirect HTML index на стороне клиента оказывают негативное влияние на поисковый индекс. С клиентскими редиректами 301 не происходит явного исключения из индексации через код состояния HTTP . Это может привести к перенаправлению доменов, конкурирующих с доменами назначения, когда речь заходит о поисковых запросах, связанных с рейтингом. В отличие от серверных редиректов, которые остаются невидимыми для пользователей, клиентские всегда сопровождаются задержками.
Переадресация с помощью HTML метатега refresh
HTML перенаправления реализуются через метатеги с атрибутом ‘ http-equiv ’. Для этого нужен простой HTML-файл и соответствующий тег в заголовке для создания перенаправления. Чтобы посетители получали информацию о редиректе, в HTML-документе должно быть установлено соответствующее уведомление: » Пожалуйста, подождите. Вы будете перенаправлены . ‘. Простое перенаправление с помощью refresh выглядит следующим образом:
Клиенту будет предложено перенаправление на новую страницу через метатег http-equiv = «refresh» . То, как это происходит, определяется в атрибуте ‘ content ’. Приведенный выше пример перенаправляет пользователей на домен ‘ www.example.com ‘ через десять секунд.
Переадресация с помощью JavaScript
JavaScript предлагает простую возможность HTML redirect домена на стороне клиента. Но JavaScript поддерживается не всеми браузерами из-за соображений безопасности. Использование данного решения также может создать проблемы для поисковых роботов и пользователей с активными дополнениями NoScript . Вот как выглядит код перенаправления с помощью JavaScript :
Самое главное здесь это третья строка кода. Объект ‘ window.location ‘ используется, чтобы сделать ссылку на текущий адрес сайта. Команда ‘ replace ‘ инструктирует браузер направить пользователя к домену назначения (‘ www.example.com ‘).
ВЛ Виктория Лебедева автор-переводчик статьи «
Источник: www.internet-technologies.ru
301 редирект (переадресация) через .htaccess – на все случаи жизни
Три важных совета и семнадцать конкретных примеров установки 301 переадресации страниц через htaccess!
Советы
Располагайте переадресации страниц в файле от частных к более глобальным (сверху вниз). Например: простая переадресация двух страниц стоит выше, чем глобальное правило редиректов с www на без www. Избегайте последовательных редиректов (двух, трех и т.д.).
Правила должны быть настроены так, что при возникновении редиректа он должен перенаправлять пользователя (робота) только один (!) раз. Каждое лишнее переадресация – это секунды драгоценного времени отдачи страницы, это нагрузка на сервер, это нечеткие команды для поисковых роботов. Не забывайте, что многие браузеры кешируют (запоминают редиректы), поэтому проверять переадресации лучше на сайте – http://www.bertal.ru. В файле обязательно должна присутствовать команда:
RewriteEngine On
Второй способ сделать редирект – это переадресация через php
Правила переадресаций
1. 301 редирект с одной страницы на другую
Самый простой вариант
Redirect 301 /test-1/ http://site.ru/test-2/
Более подробный
RewriteCond % ^/test/$ RewriteRule ^.*$ http://site.ru/new-test/? [R=301,L]
2. 301 редирект с www на без www (главное зеркало – домен без www)
RewriteCond % ^www.(.*)$ RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
3. 301 редирект с без www на www (главное зеркало – домен с www)
RewriteCond % ^([^www].*)$ RewriteRule ^(.*)$ http://www.%1/$1 [L,R=301]
4. 301 редирект со страниц со слешем на без слеша (весь сайт)
RewriteCond % !? RewriteCond % ! RewriteCond % != RewriteCond % !. RewriteCond % !/$ RewriteRule ^(.*[^/])$ /$1/ [R=301,L]
6. Один (а не два последовательных!) 301 редирект на без www и с слешем на конце адреса страницы
RewriteCond % !? RewriteCond % ! RewriteCond % != RewriteCond % !. RewriteCond % ![^/]$ RewriteCond % ^www.(.*)$ RewriteRule ^(.*)$ http://%1/$1 [L,R=301] RewriteCond % !? RewriteCond % ! RewriteCond % != RewriteCond % !. RewriteCond % !/$ RewriteCond % ^www.(.*)$ RewriteRule ^(.*)$ http://www.%1/$1/ [L,R=301] RewriteCond % !? RewriteCond % ! RewriteCond % != RewriteCond % !. RewriteCond % ![^/]$ RewriteCond % ^([^www].*)$ RewriteRule ^(.*)$ http://www.%1/$1 [L,R=301]
8. Один (а не два последовательных!) 301 редирект на c www и без слеша на конце адреса страницы
RewriteCond % ^/$ RewriteCond % ^([^www].*)$ RewriteRule ^(.*)$ http://www.%1/$1 [L,R=301] RewriteCond % !? RewriteCond % ! RewriteCond % != RewriteCond % !. RewriteCond % !/$ RewriteCond % ^([^www].*)$ RewriteRule ^(.*)$ http://www.%1/$1 [L,R=301] RewriteCond % !? RewriteCond % ! RewriteCond % != RewriteCond % !. RewriteCond % /$ RewriteCond % ^www.(.*)$ RewriteRule ^(.*)/$ http://%1/$1 [L,R=301] RewriteCond % !? RewriteCond % ! RewriteCond % != RewriteCond % !. RewriteCond % /$ RewriteCond % ^([^www].*)$ RewriteRule ^(.*)/$ http://%1/$1 [L,R=301]
10. 301 редирект только адреса site.ru/index.php (без GET параметров) на основное зеркало site.ru
RewriteCond % /index.php RewriteCond % ^z RewriteRule ^(.*)$ http://site.ru/? [R=301,L]
11. 301 редирект всех адресов с index.php и GET параметрами на страницы только с GET параметрами (вырезать в url index.php)
Пример: типа site.ru/index.php?n=1 на site.ru/?n=1
RewriteCond % /index.php RewriteRule ^(.*)$ http://site.ru/ [R=301,L]
12. 301 редирект для index.php, index.html или index.htm (например в Joomla), массовая склейка
RewriteCond % ^[A-Z] /index.(php|html|htm) HTTP/ RewriteRule ^(.*)index.(php|html|htm)$ http://site.ru/$1 [R=301,L]
13. 301 редирект url с GET параметрами (динамический URL) на статический
1 вариант (простой адрес с GET параметром)
RewriteCond % ^id=229 RewriteRule ^.*$ /supermodel/? [R=301,L]
2 вариант (со страницы и GET параметром)
RewriteCond % /test/ RewriteCond % ^id=229 RewriteRule ^.*$ /supermodel/? [R=301,L]
14. Все страницы одного домена на главную страницу другого домена
RewriteCond % (.*) RewriteRule ^(.*)$ http://site.ru/ [L,R=301]
15. Каждая страница одного домена на такой же адрес другого url
RewriteCond % (.*) RewriteRule ^(.*)$ http://site.ru/$1 [L,R=301]
16. Редирект с протокола http на https.
RewriteCond % !=on RewriteRule ^(.*)$ https://%/$1 [R=301,L]
Если возникает циклический редирект, то воспользуйтесь этим вариантом:
RewriteCond % off RewriteCond % !https RewriteRule ^(.*)$ https://%% [L,R=301]
Для Битрикс-сайтов на хостинге reg.ru
RewriteCond % !^443$ RewriteRule .* https://%% [R,L]
Для сертификатов https c Cloudflare:
RewriteCond % ‘»scheme»:»http»‘ # Without Cloudflare: # RewriteCond % off RewriteRule ^ https://www.example.com% [NE,R=301,L]
17. Редирект с протокола https на http.
Обратный редирект, если перестали использовать SSL сертификат.
RewriteCond % =on RewriteRule ^(.*)$ http://%/$1 [R=301,L]
Может быть полезно:
- Как сделать – 301 редирект на PHP
- Техническая оптимизация сайта – инструкция
FAQ
Да, старайтесь всегда создавать такие правила, чтобы в любом случае переадресация была только одна.
Проверять в браузере опасно, т.к. они часто кешируют ответ. Лучше всего воспользоваться Яндекс.Вебмастером или bertal.ru.
Обратиться в поддержку хостинга, где расположен ваш сайт, возможно, у вас отключен файл .htaccess или какая-то не самая стандартная конфигурация сервера.
Источник: web-optimizator.com
Скрипт для арбитражника: автоматическое создание редиректов и клоака рекламных постов VK
Автор Telegram канала CPA: Офферы и трафик подготовил для наших читателей скрипт для арбитража трафика с групп ВКонтакте. Передаем ему микрофон.
Для меня основной источник трафика в арбитраже — это посты в группах ВК. И по затратам относительно дешево, и “открутка” быстрая.
Есть фишка о которой многие знают, но использовать которую проблематично из-за ручной работы: при использовании собственных доменов, а не сокращалок ссылок (типа vk.cc и goo.gl), конверсия вырастает (у меня рост однажды составил до 40%).
Конечно, это работает только если ссылка ведет на главную сайта (например, yandex.ru), а не на страницу “вглубине” (yandex.ru/site/catalog/abc/skidka). Чтобы не покупать кучу доменов, я использую поддомены. Но когда их количество начинает расти, вспомнить где какая ссылка — нереально.
Еще один минус при размещении постов через биржу ВК: для того, чтобы отслеживать конверсию из нескольких групп одновременно (например, с помощью субаккаунтов или utm-меток) требуются десятки постов, в которых отличается лишь пара параметров в ссылках. А все мы знаем, какая долгая модерация ВК, поэтому копирование постов зачастую не выход.
Поэтому я решил сделать скрипт (скачивать здесь) для арбитража трафика со своим доменом. С помощью скрипта можно создавать кучу редиректов на поддоменах и сливать через них.
Для клоакинга, кстати, скрипт тоже подойдет, можно поменять ссылку после прохождения модерации. Но будьте с этим осторожнее!
Например, мы льем на постельное белье и зарегистрировали домен postel.ru
Для арбитража с VK я бы сделал несколько постов и ссылки в них сделал такие:
И каждый адрес вел бы на сайт postel.ru с разными utm-метками.
Например, sale.postel.ru вел бы на postel.ru/?utm_source=vkutm_campaign=2
Таким образом мы бы смогли в метрике отследить переходы с каждой группы и конверсии с них. (В этом примере я использовал метрику, но тоже самое можно сделать и с помощью субаккаунтов, ничего сложного).
Под каждую группу придумывать новую ссылку и создавать новый пост на бирже ВК не выход, так как будет тратиться время на модерацию. С помощью моего скрипта вы можете изменять адрес редиректа за пару секунд, а пост у вас останется прежний.
Как использовать скрипт для арбитража
Для скрипта не нужно никаких MySQL и прочих штук. Достаточно только поддержки PHP и поддоменов в отдельных папках (я пользуюсь хостингом джино, у меня домен и поддомены лежат в одной папке, скрипт писал для него).
Итак, скачиваем архив (ссылка) и распаковываем его в любую папку. У нас получилось 6 файлов:
Заливаем эти файлы на хостинг на основной домен (файл index.php можете переименовать, остальные переименовывать нельзя). Файлы заливаем в корень сайта (то есть в нашем примере с постелью адрес админки будет postel.ru). Я покупаю специально отдельный домен для редиректов. Допустим, у меня есть домен postel1.ru, на который я залил скрипт.
Теперь переходим по адресу, куда вы залили файл (если вы не меняли название файла index.php, то переходим на главную страницу, в моем случае это postel1.ru).
Нас попросит авторизоваться. Данные для входа: логин — admin, пароль — admin (ниже я расскажу как поменять логин и пароль).
После авторизации у нас будет доступен список редиректов (пока что он пустой).
Давайте создадим первый редирект. Допустим, на postel.ru/?sub=1
Для этого в поле URL вводим “http://postel.ru/?sub=1” (это куда будет вести редирект), а в поле поддомен, к примеру, sale (важно! не нужно вводить адрес полностью, нужно только указать поддомен).
И нажимаем кнопку “Создать”. Теперь у нас появился поддомен sale.postel1.ru, по переходу на который пользователь будет попадать на адрес postel.ru/?sub=1
Допустим, наш пост прошел модерацию и мы уже разместили его в какой-то группе. Через некоторое время мы решили попробовать разместить этот же пост в другой группе, но с новой ссылкой (чтобы собрать полноценную статистику). Для этого нажимаем кнопку “Изменить” и редактируем адрес редиректа на новый:
Все, адрес редиректа поменялся за пару секунд и пост не нужно отправлять на повторную модерацию!
В принципе все, ничего сложного здесь нет:)
Как поменять пароль на доступ в админку
Для того, чтобы никто не смог попасть к вам в админку советую поменять логин и пароль. Для этого подойдет даже простой Блокнот.
Открываем файл index.php с помощью блокнота (я буду использовать блокнот Notepad++) и ищем следующие строчки:
И меняем на нужные нам:
И обновляем файл на сервере. Вуаля, скрипт готов к использованию!
P.S. На красоту кода и прочие кодерские “заскоки” не претендую, для меня важно было создать рабочий инструмент для арбитража.
В нашем разделе «Работа» множество вакансий как для начинающих, так и для продвинутых разработчиков.
Источник: partnerkin.com