====== Развертывание проекта на production-хост ====== ===== Checklist ===== ==== Общее ==== - Все ссылки должны работать. Не должно быть битых ссылок. - На страницах не должно быть ошибок JavaScript. - Итоговая страница должна проходить w3c-валидацию. - После внедрения не забыть сменить дефолтный пароль на админку и занести его в vt.kbdx - CSS и JS должны отдаваться через minify.php — не забываем об этом (Site::IsDevel()) - Если имелись привязки к доменному имени (например, API Яндекс.Карт или Google Maps), то не забыть получить новые ключи для production-хоста. ==== Интерфейс ==== - Логотип должен вести на главную страницу. - Переводы в VT лучше делать через языковой файл. - При неправильном заполнении формы введенная информация должна остаться, ошибки – отобразится. - Должен быть favicon - Обязательно должен быть пагинатор у длинных списков - Точки в заголовках не ставятся. ==== SEO ==== - Должен быть файл robots.txt, отдающийся непосредственно веб-сервером, минуя PHP. - Должен быть sitemap.xml, ссылка на него должна быть в robots.txt. - Должна быть грамотная обработка 404-ой страницы. - У всех страниц должен быть заголовок. - Логика работы с заголовками и meta-информацией всегда одна и та же и очень простая: если у объекта есть (pageTitle|metaKeywords|metaDescription) и они не пустые, то используем сначала их, если их нет или они пустые делаем сгенерированный pageTitle (например, заголовок новости, название комнаты и так далее). Если существует объект metaDetails на этот url, то он самый приоритетный и используем его. - После публикации сайта нужно поставить счетчик Google Analytics (под какой учетной записью создавать счетчик – уточнить у руководителя). - Уточнить у руководителя, нужно ли дополнительно отслеживать события в Google Analytics при достижении каких-либо целей (успешное заполнение формы, клик по ссылке). - Всегда нужно размещать ссылку на 1adw, если нет запрета заказчика. Текст ссылки уточняется у Славы. - Если на сайте присутствуют формы обратной связи, подсчёта и т.п. то они обязательно должны завершать работу страницей с url-ом типа /success для возможного отслеживания в GA. После успешного заполнения формы должно появляться внятное сообщение о получении информации пользователя с благодарностью. Текст уточняется у руководителя. - Для доменов первого уровня делаем основным www.site.ru, а для второго без www — site.spb.ru. Для домена site.ru делаем 301-й редирект на www.site.ru. - Обязательно делать 301 редирект domain.ru на www.domain.ru или наоборот. ==== Настройка сервера ==== - На сервере может быть определена кодировка по умолчанию, обычно это cp-1251. Если такая проблема возникает, то необходимо добавить в .htaccess AddDefaultCharset utf-8. - На сервере может быть включен Magic Quotes. Его нужно выключить в .htaccess: php_flag magic_quotes_gpc Off - Необходимо понимать значения upload_max_filesize и post_max_size для каждого проекта. ==== Перенос сайта ==== - Обеспечить работоспособность старых адресов. Для этого необходимо использовать Redirect 301 (самый правильный вариант – прописать правила в .htaccess). - Сохранить коды старых счетчиков. Список тех счетчиков, от которых нужно отказаться, определить заранее. - Если в Google Analytics использовались события, необходимо определить, нужно ли их переносить или нет. - Если в Google Analytics использовались цели, то необходимо проверить, что адреса, забитые в целях, актуальные. - Если в Google Analytics использовался поиск, то необходимо проверить настройки для query string и категорий. ==== PHP ==== - В eaze.production.php есть все пакеты, которые определены в eaze.php ===== Возможные косяки, о которых мы даже не думали ===== ==== Уникальные одноразовые/многоразовые ссылки ==== Если вы в проекте использовали какие-нибудь уникальные ссылки (без необходимости авторизации на сайте), например * ссылка для восстановления пароля * ссылка для автоматического входа в личный кабинет * уникальная ссылка подтверждения заказа с полными личными данными * отчет об отправке смс ([[http://habrahabr.ru/blogs/infosecurity/124387/|привет, МегаФон]]) * и другие подобные ссылки... то не забудьте сделать так, чтобы они не всплыли в неожиданных местах после выливки. * Поисковые системы с радостью проиндексируют их (как? читайте статью про мегафон) и почти сразу же они попадут в поисковую выдачу, так что не забудьте добавить соответствующие правила в robots.txt * Если у вас открыта статистика на сайте (liveinternet, rambler), то эти страницы попадут в "страницы входа" (а тут уже и поисковые системы подтянутся), потому что счетчики как правило стоят везде.