У меня есть JS, работающий на странице, которая выводит окно выбора модальной локализации. Я хотел бы предотвратить это для ботов/краулеров. Есть ли способ сделать это с помощью Modernizr и/или yepnope.js?
Могут ли modernizr и/или yepnope реагировать на ботов и пауков?
Ответы (1)
Большинство ботов вообще не запускают код Javascript. Они загрузят ваш код и изучат его, чтобы увидеть, что он делает или о чем он, или какова функция этого конкретного бота, но, как правило, им не нужно запускать какой-либо код JS для этого.
Те, кто запускает код JS, будут делать это в среде, которая будет отличаться от бота к боту. Некоторые могут имитировать среду браузера, другие могут работать в реальном браузере. Но, не зная о внутренностях всех ботов, с которыми вы, вероятно, столкнетесь, вы действительно не сможете решить эту проблему с помощью такого инструмента, как Modernizr.
Когда дело доходит до просмотра браузера вашего конечного пользователя, обнаружение браузера считается плохим решением, а обнаружение функций (например, Modernizr) считается лучшим решением.
Однако правила меняются, когда дело доходит до ботов, из-за факторов, которые я обсуждал выше, и действительно становится законным проводить их обнаружение на основе их строки пользовательского агента.
Любой законный бот предоставит строку UA, которая идентифицирует себя как таковую, и ее должно быть довольно легко обнаружить.
Если бот не предоставляет идентифицируемую строку UA, то он не является законным ботом, поэтому у вас нет причин применять к нему какие-либо специальные меры, чтобы облегчить ему жизнь.