Чек-лист программиста
-
Общее
-
Все УРЛ-адреса ЧПУ
-
Настроен 301 редирект с www на без www, с /index.php, /index.html на /
-
Добавлены файлы от Гугл и Яндекс панелей вебмастеров
-
Настроена корректная передача заголовков last-modified и if-modified. Проверять в http://last-modified.com/ru/
-
Отсутствуют битые ссылки (можно воспользоваться сервисом, вроде: http://old.graffity.biz/products/link_checker)
-
Отсутствуют "пустые" ссылки (text)
-
Логотип является ссылкой на главную (кроме самой главной страницы)
-
Все страницы доступны
-
В наличии работающая 404-ой страница
-
При возвращении сервером 500, 501, 502, 503, 504, 505, 507 и 510 ошибок — настроен показ страницы 404
-
В наличии favicon, apple-touch-icon
-
Title формируются правильно (в каталогах - название раздела или товара, на контентных страницах title соответствует странице)
-
На всех страницах присутствует раздельный вывод мета-тегов для поисковиков
-
На всех страницах присутствуют мета-теги для социальных сетей: заголовок, описание, картинка. Утилита для проверки https://developers.facebook.com/tools/debug/
-
Хлебные крошки строятся корректно во всех разделах
-
Постраничная навигация работает корректно (есть подсветка активной страницы, она не является ссылкой; страницы переключаются корректно)
-
Неиспользуемые модули выключены. Как правило, это: Веб-аналитика, Веб-мессенджер, Веб-сервисы, Веб-форумы, Документооборот, Календарь, Подписка, Рассылки, Соц. сервисы, Форум, Универсальные списки
-
Соответствие контента заявленному в ТЗ: должны соответствовать форматы изображений и их пропорции
-
Отправка писем осуществляется через SMTP
-
Все веб-формы генерируют корректные уведомления на корректные адреса
-
Share и ссылки на группы в соц. сетях работают корректно
-
Нет угроз по сканеру безопасности
-
Геозависимый контент выдается корректно (проверять с помощью прокси, например: http://foxtools.ru/Proxy)
-
Страницы не дублируются (страница загружается по адресу /about/, при переходе на /about/index.php происходит 301 редирект на /about/)
-
Если есть любое подключение к внешним сервисам (ipgeobase, SOAP запросы, etc): есть заглушка, предлагающая альтернативные варианты достижения цели (пример: вместо калькулятора выводится телефон ближай
-
На публичных страницах и в консоли браузера нет отладочной информации
-
Для картинок настроена возможность задавать теги alt и title
-
Версия для печати работает если её наличие предусмотрено
-
Отсутствует тестовое наполнение ("рыба")
-
Наличие корректного robots.txt
-
Лицензия есть и ее не нужно активировать/обновить
-
Каждая языковая версия выделена в отдельный сайт (в случае, если не было согласовано иное)
-
Стандартный инструмент "Проверка системы" не показывает ошибок
-
Если есть любое подключение к внешним сервисам (ipgeobase, SOAP запросы, etc): есть механизм, опрашивающий (с кратким периодом) внешний сервис на предмет его работоспособсности
-
Все компоненты должны кешироваться
-
Доступ к нужным инфоблокам настроен для простых посетителей (не админов)
-
Индексация включена только у тех инфоблоков, которые должны участвовать в поиске
-
При включенном расширенном режиме у всех веб-форм настроены статусы и права доступа (иначе форма будет работать только для админов)
-
Настроена само обновляемая карта сайта
-
По https://developers.google.com/speed/pagespeed/insights должно выдавать по 75-80% на десктопе и мобильном устройстве
-
-
Админка
-
Тестирование производительности не фиксирует завышенных показателей, отсутствуют ошибки разработки
-
Битрикс и сервер настроены оптимально (смотрим "Панель производительности"). Все рекомендации выполнены
-
Отсутствуют страницы с завышенной нагрузкой на БД. Ориентировочные показатели - на главной не более 50 запросов, на вложенных не более 20. При включенном и активном кеше, страница не должна делать зап
-
Отсутствуют страницы с завышенной нагрузкой на БД. Ориентировочные показатели - на главной не более 50 запросов, на вложенных не более 20.
-
При включенном и активном кеше, страница не должна делать запросов к базе. Исключения должны быть обоснованы.
-
Функционал сайта
-
В случае, если на сайте есть фильтры - убедиться, что они не захардкожены и изменяются динамически (конечно, только в случае, если это необходимо).
-
Отсутствуют страницы с завышенной нагрузкой на application. Время генерации страницы - менее 0,5 сек.
-
В БД отсутствуют собственные таблицы (не битриксовые). При наличии таковых убедиться в целесообразности их использования, описать в wiki и в коде, для чего нужны эти таблицы.
-
Пароли в passwords актуальные
-
Размер сайта должен быть адекватным: не должно быть мегабайтных изображений, если это не обосновано.
-
Должны быть разные доступы для клиента, и для нас. Доступы клиента у себя нигде не храним. По умолчанию, до сдачи проекта, не даем полный доступ к сайту - даем урезанные доступы, с доступом к контенту
-
В wiki описано: кастомные таблицы в БД, внешние сервисы, все задания на CRON
-
Код и файловая структура
-
Соответствие стандартам программирования: http://www.php-fig.org/psr/psr-1/ http://www.php-fig.org/psr/psr-2/
-
Соответствие codestyle проекта
-
Не нарушать принцип разделения логики и представления даных MVC
-
Отсутствуют лишние шаблоны сайта
-
Все кастомные компоненты, шаблоны и служебные скрипты расположены в /local/
-
У сданных проектов в наличии backup (даже, если это просто верстка). Он расположен в папке проекта на сетевом хранилище.
-
В логах отсутствуют fatal error или любые подозрительных события
-
/bitrix/admin/ не доступна обычным пользователям
-
/git/ закрыт на доступ из браузера
-
Наличие файла .gitignore при использовании GIT на площадках
-
Нет запросов в цикле
-
В корне сайта нет посторонних скриптов, папок, backup\'ов или дампов, phpmyadmin, phpinfo и прочего.
-
Отсутствие критических уязвимостей на сайте (tools TDB, examples: https://xakep.ru/2010/04/13/51777/)