Pull to refresh

Отказ от регистрации

Website development *
Большинство разумных веб-разработчиков уже давно знают, что принудительная регистрация — зло. Но некоторые до сих пор без лишней необходимости закрывают контент от пользователей или не дают им купить товар до тех пор, пока они не зарегистрируются. Такой подход оправдан в случае платных услуг или сервисов вроде РуТрекера. Но в большинстве своём является для ресурса крайне вредным или даже губительным.

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

В этой статье я изложу свой взгляд на то, как должна проходить регистрация на ресурсах со средней посещаемостью. Сразу оговорюсь, что рассуждения не распространяются на ресурсы с платным или генерируемым пользователями содержимым (вроде Хабра).



Вообще, откуда возникла идея, что на сайте (интернет-магазине, информационном ресурсе и т. п.) пользователи должны для чего-то регистрироваться? Логика приблизительно такая: пользователь хочет что-то получить от ресурса и поэтому он готов преодолеть препятствие в виде регистрации. Когда пользователь его преодолел, ему не захочется преодолевать такие препятствия в других местах, и поэтому в следующий раз он вернётся обратно.

На самом деле, всё работает не так, как ожидается. Во-первых, половина пользователей, поленится регистрироваться и просто уйдёт туда, где регистрироваться не нужно. Во-вторых, даже те, кто зарегистрируются, если они не станут тут же постоянными посетителями (а это бывает редко), тут же забудут этот сайт навсегда.

В общем, выигрыш стремиться к нулю, а недостатки налицо.

К тому же, если совсем закрыть контент, то его не увидят поисковые системы, а значит пользователи не придут на сайт. А если открыть его только для поисковиков, то просмотреть его можно будет через кеш без регистрации (живым примером такого идиотизма является, например, http://demiart.ru/).

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

Чтобы понять, как должно вести себя приложение, нужно представить, будто оно выполняет роль вежливого человека, который старается вам помочь. Такой человек не станет досаждать вам бесконечными ненужными вопросами и обязательными полями. В то же время он внимательный, и относится к вам с учётом предыдущего опыта общения, а не так, словно видит вас в первый раз.

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

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

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

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

Если кто-то хорошо знает Yii и готов поучаствовать в разработке или хотя бы оказать консультацию по качеству кода — буду очень рад и постараюсь сделать такой модуль.

UPD: Про то, какие данные и как нужно у пользователя просить. Просить у пользователя нужно не те данные, которые вы хотите получить на всякий случай, а те, которые нужны для оказания услуги пользователю. И при этом нужно объяснять для чего вам эти данные нужны. Редко какой пользователь тогда их не укажет.

Например, тот же случай со ссылкой на профиль. Её можно просто показать пользователю на странице (пусть запомнит, запишет или как угодно), а рядом дать возможность отправить её на почту, пообещав при этом, что не будете слать СПАМ (если нарушите обещание — горите в аду фиговы СПАМеры). Если вам обязательно нужен звонок для подтверждения заказа — объясните пользователю, что для этого вам нужен его номер телефона. А если пользователь не хочет его вводить — дайте ему возможность самому позвонить по вашему номеру и подтвердить заказ, а там уже спросите номер для доставки. Ну и всё в таком духе.
Tags:
Hubs:
Total votes 134: ↑115 and ↓19 +96
Views 2.9K
Comments Comments 137