Prerender and You: пример использования CJ

  1. История В этом году у меня была возможность поработать над интересным техническим SEO-проектом для...
  2. Наше решение
  3. Сделайте веб-приложение изоморфным со статическим содержанием HTML / CSS на каждой странице
  4. Жесткий код всех страниц со списком вакансий
  5. Результаты, достижения
  6. Жду с нетерпением

История

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

Все это звучит идеально, верно? Почти. Приложение и его последующие страницы не индексируются в Google. Для пояснения: Google рендерил страницы Javascript, как показано в Инструментах для веб-мастеров, но не смог надежно сканировать и понимать их. Это, возможно, никогда не было проблемой, но наш клиент работал в пространстве, где органический поиск имел решающее значение, и поэтому они обратились к нам за помощью.

Эта проблема

Это Что ж - документированный проблема, о которой Google знал еще в 2009 году, то есть, что его бот не мог сканировать, отображать или индексировать динамически генерируемые страницы Javascript. Плохие новости для веб-приложения нашего клиента. За последние несколько лет компания Google усердно работала над устранением этого недостатка, что привело к заметным результатам. К тому времени, когда мне было поручено определить решение для нашего клиента, их веб-приложение могло быть оказываемых надежно, но это было об этом. Хотя Google предоставил решение для чтения динамически сгенерированных страниц нашего клиента, казалось, что бот оказался в тупике, когда дело доходило до перехода их веб-приложения на новый уровень SEO - сканирование, индексация и, прежде всего, ранжирование.

Все это еще более усугублялось тем, как работало их веб-приложение, а также тем, как оно было построено. Наш клиент работал в сфере поиска работы и стремился конкурировать с такими компаниями, как Действительно, Monster и AngelList. Их приложение включало в себя функцию граненого поиска, которая приводила бы ко всевозможным буквенно-цифровым URL-адресам, которые фактически представляли собой разные страницы, так как элементы на странице изменялись по мере того, как пользователи перемещались по фасетам, но эти изменения не воспринимались Google как новые. страницы. Нетрудно представить, как это может быть проблематично; ранжирование для такого термина, как «Работа в бухгалтерии Лос-Анджелеса» без страницы «Работа в бухгалтерии Лос-Анджелеса», можно сравнить с привлечением носка к перестрелке.

Наше решение

Мы засучили рукава, придумали три возможных решения и сразу же отказались от следующих двух:

Сделайте веб-приложение изоморфным со статическим содержанием HTML / CSS на каждой странице

Плюсы:

- Решает проблему SEO, уменьшая / минимизируя роль AJAX в обслуживании контента.

Минусы:

- Ресурсоемкая сборка для своих уже отжатых инженеров
- Управлять бэкендом вдвойне сложно

Жесткий код всех страниц со списком вакансий


Плюсы:

- Лучшая практика SEO

Минусы:

- Слишком много разработчиков. работа, не хватает времени.
- Подрывает преимущества AJAX (скорость сайта, пользовательский опыт)
- Трудно масштабировать в будущем

Мы закончили тем, что пошли с Prerender.io , Разработанный, чтобы придерживаться Google Спецификация сканирования AJAX Prerender работает, создавая кэшированные HTML-версии страниц (в нашем случае - псевдостраницы многогранного поиска в веб-приложении) и передавая эти кэшированные страницы боту Google, когда он приходит по URL-адресу? _Escaped_fragment_ =. Совместимый со всеми основными инфраструктурами и библиотеками JavaScript, Prerender существует на вашем сервере в качестве промежуточного программного обеспечения и работает с техническими стеками, включая Ruby on Rails, Nginx, Apache и другие.

Внедрение Prerender является простым (наш клиент смог развернуть его в течение недели после согласия на использование Prerender), оно полностью с открытым исходным кодом и поддерживается надежным документация , Это было решение Goldilocks, учитывая их ресурсы и потребности, которое начало приносить результаты почти сразу.

Результаты, достижения

На ум приходят три слова: хоккейная клюшка для индексации (показывается в Инструментах для веб-мастеров)

Prerender реализован

Мы удвоили индексацию в течение трех месяцев после внедрения Prerender. Теперь Google удалось сканировать и индексировать страницы фасетов из веб-приложения, что означает, что наш клиент теперь настроен на ранжирование по таким терминам, как «Работа в Лос-Анджелесе».

Здесь важно отметить, что одного только Prerender было недостаточно, чтобы гарантировать ранжирование в конкурентном пространстве SEO, таком как поиск работы; мой учитель математики / логики в старшей школе мог бы сказать, что Prerender был необходим, но не достаточен. Эта недостаточность была вызвана тем, что Prerender выбрал для индексации набор граненых страниц в веб-приложении (это не так). Prerender открыл страницы для Google, но ничего не сделал.

город

Тип задания

старшинство

Компания

Луизиана

бухгалтерский учет

запись

Компания А

Бостон

маркетинг

средний

Компания Б

Хьюстон

Графический дизайн

Старший

Компания С

В приведенной выше матрице количество возможных граненых страниц уже (как мне сказали) 81 комбинация. Хотя Google теперь мог сканировать и индексировать предварительно обработанные страницы, он не мог разумно упорядочить их в иерархии. Другими словами, не было соответствующей информационной архитектуры для поддержки наших недавно отредактированных страниц. На каждой странице веб-приложения также отсутствовали важные элементы SEO, такие как чистые URL-адреса (в отличие от чего-то вроде этот ) и описательные теги заголовков, которые помогают поисковым системам понимать контент. Проще говоря: Prerender был в состоянии предоставить Google ограненные страницы заданий и проиндексировать их, но сами страницы изначально не создавались как целевые страницы (нет иерархического каталога для просмотра, нет читаемых URL, нет заголовков и т. Д.).

Чтобы получить лучшее представление о том, что я описываю, мы можем обратиться к Джаггернауту поиска работы, на самом деле. Эта страница является страницей действительно, которая оценивается как “работа по учету в Нью-Йорке”. Читатели заметят, что эта страница, по сути, является многогранной страницей - она ​​создается с помощью уже заполненного внутреннего поиска действительно (что: штатный бухгалтер, где: Нью-Йорк, Нью-Йорк). Разница в том, что функция поиска действительно дополняется статическими страницами каталогов, состояние или категория и город, и что эта страница (и каждая такая страница на самом деле) имеет читаемый URL и оптимизированные теги заголовка. Эти элементы, иерархия и SEO на каждой странице работы, делают страницу претендента действительно сильной для SEO; Страницы нашего веб-приложения нашего клиента не были созданы с учетом SEO, поэтому в них отсутствовали критические элементы, которые Prerender никогда не предназначался для решения.

Применение только Prerender помогло A) значительно увеличить их индексацию и B) незначительно увеличить органический трафик. Это не было полностью автономным решением, но это был большой шаг в правильном направлении для нашего клиента.

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

Жду с нетерпением

Google объявил месяц назад, что они устарела их схема сканирования AJAX , Контекст: в 2009 году, когда Google не удалось отобразить динамически сгенерированные страницы, они порекомендовали обходные пути, например? _Escaped_fragment_ =, которые Prerender аккуратно инкапсулирует. Теперь, шесть лет спустя, Google надевает свои большие штаны и заявляет, что на самом деле они не могут сканировать и отображать ваш контент JavaScript (они обновили свои технические рекомендации для веб-мастеров , тоже). Лично мне еще предстоит увидеть убедительные доказательства того, что Google может сканировать и отображать динамический контент в масштабе. Отдельные страницы, да, целые сайты (значительного размера), нет.

На данный момент Google все еще будет сканировать и принимать? _Escaped_fragment_ = решения по индексации, означающие, что их объявление об устаревании имеет мало практических последствий для среднего SEO / веб-мастера. Google направил свои усилия на сканирование динамически генерируемого контента. Тот факт, что они объявляют об устаревании своей схемы сканирования AJAX сейчас, когда их текущие возможности сканирования все еще неоптимальны, говорит о том, что они уверены, что смогут хорошо сканировать динамический контент, если не скоро.

В то же время, Prerender и подобные ему решения по-прежнему являются надежными способами сканирования вашего AJAX и JavaScript, и вряд ли это удастся изменить в ближайшее время. Поэтому для тех, у кого динамически генерируемый сайт хочет включить сканирование, я бы порекомендовал попробовать Prerender. Это не обязательно идеальное решение, я бы описал его как «один размер подходит большинству», но оно сработало для моего клиента, не разрушая банк.

Все это звучит идеально, верно?
На данный момент Google все еще будет сканировать и принимать?

Вход