Чек-лист «правильного» сайта

Кратко перечислил пункты для технического анализа сайта. Подойдёт и для новых, и для сайтов уже в работе.

HTML. Разметка и контент

Код минифицирован (убраны переносы, комментарии и лишние пробелы).
Код HTML проходит валидацию без ошибок. Сайт validator.w3.org.
Присутствует разметка OpenGraph.
Присутствует разметка Schema.org.
Используется структура HTML5.
Используется кодировка UTF-8.
Используется правильная «вложенность» заголовков h1..h6.
Указано направление текста
Задана прагма директива X-UA-Compatible.
В ссылках на сторонние ресурсы присутствует протокол.
Подключаемые шрифты кешируются
Используется тег alternate для альтернативного контента (мультиязычный сайт; разметка RSS, Atom, JSON).

CSS. Стили и отображение

Используется один файл (либо все файлы слиты в один).
Код минифицирован (убраны переносы, комментарии и лишние пробелы).
Код проходит валидацию без ошибок. Сайт jigsaw.w3.org/css-validator/.
Сайт оптимизирован для мобильных устройств. Отсутствует горизонтальный скролл для всей страницы.
Используется метатег viewport.
Сайт корректно отображается на всех популярных браузерах (Chrome, Firefox, Safari, Edge, Opera).

Изображения

Изображения оптимизированы.
Изображения в контенте имеют размер не больше необходимого. Т.е. не используется масштабирование. Туда где нужно добавлены картинки для предпросмотра.
Изображения содержат атрибуты alt.
Используется «ленивая» загрузка изображений.
Favicon присутствует на сервере в корне сайта в формате ico и версия svg добавлена в секцию .
Сайт нормально отображается с отключёнными изображениями.

Медиа файлы

Файлы PDF оптимизированы.
Формат видео файлов поддерживается браузерами.

JavaScript. Поведение

Используется один файл (либо все файлы слиты в один).
Код минифицирован (убраны переносы, комментарии и лишние пробелы).
Отсутствуют ошибки.
Загружается в конце страницы.
Счётчики и скрипты объединены в Google Tag.
С отключённым Javascript сайт правильно отображает информацию и может получать данные от пользователя. Возможно выполнить целевое действие.

Юридические вопросы

Добавлена страница «Политика конфиденциальности»

SEO. Оптимизация для поисковых систем

Отсутствуют дублированные теги title.
Отсутствуют дублированные теги meta description.
Отсутствуют дублированные теги h1.
На страницах помимо h1 используются и другие заголовки низших уровней.
В контенте отсутствуют орфографические ошибки.
Контент страницы содержит не менее !!!!!!!!!!!!!!! символов.
В URL не используются символы подчёркивания.
Присутствует и настроен файл robots.txt.
Присутствует и настроен файл sitemap.xml.
Используется HTTPS.
Присутствуют ссылки на группы и аккаунты в социальных сетях.
Работает редирект с http на https.
Работает редирект с www на без-www, или наоборот.
Работает редирект с index.php и c index.html, если присутствуют дубли этих страниц.
Работает редирект между версиями сайта, если необходимо (например, с обычной версии на мобильную).
Присутствуют «хлебные крошки».
Настроены «Турбо-страницы» для Яндекса.
Настроены «AMP-страницы» для Google.
Используется метатег rel=canonical. Страницы с параметрами в URL, которые влияют на контент, должны переадресовываться на адрес без параметров (например, пагинация, фильтрация, сортировка товаров).
У исходящих ссылок присутствуют атрибуты «noopener» и «noreferrer».
Поисковые роботы имеют доступ к файлам JS, CSS и изображениям.
Ссылки сайта не ведут на адреса с ошибками и редиректами.
Настроены директивы noindex и nofollow.
Важные страницы имеют глубину не больше 2 уровня.
У каждой страницы сайта есть свой уникальный адрес, даже при JS-пагинации.
Логотип ведёт на главную страницу, на главной странице ссылки в логотипе нет.
Все страницы сайта имеют ссылки на другие страницы сайта.
У сайте нет плохих соседей на IP.

Удобство пользования, юзабилити, UI/UX

Целевое действие может совершить человек без телефона.
Все формы сайта работают.
Сайт везде использует обращение в одном лице. Слово «вы» пишется со строчной буквы.
Изображения не содержат основную информацию. Всегда имеется текст до или после дублирующий и объясняющий эту информацию.
Не используются технологии Flash, Silverlight, Java.
При переключении языка сайта редирект переносит на такую же страницу сайта на другом языке, но не на главную.
Отображаются соответствующие региону данные - время, валюта, единицы измерения.
Интерфейс однообразен на всех страницах сайта.
На сайте нет медиаконтента, запускающегося самим собой.
Есть кнопка или область «наверх».
Формы отзывчивы - показывают состояния: валидация после ввода, отправка данных, успешная отправка, отправка с ошибкой. Форму можно очистить специальной кнопкой.
Нет кнопок и ссылок, выглядящих одинаково. Кнопки всегда делают действие на текущей странице, ссылки всегда делают только переход на другую страницу.
Кнопки «Назад» и «Вперёд» браузера работают правильно.
Есть возможность сделать быстрый заказ без регистрации.
Присутствует версия для печати.
Регистрация простая. Есть вариант войти посредством технологии OAuth.
На телефонных номерах и e-mail есть ссылки.

Удобство пользования для людей с ограниченными возможностями

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

Аналитика

Установлены и настроены счётчики.
Настроено отслеживание целей.

Домен

Настроена защита электронной почты (SPF, DKIM, DMARK).
Отсутствуют проблемы с DNS.

Сервер

Uptime сервера не менее 99,999%.
Быстрое время ответа сервера (до 200 мс).
Сервер отдаёт страницы с кодом ответа 200.
Настроена страница с ответом сервера 404.
Сервер не отдаёт заголовки, указывающие на названии и версии технологий, обслуживающие сайт.
Сервер отправляет заголовок Vary, если необходимо.

Безопасность

Установлена система мониторинга работоспособности сайта.
Ежедневно создаётся бэкап всей системы.
В файловой системе отсутствуют вирусы.
На сайте отсутствуют вредоносные скрипты.
У всех пользователей, вносящих изменения в сайт, настроены права, нужные только для их зоны ответственности.
Все пароли доступа хранятся в специализированных оффлайн программах, но никак не в текстовых файлах.