Это хорошо, но с тем же angular есть ньюансы, например в js передается html шаблон с переменными и js подставляет туда значения, в таком случае генерация полноценного html для роботов уже усложняется.
так просто добавился посредник, гугл и пользователь получат идентичный html, но у пользователя сгенерится все в его барузере, а для гугла сгенерится все в серверном браузере.
плюс — простота и скорость реализации, надо было простое и быстрое решение, можно было сделать иначе и хорошо, но проект не был на это расчитан, не спрашивайте почему, не я писал. А про подмену клика на ссылку — например сайт lovi.fm, где я это делал, играет радио, страницу перезагружать нельзя, а страницы перелистывать надо.
Знаете, я согласен, лично я не люблю перегруженные js-ом сайты, я вообще поклонник старых ламповый сайтов и старого не-флат дизайна, но заказчики — это заказчики, всем нужны рюшечки:)
Facebook Share например без этого не понимает, гугл тоже я как-то ранее проверял контент, конечно, получал, но не весь, то есть не все аяксы вызывались, не знаю с чем было связано.
Это да, все верно, если и пользователю, и гуглу одинаково хорошая и правильная верстка отдается, но где-то я, не раз читал, что гугл подозрительно относится, если ему подают именно другую верстку, пусть даже более правильную, без лишнего.
В данном конкретном случае стоит простой таймер, а в идеале там коллбек есть специальный, который нужно вызывать после окончания всех загрузок, см. github.com/steeve/angular-seo
Еще важный ньюанс с инфинити скроллом есть, там уже костыли нужны.
плюс — простота и скорость реализации, надо было простое и быстрое решение, можно было сделать иначе и хорошо, но проект не был на это расчитан, не спрашивайте почему, не я писал. А про подмену клика на ссылку — например сайт lovi.fm, где я это делал, играет радио, страницу перезагружать нельзя, а страницы перелистывать надо.
Еще важный ньюанс с инфинити скроллом есть, там уже костыли нужны.