Поисковые системы сканируют страницу в два захода. На первом сканируется исходный код, до выполнения подгружаемых JS. Если исходный код не содержит большей части основного контента, поисковик просто не поймёт, о чём эта страница. Чтобы полноценно просканировать страницу, он должен задействовать дополнительные вычислительные ресурсы и «отрисовать» страницу по результатам выполнения JavaScript. Далеко не факт, что этот процесс пройдёт быстро - он может занять недели. Собственно, не факт, что поисковая система вообще дойдёт до этого процесса, если не получит важные сигналы о необходимости этого.
Я, как разработчик web-приложений, всё жду, когда наконец до разработчиков поисковиков дойдёт, что информацию о структуре и контенте можно получать не только (и не столько!) через прямое сканирование сайта, а через заранее согласованный интерфейс (наподобие того же robots.txt и sitemap.xml). Я полностью согласен с посылом статьи, что JS стоит костью в горле индексации, но нюанс в том, что в остальном он приносит гораздо больше профита. Если разрабы поисковиков не подсуетятся, то web-приложения будут индексировать не они, а агрегаторы типа App Store'а и Google Play'я. А поисковики будут индексировать сайты типа Библиотеки Мошкова (отличный сайт, кстати, несмотря на возраст) - ведь поисковики именно для этого и задумывались.
Так ведь могут. Есть же примеры - выгрузка товаров в формате yml, турбо страницы и вообще весь этот xml, вообще фиды в разных форматах, да ещё и с возможностями микроразметки.
Беда в том, что не надо поисковикам это. Их по факту поисковыми системами называть уже несправедливо - это рекламные системы, а Яндекс так и вовсе на пути к переформатированию в гигантский маркетплейс, откуда вообще на сайты переходить не надо.
Очень годная статья, и действительно есть проблема с этими SPA-сайтами, о которых вы упомянули в статье. Считается, что из-за того, что данные догружаются по запросу (то есть контент подменяется скриптами), поисковые боты вообще могут не видеть данную страницу. Плюс еще все делается на стороне клиента, что тоже не гуд.
Но насколько показывает опыт, боты ПС тоже не дурачки. Гибридная модель - отлично, но к сожалению, при разработке это не закладывается, и в дальнейшем перестраивать трудно.
Работала с одним проектом от студии Лебедева, там как раз-таки данная модель. Поисковые системы со скрипом, но индексируют.
Когда есть хорошая техподдержка - проблема решается. Беда в том, что на старте редко об этом думают, да и потом чуть не целый рефакторинг нужен. И вот заходит интересный проект на продвижение - и приходится отказывать, ничего там сделать нельзя без многочисленных переделок.
Плюс ещё один трабл: чёрный ящик. С Гуглом всё хоть как-то понятно, а вот что умеет яндексбот - темнота.
Хорошая статья. Виктор, в контексте SEO задач, какими инструментами Вы проверяете рендеринг контента? Можно поподробней.
Screaming Frog SEO Spider в режиме рендеринга JS и сохранением контента в базу. Ну, и User-Agent нужно задать. Я чаще использую правила гуглобота.
Получается долго, отъедает много места на HDD. Но как минимум, обнаруживается, что заблокировано, что доступно, какие объекты DOM выводятся средствами JS - и отсюда уже можно выстраивать гипотезы для работы. Скажем, без JS нечеткие дубли получаются из товарных карточек, потому что весь "уникальный" контент будет обнаружен сильно потом, после рендеринга JS.
Сейчас единственная проблема - это Яндекс. Они с весны здорово разрулили проблему с JS, но я пока не понимаю - в каких конкретных объёмах. Зато понятно, почему так замедлилась индексация. Судя по всему, в ряде случаев яндексбот пытается рендерить JS буквально real-time, так что тут сюрпризов можно ждать ещё.
годный контент, есть что предъявить кодырам