В статье будет пошаговое руководство по выполнению первичной оптимизации сайта. Нижеперечисленные пункты применимы к любым типам сайтов, выполнение рекомендаций закроет дубли и остальные ошибки на вашем сайте, что положительно скажется на ранжировании сайта в поисковых системах. Информации очень много, поэтому кратко о важном, очень большие пункты будут вынесены в отдельные статьи. В примерах наш сайт, вы меняете lockki.ru на свой сайт.
1. Проверка robots.txt
В первую очередь проверяете файл robots.txt. Файл должен находиться в корне сайта (то есть иметь путь относительно имени сайта /robots.txt). При наличии нескольких поддоменов файл должен располагаться в корневом каталоге каждого из них. С помощью файла robots.txt можно закрыть от индексации дубли, пустые разделы, страницы с неуникальным контентом, нежелательные для индексации страницы, технические разделы сайта. А также указать поисковым системам главное зеркало сайта и адрес .xml карты.
Если, вдруг, у вас нет данного файла, то вы можете скачать его из раздела Robots.txt для популярных CMS и после изменяете под свой сайт. Про правила в robots.txt и настройку можно прочитать на сайте Яндекс и Google либо очень подробно на сайте F1 Studio.
Смотрите какие страницы вашего сайта находятся в индексе с помощью оператора:
url:www.lockki.ru/* | url:lockki.ru/* | url:lockki.ru | url:www.lockki.ru
Добавляете весь найденный мусор с помощью Disallow в ваш robots.txt.
Обычно это: страницы с поиском, архивные страницы, корзина, страницы со сравнениями, страницы для печати, страницы на которых невозможно сделать каноникал, различные доп.страницы по товарам и т.п.
Также смотрим, каких страниц вашего сайта больше находится в индексе поисковых систем. Если у вас больше страниц с www, значит ваше основное зеркало будет с www, если больше без www значит без www. Еще можно посмотреть на какую версию сайта стоит больше ссылок. Определились, вписываем в robots.txt в Host нужный вариант (без http//: и только для Яндекса).
Host: lockki.ru
Обязательно на сайте должна быть карта сайта sitemap.xml доступная по адресу http://lockki.ru/sitemap.xml, в которой перечислены все URL сайта и которая автоматически обновляется по мере добавления новых страниц.
Прописывается в robots.txt следующим образом:
Sitemap: http://lockki.ru/sitemap.xml
Проверка ответов сервера:
2. Редиректы WWW
Мы определились с главным зеркалом сайта. Проверяем редиректы через сервис проверки ответов сервера. Допустим, у вас основной сайт без www. Т.е. http://lockki.ru/, а не http://www.lockki.ru/
Проверяем www редиректы.
Вводим в форму в сервисе вариант с www, т.е. http://www.lockki.ru/, если происходит 301 редирект на версию без www, т.е. на http://lockki.ru/, то все отлично. Если отдается 200 или 302, 404 ответы, то – это ненормально.
Вписываем в .htaccess 301 редирект с www на без www версию. Или наоборот, см какое основное зеркало.
Будьте внимательны и не забудьте заменить lockki.ru на адрес своего сайта
RewriteCond %{HTTP_HOST} ^www.lockki.ru$ [NC] RewriteRule ^(.*)$ http://lockki.ru/$1 [R=301,L]
И наоборот, кому нужен редирект с домена без WWW на домен с WWW:
RewriteCond %{HTTP_HOST} ^lockki.ru RewriteRule (.*) http://www.lockki.ru/$1 [R=301,L]
3. Редиректы /
Смотрите какие у вас страницы в выдаче и по структуре сайта, есть у них на конце / или нет. Допустим, у нас все страницы оканчиваются на /. Вводим в сервисе, из предыдущего пункта, страницу, какого-нибудь подраздела с вашего сайта, например:
http://lockki.ru/seo/, но без / на конце, т.е. http://lockki.ru/seo
Если происходит 301 на аналогичную, но со / на конце, то дублей нет. Если у вас 200, 302, 404 или любой другой отличный от 301, то это ненормально и необходимо исправлять.
Делаем аналогично вышеописанному с www, прописываем в .htaccess необходимые правила, чтобы происходил 301 редирект с URL без / на аналогичный URL, но со / на конце либо наоборот.
убираем / в конце, т.е. 301 со страниц со / на конце на аналогичные страницы без /.
RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} ^(.+)/$ RewriteRule ^(.+)/$ /$1 [R=301,L]
добавляем / в конце, как выше, только наоборот.
RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*[^/])$ $1/ [L,R=301]
Также проверяете конечные страницы и особенно на карточках товаров, если убогая CMS, например, Bitrix, то где-то могут работать /, где-то не работать. Т.е. с разных страниц смотрите.
4. Ответ сервера 404
Если мы вводим левую страницу на сайте, то должна показываться 404 страница и сервер должен отдавать 404 ответ, никаких редиректов на главную сайта, никаких 301 на какую-то другую страницу и с нее уже 404. 404 ответ должен быть сразу.
Т.е. ввели, например: http://lockki.ru/8888/ и получили сразу 404 ответ и 404 страницу.
Если же у вас специфическая CMS, которая почему-то не обрабатывает 404 ошибки. То можете создать страницу с 404, добавить ее в корень сайта. И вписать в .htaccess (где 404.php — это ваша оформленная 404 страница):
ErrorDocument 404 /404.php
Возвращаясь к битриксу, иногда у них 404 работает криво, если мы введем любые знаки в URL у товара, то нам будет отображаться тот же товар, но с другим URL. Такого быть не должно. Ввод любой левой страницы – это сразу 404.
Также в битриксе есть ошибки, когда меняешь расширение у ссылки и все равно 200, т.е. не http://lockki.ru/seo.html, а http://lockki.ru/seo.hthertutml. Это тоже ошибка и необходимо исправлять.
5. Редиректы с index.php/index.html/index.htm
Вводим в форму по порядку все 3 варианта и см какие ответы, должен быть 301 с этих страниц дублей на основу. Т.е. с http://lockki.ru/index.php на http://lockki.ru/ и т.д. Если этого не происходит, то правим .htaccess и вписываем 301 редиректы.
301 для index.php
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://lockki.ru/ [R=301,L]
301 для index.html
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/ RewriteRule ^index\.html$ http://lockki.ru/ [R=301,L]
6. Скорость загрузки страниц сайта
Вводите свой сайт в сервисе Pingdom Website Speed Test и смотрите время загрузки, что долго грузится, оптимизируете это. Например, сжимая изображения, убирая лишние скрипты и т.п.
Вводите свой сайт в сервис PageSpeed Insights, смотрите какие рекомендации дает Google и также делаете правки.
7. Проверка верстки
Если вам не хочется вручную искать косяки в верстке в виде не закрытых тегов, закомментированных или нет дублей текстов, всякого рода скрытые ссылки и тексты, иерархию по метатегам, либо наличие метатегов или их повторы, то вводите свой сайт в сервис Markup Validation Service и он вам показывает банальные ошибки. Этот пункт надо расписывать подробно.
8. Проверка на аффилиаты
Самое элементарное, вводите телефон своего сайта в поиске Яндекса или Google и смотрите сайты, если нашли аналогичный вашему, где такой же номер телефона, каталог и т.п. и оказалось, что это ваш сайт, который вам делал раньше школьник фрилансер, то закрываете данный сайт от индексации, т.к. это потенциальный аффилиат. Аналогично проверяете по адресу на сайте.
Если у вас есть сайт с аналогичным контентом, но с другим доменом и они не переклеены, то тоже закрываете.
9. Проверка на фильтры и вирусы
Тема большая, можете для почти проверки ввести свой сайт в сервис ‘Безопасный просмотр‘ от Google и посмотреть, что вам будет написано. Также можно посмотреть нарушения в новом вебмастере Яндекс.
Но это не решает проблему, если напишут, что ничего нет. Желательно посмотреть и проверить возможные варианты описанные в хелпе Яндекса по некачественным сайтам.
Смотрите на ссылочное, трафик, позиции, когда, где и были ли падения, какие в это время были апдейты и т.д.
Апдейты Яндекса: http://tools.promosite.ru/updates/
Апдейты Google: https://algoroo.com/
Проверяете, какие с вами сайты на одной IP расположены, для этого вводите в поисковике bing.com оператор ip:1.1.1.1, где цифры это IP вашего сайта. Если 99.9% это порносайты и таких сайтов большое кол-во, то это плохо.
10. Поиск битых ссылок
Загружаете XENU или ScreamingFrog (лучший вариант), проверяете сайт и см, где у вас есть удаленные страницы, на каких страницах они расположены. Меняете битые URL на нормальные, и делаете 301 редирект либо на аналогичные по смыслу страницы, либо на каталог. Также смотрите в структуре ссылки с 301 редиректами и меняете их сразу на нормальные ссылки.
11. ЧПУ и Хлебные крошки
На сайте должны быть хлебные крошки имеющую следующую структуру:
Главная страница > Раздел > Подраздел > Текущая страница
Использовать нормальные ЧПУ на сайте, несколько достоинств использования:
- улучшают ранжирование документов (страниц сайта);
- подобные адреса очень легко запомнить;
- можно продиктовать URL по телефону;
- подобные URL, как правило, позволяют пользователю даже не глядя на страницу, сразу понять, где он сейчас находится, и как следствие, помогают лучше разобраться в структуре сайта;
- чтобы перейти вверх по иерархии, достаточно стереть ненужную часть пути;
- если человек уже был на вашем сайте и набирает адрес вручную, то он сразу может обратиться к нужному ему документу, глядя на URL’ы предыдущих запросов.
12. last-modified
Проверяем через сервис: http://last-modified.com/ru/
Отсутствие настройки сервера сайта на выдачу даты последней модификации документа означает, что:
- в результатах поиска не будет показываться дата рядом со страницами сайта;
- при сортировке по дате сайт не будет виден большинству пользователей;
- роботы поисковых систем не смогут получать информацию о том, обновилась ли страница сайта с момента последнего индексирования. Так как число страниц, получаемых роботом с сайта за один заход, ограничено, изменившиеся страницы будут переиндексироваться реже.
Необходимо настроить сервер на выдачу даты последней модификации документа в формате:
<?php $LastModified_unix = 1294844676; // время последнего изменения страницы $LastModified = gmdate("D, d M Y H:i:s \G\M\T", $LastModified_unix); $IfModifiedSince = false; if (isset($_ENV['HTTP_IF_MODIFIED_SINCE'])) $IfModifiedSince = strtotime(substr($_ENV['HTTP_IF_MODIFIED_SINCE'], 5)); if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])) $IfModifiedSince = strtotime(substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 5)); if ($IfModifiedSince && $IfModifiedSince >= $LastModified_unix) { header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified'); exit; } header('Last-Modified: '. $LastModified); ?>
Итого:
Выполнение данных пунктов положительно скажется на ранжировании вашего сайта. Мы не смотрели структуру, контент, метатеги, общую индексацию сайта, юзабилити по сайту, коммерческую составляющую по сайту, ссылочное и еще много чего. Но выполнение первичной оптимизации сайта даст вам тоже хороший результат.
Про 12 пункт не знал. Спасибо!
Спасибо за статью! С удовольствием прочитал! Залип на первом пункте статьи (сам оптимизатор), знаю много операторов, но этот понравился. Повтыкал над своими сайтами ))