Как стать автором
Обновить

SEOшник, SPAси

Всем привет! Работаю в SEO очень давно. Еще с тех самых пор, когда в вебе не было тех самых проблем, которые плодятся как кролики вместе с новыми JavaScript фреймворками. Поймите меня правильно: я с большим уважением отношусь к инновациям и терпеливо (стиснув зубы) читаю новости о появлении очередной новой среды для front-end разработки. 

Что еще о себе? Ах да, последние несколько лет консультирую на запад(UK), владею своей фермой, где выращиваю веб сайты под аффилиатки. В общем,  не хайпую на python, презираю JS(как вы поняли из предыдущего абзаца ) и считаю PHP гениальнейшей штукой для веба(еще раз спасибо старику Расмусу Лердорфу).

*Здесь и далее мнение автора может не совпадать с вашим мнением. Это нормально.

Определения для понимания сути проблемы:

  • SSR (Server Side Rendering, рендеринг на сервере) - технология, позволяющая запускать JavaScript на сервере, возвращая на клиент готовый результат в виде статического HTML;

  • CSR (Client Side Rendering, рендеринг на клиенте) - рендеринг приложения на стороне клиента (в браузере), обычно с помощью DOM;

  • SPA (single page application, одностраничное приложение) - веб-приложение, которое работает путем загрузки веб-страницы вместе с необходимым кодом;

  • DNA - причина, по которой не могу сказать название проекта о котором пойдет речь.

Предыстория истории

Дано:

SPA (стартап), который с пеленок хочет быть enterprise уровня(Jira, Atlasian, в команде Project Manager, Product Manager, Business Analyst и т.д.) - все по взрослому. Основа - веб проект на VueJS(backend на Java+Spring). 

После запуска проекта оказывается, что его “не видно” в поиске. Причем не видно от слова “совсем”. По стандартному запросу site:whereareyouhoney.com Google выплевывает пустоту. “Такое возможно?” - зададут вопрос повелители синих слоников и я пойму их удивление. Инновации, призванные упрощать жизнь иногда порождают проблемы. 

Команда стартапа некоторое время пытается разобраться в проблеме самостоятельно, потом нанимает первого SEOшника, потом второго(благо сейчас очень много курсов, где учат выводить сайты в топ 10 за неделю).

*Сарказм, но: автор не пытается унизить коллег и не сомневается в их компетенции(на самом деле - сомневается), а хочет обратить внимание начинающих SEO специалистов на то, что кроме маркетинга с его KPI, ROI и т.д. еще нужно понимать техническую часть веба.

Итак, спустя несколько месяцев кропотливой работы - результат равен нулю.  Специалисты по поисковой оптимизации собирают для проекта «семантическое ядро», пишут рекомендации по тегам h1(что в общем-то нужно и важно), но суть не меняется. Проклятый google не видит проекта, на котором уже более 1000 страниц!!! 

Как вы поняли, данное SPA рендерилось на клиенте(CSR). Т.е. приложение прилетало в браузер, где собиралось и начинало свою жизнь. Тот, кто следит за новостями от Google, может в этот момент не поверить вышесказанному и напомнить о существовании Chromium, который работает с Javascript и, в общем, умеет рендерить. И на самом деле, при определенных условиях это так. Я проводил тесты и лично видел как в поиске появлялись данные микроразметки Schema.org, размещенные в стороннем JS файле. В данном конкретном случае все не работало по нескольким причинам: 

  1. В приложении не было урлов(соответственно отсутствовал файл sitemap.xml). Т.е. все страницы приложения располагались по сути на главной странице  сайта(по адресу www.allpageshere.com), а кэш Google бережно хранил девственно белую простынь пустого экрана.

  2. На всех логических страницах были одинаковые title и description, что давало краулерам Google повод задуматься о том, что они посетили некий лендинг с очень большим файлом JS внутри.

Решение данной проблемы изобрели вместе с изобретением Javascript - это реализация серверного рендеринга(SSR). Однако, хочу заметить, что знать о проблеме - не значит ее решить. На работающем проекте реализация SSR заняла, внимание: 6 месяцев!!! (еще 2 месяца сверху ушли на мелкие фиксы).

После внедрения рендеринга со стороны сервера проект стал прирастать на 100+ запросов в ТОП-50 в неделю. За 3 месяца на проекте в ТОП-50 было уже 3000+ запросов. Из них 30+ добрались до ТОП10. 

*Конечно, все это произошло не только благодаря SSR, а из-за комплекса внешних и внутренних работ.

Выводы из случившегося

В данном кейсе я не рассматриваю способы реализации серверного рендеринга. Об этом вы можете почитать здесь или здесь. Я хочу обратить внимание на то, что легкомысленный подход к оптимизации веб проекта enterprise уровня для поисковиков может вылиться в итоге в крупную сумму для инвестора. По крайней мере на данном временном отрезке развития технологий, поскольку существующая проблема через 3-4 года будет не актуальна. Не знаю как она решится: возможно, введут некий sitemap для SPA или еще чего, - главное ребята из Google(и не только) над этим уже работают. Пока же, товарищи маркетологи и прочие СТО и СЕО, помните: работаете с Javascript -  убедитесь, что вы - рендеритесь. 

Как-то так.

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.