Обе пользователи технологии и Шарлемань упомянули несколько хороших ответов, но вот еще немного понимания того, как работают поисковые роботы:
Хорошие поисковые роботы будут следовать правилам и использовать мета-теги, без индексных тегов и т. Д. И уважать желания веб-мастера скрывать контент.
Авторы поисковых роботов-новичков могут писать своих ботов, просто сканируя страницу и не соблюдая ни одного из правил robots.txt. Профессиональные авторы ботов будут соблюдать правила robots.txt, которые выполняет мой поисковый бот.
Другой способ - добавить его за воротами входа в систему, поскольку поисковые роботы обычно не могут сканировать страницы, на которых пользователь должен войти, чтобы получить доступ к этому контенту. Из этого правила есть одно исключение. Даже при наличии входа в систему и если веб-сайт генерирует статические файлы .html, бот все равно может ползти за ограждением, чтобы увидеть контент. Использование статических .html страниц похоже на дыру в заборе. Страницы должны генерироваться динамически с помощью сценария (.php, .cgi, Node-файлы на стороне сервера .js и т. Д.), Когда обнаружен пользовательский файл cookie или переменная сеанса.
Причина, по которой поисковые роботы не выполняют JavaScript, заключается в том, что авторы роботов поисковых систем просто следуют за ссылками и текстом на странице, и они не хотят видеть код JS на своей странице результатов поиска. (Выдача). Поисковый бот выбирает каждую страницу в виде строки текста. Они видят все, что есть на той странице, которая извлекается. Затем бот анализирует страницу, чтобы извлечь содержимое страницы, но он не выполняет никакого кода, который находится на странице. Для автора поисковой системы нет никакой цели: eval()
найденный код JavaScript, , но поисковый робот, безусловно, это видит! Автор просто хочет вставить текст в свою базу данных & ищите больше ссылок. Они не заинтересованы в выполнении какой-либо клиентской обработки для этого кода JS, просто чтобы «найти больше ссылок». Они уже могут видеть все ссылки на странице и даже извлекать их из тегов <script>
в слое JS.