Исправлена ​​ошибка определения местоположения с помощью файлов cookie без обмана пользователя

Я построил простой скрипт jQuery для проверки подлинности конкретного бренда. Он спрашивает у пользователя, есть ли у них законный возраст для питья с кнопкой «да» или «нет». На «да» на веб-сайте хранится файл cookie, и они больше не получают проверку возраста на один месяц, простые вещи.

Скрипт проверки возраста заполняет экран, охватывающий все элементы за ним, используя что-то вроде этого:

 .verify {
    position: fixed;
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
}

Очевидно, что это отлично работает для пользователей, но для поисковых систем - не так много. Я бы хотел сказать Google /Bing, чтобы нажать кнопку «Да», но, к сожалению, я знаю, что это не так просто.

Без ножей, кинжалов и скрытых плащей, как мне решить эту проблему?

Обратите внимание, что Я знаю аналогичный вопрос и что этот вопрос отличается от конкретной установки, а не рекомендаций в целом.

3 голоса | спросил Simon Hayter 18 Mayam17 2017, 11:12:21

1 ответ


2

Google, скорее всего, увидит оверлей, даже если вы задерживаете его с помощью многосекундного таймера. Когда робот Googlebot обрабатывает JavaScript, он, похоже, может пропустить (или ускорить) таймауты. Раньше я пытался генерировать выходные данные после 30-секундного таймера и проверял, что видит инструмент «Fetch and Render» в GSC ». Средство Fetch и Render часто возвращает «немедленно» с уже настроенным содержимым, созданным JS.

Но даже если Googlebot «нажал« да », он не сохранит файл cookie, поэтому наложение будет навсегда присутствовать. Тем не менее, Googlebot все еще может «видеть» то, что находится под наложением, но если «пользователь» не может, Google может отказаться игнорировать его (в наши дни)?

Несколько возможностей:

  1. Заблокируйте этот JS-файл с помощью robots.txt. Googlebot (или любой «хороший» бот) не будет извлекать и запускать этот JS-файл, поэтому наложение никогда не появится.

  2. Отображать только оверлей для пользовательских агентов, поддерживающих файлы cookie. Googlebot и большинство поисковых роботов не поддерживают файлы cookie. Поскольку вы используете куки-файл в качестве триггера, чтобы скрыть (или «не показывать») наложение, это в любом случае было бы разумной проверкой.

    Показывать только оверлей после подтверждения наличия «тестового» файла cookie, который устанавливается безоговорочно при первоначальном запросе. (Возможно, вы можете отправить вызов AJAX для проверки «тестового» cookie, а не ждать второго запроса - если вы хотите, чтобы этот оверлей появлялся как только? Хотя второй запрос может быть достаточно скоро.) Googlebot (и большинство поисковые роботы) не будут устанавливать (или, строго говоря, «возвращать») «тестовый» файл cookie, поэтому ваш чек никогда не будет успешным, и наложение никогда не появится. Это также остановило бы повторную наложение наложения для «опытных пользователей», которые отключили файлы cookie в своем браузере.

ответил MrWhite 19 Mayam17 2017, 03:05:15

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132