Сайт, RSS и браузерный XSLT
Мне последние три года не даёт покоя мысль: вот у нас есть RSS на сайтах, он же — XML, что мешает взять его за основу, наложить на него XLST через браузерный движок и получить оформленный сайт? Зачем делать аж два разные источника?
Листалки вперёд/назад, ссылки на комментарии — всё есть в расширениях, для остального RSS можно расширить самостоятельно. Никто ещё ничего такого не сделал?
Делали, конечно. Только там, насколько я помню, всё упирается в слабую и очень разную поддержку XSL в браузерах. Кажется одна из версий сайта jQuery (когда ещё с красными пирамидками на тёмно-синем фоне) была собрана на XML+XSL.
Живые примеры почему-то вылетели из головы.
Комментарий для pepelsbey.moikrug.ru:
Сделать кроссбраузерную обвязку не проблема, надо порыться, посмотреть с какими проблемами люди сталкивались.
Я знаю серъёзный недостаток: сайт очень сильно упадёт в выдаче поисковиков.
Года 3 назад проверял. Перевёл usercss.ru на XSLT. Вскоре, в Гугле опустился на 20 позиций, из выдачи Яндекса пропал воовсе. Надеюсь, ситуация изменилась.
http://xml.pro-radio.ru/ — единственный, известный мне, работающий на XSLT сайт.
Не понимаю зачем вообще объединять RSS с сайтом? Даже не представляю о чём точно идёт речь. РСС — это одно: лента новостей. Сайт — это другое: сайдбары, навигация, поиск, куча разнородной информации слепленной вместе. Не все сайты — блоги.
Есть связка XML + клиентский XSLT, но она сама по себе, при чём здесь RSS?
Или я чего-то не понял?
Комментарий для elv1s.ru:
Интересно, почему падает выдача? Из-за отсутствия всяких там Hx, strong?
Комментарий для zencd.livejournal.com:
Не все сайты блоги, но мой сайт — блог, вот и я рассуждаю применительно к своему сайту и похожим на него.
Не знаю, попробую ещё раз. Есть источник данных в формате XML (точнее — RSS), накладываем на него XLST, получаем сайт. При этом RSS тоже остаётся.
Комментарий для elv1s.ru:
Как-то бедненько.
FeedBurner оформляет свои RSS фиды через XSLT.
Комментарий для Евгения Степанищева:
Я даже пробовал XML с H[1-6], strong. http://usercss.ru/index.xml
Дело скорее в Content-Type. Поисковики не любят XML.
Комментарий для elv1s.ru:
Может отдавать им text/html? Для XSLT всё равно, читалкам — тоже.
Комментарий для kuchin.livejournal.com:
Странно, но мой фид не оформлен.
Комментарий для Евгения Степанищева:
Скорее всего потому, что поисковики ищут для людей нормальный человеческий HTML, а не какой-то там XML. Никогда не встречал в результатах поиска ленты RSS.
Комментарий для Евгения Степанищева:
По User-Agent’у проверять? Есть подозрение, что могут забанить за клоакинг.
Комментарий для wiktar.com:
Встречал наверняка :) blog.yandex.ru ищет как раз по RSS. Кроме того, можно просто выдавать text/html.
Комментарий для elv1s.ru:
Зачем проверять? Всегда выдавать text/html, а XSLT накладывать через JS.
Комментарий для Евгения Степанищева:
Я так не умею :-)
Можно попробовать.
Можно зайти с другой стороны, в стиле hAtom: делать что-то, что выглядит как feed из оригинального html.
Комментарий для Евгения Степанищева:
Ну, это читинг :) blog.yandex.ru именно под это и заточен :)).
Но в остальном, факт.
В общем, это будет очень интересный proof-of-concept.
Комментарий для wiktar.com:
Что именно читинг? :)
Я пробовал и иногда использую схему с XSLT на клиенте. Работает.
Проблемы следующие:
1) Режим высокой безопасности в IE не дает запускать XSLT-процессор. А этот режим увы корпоративная реальность в наши дни. Не везде, но бывает, что от него не избавиться.
2) Индексация поисковиками. Решается через клоакинг, что может быть чревато, хотя конкретных примеров у меня нет.
3) Наличие феерических глюков даже в самых современных браузерах. Например сафари и хром до сих пор не починили функцию document и директиву include. Ну и куда ты без них уедешь? Очень недалеко.
4) Наличие феерических глюков в js-библиотеках. Это понятно.
5) Куча браузеров без XSLT: мобильные и старьё всякое.
6) Скорость загрузки сайта. xslt-процессор подключает шаблоны строго последовательно. Никакой параллельности.
7) Глюки с кешированием. Например IE нужно перезапускать постоянно, он иногда жестко запоминает результат первого запроса шаблона.
В общем, сейчас отлаживаю промежуточную схему — серверный xslt-процессор плюс анализ юзер-агента. Одним отправлять готовое, другим — детали для сборки.
Комментарий для blog.ad.by:
Как не даёт? Сайт консультанта так работает, у них же запускается.
Да зачем? Просто выдаём text/html всегда
Херассе. Не работает вообще или есть известные обходимые глюки?
Ну, старьё, бывает, не интересно, пусть RSS читают, а современные мобильные это поддерживают.
Тут надо смотреть, может через JS как-то удастся решить
Тоже выход, да. А в качестве XML RSS используется?
Комментарий для Евгения Степанищева:
Комментарий для blog.ad.by:
Не припомню у них ActiveX, наоборот, кажется там через какой-то JS без всяких ActiveX.
Может выдавать для IE другой content-type?
А вообще мне идея с RSS+XSLT кажется красивой и работоспособной.
Комментарий для blog.ad.by:
1) я имею ввиду, что там как-то DOM/JS-вызов, но могу путать, давно смотрел.
Комментарий для Евгения Степанищева:
На заметку
http://www.ibm.com/developerworks/ru/library/x-think40/index.html