Завдання, що найчастіше виникають
Специфіка роботи компанії «Дірект Лайн» така, що технічному відділу і мені зокрема доводиться стикатися з дуже великою кількістю CMS. Клієнтів багато, сайти у всіх різні, системи управління цими сайтами, відповідно, також різні.
Нам доводиться працювати як із комерційними системами управління, так і з самописними. Можна сказати, що так чи інакше ми стосувалися практично всіх популярних комерційних CMS, а також більшості самописних систем управління веб-студій міста Новосибірська.
У цій статті я хотів би поділитися деяким досвідом і спостереженнями, що стосуються зручності вирішення типових задач, що найчастіше зустрічаються на різних двигунах. Відразу зазначу, що під типовими завданнями маються на увазі загальні для більшості клієнтів завдання, що найчастіше зустрічаються. Піднетиповими завданнями маються на увазі поодинокі випадки (створення унікального функціоналу, рішення під жорстку бізнес-логіку та ін.). Розробкою сайту все не закінчується - сайт повинен розвиватися і змінюватися разом з компанією - поява нових розділів та виведення їх у вигляді додаткового меню, виведення акцій, можливість фільтрації товарів, форми зворотного зв'язку, поява нових філій та зміна контактів у шапці - ось невеликий список доробок , які можуть знадобитися під час розвитку сайту.
Найчастіше виникають завдання
Я не говоритиму про завдання, пов'язані з розробкою з нуля. Ідеться саме про завдання, які часто ставить клієнт, маючи вже готовий сайт.
Переробка структури каталогу/контентних розділів. По суті це завдання контент-менеджера, однак, буває так, що без втручання технічного фахівця це зробити неможливо.
Введення додаткових атрибутів у товарів у каталозі. Наприклад, вІнтернет-магазин одягу потрібно ввести новий параметр — «тип тканини».
Запровадження поняття «різновид товару». Коли в тому ж інтернет-магазині одягу той самий товар має різні розміри та кольори (по суті це різні товари, з іншими артикулами, але вони повинні відображатися певним чином на одній сторінці).
Реалізація пошуку по сайту, фільтри товарів. Часто буває, що з розширенням асортименту каталогу або збільшенням кількості контенту на сайті виникає гостра необхідність реалізувати цей функціонал.
Зворотний зв'язок. Це можуть бути стандартні (і не дуже) форми зворотного зв'язку, анкетування, будь-які онлайн-заявки, що вимагають фіксації в базі даних і т.д.
Додати довільну вибірку контенту на будь-якій сторінці. Наприклад, необхідно розмістити 3 анонси останніх статей з певного розділу сайту. Або зробити витяг із каталогу «Популярні товари».
Кастомне виправлення меню. Коли необхідно внести зміни до автоматично генерованих меню на сайті, не змінюючи при цьому реальну логічну структуру контенту на сайті.
Зміна логіки оформлення замовлення в інтернет-магазині. Наприклад, потрібно із стандартних трьох кроків оформлення замовлення, передбачених у CMS, зробити один. Або ввести додаткові параметри замовлення (якісь особливі дані про клієнта).
Звичайні контентні правки. Наприклад, розмістити таблицю у контенті сторінки чи якийсь графічний матеріал. Часто виникає через складність інтерфейсу системи управління – клієнт просто не розуміє, куди натискати і не може самостійно розмістити контент.
Технічні завдання, пов'язані із SEO оптимізацією сайту. Управління заголовками та мета-тегами, генерація їх за шаблоном. ВпровадженняЧПУ, налаштування 404 сторінки, гнучке управління шаблонами сторінок тощо.
Огляд та оцінка систем у розрізі озвучених завдань
Перерахуємо системи, що найчастіше зустрічаються, з короткою характеристикою.
CMS (системи управління сайтами) поділяються на декілька основних видів:
1. Коробкові комерційні CMS, 2. Безкоштовні CMS (Open-source), 3. Студійні CMS та ін.
Щоб дізнатися, які CMS найбільш популярні серед українських розробників щодо кожного з цих видів, скористайтеся відповідними рейтингами від Рейтингу Рунету. Пройшовши за посиланням, ви також зможете побачити лідерів загального заліку (усі види систем управління сайтами в загальному рейтингу).
Надзвичайно зручна система для вирішення типових та навколо-типових завдань. На перший погляд створює враження слона в посудній лавці, але в умілих руках перетворюється на гарний робочий інструмент. Модернізувати сайти на цій системі досить просто, але за умови, що сайт зроблений професійним розробником і за всіма «бітриксоїдними» канонами. Це справді дуже важливо. Інакше модернізація перетворюється на розгрібання купи незрозумілого коду у різних кутах сервера. Це збільшує вартість та терміни модернізації сайту. Усі технічні завдання, пов'язані із SEO оптимізацією сайту на 1С-Бітрікс, теж даються легко.
Не можна назвати систему інтуїтивно зрозумілою контент-менеджера. Але після проходження короткого онлайн-курсу все встає на свої місця і приходить розуміння, що сайтом управляти дійсно зручно. Загалом система дає ту гнучкість керування контентом, яка необхідна у 90% випадків. З упевненістю можу сказати, що після деякого навчання сайтом на Бітрікс зможе керувати будь-яка людина, яка справляється з пакетом Microsoft Office.
Аось коли постає завдання з 10% випадків, що залишилися, а так само є необхідність впровадження якогось нетипового рішення, то справи не так райдужно. Необхідний досвід розробників у роботі з системою API. Потрібна людина спеціалізації з гучною назвою «Бітріксоїд»! :)
Оцінки:
- Розв'язання типових завдань: 5,
- Розв'язання нетипових завдань: 3,
- Зручність повсякденного управління сайтом: 4 (1 бал знизив тільки за лякаючу обивателя на перший погляд адмінку та необхідність деякого навчання),
- Придатність до SEO-оптимізації, початкова оптимізованість: 5.
Незважаючи на те, що система входить до трійки лідерів комерційних CMS за версією http://www.ratingruneta.ru/cms, зустрічається досить рідко (хоча NetCat, HostCMS, AMIRO.CMS із цього списку, як не дивно, зустрічаються ще рідше! ). Архітектура системи та обмеження, які вона накладає на розробників, створюють досить великий поріг для входу програміста. Неможливо «трохи розбиратися» у цій системі. Програміст або цілком розуміє принципи її роботи і може зробити все, або нічого не розуміє. Модернізація та доопрацювання функціоналу на цій системі важче для виконання та потребують більше часу. Навіть під час вирішення, здавалося б, цілком типових завдань доводиться використовувати нетривіальні рішення. UMI.CMS в базі пропонує досить чіткий функціонал, і за бажання щось змінити потрібно не збирати готовий функціонал, а розробляти, причому вся розробка виконується набагато складніше і не гнучко. Те саме і з SEO оптимізацією на сайтах із цією системою. Кілька років тому я вважав UMI перспективною CMS. На жаль, у моїх очах вона так і досі залишається перспективною.
Дизайн адмінки та інтерфейсу елементів керування сайтом залишаєбажати кращого. Контент менеджер справлятиметься, і можливо, навчиться швидше, ніж Бітріксу, але його не залишатиме почуття, що він працює з інтерфейсом не дуже й для людей.
Оцінки:
- Вирішення типових завдань: 4,
- Розв'язання нетипових завдань: 3,
- Зручність повсякденного керування сайтом: 4 (якби не функція Edit-in-Place, то було б лише 3),
- Придатність для SEO-оптимізації, початкова оптимізація: 3.
Shop-Script (WebAsyst)
Невимоглива до ресурсів система. Зазвичай використовується, коли потрібно мінімальними витратами розгорнути інтернет-магазин «тут і зараз». Що буде потім – неважливо. Не дуже привітна до розробників структура. Дуже незручна для розробки додаткового функціоналу. Досить проблемно «заточити» систему під бізнес-логіку клієнта — додати нові сутності, змінити процес оформлення замовлення. Щодо SEO оптимізованості та придатності для оптимізації — враження, на жаль, теж негативне. Найпоширеніша проблема — дублі сторінок. При керуванні невеликим інтернет-магазином на базі цієї системи контент-менеджер почуватиметься досить комфортно. Але при зростанні асортименту, запровадження якоїсь додаткової бізнес-логіки все ускладнюється.
Оцінки:
- Вирішення типових завдань (хочеться додати «ну дуже типових!»): 4
- Розв'язання нетипових завдань: 2
- Зручність повсякденного керування сайтом: 3
- Придатність для SEO-оптимізації, початкова оптимізація: 2.
Щиро кажучи, хочеться написати «страшний сон модернізатора». Чи не розробника, а саме того, хто робитиме із сайту на CMS Joomla цукерку, у разі такої необхідності. Можна говорити про те,що Джумла добре модернізується за рахунок колосальної кількості плагінів та розвиненого ком'юніті. Але в той же час можна говорити про те, що вся ця модернізація виглядає «милицею» або будівництвом важкої будівлі на дуже хисткому піску. Рано чи пізно воно звалиться. При SEO оптимізації сайту на Джумлі також виникають проблеми. В основному всі проблеми пов'язані з некоректною роботою плагінів, необхідних для вирішення задачі або самого ядра системи. Тут можна зустріти повний набір проблем: некоректна обробка 404 помилки, дублі сторінки, відсутність гнучкості в управлінні мета-тегами, некоректною роботою ЧПУ. Всі ці проблеми вирішуються необхідними латками та доопрацюваннями, але великий сайт через велику кількість подібних латок починає дуже сильно гальмувати навіть при виділенні йому необмежених ресурсів сервера. У нашій практиці був приклад, коли через велику кількість плагінів, необхідних для SEO-оптимізації сайту в поєднанні з величезним каталогом товарів сторінки генерувалися до 15 секунд! Мушу зауважити, що сайт був виконаний студією, яка спеціалізувалася на розробці сайтів із використанням Джумли.
Для контент-менеджера Джумла буде зрозумілим. Але керувати сайтом вже середнього розміру на цій системі буде дуже незручно. Це забиратиме масу часу.
Оцінки:
- Вирішення типових завдань: 3,
- Розв'язання нетипових завдань: 2,
- Зручність повсякденного керування сайтом: 3,
- Придатність для SEO-оптимізації, початкова оптимізація: 1.
Так, цей блоговий двигун зустрічається в комерційних проектах. Мені навіть доводилося працювати з невеликими інтернет-магазинами на базі цього двигуна. Для інтернет магазинів ця система, звичайно, не підходить, але якщо ми маємо справу з невеликим інформаційним сайтом абосайтом-візиткою, то проблем у нас практично не виникає.
Сайт прийнятний для SEO оптимізації і найчастіше завдання, пов'язані з цим, не доставляють великих проблем. Контентом сайту зручно управляти (оскільки він спочатку розрахований на інформаційний контент). Адмінка проста і зрозуміла.
Оцінки:
- Розв'язання типових завдань: 4 (потрібно розуміти, що при цьому коло цих типових завдань значно обмежене),
- Розв'язання нетипових завдань: - (без оцінки, тому що всі завдання, які взагалі реально вирішити на базі цієї системи, можна віднести до типових),
- Зручність повсякденного керування сайтом: 4,
- Придатність для SEO-оптимізації, початкова оптимізація: 4.
Самописні системи
Ця тема потребує окремої статті. Здебільшого ці системи настільки заточені під ТЗ, яким робився сайт, що за необхідності найменшого зміни шаблону, функціоналу, логіки виведення елементів потрібне втручання технічного спеціліста. Тобто крок ліворуч, крок праворуч — потрібний програміст.
У моїй практиці є кілька прикладів, коли розробка системи керування сайтом під проект була життєвою необхідністю. Найчастіше така ситуація виникає коли бізнес-логіка проекту настільки складна, що доробка готової CMS буде набагато витратніша за зусиллями, ніж розробка системи під завдання. Але при зміні компанії, що підтримує такий сайт, завжди буде маса проблем, т.к. рішення є унікальним, і щоб розробитися в ньому у нових розробників піде багато часу.
Потрібно розуміти, що за практично будь-яких змін на сайті (навіть самих, здавалося б, незначних), який працює на самописній системі, потрібно буде залучати розробників.
Я не підбиватиму підсумок і ставитиму оцінкисамописним системам, т.к. це буде "середня температура по лікарні". Хочу відзначити лише один момент — у практично всіх подібних систем, з якими нам доводилося мати справу, великі проблеми з SEO оптимізованістю. Практично ми маємо справу з повним набором проблем — так само, як у ситуації з Джумлою. Тільки рішення найчастіше ще складніше, т.к. на самописні сисети немає готових «латок».