Инструкция


Внимание! Жирным текстом выделены греховные и уголовно наказуемые ошибки разработки!!!

Спецификация разработка проекта

Требования до старта

  • Будет жестоко наказываться наличие чужой информации на конкретном разрабатываемом сайте!!! Аккуратно клонируем сайты и отдельные модули! Вычищаем все, что не принадлежит текущему клиенту.
  • Огромная просьба взять за правило Правило "получил задание - дай ответ в течении 24 часов". Ответы могут быть следующими: "Сделано! Израсходовано n часов, осталось m часов", "Возникли такие-то вопросы...", "Смогу приступить к задаче тогда-то по причине ..., задача добавлена в Редмайн", "Задача перенаправлена тому-то.." и др.

Рекомендуемые инструменты и технологии разработчика:

  • PhpStorm
  • Git
  • Open Server
  • Memcache
  • MVC
  • Blade
  • Bootstrap (для админки)
  • Composer
  • Bower
  • Внешние ключи (foreign keys) и тип таблиц в MySQL - InnoDB - крайне настоятельно рекомендуется
  • Контроллеры (особенно в админке) рекомендуется писать следующим образом - схема для контроллера

Требования к процессу разработки

Требования к дизайну

  • Элемент-заголовок

    должен быть заметен на странице и отличаться по оформлению от прочих заголовков на странице и основного текста более крупным шрифтом.

  • Оформление текста, который является ссылкой, должно отличаться от оформления основного текста страницы, например подчеркиванием, цветом и т.п.
  • Ссылки должны реагировать на наведение мышкой, должны быть пунктирами если не ведут на другую страницу
  • Перед запуском должна присутствовать favicon (требуем от дизайнера)
  • Придерживайтесь единой сетки
  • Перед отправкой дизайна верстальщику из psd удалите лишние направляющие и слои, компоненты группируйте и именуйте. Никаких "Слой 1 Copy 2 Copy".
  • Альтернативные состояния компонентов также должны быть выделены в отдельную группу и именованы по типу - "Название модуля Состояние" (Пример: Кнопка Нажата)
  • Нестандартные шрифты прикладывать
  • Не используйте режимы наложения. Совсем.
  • Старайтесь придерживаться единства для однотипных модулей. Следите за отступами. Для параграфов, например, верстальщик их пишет один раз. Если вылезет что на какой-то там стопятисотой странице они другие - придется засорять код.
  • Попадайте в пиксельную сетку - никаких половинчатых значений. Например: Размер шрифта 16 вместо 15,8
  • Если сайт резиновый или адаптивный - рисуйте промежуточные шаблоны.
  • Учитываете все возможные варианты контента в шаблонах. Заголовки на практике могут быть длиннее. Текста может быть меньше. А может вообще не быть. Учитывайте это, пожалуйста. Живой пример пренебрежения данной рекомендацией - http://www.dospehisporta.ru/

Кодировка по умолчанию UTF-8

Требования к php-коду

  • Защита от случайного доступа квитанций и прочих документов, СОДЕРЖАЩИХ ПЕРСОНАЛЬНУЮ ИНФОРМАЦИЮ
  • Защита сайта от любых инъекций

Требования к javascript-коду

  • аналогично контроллерам
  • Требования к JS-библиотекам

Требования к html/css

  • Элемент-заголовок

    должен быть заметен на странице и отличаться по оформлению от прочих заголовков на странице и основного текста более крупным шрифтом. Пункт-дубликат.

  • Оформление текста, который является ссылкой, должно отличаться от оформления основного текста страницы, например подчеркиванием, цветом и т.п.
  • Ссылки должны реагировать на наведение мышкой, должны быть пунктирами если не ведут на другую страницу. Все элементы должны иметь эффект при наведении, если доступен клик
  • Ссылка на главной с логотипа webmechanica.ru. Ссылка на webmechanica.ru открыта только на главной, на всех остальных она закрыта комментарием
  • Перед запуском должна присутствовать favicon (требуем от дизайнера)
  • Комментарии в HTML коде перед запуском должны быть только по существу. Код HTML сайта - это не свалка заготовок!
  • Обращаем внимание на ошибки верстки средствами браузеров
  • Все объекты типа FORM должны иметь защиту каптчей или созданы динамически
  • На всех страниц должен быть представлен мета тэг canonical, исключающий случайное дублирование или задвоение страниц в поисковых индексах
  • Ссылки с логотипа на главную
  • Ссылка на владельца сайта: на всех страницах сайта необходимо разместить следующий код: Copyright © Название компании – приоритетные ключевые слова
  • Все ссылки на внутренние страницы сайта на всех страницах сайта должны быть заданы в относительном виде. Рекомендуется добавить тег в секцию каждой страницы сайта следующего содержания: . При использовании относительных ссылок необходимо, чтобы URL относительных ссылок начинался со слеша.
  • Для каждой страницы может быть только один тег

    , несколько тегов

    и

    (также тегов

    и

    может не быть вообще). Внутри тегов

    ,

    ,

    не должно быть других тегов (

    <тег>текст

    – неправильно). У данных тегов не должно быть атрибутов (
  • При использовании тегов <NOINDEX> для закрытия контента страницы от индексации следует руководствоваться следующими обязательными правилами: помещать в теги следует только текст и элементы управления текстом, недопустимо помещать в теги контейнеры для элементов, определяющих содержимое таблицы и пр. подобные теги.
  • Результаты поиска по сайту необходимо закрыть от индексации. Для этого необходимо в каждую секцию User-agent файла robots.txt добавить следующую строку: Disallow: /search/

Общие требования и рекомендации

Требования перед запуском

  1. Скрываем тестовую страницу перед запуском
  2. Удаляем временный домен
  3. Отключаем серверные ошибки
  4. Прописываем клиентские е-мейлы в формы и оформления заказов
  5. Проверяем нет ли "левых" контактов
  6. Отсутствующие документы и некорректные ссылки: на сайте не должно быть страниц с несуществующим (ничтожным, некорректно оформленным) контентом! (Данный пункт относится к менеджерам проекта и заказчикам)

Чек-лист перед запуском проекта

  • проверка работы preview
  • проверка отправки и получения заказов
  • проверка отправки и получения форм
  • robots.txt (отсутствие запрета индексации всего сайта, директива host)
  • метрика (должен быть установлен рабочий код)
  • ошибки скриптов перед запуском не должны показываться. Проверяем это допустив нарочито ошибку в коде
  • наличие оформленной в стиле сайта 404
  • фавикон
  • наличие ошибок в браузере (в DOM-модели)

Эксплуатация

  • хз

Продвижение

Общие требования в СЕО>

  • Тексты должны быть уникальными
  • Рекомендуется на внутренних страницах сайта создавать перекрестные текстовые ссылки между страницами с тематически сходным контентом. При установке ссылок необходимо использовать ключевые слова из текста страницы, на которую указывает ссылка
  • Заголовок каждой страницы должен состоять из ключевых слов по тематике страницы, быть лексически и грамматически корректно построенным, Рекомендуемая длина заголовка не должна превышать 9 слов</li> <li>На каждой странице должен быть уникальный элемент МЕТА-информации <META name="keywords">, содержащий ключевые слова из заголовка страницы <TITLE> без стоп-слов «на, к, для, о, у» и спецсимволов</li> <li>Для внутренних страниц элемент МЕТА-информации <META name="keywords"> необходимо формировать по следующему шаблону: «<название раздела>, приоритетные ключевые слова». Длина текста не должна превышать 200 символов.</li> <li>На каждой странице должен быть уникальный элемент МЕТА-информации <META name="description">, содержащий ключевые слова из заголовка страницы <TITLE> и другую полезную информацию, привлекательную для целевых посетителей сайта. Для внутренних страниц элемент МЕТА-информации <META name="description"> необходимо формировать по следующему шаблону: «Название компании: приоритетные слова. <название раздела>». Длина элемента не должна превышать 200 символов</li> <li>В тексте страницы должны содержаться ключевые слова из заголовков страниц <TITLE> в заголовках <H1>, <H2>, <H3>. Не рекомендуется точно повторять заголовок страницы или размещать одинаковый текст в заголовках разного уровня (<H1> – заголовок первого уровня, <H2> – заголовок второго уровня и т.д.). Наилучшим решением является использование в заголовках страниц <TITLE>, элементах-заголовках разного уровня одних и тех же ключевых слов, но меняя их порядок и словоформы. Теги должны идти не подряд в тексте страницы, а разделяться блоками текста (<H1>текст</H1>Абзац текста<H2>текст</H2>). Желателен следующий порядок размещения заголовков в тексте страницы: <H1>текст</H1>…<H2>текст</H2>…<H3>текст</H3>. </li> <li>На каждой странице должны быть атрибуты alt тега <IMG> всех изображений, содержащие ключевые фразы из заголовка страницы <TITLE> или заголовка текста <H1> страницы, на которой они находятся (или из заголовков страницы, на которую они ссылаются, если изображение является гиперссылкой).</li> </ul> <h3>Завершающие действия по подготовке к сдаче сайта</h3> <ul> <li>На главной странице<br>- На странице должен быть элемент МЕТА-информации о ключевых словах <META name="keywords">, сделать его «приоритетные ключевые слова»<br>- Необходимо поместить текст в элемент МЕТА-информации <META name="description"> «Название компании - приоритетные ключевые слова»<br>- Элемент-заголовок <H1> на главной является обязательным: «приоритетные ключевые слова»<br>- Необходимо разместить соответствующий оптимизированный текст на главную страницу. Ключевые слова, выделенные в документе полужирным начертанием необходимо поместить в теги <strong> и <b><br>- Атрибут alt тега <IMG> для изображения-логотипа компании <a class="external" href="http://www.domain.ru/images/logo.jpg">http://www.domain.ru/images/logo.jpg</a> в левой верхней части страницы изменить на «Название компании: приоритетные ключевые слова»</li> </ul> <ul> <li>Оформленные для всех страниц Метатэги: title, description, keywords, аттрибут rel=”canonical”</li> <li>robots.txt (отсутствие запрета индексации всего сайта, директива host)</li> <li>Внутренняя перелинковка: если в разделах используются материалы других разделов, то необходимо устанавливать на эти разделы текстовые ссылки, содержащие слова из заголовков <TITLE> или <H1> той страницы, на которую они ссылаются (раздела, его части, подраздела и т.д.).</li> </ul> <ul> <li>Повторяющиеся страницы: каждая страница должна быть доступна к индексированию только по одному адресу. Исключаются варианты одновременного употребления ссылок /catalog/3.html и /catalog/?cat_id=3 и т.п. Версии для печати необходимо закрыть от индексации, поместив ссылки в тег <NOINDEX> и добавив к тегу <A> данных ссылок атрибут rel="nofollow". В борьбе с этим поможет Атрибут rel=”canonical”<br>Также необходимо версии для печати необходимо запретить для индексации в файле robots.txt (Disallow: /*print*)</li> </ul> <ul> <li>Ссылки с внешних ресурсов необходимо закрывать от индексации, поместив ссылки в тег <NOINDEX> и добавив к тегу <A> данных ссылок атрибут rel="nofollow"</li> </ul> <ul> <li>Добавляем в Инструменты Вебмастеров</li> <li>Добавляем в Яндекс.Справочник</li> <li>Добавляем в Метрику</li> </ul> <h3>Типовые действия после сдачи сайта в процессе поддержки</h3> <ul> <li>карта сайта</li> <li>микроразметка: внедрить микроразметку в товарные карточки а на страницу "контакты" </li> <li>Изучаем инструменты вебмастера на предмет: Ошибки HTTP, Дублирующие страницы, дублирующиеся title и description. </li> <li>Заказывает дополнительные тексты в разделы каталогов, информационные страницы.</li> </ul> </div> </div> <!--noindex--><div id="scroller"><a> наверх</a></div><!--/noindex--> </div> <div class="for_footer"></div> </div> <div id="footer"> <div class="line"> <a href="/form/" class="button_big">Хочу свой магазин</a> </div> <ul class="inner menu_bottom"><li><a href="/content/about_us.html" title="О нас" class="">О нас</a></li><li><a href="/content/portfolio.html" title="Портфолио интернет - магазинов" class="">Портфолио интернет - магазинов</a></li><li><a href="/content/portfolio_sites.html" title="Портфолио сайтов" class="">Портфолио сайтов</a></li><li><a href="/content/contacts.html" title="Контакты" class="">Контакты</a></li><li><a href="/content/creation_im.html" title="Создание интернет–магазина" class="">Создание интернет–магазина</a></li><li><a href="/content/creation.html" title="Создание сайта" class="">Создание сайта</a></li><li><a href="/content/support.html" title="Поддержка сайта" class="">Поддержка сайта</a></li><li><a href="/content/optimizing.html" title="Продвижение сайта" class="">Продвижение сайта</a></li><li><a href="/content/contextual_advertising.html" title="Реклама в интернете" class="">Реклама в интернете</a></li><li><a href="/content/vacancies.html" title="Вакансии" class="">Вакансии</a></li><li><a href="/content/soglasie_na_obrabotku.html" title="Политика конфиденциальности" class="">Политика конфиденциальности</a></li></ul> © Webmechanica </div> <!-- Yandex.Metrika counter --><script type="text/javascript">(function (d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter24443945 = new Ya.Metrika({id:24443945, clickmap:true, trackLinks:true, accurateTrackBounce:true}); } catch(e) { } }); var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function () { n.parentNode.insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//mc.yandex.ru/metrika/watch.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(document, window, "yandex_metrika_callbacks");</script><noscript><div><img src="//mc.yandex.ru/watch/24443945" style="position:absolute; left:-9999px;" alt="" /></div></noscript><!-- /Yandex.Metrika counter --> </body> </html>