- Как обнаружить и устранить скрытую переадресацию для мобильных устройств
- Что, где, когда?
- Как обнаружить скрытую переадресацию для мобильных устройств?
- На моем сайте обнаружена скрытая переадресация для мобильных пользователей. Что делать?
- Защищаем сайт
- Используйте Search Console
- One more thing
- Redirects and Google Search
- Overview of redirect types
- Server side redirects
- Permanent server side redirects
- Temporary server side redirects
- Implement server side redirects
- meta refresh and its HTTP equivalent
- JavaScript location redirects
- Crypto redirects
- Alternate versions of a URL
Как обнаружить и устранить скрытую переадресацию для мобильных устройств
Привет, Хабр! Все мы любим, когда сайт отлично работает на любом устройстве, вне зависимости от размеров экрана, способов управления и взаимодействия. Нередко контент приходится незначительно адаптировать к устройству, на котором его просматривает пользователь: например, оптимизация для небольшого экрана смартфона предполагает изменение изображений и других элементов содержания. Чтобы мобильным посетителям было удобнее, разработчики нередко используют всплывающую панель навигации. Если такие модификации реализованы должным образом и их цель — повысить удобство, мы не рассматриваем их как нарушение правил Google.
То же самое относится к переадресации на сайты для мобильных устройств. Пользователям смартфонов будет удобнее работать не с обычной версией сайта, а с мобильной. Поэтому переадресация, например, с example.com/url1 на m.example.com/url1 оправдана. Однако скрытая переадресация мобильных пользователей на посторонние страницы мешает работе и нарушает рекомендации Google для веб-мастеров.
Пример нарушения: страница с результатами поиска на компьютере и мобильном устройстве телефоне показывает один и тот же URL. Нажав на эту ссылку, пользователь компьютера попадет на целевую страницу, а пользователь смартфона будет перенаправлен на другой URL.
Что, где, когда?
Сегодня существует множество способов создать сайт. От готовых движков, плагинов и тем, до комфортных IDE, которые не требуют практически никаких знаний в области вёрстки. У многих крупных или старых ресурсов давно (ещё во времена обычных телефонов с JAVA-браузерами) появилась мобильная версия, которая может сильно отличаться от «полноценной». Тем не менее, мы считаем, что содержание сайта и предоставляемая информация должны совпадать по сути на всех устройствах. Давайте рассмотрим основные проблемы переадресации мобильных пользователей.
Проблемная обработка мобильных устройств
Иногда веб-мастера сами настраивают переадресацию мобильных посетителей, как правило, с нарушением наших рекомендаций. Если это вредит пользователям, мы вручную принимаем меры для решения проблемы (подробнее об этом читайте в конце статьи). Однако нам также известны случаи, когда скрытая переадресация выполняется без ведома владельца сайта.
Умышленное перенаправление в рекламных целях
Скрипт или элемент, размещенные на сайте для показа рекламы или монетизации контента, могут перенаправлять мобильных пользователей на сайт другой тематики без ведома веб-мастера. Причём неважно, вы сами разместили «проблемный» скрипт или ваш сайт взломали: если не понимать исходный код подключаемых модулей, получить троянского коня проще простого.
Переадресация мобильных пользователей в результате взлома сайта
Если ваш сайт взломан, он может перенаправлять мобильных пользователей в домены, которые распространяют спам, незаконно собирают личные данные или воруют деньги с банковских карт. Что делать, если вы стали жертвой подобных переадресаций?
Общая программа действий проста, как раз-два-три: определить, изолировать, предотвратить. За дело!
Как обнаружить скрытую переадресацию для мобильных устройств?
Чтобы грамотно бороться с проблемой, её надо определить. О том, что кто-то «ворует» ваших мобильных пользователей вы можете и не догадываться, пока кто-нибудь не пожалутеся или вы сами случайно не наткнётесь на результаты работы вредоносных скриптов.
Сообщения от посетителей могут нести мало полезной информации и нагонять панику: «Я открыл ваш сайт, а он меня А-а-а-а-а-а, У-у-у-у-у-у, Ы-ы-ы-ы и предлагает тухлые фрукты по оптовым ценам». Ни проблемной страницы, ни информации об устройстве или браузере.
Итак, шаг первый: найти проблему. Советы могут выглядеть очевидными, но как показала практика, когда дело доходит до реальных проблем, многие пользователи и веб-мастера теряются и не знают, с чего начать. Начать следует с самого простого:
- Откройте сайт на смартфоне и посмотрите, не попадете ли вы на другой ресурс
Мы рекомендуем проверить свой сайт, перейдя на него из результатов поиска Google на смартфоне. При современном разнообразии на рынке мобильных устройств отладку удобнее проводить с использованием эмуляции мобильных устройств в компьютерных браузерах. Данную функцию поддерживают Chrome, Firefox и Safari. В последнем случае (Safari) потребуется открыть настройки браузера и установить флажок «Показывать меню „Разработка“ в строке меню». - Изучайте отзывы посетителей
Пользователи могут видеть ваш сайт не так, как вы. У кого-то старый браузер, укого-то гора экстеншнов (они тоже могут подвергнутся атаке и начать подсовывать рекламу / переадресовывать пользователей). Всегда читайте отзывы посетителей и обращайте внимание на их жалобы, чтобы вовремя выявлять проблемы. Если требуется, задавайте уточняющие вопросы, попросите прислать скриншот или рассказать, как именно пользователь попал на проблемную страницу. - Отслеживайте действия посетителей и анализируйте статистику сайта
Необычные действия мобильных пользователей можно обнаружить, изучая данные веб-аналитики. Стастистика — мощнейший инструмент, который позволяет выявлять проблемы там, где одиночные проверки и тесты ничего не показывают. Например, если среднее время, проведенное на сайте владельцами мобильных устройств (и только ими), резко сократилось — это может быть вызвано переадресацией.
Чтобы сразу же узнавать о значительных изменениях в поведении мобильных пользователей, можно настроить специальные оповещения в Google Analytics.
Попробуйте создать оповещение о резком снижении времени, проведенного мобильными посетителями на сайте, или уменьшении их количества. При этом следует помнить, что значительные изменения этих показателей не всегда являются непосредственным следствием скрытой переадресации, но снижение посещаемости всё равно стоит изучить. Вы же сайт не просто так делали?
На моем сайте обнаружена скрытая переадресация для мобильных пользователей. Что делать?
Допустим, вы нашли проблему? Что дальше? Как с ней бороться? Шаг второй: изолировать источник проблем. Источников переадресации может быть два — внешнее или внутреннее воздействие.
В первом случае кто-то получил доступ к вашему сайту (уязвимости для популярных движков регулярно находятся и не всегда оперативно закрываются). Во втором вы, сами того не желая, заложили «бомбу замедленного действия», вставив какой-нибудь скрипт, не проверив его содержимое. Опционально, движок сайта мог самостоятельно обновить элементы с какого-нибудь репозитория, который был взломан. В любом случае, для устранения подобных проблем алгоритм одинаковый.
- Проверьте, не взломан ли сайт
Откройте раздел Проблемы безопасности в Search Console: если мы обнаружили взлом, внутри вы найдёте соответствующее оповещение.
Кроме того, стоит изучить дополнительную информацию о типичных признаках взломанных сайтов и примеры из нашей практики. Если вы используете какой-либо движок или фреймворк — посмотрите новости соответствующего сообщества, быть может с проблемой столкнулись не только вы. - Проверьте, нет ли на сайте посторонних скриптов и элементов
Если ваш сайт не взломан, проверьте, нет ли на нем сторонних скриптов или элементов, выполняющих переадресацию. Для этого выполните следующие действия:- Внимание! Прежде чем вносить какие-либо изменения в работающий сайт, создайте резервную копию сайта, проверьте её работоспособность.
- Найдите страницу, на которой осуществляется переадресация пользователей. Если на ней находятся чужие скрипты и элементы — смело удаляйте их по одному.
- После каждого удаления проверяйте с мобильного устройства или через эмулятор, происходит ли переадресация.
- После локализации элемента, отвечающего за скрытую переадресацию, удалите его со всех страниц. Если элемент критически важен и необходим для функционирования сайта — попросите его поставщика помочь вам с отладкой.
Защищаем сайт
Шаг третий: предотвратить повторение. Здесь всё просто. Вы нашли причину переадресации — скрипт, элемент, модуль, что угодно. Если вы знаете, откуда он взялся — возможно, стоит перестать пользоваться этим источником расширений. Если нет — проверьте список известных уязвимостей для вашего движка или фреймворка, набора библиотек. Возможно, разработчики успели выпустить срочные обновления.
Не стоит исключать и человеческий фактор. Если взлома не было и вы не размещали скрипты / библиотеки / элементы, а они появились — посмотрите на историю доступов к сайту, возможно, инициативные модераторы или администраторы контента могли умышленно или неумышленно занести заразу на сайт.
Проверьте разрешения на чтение / запись в определённые папки, если запись не требуется — поставьте атрибут read only, он помешает злоумышленникам и вредоносам, попавшим через узкую лазейку, прописаться в рабочих папках и повысить уровень привилегий.
Используйте Search Console
Если пользователь перенаправляется на другие страницы с целью показать контент, отличный от представленного в результатах поиска, это является нарушением рекомендаций Google для веб-мастеров. Подробнее о скрытой переадресации можно прочитать здесь.
Команда Google по оценке качества поиска может принять меры в отношении таких сайтов, например удалить URL из нашего индекса. Если подобное случится, вы, как владелец сайта увидите в Search Console соответствующие оповещения. Это лишь одна из причин, по которой мы рекомендуем вам зарегистрировать аккаунт в Search Console. Сам сервис крайне гибок и позволяет не только получать своевременные уведомления о проблемах, но и анализировать текущее состояние сайта, а также направлять в Google запросы на повторную проверку. Быстро, удобно, а главное — в одном месте.
One more thing
Выбирайте рекламодателей, которые не будут направлять ваших посетителей на неожиданные страницы. Если вы стремитесь к развитию доверительных отношений в отрасли — ознакомьтесь с рекомендациями по работе в рекламных сетях. Вы можете начать с изучения рекомендаций IAB по обеспечению качества площадок.
Существует много способов монетизации контента для мобильных устройств, обеспечивающих высокий уровень удобства для пользователей и не приводящих к удалению вашего сайта из поисковой выдачи. Используйте их.
Если у вас есть вопросы или комментарии по переадресации для мобильных устройств, оставляйте их здесь либо задавайте их на форуме для веб-мастеров или в нашем сообществе для веб-мастеров на Google+.
Источник
Redirects and Google Search
Redirecting URLs is the practice of resolving an existing URL to a different one, effectively telling your visitors and Google Search that a page has a new location. Redirects are particularly useful in the following circumstances:
- You’ve moved your site to a new domain, and you want to make the transition as seamless as possible.
- People access your site through several different URLs. If, for example, your home page can be reached in multiple ways (for instance, http://example.com/home, http://home.example.com, or http://www.example.com), it’s a good idea to pick one of those URLs as your preferred (canonical) destination, and use redirects to send traffic from the other URLs to your preferred URL.
- You’re merging two websites and want to make sure that links to outdated URLs are redirected to the correct pages.
- You removed a page and you want to send users to a new page.
If you’re using a platform like Blogger or Shopify, the platform may already have built-in redirect solutions. Try searching for help articles (for example, search for «blogger redirects»).
Overview of redirect types
While your users generally won’t be able to tell the difference between the different types of redirects, Google Search uses redirects as a strong or weak signal that the redirect target should be canonical. Choosing a redirect depends on how long you expect the redirect will be in place and what page you want Google Search to show in search results:
- Permanent redirects: Show the new redirect target in search results.
- Temporary redirects: Show the source page in search results.
The following table explains the various ways you can use to set up permanent and temporary redirects, ordered by how likely Google is able to interpret correctly (for example, a server side redirect has the highest chance of being interpreted correctly by Google). Choose the redirect type that works for your situation and site:
Redirect types | |||||
---|---|---|---|---|---|
Permanent | |||||
HTTP 308 (moved permanently) | |||||
meta refresh (0 seconds) | |||||
HTTP refresh (0 seconds) | |||||
JavaScript location |
HTTP 302 (found) |
HTTP 303 (see other) |
HTTP 307 (temporary redirect) |
meta refresh (>0 seconds) |
HTTP refresh (>0 seconds) |
Server side redirects
Setting up server side redirects requires access to the server configuration files (for example, the .htaccess file on Apache) or setting the redirect headers with server side scripts (for example, PHP). You can create both permanent and temporary redirects on the server side.
Permanent server side redirects
If you need to change the URL of a page as it is shown in search engine results, we recommend that you use a permanent server side redirect whenever possible. This is the best way to ensure that Google Search and people are directed to the correct page. The 301 and 308 status codes mean that a page has permanently moved to a new location.
Temporary server side redirects
If you just want to send users to a different page temporarily, use a temporary redirect. This will also ensure that Google keeps the old URL in its results for a longer time. For example, if a service your site offers is temporarily unavailable, you can set up a temporary redirect to send users to a page that explains what’s happening, without compromising the original URL in search results.
Implement server side redirects
The implementation of server side redirects depends on your hosting and server environment, or the scripting language of your site’s backend.
To set up a permanent redirect with PHP, use the header() function. You must set the headers before sending anything to the screen:
Similarly, here’s an example of how to set up a temporary redirect with PHP:
If you have access to your web server configuration files, you may be able to write the redirect rules yourself. Follow your web server’s guides:
Apache: Consult the Apache .htaccess Tutorial, the Apache URL Rewriting Guide, and the Apache mod_alias documentation. For example, you can use mod_alias to set up the simplest form of redirects:
For more complex redirects, use mod_rewrite . For example:
NGINX: Read about Creating NGINX Rewrite Rules on the NGINX blog. As with Apache, you have multiple choices to create redirects. For example:
For more complex redirects, use the rewrite directive:
meta refresh and its HTTP equivalent
If server side redirects aren’t possible to implement on your platform, meta refresh redirects may be a viable alternative. Google differentiates between two kinds of meta refresh redirects:
- Instant meta refresh redirect: Triggers as soon as the page is loaded in a browser. Google Search interprets instant meta refresh redirects as permanent redirects.
- Delayed meta refresh redirect: Triggers only after an arbitrary number of seconds set by the site owner. Google Search interprets delayed meta refresh redirects as temporary redirects.
Place the meta refresh redirect either in the head section of the HTML or in the HTTP header with server side code. For example, here’s an instant meta refresh redirect in the head section of the HTML:
Here’s an example of the HTTP header equivalent, which you can inject with server side scripts:
To create a delayed redirect, which is interpreted as a temporary redirect by Google, set the content attribute to the number of seconds that the redirect should be delayed:
JavaScript location redirects
Google Search interprets and executes JavaScript using the Web Rendering Service once crawling of the URL has completed.
To set up a JavaScript redirect, set the location property to the redirect target URL in a script block in the HTML head. For example:
Crypto redirects
If you can’t implement any of the traditional redirect methods, you should still make an effort to let your users know that the page or its content has moved. The simplest way to do this is to add a link pointing to the new page accompanied by a short explanation. For example:
This helps users find your new site and Google may understand this as a crypto redirect.
Alternate versions of a URL
When you redirect a URL, Google keeps track of both the redirect source (the old URL) and the redirect target (the new URL). One of the URLs will be the canonical; which one, depends on signals such as whether the redirect was temporary or permanent. The other URL becomes an alternate name of the canonical URL. Alternate names may appear in search results when a user’s query hints that they might trust the old URL more.
For example, if you moved to a new domain name, it’s very likely that Google will continue to occasionally show the old URLs in the results, even though the new URLs are already indexed. This is normal and as users get used to the new domain name, the alternate names will fade away without you doing anything.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Источник