Редирект на мобильную версию сайта javascript
Делаем мобильный редирект 3-мя способами
Недавно один человек написал мне с просьбой подсказать, как перенаправить пользователей мобильных устройств на другую страницу. Он занимается арбитражом трафика и нужно отделить «мобильных» посетителей от «немобильных» и автоматически отправить первых на адаптированный лендинг, причём сделать это с помощью JavaScript.
Делаем мобильный редирект на PHP
Суть здесь в том, что каждое устройство сообщает серверу свой т.н. User Agent («юзер-агент»). В этом юзер-агенте находится информация о данном устройстве. Соответственно, с помощью PHP мы эту информацию извлекаем и, если по ней ясно, что устройство — мобильное, делаем редирект.
У мобильных устройств существует просто куча разных юзер-агентов. Я нашёл код, где учтены, наверное, почти все эти агенты:
Вставьте код в самое начало документа, а вместо http://site.ru/mobile/ подставьте URL, на который должны улетать мобильные пользователи. Обратите внимание, что перед этим кодом не должно быть даже пробельных символов и переводов строк — таковы уж особенности редиректов на PHP.
Передача меток и субаккаунтов на мобильный лендинг с помощью PHP
Обычно при ведении рекламных кампаний нужно получить как можно больше информации о трафике. Для этого используются, в основном, UTM-метки и субаккаунты для CPA-сетей. Хорошо бы при перенаправлении посетителя на мобильный лендинг передать и все эти данные.
Передача UTM-меток
Передача субаккаунтов
Чтобы понять принцип действия, почитайте статью про UTM-метки и субаккаунты в CPA.
Т.е. здесь мы из UTM-меток получили данные для субаккаунтов.
Эта конструкция должна идти после строки RewriteEngine On (если её нет — добавьте).
Если же нужно отправить всех мобильных посетителей на mobile-версию сайта (с любой страницы на http://m.site.ru/ ), то последняя строчка из кода выше может иметь такой вид:
Перенаправление на мобильную версию сайта в HTML (JavaScript)
Иногда нет возможности что-то редактировать на сайте на стороне сервера — например, вы используете конструктор сайтов. Тут-то и пригодится редирект на HTML, а точнее — на JavaScript, т.к. на простом HTML нужные условия не прописать.
В этом случае все посетители, у которых ширина экрана меньше 600 px улетят на http://site.ru/mobile/. Если нужна меньшая ширина — меняйте 600 на меньшее значение.
Передача меток и субаккаунтов на мобильный лендинг с помощью JavaScript
При перенаправлении этим способом также можно сохранить данные о трафике.
Передача UTM-меток
Передача субаккаунтов
Т.е. из UTM-меток получили субаккаунты.
Какой способ мобильного редиректа лучше?
С JavaScript-редиректом юзер-агент не важен, т.к. проверяется только ширина экрана. Но здесь посетитель может заметить, как сначала попадает на одну страницу, а потом его перекидывает на другую.
Способ на ява скрипт наиболее оптимальный, но само перенаправление происходит медленнее.
Очень хорошая статья, но почему то у меня не работает способ Передача меток на мобильный лендинг с помощью PHP.
Может есть какая то хитрость?
А способ со скриптом не работает в некоторых телефонах, хотя разрешение у них явно меньше 800 px.
Хитростей нет, возможно, что-то упустили — не поставили кавычки где-нибудь и т.п.
Ошибка может быть либо при передаче меток на лендинг, либо при приёме их на лендинге.
Огромнейшее СПАСИБО. я все голову ломала, как перекинуть пользователей на мобильную версию, все сработало ОТЛИЧНО. Подробно и ясно, особенно для меня, чайника просто все разжевано. Еще раз вам ОГРОМНОЕ спасибо! =) =) =)
Пиз*дец как у меня пригорело, когда не мог допереть почему у меня телефон не редиректит на мобильную версию. Это статья баян. И телефоны уже с расширениеМ экрана получше. ВЫСТАВЛЯЙТЕ СМЕЛО 1200 ЗА МЕСТО 600. *HELP* *MACHO*
Спасибо большое! Пробовал много вариантов, но именно ваш скрипт помог =)
статья очень полезная — спасибо! но в жизни вопрос гораздо сложнее))) владельцы сайтов хотят чтоб смартфоны/телефоны получали мобильную версию, но при этом видели бы кнопку или ссылку на полную версию сайта, и могли бы ее тоже открыть. а этож надо еще что-то придумывать — куки или может еще что-то
Спасибо за информацию неделю маялся как с не адаптивного битрикса перекидывать на мобильную версию сайта, попробую сделать по вашей рекомендации — если получится отпишусь с рекомендацией
Петр, спасибо огромное! Статья крайне полезная и четкая.
Отдельное спасибо за информацию по передаче UTM!
Я, наверное, перерыл всю информацию о мобильных версиях в сети. Изначально хотел сделать самостоятельно отдельную мобильную версию сайта на поддомене. Но узнал, что поисковые системы гораздо лучше относятся именно к адаптации сайта под рвзные устройства. Потому что используется один контент и одна ссылка. Начал пробовать сделать адаптацию своими руками, но там очень много подводных камней. Стили нужно прописывать чуть ли не под каждый гаджет. Т.е. под каждую ширину экрана нужно создавать новые параметры отображения всех блоков. Решил найти специалиста, который разбирается в этом. Это тоже оказалось не так просто. Разброс цен аховый. От 500 руб до 100 000 руб. Понятное дело — решил начать с 500))
После общения, конечно же, оказалось что адаптация моего сайта стоит не 500 руб, а 17 000 руб)))
Но после долгих поисков нашел оптимальный вариант по всем параметрам. Адаптацию сайта поручил им mobile-version.ru и не пожалел. Сразу сказали адекватную стоимость уже на своем сайте и потом она не изменилась. Все мои пожелания выполнени и даже внесли свои предложения бесплатно! Теперь мой сайт проходит тесты от гугла, и яндекс вебмастер тоже счастлив, наблюдая за моим сайтом.
Для тех, кто еще сомневается — делать или не делать адаптацию — ДЕЛАЙТЕ. 8)
Поисковики заставят сделать мобильные версии всем сайтам. Вопрос времени.
Подскажите пожалуйста, у меня на хостинге нет поддержки php, сайт prestigechat.ru. В страницу HTML вписываю код:
Возможно, в других скриптах в коде этой страницы есть ошибки.
Редирект на мобильную версию сайта
Добрый день. Сделал сайт, но резиновым его не делал, и сделал стабильную ширину 1580 пикселей по-моему.
Теперь нужно сделать мобильно-планшетню версию, которая будет открывать на субдомене с точкой m.
Понятное дело, что когда типа открывается мой сайт с мобилы или планшета редирект должен перенаправлять туда.
Но главный вопрос вот в чём) Сейчас мобилки и айпады имеют аж 2к разрешение и по сути их будет направлять на комповую версию сайта из-за высокого разрешения.
И ещё вопрос, считывается ширина экрана смарфтона или браузера?
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Как сделать мобильную версию сайта?
Всем, добрый вечер. Есть у меня сайт некоммерческой тематики, иногда до него доходят руки и вот.
После перехода на мобильную версию сайта пункты меню становятся не кликабельны
Приветствую всех. Во всех разрешениях экрана пункты меню работают исправно при переходе в мобильную.
Нужно создать редирект сайта случайным образом, Случайный редирект на 1 из 3 сайтов
Мне нужно написать код или скрипт чтобы при переходе на сайт сразу происходил редирект на 1 из 3.
Редирект на мобильную версию сайта, используя JavaScript
Здравствуйте. Нужно реализовать редирект пользователей мобильных устройств на мобильную.
Как найти и убрать скрытый редирект для мобильных устройств на сайте
В статье:
Редирект или переадресация посетителя на другую страницу — это нормально. Например, у сайта example.com может быть мобильная версия на субдомене m.example.com. Если пользователь на смартфоне перейдет на сайт example.com в выдаче, его автоматически перекинет на мобильную версию.
Но есть и другой вариант, когда из-за переадресации можно потерять мобильный трафик, получить санкции от поисковиков и выпасть из индекса. Разберем, почему так может произойти и как это исправить.
Когда переадресация для мобильных становится проблемой
Иногда такой редирект отправляет пользователей смартфонов не на мобильную версию того же сайта, а на другие URL — не те, которые он выбрал в выдаче. Такое может настроить сам владелец сайта, если продает трафик, а иногда это происходит без его ведома. Возможные причины разберем ниже.
Схема такая: пользователи с компьютера и смартфона видят в результатах выдачи одинаковый адрес сайта — example.com. У пользователя, который смотрит выдачу с десктопа, все в порядке: он кликает на example.com и попадает на example.com. А пользователя, зашедшего с мобильного, перекинет на другой сайт. Например, на сервис платных подписок — это называется Wapclick-редирект.
Пользователя может переправить на страницу с предложением обновить ПО, скачать антивирус или приложение для оптимизации смартфона, установить игру, подписаться на что-то платное, например, на гороскопы или эротический контент. Часто под этим скрываются программы для фишинга или другие, угрожающие безопасности конфиденциальных данных.
Такое перенаправление пользователей на сторонние ресурсы нарушает рекомендации Google для веб-мастеров и аналогичные рекомендации Яндекса.
Аудитория как минимум теряет доверие к сайту. Сайт теряет мобильный трафик и потенциальных клиентов. Когда этот редирект заметят поисковые системы, они исключат из индекса либо отдельные страницы, либо весь сайт. Проект вернется в индекс, когда владелец удалит все рекламные скрипты, а поисковик это проверит.
Причины появления скрытого редиректа
Веб-мастер сам так настроил
Иногда веб-мастера сами настраивают переадресацию мобильных посетителей на сторонние сайты. Например, если сайт служит им для заработка на продаже мобильного трафика через партнерские программы WAP-click. Такой заработок против правил поисковиков и чреват вылетом из индекса.
Скрипт ворует трафик, веб-мастер не в курсе
Нелицензионные CMS, бесплатные виджеты и подозрительные скрипты небезопасны, через них трафик может утекать на вредоносные сайты без ведома веб-мастера. Например, это могут быть элементы для показа рекламы или монетизации контента.
Злоумышленники взломали сайт
Веб-мастер снова будет не в курсе, но трафик могут перехватить злоумышленники, которые взломали сайт и настроили редирект на нужные им площадки для воровства личных данных или денег с банковских карт.
Как понять, что на сайте скрытая переадресация для мобильных устройств
Есть несколько сигналов, по которым можно догадаться, что что-то не так с мобильным просмотром.
Послушать жалобы пользователей
Кто-то из тех пользователей, которые не смогли попасть на сайт с мобильного, найдут вас, например, в соцсетях и пожалуются. Прислушайтесь, спросите, с какого устройства посещали сайт, с мобильного интернета или WiFi, куда их в итоге перебросило.
Проверить самому — открыть сайт на смартфоне
Попробуйте сами перейти на сайт из результатов выдачи. Используйте свой смартфон и попросите знакомых.
Можно использовать эмуляторы в десктопных браузерах — Firefox, Safari, Chrome. Выбор мобильного устройства в интерфейсе разработчика в Google Chrome:
Просмотр мобильной версии
Заглянуть в Яндекс.Вебмастер и Google Search Console
Оповещение о взломе сайта и советы появятся в разделе «Проблемы безопасности» Google Search Console.
В Яндекс.Вебмастере есть аналогичная страница «Безопасность и нарушения» в разделе «Диагностика» со списком зараженных страниц, датами проверок и оценками антивируса.
Проверить сайт в сервисах
У PR-CY есть проверка вирусов онлайн в бесплатном инструменте:
Онлайн-проверка сайта на вирусы
Если вы хотите провести более полную проверку, используйте сервис Анализа сайта. Он проверит технические параметры, отношение поисковиков, оптимизацию главной и ошибки на внутренних страницах. Проверка на вирусы в него тоже встроена:
Проверка на санкции и вирусы в Анализе сайта
Посмотреть сайт в выдаче
Часто у взломанных сайтов появляется предупреждение в результатах поиска. Если вы видите похожую плашку у своего сайта, значит его взломали и поисковик это обнаружил.
Образец оповещения о взломе сайта
При переходе на такой сайт может появиться страница с информацией о взломе, блокирующая переход.
Посмотреть мобильный трафик в аналитике
Если мобильных пользователей будут перехватывать и отправлять на сторонний сайт, у вашего сайта будет сильная просадка по мобильному трафику. В Google Аналитике и Яндекс.Вебмастере проверьте динамику трафика и времени, проведенного мобильными пользователями на сайте.
В Google Analytics можно настроить специальные оповещения, чтобы вам на почту пришло письмо, если обнаружится странная ситуация с трафиком
Как настроить оповещение о существенном спаде трафика в Google Analytics:
Зайдите в Специальные отчеты — Специальные оповещения
Нажмите на Управление оповещений
Заведите новое оповещение: дайте ему удобное вам название, выберите регулярность уведомлений и укажите почту, на которую они будут приходить.
относится к мобильным устройствам и планшетам;
оповестить, если «средняя длительность сеанса»;
условие — «точно соответствует», ценность — да;
второе условие — «уменьшение процентного показателя более чем на», ценность — 50%, по сравнению с «этот день на прошлой неделе».
Выбор Управления оповещений
Если трафик просел, это не обязательно значит, что на сайте настроена скрытая переадресация для мобильных. Но такую причину можно рассматривать как одну из версий.
Что делать, если обнаружили скрытый редирект на сайте
Действия по исправлению зависят от причины, по которой появилась скрытая переадресация.
Внимание! Перед тем как что-то делать с работающим сайтом, создайте резервную копию на хостинге и проверьте, работает ли она.
Если сайт взломали злоумышленники
У вас должны быть резервные работающие копии, попробуйте восстановить сайт. Для проверки на вирусы обратитесь к хостеру, обычно хостинги предоставляют такую услугу. Проверка покажет, где вирусы и что нужно удалить.
Можно поискать код вручную, часто зловредные элементы прописывают в этих местах:
в index.php в корне сайта — обфусцированный код в конце файла, огромные строки кода легко заметить и удалить;
Обязательно обновите пароли — от хостинга, FTP, панели администратора и базы данных.
Если виноваты скрипты виджетов
Редирект на чужой сайт может работать через сторонние скрипты, плагины, шаблоны CMS, темы, другие элементы. Виноваты могут быть как новые недавно установленные плагины, так и те, которые давно стоят, но уже устарели — их могли взломать.
Если вы сами ничего не устанавливали, посмотрите историю доступов к сайту. Возможно, другие администраторы или модераторы поставили какой-то зараженный скрипт по незнанию или даже чтобы вам навредить
После каждого удаления заходите на страницу со смартфона или через эмулятор браузера, и проверяйте, остался ли редирект.
Как только вы найдете этот вредный элемент, удалите его с других страниц. Если заражен был какой-то важный плагин, проверьте актуальность версии. Напишите разработчику, возможно, он уже поправил уязвимость.
Обязательно обновите CMS и плагины до последней стабильной версии, удалите все, что вызывает подозрение и подберите лицензионные решения с официальных источников.
Если веб-мастер сотрудничает с некачественными партнерками
Еще одна причина — веб-мастер специально или неосознанно сотрудничает с фейковыми партнерскими системами. Обычно они притворяются простыми партнерками с баннерной рекламой.
Часто такие партнерки рекламируются в Яндекс.Директе и Google Ads или присылают предложения сотрудничества на почту, представляясь маркетинговыми агентствами и обещая подозрительно высокий доход. Прекращайте работу с такими партнерками и отказывайтесь от подозрительных предложений.
Как сделать, чтобы это не повторилось — защищаем сайт
Нужно поработать с безопасностью проекта, чтобы уменьшить риск повторного появления редиректа на чужой сайт.
Обновляйте версии, не ставьте пиратский софт
Если вы нашли причину утечки мобильного трафика в каком-то расширении или модуле, возможно, больше не стоит пользоваться сайтом, на котором вы его взяли. Используйте только лицензионное ПО и устанавливайте все виджеты, модули, плагины и всевозможные решения только с официальных ресурсов. Чем меньше установлено, тем лучше — вероятность уязвимости статистически меньше.
Следите за новостями и проверяйте список уязвимостей для вашей CMS, набора библиотек или фреймворка. Если вскрылась уязвимость, разработчики торопятся выпустить обновление с исправлением.
Поговорите с сотрудниками, обновляйте пароли
Для каждой площадки придумайте отдельный пароль, чтобы в случае утечки одного пароля злоумышленникам не открылся доступ ко всем вашим ресурсам.
Для панели администратора можно установить задержку ввода пароля для следующих попыток после ввода неправильного. Так злоумышленнику будет сложнее перебирать пароли к админке сайта.
Разграничивайте доступы для сотрудников и проводите с ними беседы. Если у инициативного, но не очень разбирающегося сотрудника есть доступ к админке сайта, он из добрых побуждений может установить что-то небезопасное.
Внимательнее выбирайте рекламодателей
Обещания золотых гор хоть и звучат соблазнительно, на деле оказываются приманкой для участия в фейковых партнерских программах. Аккуратно выбирайте рекламодателей, используйте Google.Adsense, Яндекс.Директ и другие проверенные варианты.
Подробно о том, какие методы взломов используют хакеры в 2021 году, мы писали в конспекте лекции «Как защитить сайт от взломов и атак в 2021».
Расскажите о своем опыте: вы сталкивались с такими редиректами? Как исправили ситуацию?
Благодаря «RewriteBase /» удобнее делать преобразования URI (убирается привязка к физическому расположению файлов сайта на сервере).
Давайте рассмотрим самые распространенные примеры:
1. Простой редирект
Для простого редиректа условия задавать не обязательно, только правило.
2. Реврайт без редиректа
Иногда требуется, чтобы был редирект без смены адреса, т.е. реврайт без редиректа. Для этого просто не указываем флаг редирект (R), и получаем желаемый результат, теперь по адресу news/happy получим news.html, а в адресной строке останется news/happy
3. Редирект с сохранением рейтинга страницы
4. Редирект для домена с www.site.com на site.com
Убираем у всех запросов вначале «WWW.»
5. Редирект для домена с site.com на www.site.com
6. Редирект с index.php (html,htm) на главную страницу
7. Редирект с index.html на папку (удаление из строки браузера index.html)
9. Чтобы вместо page.htm загружался файл page.html
10. Переезд с одного домена на другой
11. Редирект всех файлов в папке на один файл
12. Задание типа индексной страницы (php, html, htm и другие)
Указывается порядок загрузки типов индексного файла, лежащих в корне каталога.
13. Убираем у всех запросов в конце index.php. Переадресуем на страницу без index.php
Поисковые системы плохо относятся к дубрям страниц. Чтобы этого избежать нужно удалить (склеить) страницы вида https://ваш_домен/ и https://ваш_домен/index.php
14. Определение кодировки, в которой сервер «отдает» файлы
Варианты: KOI8-R, UTF-8, Windows-1251
15. Определение кодировки на загружаемые файлы
Варианты: KOI8-R, UTF-8, Windows-1251
16. Кэширование для всех типов файлов по времени доступа
17. Кэширование для всех типов файлов по времени изменения
18. Кэширование для определённых типов файлов
19. Главная страница без дублирования
20. Редирект страниц без слэша в конце URL на слеш
Чтобы предотвратить ситуацию с индексированием страниц www.site.com/about и www.site.com/about/ как разных, ставим следущий код: Со страниц без слэша будет установлен редирект на «слэшевые».
21. Принудительная постановка замыкающего слеша
Следующий код всегда будет добавлять слеш в адрес URL вашего сайта, что хорошо помогает в области SEO сайта.
22. Удалить слеш в конце
23. Удаляем «category» из URL
24. Редирект URL страницы с папки в корень сайта
Например страница лежит на сервере в site.com/category/blue.html, но надо чтобы страница работала по запросу site.com/blue.html
25. Редирект от GET параметров
Например, нужно что бы со страницы /?action=page&id=15 был редирект на /page/15/
26. Редирект на мобильную версию сайта
Допустим, что мобильная версия расположена на поддомене m.site.com. Будем переходить на мобильную версию только с главной страницы основного домена.
Первой строкой мы проверяем USER_AGENT, определяем что он относится к мобильникам. (эту строку я детально не проверял, взял на просторе интернета, возможно она не совсем корректная, или есть более универсальная строка. Но на моих мобильных устройствах этот пример работает)
Второй строкой проверяем что мы находимся на нужном домене (т.к. пример не универсальный)
Третьей строкой, мы проверяем, что находимся на главной страницы (без всяких параметров и прочего) и перенаправляем на поддомен.
27. Редирект на мобильную версию сайта (Универсальная версия)
28. Обработка ошибок Apache
29. Сохранение (загрузка) файлов вместо открытия
30. Переадресация с www.site.com/index.php?idc=4&marea=6 на www.site.com/
31. Редирект с поддомена на основной домен второго уровня
32. Изменяем переменные php и передаём обработку другому скрипту.
33. Убираем переменные php из запроса
(вырезаем из URI всё, что находится после знака вопроса)
34. Заперт входа на сайт
Запрещаем вход на сайт Интернет Експлореру (вернее, кто себя так определяет) и пользователям с определённого IP-адреса (xxx.xxx.xxx.xxx).
35. Закрываем от всех
36. Закрываем конкретный файл от всех
37. Разрешаем доступ только с одного ip
38. Запрещаем доступ с конкретных ip
39. Убираем из Урла (URL) расширение файла
php можно заменить другим расширением. Например: html, htm, shtml, asp
41. Запрещаем отображать содержимое директории, если нет индексного файла
Вы скорее всего хоть раз видели текст Index of и список файлов. Так происходит в том случае, когда в директории нет индексного файла (например index.php), а система предлагает выбрать файл для дальнейшего открытия. Минус этого заключается в том, что случайный пользователь может увидеть список и содержание всех файлов директории.
42. Перенаправление с HTTPS на http
43. Редиректы в зависимости от времени
Когда нужно применять уловки типа содержания зависящего от времени масса вебмастеров все ещё используют CGI скрипты которые производят редиректы на специальные страницы. Как это может быть сделано через mod_rewrite?
Есть много переменных названных TIME_xxx для условий редиректа. В связке со специальными лексикографическими образцами для сравнения STRING и =STRING мы можем производить редиректы зависящие от времени:
Это выдает содержимое foo.day.html при запросе URL foo.html с 07:00 до 19:00 а в оставшееся время содержимое foo.night.html.
44. Редирект в URL с подчеркивания в дефис
45. Редирект в URL с больших символов на маленькие
46. Массовый редирект новых файлов
Предположим вы перешли на новую систему ссылок на вашем сайте и все файлы оканчивающиеся на старый id должны быть средирекчены. Сначала создаем в базе таблицу, которая содержит старый id и новый URL для редиректа.
old_id INT new_url VARCHAR (255)