Личный кабинет клиента на сайте | White Eagles & Co.

Личный кабинет клиента на сайте: плагин WordPress или своя разработка

Один клиент пишет, в каком статусе его заказ, второй просит заново прислать счёт, третий звонит перенести запись. Ответ на каждый из этих вопросов уже где-то есть, просто клиент его не видит. Личный кабинет это место на сайте, где клиент видит его сам, после входа и только своё.

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

Нужен новый сайт?

Корпоративный сайт, интернет-магазин или система бронирования. Большинство проектов сдаю за 15 рабочих дней.

Что решает личный кабинет

Кабинет это не цель, а способ убрать повторяющиеся вопросы и ручную работу. Самые частые ситуации:

  • Статус заказа или работы. Принят, в работе, отправлен, готов. Клиенту не нужно писать, вам не нужно отвечать.
  • История бронирований с возможностью перенести или отменить запись по правилам, которые задаёте вы.
  • Документы и счета для скачивания. Договоры, акты и счета за прошлые годы в одном месте.
  • Абонементы и членство. Сколько посещений осталось, до какого числа действует, когда продлевать.
  • B2B-клиенты. Индивидуальные цены для конкретной фирмы, история заказов и повтор заказа одной кнопкой.

Общее у всех одно: каждый клиент должен видеть только свои данные. Из этого следует всё остальное, от выбора технологии до безопасности.

Путь через плагин WordPress

Если сайт на WordPress уже работает, первая мысль это плагин. Есть плагины для членства и регистрации пользователей, а у магазина на WooCommerce есть раздел «Мой аккаунт» с заказами и адресами.

Что в этом хорошего, честно:

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

Где он упирается:

  • Логика принадлежит плагину, а не вам. Кабинет делает то, что придумал автор плагина. Нужен другой статус заказа, другое правило отмены или индивидуальные цены, и начинается подгонка.
  • Персональные данные клиентов лежат в той же базе, что и весь сайт со всеми плагинами. Уязвимость в любом из них, даже в слайдере на главной, это потенциальный путь к данным клиентов. Как это выглядит, когда случается, смотрите в статье взломали сайт на WordPress.
  • Публичная страница входа это мишень для автоматического подбора паролей. По сайтам на WordPress это идёт постоянно, потому что адрес входа везде одинаковый.
  • Связки плагинов ломаются при обновлениях. Плагин членства, платёжный шлюз, магазин и тема от четырёх авторов, и любое обновление может нарушить их совместную работу. Для кабинета это значит, что клиенты не могут войти или не видят свои заказы. Подробнее в статье поддержка сайта на WordPress.
  • Страницы после входа обычно медленные. Кеш страниц для вошедших пользователей, как правило, не работает, и каждый показ кабинета сервер собирает заново. О причинах смотрите в статье медленный сайт на WordPress.

Личный кабинет на WordPress без плагина: что это значит на деле

«Создание личного кабинета WordPress без плагина» ищут часто, и понятно почему: кто хоть раз подгонял чужой плагин, второй раз этого не хочет. Но посмотрим, что «без плагина» означает на практике. Вход, восстановление пароля, роли, правила, кто что видит, модель данных заказов или бронирований и интеграции вы пишете сами.

Это приложение. WordPress в нём ничего существенного не делает, он лишь остаётся вокруг как тяжёлая обёртка: его обновления, его плагины, его админка на публичном адресе и его база данных, где будут лежать и данные ваших клиентов. За обслуживание этой обёртки вы продолжаете платить, хотя вашей логике она не нужна вовсе.

Поэтому если логику вы всё равно пишете сами, более чистый ответ это отдельное приложение на современном стеке: фронтенд на React и Next.js с TypeScript, бэкенд на Python или PHP и своя база данных только для того, что нужно кабинету. Публичный сайт может остаться быстрым и статическим, а кабинет живёт отдельно. Шире оба подхода сравниваются в статье WordPress или самописный сайт.

Путь своей разработки

Кабинет под заказ начинается с вопроса, что именно клиент должен видеть и делать, а не с того, что предлагает плагин.

  • Своя модель данных. Заказы, бронирования, документы и абонементы в той структуре, какая у вашего бизнеса, а не какую предположил автор плагина.
  • Роли. Клиент, сотрудник, администратор, при необходимости несколько человек от одной фирмы с разными правами.
  • Интеграции. Бухгалтерская программа, из которой берутся счета, приём оплаты картой, уведомления на почту или в Telegram, когда что-то меняется.
  • Отделение от публичного сайта. У презентационной части нет базы данных и админки на публичном адресе, данные клиентов лежат только там, где они нужны.

Близкая логика описана в статье онлайн-бронирование на сайте. В Biliardovňa онлайн-бронирование столов заменило звонки, а в Krása štúdio OK сотрудник подтверждает запись одним нажатием в Telegram, и время блокируется автоматически. Личный кабинет это следующий шаг того же: клиент видит не только свободное время, но и свою историю.

Обсудим ваш проект?

Напишите пару фраз о том, что нужно. Отвечу в течение 24 часов, без обязательств.

Сравнение: плагин против своей разработки

Плагин WordPressСвоя разработка
Стартбыстрый, несколько днейдольше, срок называется заранее
Логикакак задумал автор плагинакак устроен ваш бизнес
Персональные данные клиентовв базе всего сайта и всех плагиновв своей базе только для кабинета
Входизвестный адрес, частая мишень атакс ограничением попыток с самого начала
Обновлениясвязка плагинов может сломатьсяплановые, без конфликтов плагинов
Скорость после входакеш обычно не работаетрассчитана на вошедших пользователей
Интеграциичто поддерживает плагинбухгалтерия, оплата, почта, Telegram

Плагина на какое-то время может хватить, если сайт на WordPress у вас уже есть, кабинет должен только закрыть контент или показать заказы из WooCommerce и никакой своей логики не нужно. Как только появляется первое «а у нас это работает иначе», пора думать о своей разработке, пока на подгонку плагина не ушло больше работы, чем стоил бы правильно сделанный кабинет.

Что должно быть в любом личном кабинете

Неважно, на плагине он или под заказ, вот минимум:

  1. Хешированные пароли. Никогда в читаемом виде, только хеш медленным алгоритмом, предназначенным для паролей.
  2. Ограничение попыток входа против подбора паролей.
  3. Двухфакторная проверка как дополнительная опция.
  4. Восстановление пароля по ссылке с ограниченным сроком действия. Никогда пароль в письме.
  5. Проверка на сервере, что пользователь видит только свои данные. Мало спрятать кнопку в интерфейсе, сервер должен проверять каждый запрос. Смена номера в адресе не должна показывать чужой счёт.
  6. HTTPS на всём сайте.
  7. Журнал входов и действий, чтобы можно было выяснить, кто и когда входил и что происходило.
  8. Выгрузка и удаление данных по запросу клиента, как требует GDPR.
  9. Сначала телефон. Клиент открывает кабинет с телефона, пока ждёт заказ, а не за компьютером.

GDPR и личный кабинет

Кабинет означает, что вы обрабатываете персональные данные клиентов и отвечаете за них. Техническая часть (доступ только к своим данным, шифрованное соединение, журнал и возможность выдать или удалить данные) относится к разработке. С кабинетом на плагине стоит проверить, где именно плагин хранит данные и умеет ли он их выгружать и удалять. Что из GDPR касается небольшой фирмы в целом, смотрите в статье GDPR для малой фирмы.

Сколько это стоит и сколько занимает

  • Кабинет в составе нового сайта под заказ: сайт компании: от 3 500€, объём кабинета входит в оценку.
  • Добавление кабинета к существующему сайту: почасово, 35€ в час.
  • Срок: в среднем сайт готов за 10 рабочих дней, крупный портал занимает больше, и срок называется заранее.

Цена называется до начала работы и не меняется по ходу проекта. Подробнее о ценах смотрите в статье сколько стоит сайт в Словакии.

Если нужна помощь

Делаю личные кабинеты под заказ: вход и роли, статусы заказов и работ, бронирование с переносом и отменой, документы и счета для скачивания, уведомления на почту и в Telegram, интеграции с бухгалтерскими программами и оплатой. Юридические документы по GDPR и договоры не пишу, это работа юриста. Моя часть это техническое решение.

Живу в Словакии больше десяти лет, запустил 12+ сайтов для словацких компаний и к каждому новому сайту даю шесть месяцев поддержки бесплатно. Работаю как словацкое s.r.o. и выставляю фактуру с IČO. Общаемся по-русски.

Подробности смотрите на странице услуги «Разработка сайтов», про уведомления и ботов смотрите на странице услуги Telegram-бот.

Похожие разборы для других отраслей: оптовый интернет-магазин.

Нужен новый сайт?

Корпоративный сайт, интернет-магазин или система бронирования. Большинство проектов сдаю за 15 рабочих дней.