Comments 9
Топика-ссылки было бы достаточно.
-6
Радует, что в Яндексе не стали изобретать велосипед и спецификация соответствует таковой от гугла.
+9
Долго же вы. Сделали, когда это стало фактически не нужно — уже давно pushState появился и поддерживается современными браузерами, и все популярные js библиотеки(или плагины к ним) поддерживают pushState с фолбеком на хеши.
+5
Кривая схема какая-то, на первый взгляд. Сегодня хеши, завтра pushState, послезавтра еще что-то.
Кроме того, появляется искушение для cloaking.
Кроме того, появляется искушение для cloaking.
+1
как всегда все очень сложно
0
Правильно делать нужно по другому.
Нужно просто понять, что ajax — это лишь транспорт.
То есть, на примере, приведённом в статье, страница должна располагаться по адресу www.examplesite.ru/blog
При этом и человек, у которого отключен js, и робот, увидят html-версию страницы.
Если же на клиенте включен js, то начинает работать красивая логика сайта и ускорять загрузку и т.п.
Конкрентно — для загрузки контента по ajax браузер также обращается по ТОМУ ЖЕ адресу www.examplesite.ru/blog и сервер просто навсего отдаёт браузеру контент в другом формате, например, json, да или всё тот же html. Клиент принимает данные и располагает их в нужном месте страницы. Всё, никаких вывертов делать не нужно, менять поисковики, менять сайты и прочее-прочее.
Приведу примеры, как сервер может понять, что запрос от клиента пришёл ajax-овый. Это во-первых, тот самый заголовок X-Requested-With, равный XMLHttpRequest. Во-вторых, для большей надёжности (прокси режут заголовки и т.д.), можно передавать какой-нибудь параметр вида &ajax=1, которые соотв. передаётся только через js. В-третьих, если внести в архитектуру сайта правило, что если url оканчивается на .html, то передаётся обычная версия для роботов и клиентов без js, а если например, оканчивается на .json, то версия в json.
Успешно применяю это в своих проектах. Если нужно, обращайтесь, покажу примеры.
Нужно просто понять, что ajax — это лишь транспорт.
То есть, на примере, приведённом в статье, страница должна располагаться по адресу www.examplesite.ru/blog
При этом и человек, у которого отключен js, и робот, увидят html-версию страницы.
Если же на клиенте включен js, то начинает работать красивая логика сайта и ускорять загрузку и т.п.
Конкрентно — для загрузки контента по ajax браузер также обращается по ТОМУ ЖЕ адресу www.examplesite.ru/blog и сервер просто навсего отдаёт браузеру контент в другом формате, например, json, да или всё тот же html. Клиент принимает данные и располагает их в нужном месте страницы. Всё, никаких вывертов делать не нужно, менять поисковики, менять сайты и прочее-прочее.
Приведу примеры, как сервер может понять, что запрос от клиента пришёл ajax-овый. Это во-первых, тот самый заголовок X-Requested-With, равный XMLHttpRequest. Во-вторых, для большей надёжности (прокси режут заголовки и т.д.), можно передавать какой-нибудь параметр вида &ajax=1, которые соотв. передаётся только через js. В-третьих, если внести в архитектуру сайта правило, что если url оканчивается на .html, то передаётся обычная версия для роботов и клиентов без js, а если например, оканчивается на .json, то версия в json.
Успешно применяю это в своих проектах. Если нужно, обращайтесь, покажу примеры.
0
Sign up to leave a comment.
Индексация AJAX-сайтов поисковым роботом Яндекса