JS-шаблонизация на клиенте и доступность сайта для роботов: как лучше организовать?

Есть сайт, на котором хочется активно использовать подгрузку данных, шаблонизацию на клиентской стороне и backbone.js (или angular.js). Но какой-то контент придется показывать роботам. Как бы получше всё организовать?

Хочется избежать дублирования шаблонов. Хотя, для nojs-клиентов можно выводить контент в упрощенном шаблоне, видимо.

И хочется избежать дублирования данных. То есть, не загружать через json то, что уже загружено в виде html.

Какие подходы к решению этих проблем существуют? В какой стороне искать?
  • Вопрос задан
  • 3706 просмотров
Пригласить эксперта
Ответы на вопрос 4
dizballanze
@dizballanze
Software developer at Yandex
Можете использовать jinja2 в Django и совместимый с jinja2 шаблонизатор на клиенте, например, Nunjucks.
Есть небольшие различия, которые нужно будет учитывать.
Ответ написан
Комментировать
@aplic
Делайте скрипт что бы страница загружалась быстро и по основной массе страниц для ботов не потребуется ничего отдельного, они прочитают страницу сформированную JS. Проблема JS сайтов в том, что краулер внутри сайта не бегает, ссылки сформированные JS кодом не видит. Краулер бегает только по html коду. Другими словами под ботов вам нужно адаптировать только очень небольшую часть страниц.
Ответ написан
@lega
Используйте phantomjs для формирования результирующего html и последующей отдачи поисковикам.
Ответ написан
Комментировать
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
если при подгрузке данных меняется хэш страницы, то вам сюда
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы