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

Запускаем для программиста:

Cтавьте галочки напротив пунктов, которые уже были выполнены. Когда все пункты будут выполнены - проект готов к сдаче и запуску. Внизу можете сформировать ссылку и отправить отчёт работодателю! Важно, School-PHP не хранит информацию о сайтах или об оценке сайта.

Запускаем для работодателя:

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

Запускаем новый сайт:

Рейтинг сайта: 0 / 96

Базовая подготовка

Создаём блокнот со всеми логинами+паролями и сертификатами. Напоминаю:
управление хостингом (1), управление доменом (2), FTP (3), MySQL или PhpMyAdmin (4), Панель администрирования или админка (5), Сертификаты SSL (6), счётчики посещений (7)
В том же блокноте отдельно записываем все нужные контакты работодателя и исполнителя. Минимум 2 контакта: телефон, скайп, почта, вайбер, телеграмм и другие
Этот же блокнот отправляем заказчику (работодателю)

Верстка

IMG: picture/srcset - картинки или фотографии разных размеров под разные разрешения и picture/retina x2, x3 - картинки или фотографии для масштабирования браузерами
IMG: обязательное указание атрибутов width и height для ускорения отображения страницы и картинки
Использование спрайтов для ускорения загрузки страницы
Подключение шрифтов в форматах WOFF, WOFF2, TTF, EOT для кроссбраузной поддержки

Дизайн

Настроен favicon во всех размерах для всех браузеров.
Минимальное требование: 310х310px, рекомендовано: 512x512.
Тестеры: realfavicongenerator и favicomatic
Создаём верстку под мобильные устройства, планшеты, широкоформатные стационарные PC. Введите ссылки на скрин-шоты главной страницы в указанных разрешениях. Скрин-шот страниц умеет делать FireFox.
320px - iphone5s, продавались до конца 2017 года
375px - iphone 7, iphone X
768px - ipad
980px - небольшие ноутбуки
1280px - классическое разрешение для статичных сайтов
1980px - широкоформатный экран
320px
375px
768px
980px
1280px
1920px
Проверяем адаптивную верстку через эмулятор в Google Chrome при разрешениях: от 320px до 1920px. Любое из разрешение должно быть благополучно для отображения сайта на всех его страницах. Данный пункт отличается от предыдущего тем, что тут требуется индивидуальная проверка каждой страницы сайта

Программирование

Убедитесь, что существует страница 404 по неизвестному адресу. Кроме того страница 404 должна отдавать ответ 404, а не 200: . Помимо этого крайне желательно прописать и 5хх страницы
Добавить переадресацию с www. на страницу без www:
Добавить переадресацию без https на https:
Если присутствует CRON, то добавить на админ.панель информирование о выполнении крон-задач. Достаточно указать задачу и рядом с ней статус (работает / не работает) исходя из периода запуска и времени последнего запуска (реализуется легко через дополнительную таблицу в MySQL, если внутри вашей CMS этот функционал не встроен)
Проверяем оптимизацию сервера, 95+ получить очень легко, было бы желание (между 95 и 100 разница минимальная, но из-за частых изменений в анализаторе PageSpeed постоянно получать 100% не получается, а так же встречаются проблемы и с их стороны в виде багов): Google PageSpeed (для сжатия картинок используем Photoshop и tinypng.com). Другие анализаторы, на которых невозможно получить 100% для большинства сайтов, но каждый бал приближает сайт до нормального качества: webpagetest.org, tools.pingdom.com, gtmetrix.com. Чтобы Вы понимали, мою оценку я получил за 2 дня оптимизации, если программист и верстальщик не могут 2 дня поработать, то грош цена таким специалистам!
Настраиваем резервное хранилище с созданием бек-апов максимум раз в сутки на другом сервере. Хочу заметить, что при оплате Bitrix в пакет входит бек-апы на их сервере. Некоторые хостинги предоставляют бек-ап серверы за доп.плату, но у меня была история, когда хостер взял оплату за пол года, а бек-апа так и не создавал, в итоге пришлось самостоятельно организовать хранилище бек-апов. Нормальные фирмы пользуются внешними хранилищами (у других хостеров) и следят за сайтом, это входит в базовую стоимость тех.поддержки сайта и крайне рекомендована мной!
Базовое время должно совпадать (касается уведомлений, логирования, отчётов) с временем хозяина сайта: Unix, Apache, MySQL, Cron
Для сайта должна быть установлена кодировка utf8, для соединения с Базой Данных utf8mb4, База Данных, таблицы и ячейки обязаны быть с такой же кодировкой как и соединение utf8mb4_unicode или utf8mb4_general
Проверить сайт с включенными AdBlock и AdBlockPlus (неправильно названные классы или id в HTML приведут к блокировке части контента). Сюда же не стоит использовать alert и модальные окна через window.open в JavaScript
JS and CSS minified - файлы должны быть сжаты до минимальных размеров, расширение файлов .min.js и .min.css, а так же добавлены рекомендуемые js.map и css.map файлы

Почта

Оформляем красивый вид письма на события на сайте: регистрация, авторизация, восстановления писем (укажите скрин-шоты всех писем, каждый с новой строчки)
Создаём ящики: admin@, postmaster@
IP не должен быть в чёрных списках за исключением dnsbl.spfbl.net
Проверяем оценку письма: mail-tester.com, подписи SPF, Dmarc, DKIM обязательные
Отправляем почту на известные ящики и проверяем их дохождение: gmail.com, mail.ru, yandex.ru, rambler.ru, (украинские: i.ua и ukr.net)
Регистрируемся в системах наблюдения и контроля за дохождением писем при рассылках: Майкрософт live, outlook, hotmail, Google, Yahoo (CFL), Mail.ru, Yandex
Для рассылок и уведомлений: убедиться, что отписка через заголовок Unsubscribe, а так же ссылка на отписку в конце письма присутствует
Для рассылок и уведомлений: настраиваем уведомления о недохождении писем и парсим его с интервалом день или неделю для отключения из рассылок ящиков, куда письма не доставляются по причине блокировки или недоступности

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

Добавить безопасный протокол https
Убедитесь, что вывод ошибок отключен. Делается просто: инициируйте WARNING обратившись к неизвестной переменной, допустите синтаксическую ошибку в PHP скрипте (откройте фигурную скобку), допустите синтаксическую ошибку в MySQL запросе (напишите SEEEELECT вместо SELECT). Пользователь не должен видеть ни одной из ошибок.
Убедитесь, что указанные ошибки выше были записаны в соответствующие логи: php.log, mysql.log, error.log
Доступ к файлам с расширениями log, .htaccess, .sh и другие должен быть закрыт. Проверить очень просто, разместите в корне тестовый test.log и попробуйте открыть файл через адресную строку: прямая ссылка на тестирование. Файл можно не удалять, пусть остаётся пустышкой в корне, всегда можно будет проверить не поменялись ли настройки на хостинге, которые могут повлечь за собой серьёзные проблемы
Создаём архив (бек.ап) всего сайта. Необходимо и всех файлов и всей Базы Данных. В 50% случаев она может понадобиться, особенно в момент лечения от вирусов. Одну копию отправляем работодателю, вторую копию сохраняем на резервном хранилище, так как никто не застрахован от поломки жесткого диска. Подойдут даже платные закрытые хранилища Яндекс.Диск, Гугл.Диск, но самый надежный будет внешний винчестер
В админке должен присутствовать информационный блок о всех добавленных и изменённых файлах на сервере (за период последней проверки), которые могут навредить сайту, а именно расширения .php и другие. Несанционированное изменение файлов свидетельствует о взломе сайта (этот блок присутствует в хороший CMS вроде Bitrix)
Не использовать сторонние библиотеки с непроверенных источников вне зависимости от их популярности. 1/3 популярных бесплатных скриптов в WordPress заражены вирусами накрутки BitCoin
Все ссылки с target="_blank" обязаны иметь атрибут rel="noopener noreferrer"

SEO

Не должно быть ошибок w3c валидатора за исключением font-display:swap (новое свойство, ещё не научился тестер определять, но используется уже как рекомендованное от Google Fonts: w3c validator
Настраиваем robots.txt , закрываем от индексации админку и другие разделы, которые не должны попадать в поиск. Скрипты вызываемые через AJAX для подгрузки данных тоже необходимо закрыть от индексации, чтобы не захламлять выдачу сайта. Все открытые для индексации страницы должны быть чёткие и по делу
Создаём sitemap.xml, настраиваем интервал обновления, если сайт динамические и появляются новые страницы необходимые для поисковых систем
Регистрируемся в поисковых системах (регистрируем сайт, прикрепляем sitemap и robots.txt): google.ru, yandex.ru, mail.ru, yahoo.com, meta.ua . Хочу заметить, что для украинских сайтов желательно зарегистрировать в meta.ua, для иностранных в yahoo.com
На каждой странице должен быть уникальный title, description и заголовки h1-h6. Для ленивых подойдет и отчёт от Google Webmaster спустя неделю, пока пройдет индексация сайта целиком по sitemap.xml, в дальнейшем мониторить раздел "дубли". Профессионально можно воспользоваться Screaming Frog SEO Spider
Добавить счётчики посещений Google Analytics, Яндекс.Метрика
Все страницы должны иметь canonical ( rel="canonical" ) чтобы избежать дубликатов страниц
Если сайт мультиязычный (имеет 2 и более языков), то страницы обязаны быть перелинкованы друг с другом при помощи атрибута hreflang
Все изображения должны иметь ALT и TITLE атрибуты
Обязательное использование rel="prev" and rel="next" для страниц с постраничной навигацией

Получить ссылку!

Особенность сервиса в том, что мы не храним ни сайтов, ни проверок у нас в базе, мы не знаем контактов работодателей и других данных! School-PHP предоставляет лишь дизайн для отчёта, отчёт же формируется из URL и там же хранится. Просто отправьте ссылку работодателю и он увидит точно такой же отчёт, который Вы только что заполнили!

Главная БАЗОВЫЙ КУРС ПЕРВЫЙ УРОВЕНЬ программирования ВТОРОЙ УРОВЕНЬ верстки ВТОРОЙ УРОВЕНЬ программирования Начать обучение Запуск проекта Мелкие трюки Делимся практикой трудоустройства Проверь свои знания Задачи по PHP MySQL Блог Отзывы