Записки о сайтостроении

Постраничная навигация Развернуть ↓

Постраничная навигация

Свернуть ↑

В сети можно встретить много обсуждений того, как правильней и удобней реализовать постраничную навигацию. Почему-то немногие задумываются об общей целесообразности этого элемента интерфейса.

По-моему, постраничная навигация (pagination, «пагинация») обычно используется либо просто потому, что так принято, либо для того, чтоб показать посетителю лишнюю порцию рекламы. Крутить скроллбар для того, чтобы увидеть продолжение страницы — логично. Нажимать на бессмысленные цифры-ссылки — нет. Это относится и к результатам внутрисайтового поиска (где редко актуальна релевантность), и к отображению списков статей/постов, и к показу топиков в форумах.

Самый простой пример навигации для роботов:

Навигация для роботов

Разбиение на страницы «по N штук» уместно только в результатах работы поисковика, поскольку там используется важный для посетителя критерий релевантности. В подавляющем же большинстве случаев в блогах или на форумах записи сортируются и разбиваются на страницы по единственному критерию — времени, которое для человека, читающего сайт, не играет большой роли. Поэтому их либо не стоит разбивать вообще — повторюсь, полоса прокрутки отлично справляется со своей функцией — либо разбивать по какому-нибудь осмысленному признаку: в блоге — по тегам, в интернет-магазине — по цене, и так далее.

Если страница содержит несколько сотен объектов — например, перечень товаров в разделе интернет-магазина — можно использовать какую-нибудь умную разбивку (см. позапрошлогоднее обсуждение на сайте бюро Горбунова).

Конечно, бывают случаи, когда и без тупой разбивки не обойтись — скажем, топики в форумах, разросшиеся до нескольких сотен сообщений. Но в любом случае надо оставить посетителю возможность отобразить всё на одной странице.

Вспомнилось, что Дейкстра писал о метках в высокоуровневых языках программирования — их стоит использовать, только если знаешь, что без них в данном случае никак. Мне кажется, в случае с постраничной навигацией стоит руководствоваться тем же принципом.

Комментировать (на данный момент — 3 комментария)

Yahoo Pipes Развернуть ↓

Yahoo Pipes

Свернуть ↑

У Яху есть очень удобная штука для тех, кому приходится работать с большими потоками данных, будь то просто чтение РСС, отбирание нужных материалов из новостей по теме, формирование подборок изображений и так далее. Называется Pipes — http://pipes.yahoo.com/.

Например, есть сайт Ars Technica, время от времени пишущий в разделе об Эпл отличные обзоры. Но в последнее время процентов восемдесят содержимого эпловской ленты составляют iPhone, его SDK, iTunes Store и какие-то концепты планшетов, о которых мне читать неинтересно. Просто отфильтровываем ненужные слова из заголовков, сохраняем в My Pipes и подписываемся на то, что получилось.

Yahoo Pipes

Еще case study: недавно надо было опубликовать на сайте Твиттер-ленту. В ленту Твиттер-юзера попадают не только его посты, но и ответы другим людям, читать которые, не будучи в теме, совершенно неинтересно. Поэтому надо было убрать из РСС все записи, начинающиеся на @. Наверное, у ПХП-программера эта задача отняла бы ненамного больше времени, чем у меня — сооружение фильтра в Pipes, но мне понадобилось бы снимать с пыльной полки «Регулярные выражения» и вообще вспоминать, как в ПХП пишутся циклы.

Понятно, что это самое простое, для чего можно использовать сервис. Он позволяет сливать информацию из множества потоков в один, отбирая ее по заданным критериям, при фильтрации можно пользоваться регулярными выражениями, циклами, принимать ввод от пользователя и еще много всякого разного — и все это во вполне дружелюбном интерфейсе, с помощью одной мышки.

Комментировать

О заголовках на сайтах Развернуть ↓

О заголовках на сайтах

Свернуть ↑

Часто замечаю, как люди, делающие хорошие сайты, с непростительной халатностью относятся к заголовкам. Самое распространенное явление — наличие на странице ссылки на саму себя (обычно как раз в заголовках — либо в логотипе на главной странице, либо в названии статьи/поста). Еще весьма часто создатель сайта, не определившись, какой заголовок важней — сайта в целом или текущей страницы, заключает и то, и другое, в <h1>, что вообще ересь.

Давайте определимся, какими должны быть заголовки на сайте. Для примера возьмем формат блога, как один из самых популярных сейчас.

  • Заговок первого уровня на странице должен быть один.
  • На главной странице сайта ключевая информация — его название, и именно его надо делать заголовком первого уровня. Подзаголовок сайта, использующийся довольно часто, хоть и располагается где-то рядом, очень редко по значимости заслуживает того, чтобы брать его в <h#>— обычно хватает обычного блока. Если на главной странице перечислены, скажем, заголовки последних постов, их можно оформить как <h2>. В некоторых случаях в <h2>лучше брать заголовки разделов — надо смотреть по ситуации.
  • На «шмуцтитулах» заголовком первого уровня нужно делать название раздела. Заголовки постов — в <h2>.
  • На странице с отдельным постом в  <h1>берем заголовок поста.
  • Заголовки навигационных блоков мне кажется правильным заключать в <h2> или <h3>.
  • Ни одна ссылка не должна вести на текущую страницу.

В продолжении хотел написать, как это все воплотить в Вордпрессе, но обнаружил, что это уже сделал Сергей М.

Комментировать (на данный момент — 2 комментария)