Как в html сделать оптимизацию. Выбираем лучший онлайн-сервис по сжатию CSS

Заметка: активирована адаптивная версия сайта, которая автоматически подстраивается под небольшой размер Вашего браузера и скрывает некоторые детали сайта для удобства чтения. Приятного просмотра!

Здравствуйте. Сегодня мы продолжим тему оптимизации HTML макета сайта , которую начали в статье о .

Давайте сначала разберёмся, почему это важно и затем перейдём к практическим советам.

Правильно сделанный (свёрстанный) шаблон сайта:

  • Может значительно ускорить загрузку страниц (особенно, если до этого всё было запущенно);
  • Упростит попадание ваших страниц в ТОП поисковой выдачи (не только из-за быстрой загрузки);
  • Увеличит ваши шансы на полную кроссбраузерность, то есть одинаково правильное отображение сайта во всех браузерах;
  • Даст небольшую гарантию, что по истечении множества лет вам не придётся переделывать ваши сайты под новые браузеры (или под новые версии старых браузеров).

Предлагаю идти от простых вещей к более интересным.

Часть 1. Соблюдайте HTML и CSS стандарты

На всякий случай скажу, что кроме HTML и CSS мы ещё можем оптимизировать JS и PHP части наших сайтов, которые являются более ресурсоёмкими и значительнее замедляют скорость загрузки страниц. Однако кроме скорости загрузки страниц, JS и PHP составляющие никак не влияют на продвижение сайта (лишь бы не ломали его), в отличие от HTML разметки, то есть шаблона сайта.

1.1 Всегда закрывайте теги.

В том числе те, которые закрывать не обязательно, даже если вы ненавистник XHTML стандарта, лучше придерживаться этого правила. Пример:

  • Пункт списка
  • Пункт списка
  • Пункт списка

Каждый тег li закрыт, хотя это и не обязательно.

1.2 Соблюдайте правильную вложенность тегов.

По принципу: первым открылся — последним закрылся. Пример как не правильно:

текст

Как правильно:

текст

1.3 Никогда не описывайте CSS и JS внутри HTML макета и атрибутов тегов.

Никогда! Другими словами, забудьте о существовании атрибута style и тега style :

текст

p{ color:red; font-size:20px; text-align:center }

Описывайте все стили в отдельном файле.css

Можете использовать атрибут style, только динамически отрисовывая его с помощью яваскрипта по какому-нибудь действию. Например, если по клику на картинку, нужно изменить цвет всего текста на странице, то только в таком случае можете динамически создать атрибут style с нужными значениями для нужного тега (в данном примере – для body). Почему? Потому что поисковые роботы его всё равно не увидят и никто (в том числе пользователи) не загрузят лишний код, так как действие происходит уже после полной загрузки страницы.

Тем не менее, в таких случаях я всё равно рекомендовал бы добавлять заранее описанный CSS класс нужному тегу, нежели добавлять ему атрибут style. Это как минимум удобней для последующего редактирования.

Всё то же самое относиться и к JS, весь JS-код должен быть в отдельном файле , а не внутри вашего макета или ещё хуже — среди атрибутов тегов.

1.4 Забудьте о Caps Lock и заглавных буквах.

Пишите все теги, атрибуты и их значение строчными (маленькими) буквами, это же касается и таблиц стилей CSS.

Почти всё описанное выше есть в официальной спецификации HTML и CSS и относится к валидности документа .

Таким образом, я должен отметить, что придерживаясь W3C стандартов, то есть, соблюдая валидность документа — вы получаете следующие SEO преимущества:

  • Чистый код, а, следовательно, и дополнительное доверие поисковых систем к вашему сайту;
  • Ускоренная загрузка страниц, так как браузеру не приходится тратить время на отладку невалидного документа.

Однако не стоит зацикливаться на валидности, вы должны стараться максимально её придерживаться, однако не в ущерб всему остальному (времени, функциональности и тд.).

Часть 2. Ускоряем загрузку страниц – один из факторов ранжирования 2.1 Указывайте настоящие размеры картинок.

Здесь суть в двух вещах:

  • Обязательно указывайте атрибуты width и height для тега img : Это ускорит загрузку изображений, так как браузер заранее будет знать, какой размер нужно отобразить.
  • Обязательно вставляйте картинку того же самого размера, который указали в атрибутах.

Если картинка больше чем вам необходимо, то не нужно экономить время на том, что её можно уменьшить по средствам HTML или CSS. Будьте любезны потратить время, зайти в Фотошоп или его аналоги и уменьшить картинку до тех размеров, которые вы хотите видеть на сайте, это может заметно ускорить загрузку страниц.

2.2 Используйте CSS3 вместо JS.

JS может значительно замедлить загрузку ваших страниц, а также продолжать создавать нагрузку уже после загрузки страницы (разнообразные эффекты, типа бегущей строки и другие динамические вещи), что может тормозить работу браузера пока вкладка с сайтом будет открыта.

Сегодня множество красивых и интересных эффектов можно достичь только благодаря использованию свойств CSS3 (например, transition, box-shadow, border-radius, opacity, transform, background-size) и умелой .

Всё сказанное выше можно подытожить одной фразой: везде, где вы можете (подозреваете как) заменить JS на CSS3, используйте CSS3 не раздумывая! Для поиска подобных фрагментов советую вам изучить новые возможности CSS3.

2.3 Меньше Photoshop – больше CSS 3.

Этот девиз уже давно используют многие вебмастера. Вы можете создавать красивые кнопки и элементы дизайна с плавным градиентом, сглаженными углами, тенями (внутренними и внешними) и красивым текстом сверху благодаря одному лишь CSS. Везде, где можно заменить графические элементы дизайна на CSS код – делайте это! Пример:

Помимо перечисленных выше свойств CSS3 вам также доступен формат описания цвета RGBA.

Для создания кроссбраузерного градиента на CSS вы можете использовать бесплатные сервисы, например этот colorzilla.com .

2.4 Объединяйте изображения в CSS спрайты.

Те изображения, которые мы не смогли нарисовать с помощью CSS 3, нужно обязательно объединить в одно единственное (в идеале). Это нужно для того, чтобы сократить количество запросов к серверу при загрузке страницы. Этот пункт может значительно снизить нагрузку на ваш веб-сервер, а заодно и ускорить загрузку страниц, сразу 2 зайца!

Чтобы лучше понять, о чём речь, просто взгляните на мой CSS спрайт:

Неплохо, не правда ли? Фоновая картинка одна на все элементы, мы только двигаем её и подставляем в фон определённого элемента нужную часть картинки благодаря свойству background-position, например, так:

#subs,#left,.mail,.rss,.vk{background:url(/images/1.png) no-repeat} #subs{background-position: -28px -120px;} #left{background-position: -35px -20px;} .mail{background-position: -43px -50px;} .rss{background-position: -12px -8px;} .vk{background-position: -34px -56px;}

Лучше всего будет составить спрайт вручную, с помощью Фотошопа, но это может показаться вам достаточно сложным занятием, поэтому вы можете использовать бесплатные сервисы, которые всё сделают за вас, в том числе даже напишут за вас CSS-код. Мне большего всех нравится сервис SpriteMe . Но я не устану повторять: всегда всё лучше делать вручную, в частности, так спрайт может получиться значительно компактней (по размерам и, следовательно, по весу), а значит более эффективным.

2.5 Размещайте JS файлы правильно.

Все подключаемые вашим сайтом JS файлы должны находится как можно ниже по коду, не нужно подключать их внутри «головы» сайта (между тегами head) – это значительно замедляет загрузку страниц. Самым лучшим вариантом будет подключить файлы JS перед закрывающимся тегом body, то есть в самом низу страницы, ниже уже некуда.

И ещё один очень полезный совет: в идеале все ваши файлы JS нужно объединить в один единственный, то есть вырезаем (Ctrl + X) код из всех файлов и копируем его в один, чтобы в итоге у вас внизу, перед закрывающимся тегом body подключался один единственный файл:

...

Это может заметно ускорить загрузку ваших страниц, так как снизит количество запросов к вашему веб-серверу. Расположение JS файла внизу страницы отложит его загрузку и обработку, что ускорит вывод основной части страницы. И не забудьте сократить (сделать компрессию) ваш конечный JS файл.

2.6 Размещайте CSS файлы правильно.

Файл CSS, который, кстати говоря, тоже должен быть одним единственным (по тем же причинам), нужно размещать в коде наоборот, как можно выше!

Но не нужно размещать его выше тега title, он самый главный для SEO и лучше его оставить в самом верху. Лично я подключаю CSS файл сразу после тега title и всех мета-тегов, а уже после него можно подключить, например, фавикон (иконка сайта во вкладке браузера) и тд.

Часть 3. Правильная SEO вёрстка макета 3.1 Код навигации сайта.

Вся навигация сайта (меню, хлебные крошки, списки производителей в интернет-магазинах и тд.) должны быть реализованы с помощью ненумерованных списков (теги ul, li), а не с помощью тегов div и a.

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

3.1.1 Тонкости горизонтального меню.

Если вам необходимо реализовать горизонтальное меню, то я хочу вам дать 2 бесплатных совета:

  • Никогда не используйте для этого CSS-свойство float (плавающий, вызывает обтекание его другими элементами), вместо него используйте следующий код: ul.menu li{display:inline-block;}
  • В коде не нужно начинать каждый новый пункт меню с новой строки, как в примере выше. Лучше написать всё в одну строчку и регулировать расстояние между пунктами с помощью margin . Пример:
ul.menu li{ display:inline-block; margin:0 5px; }

Перенос строки в HTML равняется пробелу, то есть если вы в коде между пунктами меню ставите Энтер, то у пользователей на странице сайта между ними появятся пробелы. Что тут плохого? У каждого браузера может быть разная ширина пробела, а некоторые могут его вовсе проигнорировать. В итоге, ваш сайт будет смотреться везде по-разному, а иногда (по собственному опыту) это может даже сильно исказить дизайн.

Поэтому у меня есть моё собственное правило при вёрстке: между любыми (не только в меню) inline-block элементами не должно быть пробелов и переносов строк! Заодно это незначительно, но уменьшает общий вес ваших страниц, ведь как я уже писал: 1 символ (в том числе пробелы и переносы строк) = +1 байт к весу ваших страниц.

3.2 Атрибут alt у картинок

Обязательно указывайте атрибут alt в теге img:

Во-первых, это требуется, если вы хотите пройти проверку на валидность (в XHTML точно, на счёт HTML уже не помню, так или иначе всегда стоит равняться на строгие стандарты XHTML), во-вторых, если картинка не загрузится, то пользователю вместо картинки хотя бы отобразится текст, записанный в alt (о чём она). В-третьих, это увеличит шанс на попадание ваших картинок в поиск по картинкам от Гугл и Яндекса, что может привлечь дополнительных посетителей к вам на сайт.

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

Если все ваши атрибуты alt будут заполнены одними ключевыми словами, то непременно ждите штрафных санкций.

3.3 Используйте HTML заголовки h1-h6 по максимуму.

h1 – это самый крупный и главный заголовок, в него следует заключать название вашей текущей страницы. В то время как h6 самый мелкий и наименее значимый заголовок. Многие SEO-эксперты настоятельно рекомендуют использовать заголовок h1 только 1 раз на странице и это логично. Остальные заголовки можете использовать любое количество раз, главное с умом.

Само наличие HTML заголовков в макете вашего сайта уже является плюсом для поискового продвижения, а умелая расстановка может вдвойне усилить результат. Вот что по этому поводу пишет сам Яндекс.

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

При ранжировании учитываются не только формальное соответствие тексту запроса, полнота представленной информации и её актуальность, но и то, как она структурирована и оформлена.

Думаю, вы уже убедились в важности заголовков при вёрстке макета, только не нужно стараться заключить все возможные ключевые слова в заголовки (хотя я иногда сам так делаю) это работало раньше, а теперь уже не пройдёт. Заголовки нужно использовать ради удобства навигации пользователей, а не для манипулирования релевантностью .

Лично я заключаю все подзаголовки внутри статьи в h2 , подзаголовки подзаголовков в h3 , а мелкие подпункты в h4 . Внизу под каждой статьёй есть форма подписки и блок с кнопками социальных сетей, их названия я заключил в h6 . В правой колонке сайта названия разделов заключены в h5 .

Как видите, я использую заголовки HTML по максимуму, причём логика на автомате подсказывает расставлять всё сверху вниз по коду. Хотя для полной идиллии нужно было поменять местами заголовки h6 и h5 , но это было бы слишком педантично:) и не так важно.

3.4 Быстрые ссылки на сайт.

Продолжая тему заголовков, хочу сказать о важности h1 и о том, как правильно его составлять. Во-первых, я настоятельно рекомендую использовать его только 1 раз на странице! Проследите за этим в вашей CMS. Во-вторых, h1 имеет большой эффект на SEO (на втором месте после title ), так или иначе, но я советую вам дублировать текст из title в h1.

Яндекс пишет:

Чтобы помочь Яндексу правильно выделять быстрые ссылки, текст в теге для ключевых страниц должен совпадать с её названием (с заголовком страницы, выделенным, например, тегом ) и с текстами ссылок, указывающих на эту страницу.

3.5 Используйте все возможности форматирования текста.

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

  • Используйте нумерованные и ненумерованные списки (ul, ol);
  • Заключайте основной текст не в теги div, а в теги параграфов: p;
  • Сопровождайте текст картинками и видео;
  • Рисуйте HTML таблицы;
  • Используйте (в меру!) теги логического выделения текста: strong, em, u.
3.6 Используйте мета-теги keywords и description с умом.

В description запишите доступным языком, о чём ваша страница, не нужно стараться заключить в него как можно больше ключевых слов. Составляйте description для людей, думайте только об этом, иначе вы можете только навредить себе переоптимизацией. К мета-тегу keywords относится всё то же самое. Вот официальная страница Яндекса, на которой написано как правильно составлять мета-описание сайта: читать в новом окне .

Возьмите на заметку: не используйте лишних мета-тегов (это бессмысленно), максимум три: keywords, description и мета-тег для обозначения кодировки сайта:

Если ваша CMS генерирует их больше (Autor, Generator и тд.), то смело удаляйте их! На сайте не должно быть лишнего мусора, как в тексте, так и в коде.

3.7 Оптимизируйте код.

После того как вы закончили сайт, подумайте, как можно было бы уменьшить HTML разметку, например, с помощью , а также обратите внимание, все ли ваши теги что-то делают. Если к тегу не применяется никаких CSS свойств, тогда зачем вы его ставили? Чтобы это проверить, используйте . Часто новички создают много лишних тегов div. Проверьте это, чем меньше кода – тем лучше!

3.8 Сократите код.

После того, как все работы закончены, сократите ваш HTML, CSS и JS код. Как сократить? Запишите всё в одну строчку, это будет идеальный вариант. И это не шутка, удалите все пробелы между тегами и все переносы строк в HTML макете! Когда вы нажмёте в браузере Ctrl + U — вы должны увидеть одну единственную непрерывную строчку.

Я не просто так записал этот пункт именно в SEO часть, ведь отсутствие табуляций, переносов строк и лишних пробелов в HTML макете помогает поисковым роботам быстрее обработать основной текст страницы.

Сократить CSS и JS проще всего через специальные сервисы, для JS можете воспользоваться, например, Closure Compiler от компании Google (будьте бдительны, после оптимизации ваш код может потерять работоспособность); для CSS подойдёт csscompressor.com Однако я обычно использую один единственный сервис (для JS и CSS), о нём в самом конце статьи.

Часть 4. Продолжаем оптимизировать макет сайта под поисковые системы 4.1 Чем выше основной текст — тем выше позиции в поисковых системах.

Важно 2 параметра:

  • Сколько нужно пользователю скролить (прокручивать) страницу до релевантного (по мнению поисковых систем) содержимого;
  • Как высоко в коде (близко к началу) находится релевантное содержимое.

И если второй пункт, скорей всего не сильно влияет на позиции, то на первый пункт точно стоит обратить пристальное внимание при построении структуры и дизайна сайта.

Яндекс пишет:

  • Основная суть документа должна быть понятна уже на первом экране браузера.
  • Не рекомендуется использовать элементы оформления, делающие неочевидным доступ к тексту для пользователей - окна прокрутки, скрытые выпадающие блоки и т.п.

У Гугл тоже есть специальный алгоритм под названием , который определяет, как далеко нужно прокручивать ваш сайт, чтобы дойти до полезной (релевантной запросу) части страницы. Следующая картинка иллюстрирует действие этого алгоритма, алгоритм проверяет на среднестатистическом разрешении экрана (1024*768):

Также обе поисковых системы обращают своё пристальное внимание на количество рекламы и баннеров на первом экране браузера.

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

По этому поводу пару полезных советов:

  • Делайте шапку сайта как можно меньше по высоте (пример как не надо : этот блог);
  • Старайтесь не захламлять сайт рекламой;
  • Если в двух колоночном макете не можете определиться: справа или слева от основной колонки поставить дополнительную – всегда ставьте справа. Поисковые роботы, как и люди, смотрят на ваш сайт слева направо, а значит лучше, чтобы основное содержимое было слева!

Теперь немного о втором пункте. На этом блоге до вывода основной части, то есть текста статей – ровно одна строчка кода (хотя и длинная), вторая строка – это начало первого абзаца статьи. Как я уже сегодня писал: в идеале весь сайт должен быть одной строкой, и желательно, чтобы основной текст находился как можно ближе к её началу.

По этому поводу есть ещё одна хитрость. К примеру у нас есть 2 колонки сайта – основная и дополнительная. При этом несмотря на SEO, нам очень хочется, чтобы дополнительная колонка была именно слева, ничего смертельного в этом нет. Однако в таком случае весь код и вся информация из дополнительной колонки (левой) будет выше по коду, чем основная часть, и мы в силах это исправить!

Для этого мы будем использовать CSS свойство float. При создании HTML макета мы основную колонку (правую) разместим всё-таки слева от дополнительной (выше по коду):

Основная часть сайта. Дополнительная колонка слева.

А теперь с помощью CSS поменяем их местами:

#text{float:right;} #left{float:left;} .clear{clear:both;} /* запрет обтекания */

Думаю, вы поняли суть. Третьи строки в обоих фрагментах кода я мог бы опустить, так как это уже детали вёрстки, которые выходят за рамки данной статьи. Однако эта подсказка поможет сократить возможные проблемы у начинающих верстальщиков, особенно у тех, кто первый раз услышал о CSS свойстве float, а тем более clear.

Часть 5. Google Page Speed

Google Page Speed — это замечательный онлайн сервис от Google, а также плагин для Chrome и Mozilla, который станет для вас незаменимым помощником при анализе вашего HTML + CSS шаблона сайта. Он подскажет вам все недостатки и что немаловажно — даст конкретные пути решения.

Также он является тем самым сервисом, который я люблю использовать для сокращения HTML, JS и CSS кода, после его использования 100% работоспособность гарантируется.

Просто начните работать с Google Page Speed и вы заметно повысите свой уровень в правильной клиентской оптимизации шаблона сайта.

Спасибо за внимание. Удачного дня и до встречи!

Техническая оптимизация – правильная настройка сайта для максимально качественного взаимодействия с поисковыми системами. Ее необходимо делать сразу после установки движка и во время работы с первичным заполнением сайта контентом. Сейчас я расскажу, на какие важные аспекты оптимизации нужно обратить внимание и сделать в первую очередь.

Содержание статьи: Правильная организация структура сайта


Любой сайт должен иметь максимально удобную структуру. Как и люди, поисковые системы смотрят на сайт и оценивают удобство его использования. Любой интернет-ресурс должен иметь вложенность не более трех страниц. То есть с главной, максимум в три клика, у пользователя должно получиться добраться до любой страницы.
Наиболее правильной и простой структурой для информационного сайта будет:

Категории определяют разделы. Если сайт о различных болезнях, то категории могут быть такие: Кардиология, Неврология, Хирургия…
Для более сложных проектов, охватывающих больше информации, структура может быть:

Таким образом расширяется структура, но остается понятной и логичной. Пример, на этом сайте в категории Кардиология могут содержаться подразделы Болезни сердца и Болезни сосудов. Не запрещается размещать материал, относящийся к двум и более разделам.

Например, материал о Гепатите может находиться в категории Гепатология и Вирусология одновременно. Главное — соблюдать иерархию материалов. Построение правильной структуры продумывается на этапе планирования и сбора семантического ядра.

Правильная перелинковка страниц сайта


Более углубленный материал о перелинковке я уже готовлю и в скором времени выложу. Перелинковка – простановка ссылок внутри сайта для удобной навигации пользователей и передачи веса страниц.
Чтобы увидеть пример перелинковки, откройте любую статью в Википедии. Каждая содержит много ссылок на другие статьи. Есть даже шутка, что с любой статьи в Википедии в пять кликов можно добраться до статьи о Гитлере. Конечно, на вашем сайте в статье не должно быть по 20 ссылок на другие материалы, но 2-4 ссылки нужны.

Важным свойством перелинковки является передача веса на другие страницы. Когда все страницы будут связаны друг с другом, то вес распределиться равномерно и общие позиции будут расти. А когда продвигается одна конкретная страница, то тогда передается вес с других материалов на нее. Чтобы было более понятно, предположим, что нужно продвинуть страницу медицинского сайта с услугой «Осмотр педиатра». Для этого мы в блоге напишем несколько статей о детских болезнях и везде, где будем упоминать о необходимости осмотра педиатром, поставим ссылки на нашу услугу.

Добавить хлебные крошки и улучшить юзабилити


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

Хлебные крошки – это навигационные элементы, которые показывают, где находится пользователь относительно всей структуры площадки. Эти элементы обычно размещаются перед заголовком статей и позволяют в один клик перейди на главную, в категорию размещения статьи или в ее подкатегорию.

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

Оптимизация кода сайта html, js, css, php


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

Оптимизация кода сайта

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

  • Сжать картинки на, уменьшив вес, что сделает загрузку быстрее. Нередко неопытные вебмастера загружают на сервер картинки большого разрешения. Которые потом посредством CSS сжимаются для отображения. Верно же загружать картинки в том разрешении, в котором они и будут показываться на странице. Можно вручную сжимать картинки, пересохраняя их в Фотошопе, или воспользоваться одним из множества сервисов, умеющих сжимать картинки.
  • Оптимизировать html, js и css. Нужно сделать код страниц максимально простым. Касательно html, то убрать все комментирование кода, сделать нормальный перенос по строкам. Для скриптов js размещать их после контента, чтобы значимая информация появлялась на экране раньше, чем загрузятся скрипты. Исключение – скрипт и нужен для отображения контента. Будет нелишним помесить все скрипты в один файл. CSS – использовать таблицы стилей для всего. Любой вывод информации должен в идеале происходить через CSS, а не загружаться каждый раз громоздким кодом.
  • Настроить правильные редиректы, чтобы все страницы отвечали 200. А там, где нужен редирект с переносом веса страницы, например, при смене ее адреса, отдавался код 301. Исключить ошибки 5хх, а если они повторяются, то найти причину в хостере, сторонних плагинах и тому подобном и решить ее.
  • Заключение

    Техническая оптимизация сайта – это процесс достаточно трудоёмкий и требующий специальных знаний. Но используя общепринятые рекомендации и инструкции, настроить сайт сможет даже тот, кто вчера впервые заливал движок на хостинг.

    • Читайте статьи по этой теме:

    Оптимизация HTML кода для поисковиков..
    Зачем это нужно и как это делать, я попытаюсь объяснить наиболее доступно. Если Вы чувствуете, что не понимаете хотя бы 20% этой статьи, то могу посоветовать скачать учебник по HTML. За последние 3-4 года поисковые системы очень сильно изменились. Причина этого - резкий рост количества web-сайтов. Прежние методы ранжирования результатов поиска не дают возможности расставить ресурсы в правильном порядке, необходим более точный инструмент для определения релевантности страницы. Что такое релевантность? Говоря простым языком - это соответствие найденной web-страницы введенному запросу. Каждая поисковая система имеет несколько роботов, которые постоянно ходят по Сети, переходя со страницы на страницу по ссылкам, за это их и называют пауками. По сути дела это просто программа, которая сохраняет в базы данных поисковой системы части HTML кода страниц.
    Далее полученная информация обрабатывается(индексируется), согласно алгоритмам расчета релевантности и становится доступной для поиска. Естественно у каждой системы свои уникальные алгоритмы, которые к сожалению держатся в секрете. Основываясь на личном опыте, я попытаюсь рассказать на что нужно обращать внимание при оптимизации HTML кода. Но сначала хочу заметить, что существует еще один критерий, влияющий на выдачу результатов поиска - индекс цитирования.
    Теперь к делу. Первое, что ищет робот, прейдя на сайт - это файл robots.txt, расположенный в корневом каталоге общедоступных документов. Если он его там не найдет - ничего страшного не случится.

    Содержание robots.txt:
    1. Строка "User-Agent:" после двоеточия перечисляется список роботов, к которым вы хотите обратиться.
    2. Строка "Disallow:" - собственно обращение, вернее запрет на индексацию указанных после двоеточия директорий или
    документов. Нужно указывать абсолютный путь, например: если надо запретить индексацию директории http://site.ru/secret/ ,
    то строка будет выглядеть так -
    Disallow: /secret/
    Пока сайт не оптимизирован или полностью не готов, следует запретить его индексацию всем роботам. Соответственно robots.txt будет выглядеть так -

    User-Agent: *
    Disallow: /

    Далее робот индексирует главную страницу и все остальные, на которые нашел ссылки (но не более 500 страниц за один раз).
    Теперь рассмотрим сам HTML код. Прежде всего - это заголовок (то что между тегами ). Ему надо уделить много внимания, так как поисковые системы придают заголовкам большое значение при подсчете релевантности (особенно Яndex). Не
    стоит здесь писать url вашего сайта - для этого есть адресная строка. Необходимо коротко и ясно отразить тему страницы, только не надо повторять одно и тоже много раз во всех падежах.
    Допустим вы продаёте холодильники. Во многих магазинах я видел следующий заголовок .::Super Shop::. Интернет магазин. Любые товары - на любой вкус.
    Неужели, люди ищущие это средство будут искать интернет магазин, а не само средство. Более разумным был бы такой заголовок: Холодильники. Большой выбор.







    Тег "description" - очень важный тег. Именно его увидят пользователи в результатах поиска и решат, посещать ли ваш сайт. В данном случае я бы написал: "Холодильники из европы по низким ценам. Бесплатная доставка."

    Тег "keywords" - сильно влияет на релевантность страницы. В него нужно включать 7 - 10 слов (не больше) по которым пользователи ищут в поисковых системах информацию, аналогичную вашей. Не надо повторять одни и те же слова по нескольку раз - это не повлияет на релевантность. Слова пишите без запятых - через пробел, чтобы поисковая система могла сама
    составить из них словосочетания. В тоже время старайтесь слова, составляющие наиболее популярные поисковые запросы, ставить рядом. И самое главное! в "keywords" не должно быть слов, которые не встречаются нигде на странице - это очень распространенная ошибка, которая приводит к снижению релевантности страницы.

    В теге "revisit-after" не указывайте меньше 9 дней, это может не понравиться роботу.

    Далее, сразу (или почти сразу) после тега должен располагаться логотип и/или заголовок. В поле "alt" логотипа укажите два-три слова, которые присутствуют и в заголовке и в "keywords" (по которым мы и оптимизируем страницу). В нашем примере это будет "средство от облысения". Заголовок должен быть аналогичный и обязательно между тегами . Если
    такой громоздкий заголовок не вписывается в концепцию дизайна, то его размер и цвет можно изменить в таблице стилей (CSS), главное чтобы заголовок оставался заголовком и выделялся на странице.

    Если CSS расположить в отдельном файле то h1 можно придать любой внешний вид, вплоть до невидимости на странице. Паук не заметит подмены свойств (по крайней мере пока он этого делать не научился), но ходят упорные слухи что Google скоро прикроет и эту халяву:)) В любом случае не стесняйтесь использовать CSS, если надо придать заголовку более компактный вид
    - это не будет считаться спамом. Но и не переборщите с количеством заголовков: 2-3 максимум, иначе вас исключат из базы данных поисковой системы. Если слово не из списка ключевых, не заключайте его в теги или , используйте их только при выделении ключевых слов. А как тогда выделять заголовки или пункты меню, не содержащие keywords ? Ответ простой
    - используйте CSS. Старайтесь придерживаться частоты ключевых слов в 2%-7% и располагайте их как можно выше. Большую страницу, разбивайте на более мелкие (поисковым системам это нравится). Хотя общее количество страниц сайта, соответствующих запросу не сильно влияет на его положение в результатах поиска, все же лучше много небольших страниц, чем мало больших:). Не используйте фреймы - роботы их не "видят". Если без фреймов не обойтись, то описание сайта поместите в тег хоть это сильно не поможет... Элементы ImageMaps тоже мешают индексации.
    Используйте стандартные HTML ссылки Site. И последнее - чужую рекламу, скрипты и коды
    счетчиков заключайте в теги , чтобы робот их не индексировал.

    При начальной разработке сайта их владельцы самое большое внимание уделяют его внешнему восприятию и быстрому запуску. Сразу или через несколько месяцев после запуска возникает вопрос о том, как привлечь больше клиентов. Еще через некоторое время к верстальщику и программисту в работу приходят тз по внутренней оптимизации сайта, где оказывается, что часть написанного кода нужно переписать. Поэтому в этом посте мы поговорим об оптимизации html, css и js кода сайта при его начальной разработке, что позволит клиенту сэкономить деньги, а разработчикам нервы.

    Оптимизация js и css

    Для начала разберемся из css и js. Для чего нужна оптимизация css и js?

    Около 50% пользователей уходят из сайта, если он грузится больше 3 секунд и при каждой дополнительной секунде конверсия сайта падает на 7%. Также скорость загрузки сайта является одним из факторов ранжирования.

    Первое из чего нужно начать, это послушаться рекомендаций Google. Css и js код не должен содержаться в html коде сайта, его нужно вынести в отдельные файлы. Исключением являются небольшие инлайновые стили с 1-2 значениями. Число подключаемых файлов нужно максимально уменьшить, в идеальном случае оставив по одному подключаемому css и js файле. Подключение файлов js следует перенести в конец страницы (перед отображением страницы, браузер должен выполнить ее синтаксический анализ и если при этом он обнаруживает внешний скрипт, он должен его загрузить, а это лишний цикл операций, который замедляет показ страницы.

    Также для ускорения загрузки js, css файлов и картинок желательно использовать кеширование и сжатие в формат GZIP.

    SEO-верстка сайта: оптимизация html кода или как сверстать так, чтоб потом не переделывать

    Для правильной будущей оптимизации html кода рассмотрим все теги и как они влияют на SEO.

    Блок :

    - указывает название страницы, которое размещается во вкладке браузера и в поисковых системах. Самый важный тег, в плане влияния на ранжирование сайта.

    - позволяет задать описание страницы, которое появляется в поисковой выдаче под названием. Имеет значительно меньшее влияние на ранжирование, но помогает повысить CTR (отношение числа кликов кчислу показов) страницы. Если мета-тег description заполнен, это не гарантирует, что в выдаче будет показано именното, что там написано, так как поисковые системы могут взять описание из контента. Но все же лучше настроить генерацию тега и не думать, какую часть текста ПС возьмут для описания.

    - указывает поисковым системам, по каким запросам релевантная страница. После появления этого тега, ему придали большое влияние на ранжирование страниц. Оптимизаторы могли спокойно продвигать страницу слюбым товаром интернет-магазина, например, по запросу «скачать реферат по истории» или по другим темам, которые давали сайту посетителей, но не клиентов. Сейчас влияние данного тега на продвижение точно не известно иочень многие его просто игнорируют, в том числе чтоб не навредить странице.

    (берется одно из значений, index или noindex, follow или nofollow) — запрет на индексацию страницы (noindex) и запрет на индексацию исходящих ссылок на странице (nofollow) поисковыми системами. Значение index и follow используются вместе со значениями запрета индексации, так как по умолчанию индексация страниц и ссылок разрешена. Использовать данный тег следует осторожно, чтоб не увидеть через некоторое время нулевой трафик из поисковых систем.

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

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

    Блок :

    - - заголовки на странице. Тег следует использовать 1 раз, как и он указывает основное содержание страницы, но имеет меньшее влияние на ранжирование в поисковой выдаче. Как правило, для интернет-магазинов в теге указывается на страницах категорий и товаров названия этих категорий итоваров, для информационных страниц — название, которое заинтересует читателя плюс, по возможности, ключевые слова.

    Теги - должны соблюдать логическую структуру. Заголовок содержать заголовки ,в которых заголовки и т.д. Использовать их желательно только в текстовом содержании страницы (например, для разбития основного контента на странице, но не для блоков, которые выводятся на всех страницах сайта). Если взять во внимание, что тег помогает повысить значение слов при ранжировании, заключить в него весь текстна сайте и поправить с помощью стилей, чтоб его можно было читать, то никакого преимущества это не даст, а только пойдет во вред такой странице.

    , , - предназначены для акцентирования внимания на некоторых фразах и словах в описании страницы, статьи, новости и т.д. (в том числе повышают значимость этих слов при ранжировании). Не следует использовать их для верстки тех элементов страницы, которые повторяются, например, на всех товарах. Для этого лучше применять css. Хотя и точно не известно, имеет ли влияние повторяющейся на всех страницах сайта слово или фраза, внутри, например, тега , но лучше использовать теги по их назначению. Думаю ПС это оценят.

    - также предназначен в первую очередь для размещения в текстовом контенте страницы. Позволяет сделать текст более интересным для прочтения, чем повышает доверие ко всей странице от поисковые систем (такое же действие оказывают списки, картинки, видео).

    .

    Боковой блок с дополнительной информацией. ...

    Что еще нужно учесть при SEO-верстке сайта
    • Плохое влияние на страницу может оказать большое количество ошибок валидации. Не желательно использовать пустых тегов и css, js файлов, которые не используются на странице. Чем легче будет код, тем легче поисковым системам его проанализировать.
    • Не стоит использовать флеш и фреймы, которые очень не дружелюбны с поисковыми системами. Также поисковые системы не распознают текст, который нарисован с помощью картинки.
    • Кроссбраузерность сайта влияет на поведение пользователей и заставляет их покидать сайт не получив нужную информацию или не сделав покупку. Как следствие ухудшаются поведенческие факторы, которые сказываются на оптимизации всего сайта.
    • Наличие мобильной версии сайта или его адаптивность стала фактором ранжирования и, как и кроссбраузерность, позволяет уменьшить показатель отказов и увеличить конверсию сайта на мобильных устройствах. Google начал учитывать наличие мобильной версии в 2015, году (mobile-friendly), а Яндекс в 2016, назвав алгоритм ранжирования «Владивосток».
    • Основной контент на странице должен быть размещен в html коде ближе к началу, так он будет более ревалентный с точки зрения поисковой системы.
    • Контент не должен быть спрятан с помощью display:none .
    • Если с помощью тегов можно повысить значимость ключевого слова, то также можно и получить отрицательный эффект, если некоторые теги будут пересекаться, например
      1. h1-h6 & strong, b, em
      2. h1-h6 & a href=…
      3. strong, b, em & a href=…
    Заключение

    Заглянув на страницы поисковых систем можно увидеть ряд ошибок, связанных с версткой сайта, в том числе ошибки валидации. Но здесь следует понимать, что они ставят перед собой совсем другие цели. SEO оптимизированная вёрстка требуется сайтам, одним из основных источников трафика которых — поисковые системы и какие бы крутые ссылки не ссылались на сайт, без хорошей оптимизации кода о первым позициях можно не мечтать.

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

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

    Даже самые минимальные работы по оптимизации html-кода предусматривает знания:

  • Язык программирования html
  • Систему управления сайтом CMS
  • Знание CSS
  • Поисковая машина, непрерывно анализирует сотни сайтов, и даже самые гибкие параметры, могут оказать колоссальное значение при ранжировании, что не допустимо, в условиях конкуренции. Для оптимизатора, является важным уметь предвидеть и сориентироваться: какие факторы окажут ключевое значение при ранжировании.

    Оптимизация, в свою очередь не одномоментный процесс, а требует терпения и грамотности, особенно при работе с html-кодом.

    Этапы оптимизации кода-html:
  • Формирование файла CSS
  • Удаление лишних тегов
  • Применение глобальных блоков
  • Работа с CSS:

    В этом этапе, стоит перенести все стили таблиц, изображений, тела страницы, ссылок, меню и прочего, в стилевые таблицы. Это делается с той целью, чтоб код страницы стал чище, имел меньший вес.

    1. Имеем следующий код:

    2. Для создания класса, в таблице css прописываем: .newstyle {background: url(/style/backs.jpg); border: black 1px double.}

    3. Теперь, в таблицу можно вписать новый класс:

    Очевидно, что код стал значительно меньше и теперь загрузку этого стиля можно применить на всех страницах. Этот метод подойдет для всех тегов, где прописаны стили.

    Удаление лишних тегов:

    Часто на странице можно встретить посторонние коды, ссылки на другие сайты, фреймы и прочее. Не стоит игнорировать этого.

    1. В первую очередь, стоит удалять посторонние ссылки, а если это ссылки на источник, то желательно помещать их в тег , а также, прописывать параметр . Это делается для того, чтоб поисковые системы не считывали код из данного участка страницы.

    2. Не игнорируйте различные теги типа , если Вы их не устанавливали.

    3. Также, существенное значения имеют ошибки в коде. Среди наиболее распространенных: незакрытые теги, открытые стили. Пример: