Такой вопрос, как обычно оформляют главные страницы сайта при помощи cms, фреймворка, не важно. Вот что я имею ввиду…
У нас есть сайт, с кучей статей и категорий, например какой-нибудь it блог, бухгалтерский сайт, не важно. Мы часто попадаем на него из гугла, видя статью, там все как правило просто: есть менюшка, есть статья, какое-нибудь облако тегов, и какие-нибудь ссылки (по бокам) на похожие/популярные статьи и т.д... это все понятно, какие-то вещи из бд берутся, какие-то делаются динамичной выборкой, НО почти всегда, переходя на главную страницу такого блога мы видим что-то вроде landing-а, т.е. Там размещены баннеры, блок с командой авторов, ссылки на партнёров и т.д.,т.е. Очень много блоков с информацией, которые мало связаны с самим контентом на сайте, особенно это актуально для сайтов компаний (аудиторских, например), которые продвигают свой сайт за счёт «полезного» контента.
Так вот собственно вопрос, как делают главные страницы на таких сайтах: Статичная вёрстка? Динамическое содержимое на основе таблиц? Возможно содержимое получают из json и редактируют также? Не много не ясен общий подход, так сказать… Потому что конечному клиенту статичную вёрстку, конечно, не очень хорошо менять, а подходя к какой-нибудь красивой и сложной структуре главной страницы, можно всё это разбить на логические блоки, но таких блоков порой получается 7-10, и то и больше и для каждого блока заводить новую таблицу в БД? Чтобы пользователю всё потом это можно было менять. Как быть?
Конкретная реализация будет зависеть от используемой CMS.
Например в ModX мы создадим отдельный шаблон для главной, назначим его ресурсу, и насоздаем разных параметров для заполнения страницы.
Используя фреймворк или самописную админку, мы вообще ничем не ограничены, делаем как хотим.
Если так делать, изменение хотябы одного блока на главной странице потребует от конечного пользователя знаний разметки, а это как раз то, что клиент видеть не хочет.
Saboteur, о них, честно говоря я не подумал, потому что когда в последний раз с ними сталкивался (году так в 2011-2012) создание разметки через такие инструменты было нечто ужасным, но вот редактировать какие-то блоки я даже и не пробовал. Из этого всего возникает вопрос, как бы прикрутить какой-нибудь такой редактор, даже с простыми возможностями изменений текста и изображений в заранее определенных блоках, к flask или django. Одноминутное гугление не подсказало ничего готового (типо библиотеки)...
Trigular, для большинства CMS есть готовые плагины.
Для практически всех фреймворков есть библиотеки
Если у вас самописное решение - ну тогда или адаптируйте или сами пишите )
Зайди на любой новостной сайт, хабр, ifixit, wired и подобные сайты которые представляют собой набор статей.
По сути главная это лента самых свежих актуальных и популярных статей, а вот по какому алгоритму формировать этот топ статей - это уже должен решить ты.
Все придумано до нас. Ведь по сути сайты это печатные издания. Так что первая страница верстается исключительно ради функциональности :) На примерах
* визитка - типичный лендинг, на первой странице дают понять кто и это и что делает и показывают путь к быстрому получению услуги
* глянец - гламурный сайт по которому можно побродить, и что выбрать из рекламы
* энциклопедия - ссылки на нужные вам технологии, четкая структура и быстрый поиск
* желтые страницы - просто каталог ссылок
Согласен, когда так, это на самом деле очень просто, а вот когда главная страница больше похожа на продающую страницу с кучей блоков, и пользователю сайта вдруг (после года сдачи в эксплуатацию) нужно изменить что либо на главной странице, там какая-нибудь информация устарела, или что-то подобное, то ему бы не плохо заранее предоставить интерфейс для изменений это информации, а вот тут и заключается вопрос, как организуют такие страницы....
Trigular, Есть такое понятие как WebPart ну или конструкторы сайтов.
По сути происходит следующее.
Страница размечается на зоны. В этой зоне может быть от 0 до нескольких частей.
Каждая часть может представлять из себя либо кусок html верстки либо навороченную клиент серверную часть. Например SPA приложение для отображения погоды или биржевой тикер.
Нужно понимать что основная "магия " происходит в момент редактирования страницы.
Настройки веб частей сохраняются в БД, генерируется разметка и выставляются кэши.
После сохранения сервер по сути отдает только статику и перенаправляет клиента на rest api для отдачи контента, но в некоторые моменты рендерит все на сервере.
Как бы сделал я, допустим берем python фреймворк (Django, flask), делаем внутреннюю (всё что находится за главной страницей) логику сайта, всё чудесно, нам всё нравиться.
На главной странице у нас есть несколько видов блоков, скажем 8 (маленькие плитки, большие плитки, авторы, главная продающая новость, слайдер, небольшой блок информации служащий для разделения контента, блок партнёров).
Так вот, логически вижу только два способа как это сделать:
1)Создаём по таблице на каждый блок, оформляем в админке в "отдельный" раздел и пытаемся объяснить будущему пользователю (клиенту) какой блок за что отвечает, и тогда как некоторые таблицы типо "авторов" и "партнёров" ещё имеют какую-то дальнейшую смысловую нагрузку на сайте, то остальные служат исключительно для отображения и редактирования главной страницы. В связи с этим, делать лишних 5 таблиц для главной странице мне кажется, такое себе (хотя я не знаю точно), а иначе разделить логику отображения этих блоков на странице я не представляю как.
2) Затолкать всю информацию на главной странице в json, подгружать его и соответственно отображать, а в админке уже, в свою очередь, делать какой-нибудь удобочитаемый вид редактирования для пользователя.
И вот вопрос, а как ещё делают? или вообще как делают это логику обычно? Или и правда не парятся статичные страницы главные делают, и всё.
p.s. Судя по всему суть вопроса я тоже не могу донести...
Правильно выше написано, что то, какая главная, зависит от типа сайта. У меня сайт статейный и я на главную сделал просто статью под высокочастотный ключ. Тут недавно решил эту страницу перенести внутрь сайта, и позиции посыпались, так как морда сайта имеет наилучший ссылочный вес.
Но если на сайте статьи быстро устаревающие, типа новостника, то там просто лента. Если сайт визитка, то просто лендинг и SEO вообще не важно.