Управление статическими страницами в 1R Commerce

В данной статье предлагаем вашему вниманию способ организации статических страниц внутри проекта 1R Commerce. Рассмотрим варианты организации и примеры кода, который в итоге у нас получился. Поехали!

Что такое «статика»?

Вероятно, прочитав заголовок, вы первым делом задумаетесь, а что, собственно, скрывается за термином “статическая страница”? Если речь идёт о статических и динамических страницах относительно их поведения в браузере, то статическая страница от динамической с виду ничем не отличается: она тоже содержит текст, картинки, ссылки и прочие атрибуты web-страницы. С точки зрения пользователя практически любая страница сайта, разве что за исключением страниц снабженных AJAX, статична.

Однако секрет кроется в том, как эта страница генерируется на стороне сервера: динамическая страница изменяет свои данные в зависимости от действий пользователя, статическая для всех пользователей одинакова.

Есть ещё одно разделение на динамические и статические — по способу хранения. Статическая страница, как правило, это HTML файл, который в неизменяемом виде хранится на сервере. Динамическая же в виде отдельного файла не существует, а формируется серверными языками (PHP, Ruby и др.) в момент обращения пользователя к серверу.

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

Для чего нам нужны статические страницы?

Ответ получается из всех тезисов приведенных выше. “Статика” понадобиться нам для отображения какой-либо информации, которая, единожды заданная, не будет меняться на протяжении длительного времени.

Например, информация внутри раздела “О магазине”, вероятнее всего, будет содержать информацию об основной продукции, которой данная площадка торгует, о принципах функционирования, пожеланий пользователям и т.д.

Раздел “Доставка” и “Оплата” наверняка два самых посещаемых вами разделов на любой интернет-площадке, где вы хоть раз задумывались о покупке. Информация в данных разделах чаще всего статична и не меняется на протяжении всего существования магазина. “Условия использования сайта” — ещё одна важная но, не очень посещаемая страница со “статикой”, которая содержит юридический минимум регламентирующий отношения магазина с его клиентами (в современном мире, отсутствие такого раздела чревато судебными тяжбами для собственника интернет-магазина).

Перечисленные выше страницы — это минимально необходимый набор “статики” для любого интернет магазина, которую пользователь желает видеть на сайте магазина, а следовательно нам необходим какой-то простой механизм для управления этими страницами. И здесь нам приходит на помощь система управления контентом статических страниц, реализованная в качестве гема — Spree Static Content.

Создание

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

Итак, для начала нам необходимо авторизоваться в панели управления нашего интернет магазина и перейти в раздел Настройки > Страницы.

В результате вы увидите перечень статических страниц и элементы управления ими:

spree-admin-pages

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

Давайте перейдем непосредственно к макетированию будущей страницы:

spree-admin-add-page

Из обязательных к заполнению полей здесь Заголовок, Постоянная ссылка и тело страницы.

Дополнительные поля и опции можно не указывать, но помните, что, например указание META заголовка позволит Вам управлять заголовком окна/вкладки браузера, которое увидит пользователь.  Причем этот мета-тег одинаково важен как для для посетителей, так и для поисковых систем. В ранжировании результатов поиска поисковики придают большое значение ключевым словам, которые содержатся в теге «title», вторые видят его содержимое в виде ссылки на сайт в тех же результатах поиска. В прочем, для СЕО и поисковых роботов важны все мета-теги.

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

Следующим важным мета-тегом является тег «description», в котором должно содержаться краткое описание страницы. Именно «краткое» и именно «описание страницы». Достаточно добавить одно-два небольших предложения, в которых указать о чём и для кого эта страница.

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

Итого, вы уже умеете управлять статическими страницами и знаете о их важности для вашего интернет-магазина. Знаете какой гем стоит использовать для решения данной задачи.

Если вам нужен интернет-магазин, и если вы до сих пор не определились с платформой для него, то наша модификация Spree Commerce — платформа 1R Commerce, будет для вас отличным выбором. Модификация оптимизирована под работу на рынке стран СНГ и включает интеграцию с учетной платформой 1С. Будем рады помочь вам реализовать ваши идеи,  превратив их в успешный бизнес в онлайне.

Команда JetRuby Agency.


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *