Чек-лист программиста

  • Общее

  • Все УРЛ-адреса ЧПУ

  • Настроен 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/)

This checklist was created by bodycode@yandex.ru

copy saved

copies saved