6 Января 2021
986
В избр.
Сохранено
В этой статье мы решили собрать наиболее распространенные ошибки в форме регистрации. Давайте проанализируем 7 проблем с UI и UX при регистрации, которые отталкивают пользователей.
Больше интересных и актуальных статей ищите в нашем блоге и телеграм-канале.
Sign Up — это не просто форма для регистрации новых пользователей, но и один из важнейших этапов процесса конверсии. Давайте проанализируем 7 проблем с UI и UX при регистрации, которые отталкивают пользователей.
Недели и месяцы, потраченные на разработку качественных цифровых продуктов могут быть пущены коту под хвост из-за крошечной проблемы в процессе регистрации.
Но есть и хорошие новости: оптимизация пользовательского интерфейса регистрации может снова повысить конверсию. Одной компании удалось повысить коэффициент конверсии на 35%, лишь уменьшив количество полей в форме регистрации.
По не совсем понятным причинам даже в 2021 году все еще существует целый ряд проблем с регистрацией, которые не хотят покидать мир UX.
Именно поэтому мы решили собрать в этой статье самые распространенные ошибки в форме регистрации. Надеюсь, вы их исправите, прежде чем потеряете еще одного клиента.
Ну что же, приступим?
Проблема № 1: повторяющиеся поля
Каждое дополнительное поле в форме регистрации добавляет сложности к процессу. Речь идет о различных полях подтверждения.
Это особенно касается поля «Подтвердите свой адрес электронной почты», в которое большинство пользователей копируют свой ящик из предыдущего поля:
Нельзя даже привести аргументы в пользу поля подтверждения пароля — сегодня все больше и больше паролей автоматически генерируется либо с помощью инструмента подсказки пароля в браузере, либо с помощью сторонних сервисов.
Хороший пример — Webflow, где пользователей просят ввести адрес электронной почты и пароль только один раз:
Лучший вариант — когда все поля регистрации находятся на одной странице и вам не нужно заполнять данные на нескольких экранах подряд:
Проблема № 2: плохая обработка ошибок
Обычно плохая практика — перегружать новых пользователей кучей информации, но еще хуже, когда это происходит в первые же секунды регистрации.
Плохой пример обработки ошибок — это когда вы демонстрируете сразу все возможные ошибки, оставляя пользователя в замешательстве относительно того, что именно он сделал не так:
Другой проблемой будет предоставление подсказок только после того, как пользователь закончит вводить свой пароль:
Лучший способ обеспечить плавный UI — это дать подсказки о том, насколько надежным должен быть пароль непосредственно в процессе ввода:
Проблема № 3: чрезмерный сбор данных
Вам действительно необходимо знать почтовый индекс или дату рождения ваших новых пользователей? Даже если они действительно понадобятся вам позже, помните, что каждое новое поле почти экспоненциально уменьшает желание заполнять его.
Еще в 2008 году Imagescape удалось повысить коэффициент конверсии при регистрации на 120%, когда они просто удалили 7 из 11 полей из формы. Качество полученных данных осталось без изменений.
Перенесемся на много лет вперед, где некоторые компании до сих пор готовы рисковать своей конверсией при регистрации, запутывая пользователей огромным количеством полей.
Иногда встречаются и вот такие экземпляры со странными двойными полями ввода одного кода:
Есть способы получения данных от пользователей и получше.
Во-первых, вы можете переосмыслить процесс сбора данных как этап персонализации. Webflow сделалал этот этап регистрации в форме опроса.
На этой стадии Webflow запрашивает у пользователей дополнительную информацию, чтобы персонализировать их опыт (по крайней мере, так оно выглядит), а не просто для сбора данных.
Другой вариант — прогрессивное заполнение профиля или геймификация, как это делает LinkedIn:
Добавляя индикатор выполнения и достижения, LinkedIn поощряет новых пользователей в процессе заполнения своего профиля. Что еще более важно, компания на каждом этапе подсказывает, как заполнение вашего профиля повышает шансы найти работу.
Представьте себе, насколько популярным стал бы LinkedIn, если бы в начале они просили новых пользователей заполнить форму из 25 полей.
Проблема № 4: подтверждение электронной почты
Споры о том, заставлять ли пользователей подтверждать свои электронные письма в процессе регистрации или нет, ведутся десятилетиями.
Нет сомнений в том, что подтверждение электронной почты пользователя важно по соображениям безопасности, как способ борьбы с ботами и подделкой учетных записей.
В то же время подтверждение по электронной почте — это дополнительный шаг, который может отпугнуть пользователей, которые даже не уверены, хотят ли они использовать ваш продукт.
Это дает нам набор как плохих, так и хороших обходных приемов (костылей). Начнем с плохих. Решение запретить пользователям даже видеть, что есть ваш продукт, до момента подтверждения электронной почты является ужасным с точки зрения конверсии.
Решение: отложить процесс подтверждения до тех пор, пока пользователи не поймут ценность вашего продукта. Это называется отложенным созданием учетной записи. Оно поможет повысить показатель «от подписки до первого ключевого действия» до 100%.
Еще один великолепный трюк от Growth.Design — использование техники Sniper Link, которая позволяет пользователям напрямую открывать ваше письмо с подтверждением из своего браузера. Этот метод влечет за собой потенциальное повышение конверсии на 7%.
Проблема № 5: условия обслуживания
Это крошечная мелочь, но когда мы говорим о процессе регистрации, каждая деталь имеет значение.
Никто не читает условия обслуживания. Наверное, даже те, кто их пишет. Поэтому каждый раз, когда люди принимают ToS для каждого нового продукта и веб-сайта, они совершают прыжок веры. А веры у них не так уж и много.
Заставлять их регулярно ставить галочки — дополнительные усилия:
Вместо этого просто оставьте где-нибудь внизу ссылку, указав, что пользователи, которые регистрируются, автоматически соглашаются с вашими Условиями обслуживания.
Проблема № 6: принудительная непрерывность
Само собой разумеется, что темные UX-паттерны вредны для вашего бизнеса, но опасность здесь больше в непреднамеренном воспроизведении их в процессе регистрации.
Если вы хотите создать платный доступ для своих пользователей и подписать их на ежемесячную подписку, убедитесь, что вы четко объяснили, за что и сколько платят ваши пользователи.
Например, раньше приложение Litmus не показывало пользователям, сколько они будут платить после окончания пробного периода.
Другие сервисы не предоставляют четкого объяснения того, когда будет следующее списание средств и просто продолжают взимать ежемесячную плату, даже если пользователи этого не ожидают. Преднамеренно или нет, но подобные практики всегда приводят к резкому падению уровня лояльности пользователей и увеличению числа отмен.
Проблема № 7: зарегистрируйтесь прямо в лицо
При таком большом количестве оппонентов в каждой конкретной нише практика принудительной регистрации сама по себе становится плохой практикой.
Зачем кому-то беспокоиться о регистрации, если аналогично работающий продукт находится в нескольких вкладках браузера?
Люди любят Canva по разным причинам, но принудительная регистрация — явно не одна из них.
Возможно, одна из причин, по которой он остается таким, заключается в том, что его ближайшие конкуренты, PicMonkey или Stencil, делают то же самое:
Существует ли причина, по которой Canva не разрешает новым пользователям поиграться со своим UI за пару минут до обязательной регистрации или входа в систему?
Squarespace позволяет пользователям создать целый веб-сайт, даже не спрашивая их имени:
Его конкурент Launchaco делает то же самое:
Похоже, что как только один из игроков рынка начинает получать выгоду от отложенной регистрации, остальные просто передирают эту механику.
Приличный пользовательский интерфейс и UX при регистрации — это как хорошая книга или фильм: в нем нет ничего лишнего.
Тщательно проанализируйте процесс регистрации и определите, можно ли что-то улучшить. Помните: даже самое незначительное изменение может повысить вашу конверсию и уровень удовлетворенности.
Источник
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать
I am implementing a simple registation/login module.
While testing user credentials, I start thinking which HTTP status code will be appropriate, for the situation if a user send a request with incorrect credentials.
At first, I thought 401 Unauthorized would be a nice status code, but it seems it will be better to use it when a user is trying to get some resource without authorisation.
After, I switched to 409 Conflict
This code is only allowed in situations where it is expected that the user might be able to resolve the conflict and resubmit the request.
So, friends, please give me an advise, which status code should be used.
Содержание
Чек-лист для тестирования
3 принципа тестирования, которые помогут избежать ошибок
Зачем проверять формы
Регистрация и авторизация — это процесс получения данных от пользователя, который регулируется законодательством. При нарушении принципов конфиденциальности компания несет юридическую ответственность. К тому же это — конверсионные действия, от которых зависит коммерческая эффективность продукта.
Причины проведения тестирования:
- Стабильность приложения: ошибки в полях могут стать причиной багов. В некоторых случаях сервис перестает работать — обычно такое происходит на ранних стадиях после запуска.
- Безопасность: если не прописать требования к данным, через формы можно проникнуть в базу и украсть информацию о пользователях. Вредоносные скрипты можно отправить не только с помощью функции загрузки файла, но и через текстовые поля.
- Порядок в базе данных: правила ввода с ограничением символов для логинов и паролей помогают избежать засорения БД некорректной информацией и ошибок при обработке.
- Юзабилити пользовательского интерфейса: помимо технических характеристик нужно учитывать удобство формы для клиентов. Если полей слишком много или при регистрации появляются ошибки, вы можете потерять часть аудитории.
Чек-лист для тестирования
Удобство при заполнении форм — это один из главных элементов, влияющих на общее юзабилити сайта или приложения. По этой причине проверять их нужно не только с технических позиций, но и с точки зрения пользовательских сценариев.
Технические требования
- В коде прописан тип данных, которые можно ввести в поле: числа, буквы, специальные символы или их комбинации.
- Ограничения: допустимая длина (верхние и нижние лимиты), пробелы, скрытые символы — все это нужно прописывать в скриптах.
- Учет регистра: в пароле заглавные и строчные буквы отличаются в большинстве случаев, а для логина возможны разные опции.
- Ограничение количества попыток: сколько раз можно ввести информацию с ошибками перед блокировкой. Это нужно для защиты от программ подбора.
- Соответствие логина и пароля: проверьте, чтобы на этом этапе не было багов, поскольку персональные данные должны быть под защитой. В процессе тестирований нужно попробовать ввести сначала неправильный логин с правильным паролем, затем наоборот. Также стоит проверить отправку формы с пустыми полями.
- Двухфакторная аутентификация: если компания хранит личную информацию, стоит добавить эту опцию.
- Деактивация кнопки входа до полной загрузки: это позволяет избежать повторной отправки данных и дополнительной нагрузки на сервер.
- Двойной ввод пароля при регистрации: это помогает сократить количество ошибок в будущем и снизить нагрузку со службы поддержки.
- Проверка на разные типы инъекций — HTML, SQL, XSS: дополнительные фильтры помогают повысить уровень защиты.
Юзабилити
- Форму регистрации легко найти на страницах сайта. Это конверсионный элемент, поэтому он должен быть заметным, но при этом содержать небольшое число полей, критически необходимых для бизнес-задач.
- В окне авторизации должна быть ссылка или кнопка на восстановление или смену пароля.
- С точки зрения удобства UI, чек бокс «запомнить меня» — хорошая практика, которая упрощает взаимодействие пользователя с сайтом. Однако она ухудшает безопасность, поэтому ее используют не все разработчики.
- Для опции «скрыть/показать пароль» нужно использовать привычную иконку с глазом.
- При нажатии кнопки «назад» после авторизации приложение не должно разлогинивать пользователя.
- Если данные вводятся неверно, нужно показать пользователю уведомление с причиной. При тестировании проверьте, чтобы сообщение соответствовало виду ошибки.
- Обязательные поля стоит выделять с помощью звездочки. Пока все они не заполнены, кнопка отправки не должна быть активной.
- При наведении на элемент формы должно меняться отображение курсора, а при клике — цвет рамки поля ввода.
- После отправки пользователю нужно показать, что регистрация прошла успешно. Для этого должно быть создано окошко или страница «Спасибо».
3 принципа тестирования, которые помогут избежать ошибок
Чтобы правильно организовать процесс тестирования, используйте три принципа:
Пограничные значения
При написании форм используются лимиты. Обычно проблем в рамках указанных промежутков не возникает, однако перед запуском нужно проверить пограничные числа. Правильное тестирование будет включать проверку:
- рандомных значений;
- минимума;
- максимума.
Эквивалентность
На втором этапе проверки формы, помимо крайних значений, требуется тестировать те, которые выходят за рамки. Например, если при заполнении допускаются числа от 1 до 100, то у поля будет три класса эквивалентности: до 1, от 1 до 100, более 100.
Валидация
При написании кода важно учитывать, что пользователи часто пропускают символы или неправильно пишут некоторые данные. Чтобы сократить количество ошибок, у полей должна быть валидация. К примеру, при написании e-mail нужно проверять наличие знака @ или домены почтовых сервисов. Во время тестирования попробуйте ввести в форму неправильные значения, чтобы проверить реакцию приложения.
Как тестировать формы?
С технической точки зрения, форма — это пример простой функции, которую можно проверять автоматически. Для этого разработчики пишут скрипт, перебирающий разные модели поведения пользователей.
Есть и готовые плагины для тестирования — к примеру, BugMagnet. Он устанавливается как расширение в браузерах. Кликнув правой кнопкой мыши по полю, вы увидите выпадающий список с нарушениями общих принципов создания форм:
- Ошибки при заполнении полей разных форматов: даты, e-mail, индексы, платежная информация и т.д.
- Проблемы с размерами шрифтов или лишними пробелами.
- Неправильные ограничители, например, когда не все «крайности» учтены при написании кода.
Тестирование юзабилити форм эффективнее проводить вручную с привлечением потенциальных пользователей. Это поможет найти и заметные технические недочеты, и недостатки в дизайне, которые мешают пользоваться сайтом.
Резюме
Каждый проект перед запуском требует проверки, вне зависимости от опыта команды разработчиков. Упомянутые принципы тестирования форм помогают найти неочевидные технические ошибки. Если валидировать каждое действие пользователя, устраивать crush-тесты системе на пограничных показателях и моделировать разные типы поведения, вы сможете минимизировать недочеты после выгрузки.
Не ограничивайтесь техническими критериями и критериями автоматизации: взгляд на продукт глазами аудитории помогает найти неочевидные пробелы. Чтобы не пропустить важные компоненты при ручной проверке, используйте чек-листы.
Узнайте, как увеличить конверсию на 41%!
Всего 3 шага и 5 минут вашего времени на пути к росту.
Выберите
ваш сайт
Укажите сайт и получите 7 точек роста.
Рассчитайте
стоимость
Контролируйте стоимость и состав услуги. Авторизуйтесь и выбирайте только то, что нужно вам.
Получите результат
и сопровождение
После оплаты и выполнения задания продолжайте получать регулярные советы и рост конверсий.
Понравилась статья? Жмите лайк или подписывайтесь на рассылку.
А также, поделитесь статьей с друзьями в соцсети.
Подписаться
5
На сайте не проходит авторизация, в то время, как при регистрации все данные записываются в бд без проблем
Форма:
<div class="col-md-8 mb-3">
Авторизация
<form>
<label>Login</label>
<input type="text" name="login" class="form-control col-md-6" id="login">
<label>Password</label>
<input type="password" name="password" class="form-control col-md-6" id="password">
<div class="alert alert-danger mt-4 col-md-6" id="errorBlock" style="display: none"></div>
<button class="btn btn-success mt-2" id="auth_user">Войти</button>
</form>
</div>
Ajax запрос:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
$('#auth_user').click(function(){
var login = $('#login').val();
var password = $('#password').val();
$.ajax({
url: 'ajax/auth.php',
type: 'POST',
cache: false,
data: {'login':login, 'password':password},
dataType: 'html',
success: function(data){
if(data == 'Готово'){
$('#auth_user').text('Готово');
$('#errorBlock').hide();
document.location.reload(true);
}
else {
$('#errorBlock').show();
$('#errorBlock').text(data);
}
}
});
});
</script>
auth.php:
<?php
$login = trim(filter_var($_POST['login'], FILTER_SANITIZE_STRING));
$password = trim(filter_var($_POST['password'], FILTER_SANITIZE_STRING));
$hash = "3h#%89*H#($h%!~fh";
$password = md5($password.$hash);
require_once "../sqlconnect.php"; #Подключение к бд через pdo
$sql = 'SELECT `id` FROM `userinfo` WHERE `login` = :login && `password` = :password';
$query = $pdo->prepare($sql);
$query->execute(['login' => $login, 'password' => $password]);
$user = $query->fetch(PDO::FETCH_OBJ);
if ($user->id == 0) {
echo 'Такого пользователя не существует';
}
else{
setcookie('log', $login, time() + 3600*24, '/');
echo "Готово";
}
echo 'Готово';
?>
sqlconnect.php:
<?php
$user = 'root';
$pass = '';
$db = 'users';
$host = 'localhost';
$dsn = 'mysql:host='.$host.';dbname='.$db;
$pdo = new PDO($dsn, $user, $pass);
?>
Опубликовано
⏰ 28.09.2019
Доброго времени суток, уважаемые читатели. Сегодня тема статьи: «Вывод ошибки авторизации в WordPress». Вывод ошибки при авторизации, позволяет злоумышленнику производить подбор логина, для несанкционированного доступа к Вашему сайту.
Чтобы получить доступ к админ-панели сайта, злоумышленнику нужно знать логин и пароль администратора.
При неверном вводе логина в форму авторизации, WordPress выдаёт ошибку:
Если же логин указан верно, а пароль нет, то выходит другая ошибка:
Делаем выводы:
- Вывод ошибок, помогает злоумышленнику в подборе логина.
- После подбора логина, остаётся только подобрать пароль.
Если у Вас нет дополнительных функций защиты, то доступ к Вашей админ-панели, станет делом времени…
Как отключить вывод ошибок при авторизации?
- Чтобы отключить вывод ошибок при авторизации, нам нужно добавить строчку кода в файл функций (functions.php) активной темы.
- Сделать это можно, либо через редактор темы в админ-панели, либо через доступ к корневой директории Вашего сайта, и прямого редактирования.
Вот сам код:
add_filter('login_errors',create_function('$a', "return null;"));
После добавления кода, при вводе любых неправильных данных, будь то логин, или пароль, результат будет одинаковым:
- Ошибки больше не будут отображаться, и злоумышленник не сможет понять правильно ли подобран логин, а это в разы усложнит подбор Ваших данных.
Приведённый пример, лишь частично обезопасит Вашу форму авторизации. Нужно полностью закрывать доступ к форме авторизации, для всех кроме Вас. Это можно сделать при помощи некоторых плагинов, или произведя настройки на сервере.
Сегодня мы рассмотрели тему: «Вывод ошибки авторизации в WordPress». Научились прятать от злоумышленников ошибки авторизации. Смотрите так же видео по теме.
Надеюсь статья была вам полезна. До встречи в новых статьях.
✍
С уважением, Андрей Бондаренко.
Видео на тему «Вывод ошибки авторизации в WordPress»:
✧✧✧
Поблагодарить автора за полезную статью:
WMZ-кошелёк = Z667041230317
✧ Рубрика «Wordpress»
✧ Комментарии: 2
Похожие записи