Структура js - только половина уравнения.Вам также понадобится серверная среда для рендеринга статического контента.
Я уверен, что вы столкнулись с этим, но есть два инструмента для этого: #!и pushState.Google-боты, которые находят хэш-банг, такой как mysite.com/#!/blog, немедленно запрашивают
mysite.com?_escaped_fragment_=blog и кредитуют любой найденный ими контент на #!URL-адрес.Вот тут-то и вступает ваш серверный фреймворк.
Pushstate чище, но поддерживается только в новых браузерах.С помощью pushState вы можете генерировать чистые URL-адреса - (mysite.com/blog) - не прибегая к #, который не давал странице обновляться и обнулял ваши js в предыдущем методе.Но роботы Google по-прежнему не будут выполнять ваши js, поэтому, если они попадут на вашу домашнюю страницу - (mysite.com) - и увидите ссылку - (mysite.com/blog) - вам понадобится серверная структура для разрыва статической версииэта страницаЕсли человек запрашивает эту ссылку, вы пересекаете ему ту же статическую страницу, но позволяете вашим js взять на себя управление.
В общем, я все еще не нашел систему для поиска js-приложений, которая кажется чистой.,Мои решения также не были очень СУХОЙ, поскольку они обычно требовали двух наборов шаблонов.Хотя node.js предлагает возможное решение этой проблемы, и я предполагаю, что существуют серверные шаблоныные языки, которые могут скомпилироваться в то, что понимает js.Лучшее из возможных решений »было бы, если бы Google мог просто прочитать JSON прямо из вашего API.Так что если бы у вас было:
[{
"title": "mysite",
"content": "more of the same",
"links": {
"link1": "http://api.mysite.com/blog"
}
}]
Где гуглбот узнал бы, что заголовок - это что-то вроде <h1>
, а контент - что-то вроде <p>
.Ссылки можно перейти к следующему запросу API.Но я не знаю, я только что сделал эту последнюю часть.По-прежнему в Google полно умных людей, работающих над этим.Они наверняка что-нибудь выяснят в ближайшее время.