Как я могу соблюдать Политику первого клика Google с помощью PHP?


Недавно я защитил свой сайт паролем и обязал пользователей входить или регистрироваться, чтобы просматривать контент и публиковать сообщения на форумах. При этом Google удалил большинство моих страниц из результатов поиска Google, поскольку GoogleBot больше не мог их индексировать из-за защиты паролем. Это означает, что, хотя мой сайт содержит действительно актуальную информацию, Google больше не может получить к нему доступ.

Я исследовал Google Первым Нажмите кнопку Политика, что кажется приемлемым вариантом для моего сайта. В нем в основном говорится:

...мы будем сканировать и индексировать ваш сайт в той мере, в какой вы разрешите Googlebot получить к нему доступ. Чтобы обеспечить наилучший пользовательский интерфейс и помочь большему числу пользователей ознакомиться с вашим контентом, мы рекомендуем вам попробовать сначала нажать бесплатно. Если вы предпочитаете ограничить доступ к своему сайту только подписчикам, мы будем уважать ваше решение и покажем ярлык "подписка" рядом с вашим связи.

В этой статье Google также излагает некоторые рекомендации по реализации этой политики:

Чтобы реализовать бесплатный первый клик, вы должны разрешить всем пользователям, которые находят вашу страницу через поиск Google, просматривать полный текст документа, который пользователь нашел в результатах поиска Google и который поисковый робот Google нашел в Интернете, не требуя от них регистрации или подписки для просмотра этого контента. Первый клик пользователя на ваш контент является бесплатным и не требует вход в систему. Однако вы можете заблокировать пользователя с помощью запроса на вход, оплату или регистрацию, когда он попытается перейти с этой страницы в другой раздел вашего сайта контента.

Я не хочу открывать свой сайт для публичного просмотра, но как я могу позволить Google снова индексировать мой сайт, сохраняя при этом уровень защиты контента и необходимое членство? Через PHP, какие шаги следует предпринять, чтобы гарантировать, что GoogleBot сможет читать и индексировать содержимое моего сайт, ограничивая пользователей просмотром только той статьи, на которую ссылается Google.

Author: pattyd, 2017-02-12

1 answers

Как указано в вопросе, лучшим вариантом для такого типа проблем было бы разрешить GoogleBot индексировать сайт, но ограничить просмотр обычными пользователями.

Для этого вам нужно уметь различать три типа зрителей:

  • Гуглбот
  • Посетитель, на которого ссылается Поиск Google (как указано в Политике первого клика)
  • Прямой посетитель, на которого ссылается сайт, отличный от Google, или без реферер

Чтобы различать эти три типа, вам нужно выполнить серию из двух проверок, одну через HTTP_USER_AGENT, а другую через HTTP_REFERER.

  • С помощью $_SERVER['HTTP_USER_AGENT'] определите, получает ли GoogleBot доступ к веб-сайту. Если значение true, разрешите роботу GoogleBot получить к нему доступ, не требуя входа в систему.
  • Аналогично, с помощью $_SERVER['HTTP_REFERER'] определите, откуда пришел пользователь. Если пользователь был сослан другим сайтом, эта переменная будет содержать строку, содержащую URL-адрес этого сайта. Если эта переменная содержит https://www.google.com, то вы должны разрешить зрителю доступ к сайту.
  • Если пользователь не является GoogleBot и не был направлен Google, вы должны заставить его войти в систему. Это гарантирует, что даже если они были привлечены на ваш сайт Google, их второй клик потребует от них входа в систему. Если они просто с сайта, отличного от Google, они также будут вынуждены войти в систему.

Вот фрагмент кода, который будет выполнять эти основные проверки

    //check if the viewer is googlebot, if so, allow
    if(strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "googlebot"))
    {
       //allow access
    }

    //check if the viewer was referred by google, if so, allow
    elseif(strstr(strtolower($_SERVER['HTTP_REFERER']), "https://www.google.com"))
    {
      //allow access
    }

    //if the viewer isn't from google, block vistor viewing
    else{
      //redirect to login
    }

Для новостных сайтов важно отметить, что Google теперь требует 3 бесплатных статьи в день при соблюдении Политики первого клика.

Можно ограничить количество бесплатных статей, к которым читатель новостей Google может получить доступ с помощью бесплатного первого клика. Пользователь, пришедший с хоста, соответствующего [www.google .] или [новости.google.] должен иметь возможность просматривать не менее 3 статей в день. Эта практика описывается как "измерение". пользователь: когда пользователь нажал на слишком много статей издателя из Google News, счетчик для свободно доступных статей на этом сайте исчерпан.

Также чрезвычайно важно отметить, что очень легко "подделать" HTTP_USER_AGENT. Существует множество плагинов и приложений для браузера, которые позволили бы зрителю иметь агента пользователя, притворяющегося GoogleBot. Это позволило бы подделывателю просматривать каждую доступную для обхода и индексируемую страницу на сайте, независимо от их статус участника. Могут потребоваться дополнительные шаги, чтобы убедиться, что это действительно настоящий робот GoogleBot, но во многих случаях должна работать базовая проверка, подобная этой.

 4
Author: pattyd, 2017-02-12 00:25:21