WordPress:
теми та плагіни
з нуля

Сайт будується навколо того, що на ньому лежить: модель, поля, блоки, ролі, мови. Далі ваша команда править його без мене — бо сайт, який бояться чіпати, швидко перестає бути правдою.

36 проєктів
позначено в архіві
Немає конструктора сторінок
редактор, налаштований замість цього

Одна платформа, дві різні задачі

  1. Сайт, а не магазин

    Публікації та контентна модель за ними. Корпоративні сайти, каталоги без оплати, усе, де робота — тримати інформацію в порядку, а не рухати товар. Це та половина, про яку сторінка.

  2. Магазин — на сусідній сторінці

    WooCommerce перетворює ту саму інсталяцію на магазин. Це інша розмова з іншими рішеннями всередині, і в неї своя сторінка. Усе про продажі вирішується там.

Що редактор зможе міняти сам

Ви купуєте не сайт у день запуску, а сайт через рік — коли править його людина, яка не розробник. П’ять речей вирішують, чи вдалою була покупка.

  1. Речі, а не сторінки

    Типи записів і таксономії заводяться під те, що бізнес справді перелічує: зали, співробітники, моделі, справи. Адреси тоді випливають з моделі, а не з меню, яке хтось перетягнув у потрібний порядок. Натягнути модель на готову купу сторінок потім — означає переписати всі адреси на сайті.

  2. Поля, які не можна зламати

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

  3. Усі варіанти й так пасують

    Редактор звужено до дизайну: ті кеглі, що є в макеті, і жодних інших; палітра і нічого поруч; довільні піпетки вимкнені. Складніша друга половина — змусити редактор виглядати як сам сайт: він малюється з власних зашитих значень, а не з теми, і перепаяти це доводиться руками.

  4. Публікація без ключів від усього

    Ролі під задачу: хтось публікує і більше нічого, хтось править свої чернетки і більше нічого. Це розкладені права, а не один адмінський логін, який ходить офісом, поки ніхто вже не скаже, у кого він.

  5. Відкат, який захоплює поля

    Відкат охоплює всю сторінку, а не лише основний текст. Мета в ревізіях не зберігається, доки її туди не покладуть руками. Тієї миті, коли структурований вміст іде з тіла запису, редактор губить історію рівно того, що щойно зберегли, — і з’ясовується це того дня, коли історія знадобилася.

Конструктор сторінок — правильна відповідь для сайту, який через рік замінять. І неправильна для всього, що доведеться правити людині, яка його не будувала: конструктор перекладає верстку в базу, де її не прочитати, не порівняти з минулим місяцем і не змінити всюди разом.

Написано, а не куплено

  • Батьківська тема несе те, що потрібно кожному сайту; дочірня — лише цей
  • Шаблони написані під модель контенту, а не під демо-імпорт
  • Стилі редактора зібрані з тих самих змінних, що й фронт, а не підігнані на око
  • Імена налаштувань — договір з базою: перейменуєш одне — осиротіють усі збережені значення
  • У стильовий файл скомпільовано лише ті компоненти, якими сайт користується
  • Збірка перезаписує стильовий файл і не може чіпати код самої теми

Одне джерело, багато мов

  • Одне англійське джерело, що перекладається при запиті, а не продубльоване під кожну мову
  • Перекладач бачить речення, а не шаблон
  • Рядки — справжній текст на сторінці: зібране в JavaScript до перекладача не доходить
  • Числа виводяться через форми множини й лишаються грамотними в мові, де цих форм три
  • Індексація, hreflang і яка версія відповідає на запит — цим займається сторінка про SEO

Написати, а не встановити

Більшість проблем WordPress приходить у вигляді плагіна, який хтось поставив заради пʼятихвилинної задачі. Чотири рішення варті того, щоб за них платити, — і перше з них зазвичай рішення нічого не ставити.

  1. Код, який переживе тему

    Усе, що не оформлення, живе в плагіні сайту, а не в темі: типи записів, мета, шорткоди, хуки. Зміни після цього тему — сайт збереже контентну модель, а не втратить половину на виході.

  2. Залежність — це рішення

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

  3. Де зустрічаються два плагіни

    Плагіни вантажаться в порядку каталогів, і один може стартувати раніше, ніж зʼявляться константи, від яких він залежить. Лікування — відкласти весь прохід підключення на хук, а не виконувати його під час читання файлу. Текстовий домен ламається так само: завантаж його пізніше за реєстрацію типів записів — і кожен підпис в адмінці вийде англійською.

  4. Адмінський екран під задачу

    Метабокс, який перевіряє свій nonce, перевіряє права і на автозбереженні виходить, не чіпаючи даних. Пропущений третій пункт — те, звідки беруться напівзбережені записи, і на метабокс ніхто ніколи не думає.

Тримати плагіни оновленими й не давати одному зламаному читати сусідній — робота сервера, вона описана на сторінці DevOps. Тут вирішується, які плагіни взагалі існують, — і це та половина, яку дешевше зробити правильно.

Усе суміжне — теж під ключ

Чотири речі, потрібні WordPress-проєкту, яких ця сторінка не продає. Знати їхній список корисно ще й тому, що дві з них у вас зазвичай уже є — і купувати їх знову не треба.

  1. Пошук — окреме ремесло

    За що сайт знаходять і чому не знаходять — ціла практика зі своєю сторінкою. Ніщо тут не продається як готове до пошуку. Сторінка, яка таке обіцяє, зазвичай обіцяє це про карту сайту.

  2. Сервер — це не сайт

    Хостинг, бекапи, тестовий майданчик, сертифікати, моніторинг, оновлення й переїзд сайту між хостами чи версіями баз. Усе це вирішує, чи живий сайт, — і ніщо з цього не вирішується на цій сторінці.

  3. Торгова половина магазину

    Каталог, оплата, доставка, залишки й фіди, що несуть товари на інші майданчики. Платформа та сама; рішення — інші, і розкладені вони на своїй сторінці.

  4. Тексти в обсязі — окрема робота

    Я пишу бриф сторінки: навіщо вона, на яке питання відповідає, що на ній мусить бути. Далі пише людина, яка цим заробляє. Писати в обсязі — робота на повний день, і вона не моя.

Сайт, який ніхто не наважується оновлювати

Сайт працює, людина, яка його створила, пішла, а повідомлення про оновлення ігнорується достатньо довго, щоб ніхто не пам'ятав, що воно може зламати. Перш ніж щось чіпати, перевіряються чотири речі.

  1. Прочитайте це, перш ніж торкатися

    Які плагіни реально працюють, а які неактивні. Що було відредаговано на місці, і якою виявляється модель контенту після прочитання сторінок, а не їх підрахунку. Цитата йде після цього, а не перед ним.

  2. Тема, відредагована на місці

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

  3. Злізти з будівельника

    Макет зберігається в базі даних як власна розмітка конструктора. Саме тому сайт не може її залишити. Вихід — це шаблон, який малює ту саму сторінку з полів, тому контент зберігається довше, ніж інструмент, який його відформатував.

  4. Зміст потрапляє в очі

    Дописи, терміни, медіа, адреси та перенаправлення, які підтримують роботу старих адрес. Перебудова — це дешева частина, а аудит контенту — дорога. Ніхто цього не дізнається, поки сам не опиниться всередині.

Сайт, який фактично було зламано, відновлюється та залишається на сервері; помилки пошуку на рівні шаблонів залишаються у пошуку. Перебудова також не є єдиним рішенням. На сайті, тема якого ніколи не редагувалася, вона зазвичай неправильна, і повідомлення про це коштує дня, а не чверті долара.

Перед зверненням

Так, і саме для цього ці поля й існують. Копія поміщається в поле, яке малює шаблон, тому зміна ціни чи адреси не може змінити макет. Варіанти, які можуть порушити дизайн, у редакторі взагалі не пропонуються.

Якщо сайт бере гроші, почніть з сторінка інтернет-магазину. Якщо він публікує, а не продає, це правильна сторінка. Магазин можна додати на неї пізніше, не починаючи все спочатку.

Не завжди, і відповідь випливає з прочитання, а не з уподобань. Якщо тему ніколи не редагували на місці, а контент вже знаходиться в полях, робота зазвичай полягає в дочірній темі та наборі шаблонів. Якщо макет знаходиться всередині конструктора, більшу його частину доводиться переміщувати.

Для сайту, який ви плануєте замінити протягом року, так, і це очевидно. Рахунок надходить на другий рік, коли зміна, потрібна бізнесу, виявляється за панеллю налаштувань, яка її не пропонує. Потім шлях до неї полягає в редагуванні файлів, які наступне оновлення перезапише.

Я не створюватиму новий сайт всередині старого, і я із задоволенням видалю існуючий сайт з нього. Конструктор зберігає не ваш контент, а його власне розташування, тобто ту частину, яка не може подорожувати. Сам контент завжди може.

Шаблони, тема та плагін сайту мої, а межі вище вказують, де це закінчується. На сторінках проєктів в архіві вказано, хто що робив над кожним із них, включаючи частини, які не були моїми. Прочитайте дві з них, перш ніж щось вирішувати.

Так. Цей сайт працює з одного англійського джерела, перекладеного під час запиту, тому редактор перекладає речення замість того, щоб підтримувати другий шаблон. Яку мовну версію вирішує відображати пошукова система, визначається пошуковим питанням, і відповідь на нього знаходиться на сторінці SEO.

За проект, і ціна вказана після того, як було розглянуто сайт та його модель контенту. Тут немає сходів пакетів. Поки хтось не підрахував, що насправді потрібно змоделювати, цифра є припущенням із знаком валюти.

Заповнити бриф

Адреса сайту, якщо така є. Єдина річ, яку люди, які його редагуватимуть, повинні мати змогу змінювати без питань, а також інформація про те, чи хтось уже над цим працює. Якщо відповідь виявиться, що його не потрібно переробляти, вам саме про це скажуть.

    Що на ньому має бути

    Хто змінює текст після запуску

    Сайт, який є зараз