Что такое JavaScript?
Язык компьютерного программирования JavaScript не следует путать с другим языком, Java. JavaScript — один из самых быстрорастущих языков в мире.
JavaScript (JS) изначально был создан, чтобы позволить веб-страницам HTML взаимодействовать с веб-приложениями Java.
С тех пор JS в основном используется для добавления анимации и эффектов, чтобы сделать страницы более динамичными. Это принципиально отличается от существующих языков HTML и CSS, где вы устанавливаете базовую структуру, а затем проектируете, как должна выглядеть страница.
Это всеобъемлющее руководство по SEO для JavaScript предназначено для того, чтобы дать разработчикам и специалистам по SEO знания для эффективного использования JavaScript.
Преимущества и недостатки JavaScript
Преимущества JavaScript
- Поддерживается во всех современных браузерах.
- Это позволяет создавать удобные для пользователя высокоинтерактивные веб-сайты.
- Код JavaScript относительно легко отлаживать и тестировать, потому что он интерпретируется построчно.
- Его могут использовать как front-end, так и back-end разработчики.
Недостатки JavaScript
- Google потенциально не может создавать и индексировать целевые страницы, отображаемые в JavaScript.
- Требование рендеринга JavaScript на странице может негативно сказаться на двух ключевых областях:
- Скорость сайта
- Сканирование и индексирование поисковыми системами
Однако, в зависимости от используемого вами метода рендеринга, вы можете снизить скорость загрузки страницы и обеспечить доступность контента для поисковых систем для сканирования и индексирования.
JavaScript ускоряет загрузку страниц, предлагает богатый интерфейс и прост в реализации; однако гибкость браузера меняется в зависимости от взаимодействия с пользователем, что затрудняет понимание страницы поисковыми системами и связывание значения с контентом.
Поисковые системы имеют свои собственные ограничения при обработке веб-страниц, содержащих контент JavaScript. Google выполняет начальный обход страницы и индексирует то, что находит. Как только ресурсы становятся доступными, боты возвращаются к рендерингу JS на этих страницах. Это означает, что контент и ссылки, основанные на JavaScript, рискуют остаться незамеченными поисковыми системами, что может нанести ущерб поисковой оптимизации сайта.
Создание JavaScript
Рендеринг фокусируется на извлечении связанных данных для заполнения страницы и шаблонов и компонентов визуального макета, а затем их объединении для создания HTML, который может отображать веб-браузер. Здесь нам нужно ввести два основных понятия; рендеринг на стороне сервера и рендеринг на стороне клиента. Для любого оптимизатора, который управляет веб-сайтами JavaScript, важно понимать разницу между ними.
Встроенный подход включает обработку на стороне сервера, поисковый робот, извлекающий HTML-код, полностью описывающий страницу, или бот поисковой системы (краулер). Таким образом, ваш сканер или поисковый бот должен загрузить прикрепленные ресурсы (CSS, изображения и т. д.), чтобы показать, как была разработана страница. Поскольку это традиционный подход, у поисковых систем обычно нет проблем с контентом, отображаемым на стороне сервера. Веб-сайты, которые традиционно работали таким образом, были запрограммированы на PHP, ASP или Ruby и могли использовать популярные системы управления контентом, такие как Kentico, WordPress или Magento.
Однако более современный подход к рендерингу на стороне клиента сильно отличается. Было отмечено, что многие боты поисковых систем борются с этим, потому что в результате первичной загрузки боту возвращается пустая HTML-страница с небольшим содержанием. Затем включенный код JavaScript отправляет запрос на сервер и использует полученные данные для рендеринга и рендеринга страницы.
Создание JavaScript с DOM
Рендеринг JavaScript работает, когда объектная модель документа (DOM) страницы достаточно загружена. Чтобы объяснить далее, DOM является основой динамически создаваемой страницы. Стандартные HTML-страницы являются статическими, если они не изменяются, а динамические страницы — это страницы, которые могут изменяться и могут создаваться «на лету».
Как упоминалось ранее, JavaScript и ресурсы жизненно важны для создания страницы, на которой позже будет выполняться JavaScript. Затем JavaScript вносит изменения в DOM и обслуживает HTML-код конкретной веб-страницы. Выбранный бот поисковой системы обычно ждет около трех секунд, прежде чем сделать снимок сгенерированного HTML-кода.
Как работает генерация JavaScript с роботом Googlebot
Googlebot обрабатывает JavaScript в три основных этапа:
- Ползание
- рендеринг
- Индексация
Как показано на диаграмме Google, робот Googlebot помещает страницы в очередь для сканирования и рендеринга. Робот Googlebot получает URL-адрес из очереди сканирования и читает файл robots.txt, чтобы проверить, разрешен ли этот URL-адрес.
Затем робот Googlebot преобразует HTML-ответ в другой URL-адрес и добавляет его в очередь сканирования. Когда ресурсы Googlebot позволяют, Chromium отображает страницу и запускает JavaScript. Затем сгенерированный HTML используется для индексации страницы.
Поскольку Google проводит две отдельные волны индексации, возможно, в процессе индексации были упущены некоторые детали. Например, если вы не создаете важные теги заголовков и метаописания на стороне сервера, Google может пропустить второй путь и негативно повлиять на вашу органическую видимость в поисковой выдаче.
В чем разница между сканированием и индексированием?
Сканирование и индексирование — две разные вещи, которые в SEO-индустрии можно спутать. Сканирование связано с ботом поисковой системы, таким как Googlebot, который обнаруживает и анализирует весь контент или код на веб-странице. С другой стороны, индексация означает, что страница с большей вероятностью появится на странице результатов поисковой системы (SERP).
Несмотря на улучшение ботов в сканировании и индексировании, JavaScript делает этот процесс гораздо менее эффективным и более дорогим. Встроенный в JavaScript контент и ссылки требуют от браузеров огромных усилий для отображения целых веб-страниц. Эти поисковые системы будут сканировать и индексировать страницы, созданные с помощью JavaScript, но это, вероятно, займет больше времени, чем статическая страница, из-за переключения между сканером и индексатором. В отличие от того, чтобы позволить роботу Googlebot индексировать страницу, загружая и извлекая ссылки из файлов HTML и CSS, JavaScript является дополнительным шагом. Процесс рендеринга JavaScript в целом намного сложнее.