SEO-продвижение веб-приложений (SPA)

Сегодняшняя статья – о SEO-продвижении веб-приложений, то есть тех сайтов, которые сделаны по технологии single-page application. В одном из комментариев к моим видео, в о нашем новом ядре, меня спросили, как у нас обстоят дела с SEO. Вопрос не праздный, ведь SPA действительно очень слабо индексируются роботами по сравнению с классическими сайтами. Рассказываю, почему это происходит, что с этим делать.

Почему single-page application плохо индексируется?

Сам принцип работы SPA в том, что в браузер попадает уже скомпилированное приложение, которое функционирует иначе, чем классические сайты. Например, при нажатии на ссылку на обычном сайте сначала идёт запрос на сервер, затем тот генерирует новую страницу, а уже затем она подгружается на устройстве клиента. Робот, проходя по ссылкам, получает все страницы вашего сайта, а при настроенном sitemap. xml он не пропустит ни одной страницы. При написании пользователем того или иного запроса робот стыкует сайт по алгоритму с другими, и выдаёт его на определённой позиции в ранжировании.

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

В случае single-page application робот имеет только одну точку входа. Причём, хотя в SPA и можно сделать URLы, они больше нацелены на навигацию внутри самого приложения. Образно говоря, для робота ваше веб-приложение выглядит как одна большая чёрная коробка: часть информации он снять может, а вот перейти по внутренним ссылкам – нет, потому что они генерятся непосредственно в приложении, которое в робота, естественно, не устанавливается.

Как добиться индексирования SPA?

Чтобы получить правильный ответ на этот вопрос, мы изучили технологию SSR, позволяющую показать роботу, что у вас внутри сайта. Мы работаем на Angular (уверен, что на VUE и React есть аналогичные проблемы), и у него есть такая полезная штука, как Angular Universal. Её суть в том, что приложение работает не в браузере, а рендерится на сервере.

Отдаются классические html-странички, которые робот по своему стандартному алгоритму «съедает» и легко забирает себе в выдачу всё содержимое сайта. Идеальное решение, если бы не один нюанс: Angular Universal накладывает некоторые ограничения на возможности самого Angular – как раз из-за того, что на сервере сгенерить всё, что позволяет делать фреймворк, нельзя.

Получается, что на одной чаше весов у нас классический single-page application с возможностью только частичной индексацией, но полным функционалом фреймоврка, а на другой – Angular Universal, накладывающий ряд ограничений на функционал, но позволяющий делать эффективное SEO.

Продвижение SPA

Попробуем взглянуть на проблему шире. SEO – только один из инструментов продвижения стартапа. Я посмотрел, как продвигаются проекты, сделанные в виде веб-приложения (любые, не только на Ангуларе), и обнаружил, что у подавляющего большинства продвигается некий «подресурс». Например, блог, реализованный на Wordpress, через статьи которого и идёт всё SEO. Или публикуют оптимизированные статьи на раскрученных площадках. А иногда и вовсе привлекают блогеров, которые тоже пишут статьи со ссылками на сервис.

Получается, что вместо классического продвижения сайта стартапа основатели подходят к решению вопроса более хитро: они создают максимально продвигаемый ресурс и выкладывают на него статьи с низко- и среднечастотными запросами. Подобный ресурс, реализованный на том же WP, в отличие от SPA, легко оптимизируется, и на основной ресурс ссылки ведут уже с него. Функционал SPA никак не ограничивается, а продвижение идёт: так основатели убивают сразу двух зайцев.

Приведу пример из жизни. Предположим, что вы делаете сервис заказа услуг «аля YouDo» в узкой нише на нашем готовом решении – пусть это будет проектирование зданий. На своём «подресурсе» вы пишете всё, что можете выдать по теме: как выбрать подрядчика, на что обращать внимание, какие есть подводные камни и т. д. В статьях вы попутно отмечаете, что выбрать подрядчика можно на таком замечательном сервисе, как ваш, и указываете на него ссылки. SPA плохо индексируется, но зато это успешно делает сайт на Wordpress: посетители находят его в поисковике, проникаются экспертностью статей и с готовностью переходит на основной проект.

По итогу мы имеем «двухшаговое продвижение, при которой основной сервис не индексируется, но имеет полный функционал фреймворка, зато продвигается тривиальный блог, генерирующий лиды для основного проекта. Если немного отойти в сторону от SEO, сюда ещё можно добавить закупку рекламы у блогеров. Так, если лидер мнения в Ютубе разместит ссылку на проект у себя в описании, её увидит куча людей. SEO тут уже ни при чём, но эффективность у метода крайне высокая: у этого ютубера, во-первых, куча подписчиков, а во-вторых, при релевантном запросе рекламное видео попадает в выдачу, и ваша целевая аудитория обязательно перейдёт на ваш ресурс.

Если у вас есть дополнительная информация о продвижении SPA или требуется разработка стартапа, прошу связаться со мной:

  • Почта: d@brightmobile. ru
  • Тел/WhatsApp: +79178232748
  • Telegram: @denisgordienko
1818
14 комментариев

Автор что-то слышал про SSR, Next.js, Nuxt? :)

YouDo из примера использует Next.js, например:

2

А это надо спросить у лида, который решил писать на ангуляре, для которого SSR действительно через костыли делается, а не реакте или вью.

информационная статья спасибо, раньше заливалась на fb по сра

1

Автор, создавать отдельный сайт с блогом:
1. Домен сайта откуда вести трафик называть схожим образом? Есть какие то рекомендации?
2. Нет смысла делать домен третьего уровня? Хуже индексироваться может будет?

1. Я бы взял опыт уже раскрученных компаний. Например, https://blog.youdo.com/
2. Я думаю, что эта рекомендация 15-илетней давности уже изжила себяи роботы даже если учитывают уровень домена, то очень незначительно.

Был у меня когда-то опыт с ангуляром, до сих пор вспоминаю как страшный сон. Зачем кто-то в 23 году добровольно лезет в это болото.

У вас был опыт с разработкой или именно SEO ?