Что вы должны иметь в виду

Что вы должны иметь в виду

Всего несколько лет назад JavaScript был очень противоречивым. Раздражающие всплывающие окна с рекламой были причиной того, что язык программирования часто блокировался по умолчанию. Сейчас уже сложно представить современный веб-дизайн без JavaScript. JavaScript особенно важен в мобильном Интернете — как средство воспроизведения мультимедиа, а также для геолокации и навигации. Но насколько хорошо уживаются JavaScript и поисковые системы? Что следует помнить?

Поисковые системы научились

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

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

Загрузка контента через загрузку вместо пользовательских событий

Часто события используются для изменения содержимого веб-сайта с помощью JavaScript. Здесь поисковые системы обычно рассматривают только контент, загружаемый через события Load.

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

Однако пользовательские события не загружаются. Таким образом, все изменения, вызванные, например, кликами или касаниями, не будут учитываться при индексировании.

Push-состояния и URL-адреса

Чтобы Google мог индексировать сайт, он всегда должен быть доступен через URL-адрес. Таким образом, события кликов также нельзя учитывать, так как они всегда отображают контент, инициированный отдельным пользователем.

Благодаря API-интерфейсу push-состояния JavaScript можно влиять на URL-адрес веб-сайта. Это позволяет вам реализовать всю навигацию по веб-сайту с помощью JavaScript, используя «pushState()» для изменения URL-адреса, отображаемого в браузере, при одновременной загрузке и замене контента с помощью JavaScript.

Поскольку Google не может индексировать URL-адреса, созданные исключительно с помощью API push-состояния, каждый URL-адрес, созданный с помощью «pushState()», также должен иметь «настоящий, существующий» URL-адрес.

Кстати, это интересно не только поисковым системам, но и социальным сетям. Это потому, что вы можете делиться только теми сайтами, которые имеют «настоящий» URL. Facebook и Twitter также должны извлекать контент с сайта, что работает только при наличии URL-адреса.

Важно всегда использовать «pushState()» для создания правильных URL-адресов, которые также всегда имеют правильный контент с помощью JavaScript. Неправильный URL-адрес состояния отправки, который не загружает новый контент, может привести к двойному контенту. Поисковикам это тоже не нравится.

Не исключайте JavaScript

Это может быть самоочевидным, но все же следует упомянуть. Конечно, вы должны убедиться, что файлы JavaScript не исключены для поисковых систем. Если файл «robots.txt» вообще запрещает файлы JavaScript, поисковые системы не имеют к ним доступа.

Поскольку сам JavaScript не содержит индексируемого контента, он часто скрыт от поисковых систем.

Прогрессивное улучшение

Независимо от всех вариантов, которые Google и другие поисковые системы предоставляют вам, чтобы позволить вам сканировать контент, созданный с помощью JavaScript, самым безопасным методом по-прежнему остается так называемое «прогрессивное улучшение».

Этот принцип следует подходу, согласно которому контент должен быть подготовлен таким образом, чтобы сделать его доступным независимо от браузера или поискового робота.

Конкретно это означает, что тексты, изображения и другой контент, который предполагается находить и искать с помощью поисковой системы, должны работать без JavaScript, если это возможно.

Однако это часто связано со значительными дополнительными усилиями веб-разработчика. Каждый веб-сайт в основном должен предоставлять весь контент даже без JavaScript. В зависимости от типа и подготовки контента некоторые компромиссы, когда отображается только важный контент без JavaScript, могут быть жизнеспособными вариантами.

Здесь вы должны решить, какие усилия разумны для вашего проекта.

Правильная семантика

С JavaScript и без него: в любом случае важно, чтобы ваш контент был помечен семантически правильно. Заголовки, загружаемые через JavaScript, также должны быть помечены соответствующими элементами HTML.

Здесь действуют те же правила, что и для обычного контента. В конце концов, для Google решающим фактором является то, как выглядит исходный HTML-текст после выполнения JavaScript. Таким образом, выбор правильных элементов имеет решающее значение.

Тестирование просмотра обходчика

Если вы решите загружать контент исключительно через JavaScript (не следуя принципу «прогрессивного улучшения»), вам следует проверить, могут ли поисковые системы правильно видеть и полностью сканировать ваш контент.

Google «Search Console» — одна из тех вещей, которые помогут вам в этом. В разделе «Сканирование» вы найдете функцию «Просмотреть как Google». Здесь вы можете отобразить веб-сайт для мобильных и настольных устройств так, как его фактически сканирует Google.

Однако есть и другие, в основном платные инструменты, такие как SEO.JS и preprender.io, которые специализируются на проверке правильности отображения содержимого JavaScript веб-сайта во время сканирования. Это может быть разумным дополнением для сложных проектов.