Поисковая оптимизация SPA и '#!' в Backbone или Marionette?
Прошу прощения, но Гуглил, но ничего внятного не нашёл.
1. Есть ли какая то возможность у Backbone или Marionette автодобавлять '!' перед '#' как в Ангуляре?
2. Будет ли убираться '!' Когда включишь 'нормальные' URL(т.е. например '[domain]/blog/my-new-post')?
Но это всего лишь красивые урлы, реально при этом всё равно страницы строит JS, и поисковики лажают. Тут нужна серверная прегенерация. Гуглите в сторону изомрофных фреймворков.
Как я понял можно немножко исправить бакбон:
...
var History = Backbone.History = function() {
this.handlers = [];
_.bindAll(this, 'checkUrl');
// Ensure that `History` can be used outside of the browser.
if (typeof window !== 'undefined') {
this.location = window.location;
this.history = window.history;
}
};
// Cached regex for stripping a leading hash/slash and trailing space.
var routeStripper = /^[#\/]|\s+$/g;
// Cached regex for stripping leading and trailing slashes.
var rootStripper = /^\/+|\/+$/g;
// Cached regex for detecting MSIE.
var isExplorer = /msie [\w.]+/;
// Cached regex for removing a trailing slash.
var trailingSlash = /\/$/;
// Cached regex for stripping urls of hash.
var pathStripper = /#.*$/;
// Has the history handling already been started?
History.started = false;
...