Pull to refresh

Comments 10

А может просто сделать одностраничный сайт и не мучать никого?
Полагаю, вы подразумеваете одностраничный сайт с внутренними ссылками. Можно сделать и так. Даже правильно сказать — именно так обычно и делается. Вполне распространённое решение, без сложностей, без заморочек. Если сравнивать с вариантом SSI-HTML, то тут главная разница в наличии страниц. Если не нужна многостраничность, то SSI-HTML вариант опускаем и забываем. Сравнивая же с SSI-XML, мы можем увидеть, что в конечном итоге и одностраничник и xml сразу отдают весь контент поисковому роботу. Т.е. если не считать отсутствия индексации в mail.ru, всё в принципе похоже.

При таком раскладе, если сайт должен быть совсем простой, обычный, то предпочтение и надо отдавать классическому html одностраничнику с внутренними ссылками — это и просто, и надёжно. Но если вы хотите реализовать разделы-подразделы, теги, может быть авторов, или ещё что-то в этом духе, то xml с xslt преобразованием могут пригодиться. Ну и момент с добавлением-удалением контента при xslt-трансформации тоже помнить будет не лишним (с точки зрения SEO).

Важно отметить, что то же самое при желании можно сделать с помощью JS. При этом конечно, количество фреймворков и величина сообщества JavaScript очень велики. Этот подход сейчас активно развивается. Так что я точно не против JS, мне просто интересно сравнить разные подходы. Например, одного и того же изменения страницы мы можем добиться и с применением JS, и с применением XSLT. Тогда вопрос — если результат одинаковый, то в чём собственно говоря, разница?

Разница в распространённости языка, в развитии его поддержки. Но если отодвинуть все холиварные сравнения, то остаётся только одно весомое противоречие подходов: декларативный у XSLT и императивный у JS (хотя можно на нём и функционально программировать). Императивный распространён, его понимают все, а декларативный редок. Но забывать его всё-же не стоит.

P.S. Не хотелось бы разжечь тут холивара
Как-то расточительно выдавать по запросу всю огромную страницу.

Вообще, в SSI вроде как можно делать сделать цикл через рекурсивные инклуды.

Ещё удобно втыкать куски страниц через cgi-инклуды. Чтобы не писать на ЦГИ всю страницу.
Цикл упрётся в LimitInternalRecursion, т.е. количество рекурсий ограниченное, и оно маленькое, дефолтно — 10.
Как-то расточительно выдавать по запросу всю огромную страницу.
Согласен, если сайт большой. Но, если ваш xml файл будет 100 килобайт, то… вполне приемлемо. Для сравнения сейчас посмотрел размер html кода главной страницы хабра — 134 килобайта. Я думаю, это как-раз те размеры, на которые можно ориентироваться. Т.е. десяток средних статей, или два десятка маленьких.
А чего это у вас пример в начале с php-инклюдами, а не SSI? Это нечестно
Тут нет РНР инклюдов. Если не сложно, процитируйте строку из кода.
Старый добрый include virtual (ибо Apache): <!--#include virtual="/footer.html" -->

Этак и всякие счетчики с гостевыми книгами подключали (это были адские CGI-скрипты на Perl), а у вас какой-то целиком интерпретируемый софткор :)
Согласен, вариант впихивания сайта в SSI инструкцию обычным никак не назовёшь. Но я удивлён, что такой вариант никто не использовал. Для эпохи активного использования инклюдов это было бы вполне актуальное решение — как минимум, для сателлитов, ну и для всяких сайтов-визиток и проч.
<?php include («header.php»);?>

А это?
Первый вариант (кода в статье) — классический в плане использования SSI. Простой вариант с
<!--#include virtual="/header.html" -->
, более продвинутый с
<?php include («header.php»);?>
. Он дан для примера. Чтобы не было сомнений, исправил на вариант с включением статического контента.
Спасибо за внимательность!
Sign up to leave a comment.

Articles