×
Россия +7 (495) 139-20-33

SEO для реактивных движков (Node js, V, angular). Разбираемся как правильно настраивать рендер и индексацию

Россия +7 (495) 139-20-33
Шрифт:
0 5672
Подпишитесь на нас в Telegram

В области создания сайтов между программистами и SEO-шниками есть вечный спор – что круче: IOS или Android обычный сайт или SPA.

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

SPA очень любят программисты, но такие сайты не хотят дружить с SEO. Сайт, конечно, должен быть красивым и удобным для пользователей, но ранжирование и видимость в ПС все равно хромают.

Тема непростая, но мы попробуем разобраться – в статье расскажу об особенностях SPA-сайтов: почему они конфликтуют с SEO и как разрешить уже вечный спор и создать SPA, который будет виден и понятен для поисковой системы.

Почему ПС не ранжирует сайт с отличным юзабилити?

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

Так работают SPA-сайты: когда человек хочет перейти с одной страницы на другую, браузер берет уже загруженные данные и показывает ему. И, если нужно, динамически подгружает с сервера нужный контент без обновления страницы.

А обычный сайт (MPA) состоит из множества HTML-страниц. Пользователь кликает по ссылкам, браузер загружает новые страницы. Условно, каждая страница сайта – отдельный документ с кодом. 

Если бы вы просили MPA и SPA раскрасить картинки в разные цвета, то это выглядело бы примерно так:

SPA сайт

SPA идеально подходит для сайтов, где человек долго сидит и что-то делает на одной странице, например:

  • просматривает почту и отмечает письма как спам; 
  • пишет посты и комментирует чужие; 
  • смотрит сериалы; 
  • выбирает квартиру; 
  • разглядывает картинки и собирает их в тематические доски.

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

Программисты всегда «за» SPA-сайты – они сильно опережают MPA, хоть и имеют свои недостатки. 

SPA-сайты

MPA

Сайт красивый, работает быстрее, юзабилити на высоте – конечно, все считают, что это идеальное решение. Но почему SEO у SPA не ладится? На это есть несколько причин – о них ниже.

Роботы не справляются с рендерингом – и страница превращается в «пустышку»

Основная проблема в том, что основной контент SPA-сайтов формируется на JavaScript, а если его убрать, страничка превращается в «шаблон» – полную копию остальных.

Чтобы этого не происходило, скрипты нужно предварительно рендерить. ПС это умеет, но делает это не всегда. 

Да, еще в далеком 2015 году Google объявлял, что теперь-то он понимает JS и достаточно открыть скрипты для индексации. Но что происходит на деле? Боты просто не рендерят страницы: то из-за большой нагрузки на сервер, то из-за экономии ресурсов. 

Эти проблемы всплывают, когда роботы обходят сайты. 

Сначала робот сканирует исходный код и смотрит, как выглядит страница. Он должен понимать, что на сайте есть все, что необходимо пользователю. Но в SPA-версии он не видит основную часть контента, поэтому может просто не понять, что содержится на странице. Чтобы увидеть больше, боту нужно выполнять скрипты и рендерить их. И тут остается два варианта: бот уходит и помечает страницу как неинтересную или дает сайту шанс и приглашает второго бота.

И даже если второй робот все-таки пришел – справляется не всегда. Если на сайте одновременно много пользователей и время загрузки увеличилось, человек может немного подождать или даже не заметить изменений. Но у бота все четко: не загрузили страницу за пять секунд – до свидания. Бывает, что он отрендерил первую страницу и увидел, что на ней все как положено – значит, можно переходить к следующей. Но на второй нужно рисовать все по новой, а у бота уже не остается на это ни времени, ни сил, ни желания. Тогда он уходит, и сайт остается непроиндексированным. 

Короче говоря:

Сайты

Но почему мы просто открываем сайт в браузере и видим полную картинку, а ПС не может ее разглядеть без самостоятельного рендеринга?  

Представьте, что сайт на JavaScript – это кинопленка. Вы приходите со своим проектором – его роль выполняет для вас браузер – вставляете пленку и смотрите фильм. А у поисковой системы такого проектора нет. Она тоже смотрит на пленку, видит, что там есть какие-то картинки, но включить фильм не может. Боту становится скучно и, скорее всего, он уйдет, не пытаясь самостоятельно склеить изображения в видео. Поэтому роботу нужен HTML-код: ПС может читать его, как книгу с картинками, и не терять интерес.

Как это выглядит технически. На первой картинке то, какой SPA-сайт на самом деле, на второй – как видит его робот.

Сайты

Какой SPA-сайт на самом деле

Сайты

Как SPA-сайт видит робот

Из-за того, что бот помечает страницу как неудобную, в индекс не попадает контент, который мог бы принести вам высокие позиции в поиске и весомый трафик.

Боты не видят контент на страницах – и сайт получает только брендовый трафик

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

Так и было на нашем проекте крупной онлайн-аптеки. Сайт посещало больше 8000 пользователей в сутки, но на карточках товара трафика не было совсем. Для аптечной ниши это особенно странно: основной трафик аптеки – именно препараты. Нет таких лекарств, которые люди не гуглят. На первый взгляд сайт был красивый, удобный для пользователей, с большим ассортиментом и кучей сертификатов. Поэтому мы копнули чуть глубже, чтобы найти проблему. 

Сайт был полностью написан на скриптах. Тогда первым делом мы проверили, как робот ПС видит страницы. Как и предполагали, на скрине оказалось только белое полотно.

Когда мы стали искать контент в HTML-коде, который получает робот, увидели, что текстового описания не было. Поэтому товар никак не мог ранжироваться – у бота нет информации: ни названия препарата, ни состава, ни инструкции.

Сайты

Робот просканировал страницу и даже отметил ее как удобную, но текстового описания не увидел

Получается, что ПС видит сайт и весомый трафик на нем, но не может сканировать ссылки в меню, блоках перелинковки, ключевые слова и даже title. 

Вот, например, ищем антисептики, а в выдаче появляется каталог лекарств. ПС видит в description и URL название «антисептики». Видит, что люди, которые искали этот товар, удовлетворяют свой интент. Но когда нет релевантного тайтла, фильтров, товаров и прочего контента – сайт вылетает за топ-50.

В теории ПС догадывается, что на этой странице находятся антисептики, но она не будет «подкидывать» пользователю в выдачу сайт, в котором не уверена на все 100%. Поэтому и идет только брендовый трафик, несмотря на 8 летнюю историю домена с отличным type-in.

Сайты

Как разобраться с JavaScript, чтобы роботы сканировали сайт целиком?

Отдаем рендеринг серверу, чтобы получать ноубренд трафик

Боты были не настроены работать и выводить аптеку в топ, поэтому мы немного упростили им задачу.

Решение для SPA-сайтов – это SSR. Он рендерит страницу вместо бота и «подсовывает» ему готовый рисунок, чтобы тот точно все проиндексировал.

Получается, когда на сервере аптеки появлялся пользователь Googlebot – ему автоматически прилетала готовая картинка. С такой настройкой не приходится рисковать и думать о том, что бот может не увидеть чего-то на странице и отказаться ее индексировать – теперь все схвачено ;)

Я рекомендую использовать динамический рендеринг, при котором сервер распознает, кто именно осуществляет запрос. Если это пользователь – рендерит страницу сам браузер, он всегда справляется с этим. Если поисковый робот – сервер отправляет ему готовую HTML-страничку, чтобы избежать «недопониманий».

динамический рендеринг

Так технически выглядит динамический SSR

До настройки SSR на проекте поисковый бот отказывался индексировать тонну страниц. А сразу после передачи рендеринга серверу положение значительно улучшилось: число проиндексированных страниц увеличилось почти в 4 раза.

Ниже – число проиндексированных страниц до и после настройки SSR.

число проиндексированных страниц

Число проиндексированных страниц – до

число проиндексированных страниц

Число проиндексированных страниц – после

Прописываем контент в «сыром» HTML, чтобы неотрендеренные скрипты не мешали ранжированию

Не все сайты написаны полностью на JavaScript – есть страницы с частичной динамической подгрузкой. На таких сайтах весь контент прописан в виде HTML-кода, но на нескольких страничках появляется анимация или выпадающий список, реализованный на JS.

Пример частичной динамической подгрузки

Пример частичной динамической подгрузки

Если динамически подгружаются только отдельные элементы – это не проблема. Главное – прописать недостающий значимый контент в HTML-коде. Так скрипты, которые не отрендерит ПС, ни на что не повлияют – она увидит текстовое описание в HTML и сможет ранжировать сайт по ключевым словам. 

Так мы делали для сервиса помощи студентам. На сайте был блок FAQ, который раскрывался после клика. Боты видели вопросы «Как быстро авторы могут помочь с решением задач?», «Как выбрать автора?» и другие, но ответы прочитать не могли. Из-за этого часть страницы не попадала в индекс и хуже ранжировалась.

Поэтому мы добавили контент в «сырой» HTML и дали понять боту, что на странице FAQ пользователь увидит ответы. Теперь ПС может прочитать содержимое блоков и учесть его в ранжировании сайта ;)

Но когда динамических элементов становится слишком много – можно не париться с версткой и сразу подключать SSR.

Иначе это может занять слишком много времени: программисты переверстают → ПС заново обойдет сайт → SEO-спецы проверят, зафиксировала ли она изменения → если нет, придется переверстывать. Первая такая итерация займет минимум 2-3 недели, если пойдем на вторую – еще столько же. Зачем ждать так долго и упускать лиды, если можно настроить SSR и вести трафик на сайт уже сейчас? ;)

Всем высоких продаж!

Есть о чем рассказать? Тогда присылайте свои материалы Марине Ибушевой


Новые 
Новые
Лучшие
Старые
Сообщество
Подписаться 
Подписаться на дискуссию:
E-mail:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.
Отправить отзыв
ПОПУЛЯРНЫЕ ОБСУЖДЕНИЯ НА SEONEWS
Как мы увеличили число посетителей сайта на 89 000 человек и индекс качества на 30 единиц за 4 месяца
Никита Ширяев
4
комментария
0
читателей
Полный профиль
Никита Ширяев - Здравствуйте, 1. ТЗ на создание контента, это всего лишь одна из задач, которую мы делаем на проекте. 2. Получаемый текст обязательно проходит проверки на спам. 3. ТЗ на создание контента, это ориентир для авторов. 4. Как раз таки ТЗ помогает не переспамить в тексте, так как мы замеряем показатели ТОПа и ориентируемся на него. И опять приведу Вам скриншот, который подтверждает постоянный рост рейтинга домена. DR имеет сильную прогрессию.
Алексей Романенков (Rookee): как обеспечить проекту видимость в интернете и какими инструментами ее наращивать
Rookee
3
комментария
0
читателей
Полный профиль
Rookee - Добрый день. Взяли на заметку, спасибо. Чтобы не пропустить материал на тему репутационной стратегии от Алексея, следите за Rookee в соцсетях :)
Михаил Сливинский (Яндекс): об алгоритмах качества в поиске, сгенерированных текстах и накрутке ПФ
Анна Макарова
389
комментариев
0
читателей
Полный профиль
Анна Макарова - Владимир, спасибо за комментарий! Если вдруг Михаил сюда не придет, то мнением и мыслями можно напрямую поделиться в ТГ амбассадора. В этой новости оставляли контакт: www.seonews.ru/events/vebmasterskaya-2024-v-yandekse-poyavilsya-ambassador-internet-ploshchadok-v-poiske/
Как продвигать сайт на Tilda: особенности продвижения и рекомендации специалистов
Konstantin Bulgakov
16
комментариев
0
читателей
Полный профиль
Konstantin Bulgakov - Спасибо за рекомендации, полезно. Но кажется, что тематика в кейсе не самая конкурентная + часть запросов в продвижение брендовые, там и без сео позиции будут в топе.
23 сервиса для эффективного экспресс-аудита любого сайта
Илья
3
комментария
0
читателей
Полный профиль
Илья - Lighthouse - работаю пока с ним, не подводит
Зачем вам доверие поисковиков, как его укреплять и привлекать клиентов на сайт
Rookee
3
комментария
0
читателей
Полный профиль
Rookee - Рекомендуем задуматься как можно скорее, потому что даже только что созданный сайт чаще всего нуждается в оптимизации. Битые ссылки, лишние редиректы, низкая скорость загрузки - от всего этого нужно избавляться, чтобы сайт успешно продвигался в поиске и удерживал внимание пользователей. Тарифы на оптимизацию бывают разные, в Rookee базовая техническая оптимизация стоит 13 090, а в рамках Комплексного продвижения может обойтись дешевле или дороже в зависимости от потребностей сайта.
В какой поисковой системе продвигать финансовый сайт: выводы исследования Sape
Sape
3
комментария
0
читателей
Полный профиль
Sape - Добрый день! Спасибо за вашу обратную связь. Да, действительно, метрика DA не обновляется последние три месяца из-за проблем с поставщиком данных. Мы уже работаем над этим, в ближайшее время исправим. На данный момент для отбора сайтов в системе доступны десятки других метрик, которые обновляются регулярно. Касательно цен — с ними всё в порядке. Если у вас есть вопросы относительно ценообразования, мы готовы на них ответить. Благодарим, что поделились мнением. Мы всегда рады конструктивному диалогу!
Как вырастить трафик из блога в 9,7 раз за год. Кейс
Сергей Шабуров
1
комментарий
0
читателей
Полный профиль
Сергей Шабуров - Константин, здравствуйте! Лид-формы у нас прямо в статьях, так что трафик идет с самих статей.
Яндекс Маркет представил собственный бренд велосипедов Raskat
Анна Макарова
389
комментариев
0
читателей
Полный профиль
Анна Макарова - Для городского велосипеда 14-16 кг - вполне ок, можно сказать легкий. Почему нет? )) Понятно, что есть варианты и легче, но они уже скорее всего будут спортивного плана, где каждый грамм имеем значение.
Матвей Северянин дает экспертный отзыв: 788 000 ₽ за месяц на продаже Telegram-каналов – реально
Александр
1
комментарий
0
читателей
Полный профиль
Александр - Согласен с Матвеем. Сам покупаю- продаю Тг каналы на бирже : t.me/birga_prodagi_tg_kanalov - Биржа продажи ТГ каналов | Альянс-А
ТОП КОММЕНТАТОРОВ
Комментариев
910
Комментариев
834
Комментариев
554
Комментариев
540
Комментариев
483
Комментариев
389
Комментариев
373
Комментариев
262
Комментариев
249
Комментариев
171
Комментариев
156
Комментариев
141
Комментариев
121
Комментариев
120
Комментариев
100
Комментариев
97
Комментариев
97
Комментариев
96
Комментариев
80
Комментариев
77
Комментариев
74
Комментариев
67
Комментариев
64
Комментариев
60
Комментариев
59

Отправьте отзыв!
Отправьте отзыв!