SEO для вменяемых
Почти все рекомендации по поисковой оптимизации, которые вы можете найти в интернете — шаманизм похлеще гомеопатии.
Но если от гомеопатии просто нет пользы, то от сеошников есть вред. Из-за них мы вынуждены разгребать кучу поноса в поисковой выдаче.
Сейчас в это уже никто не поверит, но изначально Search Engine Optimization — это полезная работа над тем, чтобы робот лучше понимал информацию. И если в сети нет вменяемых рекомендий на эту тему, то что ж — придется мне их написать.
Общие концепции
Самое главное, что вы должны знать о SEO — это то, что вы должны как можно меньше думать о SEO. Выигрывают не хорошо оптимизированные, а просто хорошие сайты. SEO ничего вам не расскажет о том, как сделать хороший сайт. Оно лишь может подсказать, как сделать сайт более понятным для поисковой машины.
Где брать информацию
Я знаю два авторитетных источника:
Это все. Там просто и доходчиво объясняются почти все вещи, которые вам нужно знать.
Чего делать не надо
Все сеошники совершают одну и ту же ошибку — они пытаются обмануть поисковую машину вместо того, чтобы с ней дружить.
Это просто нереально. Поисковые машины умные, а сеошники тупые.
Когда-то поисковые машины были совсем простыми. Тогда можно было применять разные простые фокусы: заваливать их ключевыми словами, ссылками. С тех пор все изменилось, а легенды остались те же.
Включите здравый смысл и подумайте, чего хочет поисковик от вашего сайта.
- «Юзер экспиренса». Он хочет, чтобы пользователю сайт понравился. Если поисковик будет выдавать пользователям ерунду — они уйдут к другому поисковику, который ерунду не выдает.
- Доступности. Он хочет, чтобы пользователь не увидел на вашем сайте сообщение об ошибке вместо нужной страницы.
- Предсказуемости. Он хочет, чтобы ваша страница не была «анекдотом дня». Чтобы после того, как он пошлет пользователя на ваш сайт — пользователь увидел то, что видел поисковой робот, когда в последний раз посещал сайт.
- Производительности. Он хочет, чтобы ваш сайт легко индексировался. У него еще много дел кроме того, чтобы ждать, пока старницы на вашем сайте загрузятся.
Не делайте ничего, что ухудшит качество страниц
Во-первых, хорошие сайты раскручивются естественным образом. Посетителям все нравится, они кидают ссылки друг другу. Иногда вас может заметить топ-блоггер и за день привести на сайт годовую норму посетителей. Бесплатно. Поверьте, это того стоит.
Во-вторых, существует т.н. «поведенческий фактор». Поисковику всегда интересно, нравится ли посетителю то, что он дает ему по запросу. Если из 1000 посетителей 900 посмотрели сайт и сразу же его закрыли — значит, в следующий раз поисковик уберет этот сайт в самую жопу.
Всем плевать на ключевые слова
О, это любимое сеошное занятие — добавлять ключевые слова в текст. Про то, что нельзя писать «металлопластиковые окна купить» в каждом предложении — догадываются многие. Однако это не мешает им заниматься той же ерундой в меньших масштабах. Например, перерабатывать текст на сайте так, чтобы в него влезла еще парочка ненавязчивых «вхождений» «ключевиков».
Не надо заниматься ерундой. Поисковикам вообще плевать на ключевые слова. Вот вам пара знаменитых примеров. Ни одного «вхождения» фразы на всем сайте:
Мой опыт показывает то же самое. Если страница информативна, и посетители любят ее читать, то не важно, сколько раз повторяются на странице ключевые слова, по которомым пользователь пришел с поисковика. Например, на этом сайте есть страница, которая висит на первом месте по одному запросу, и слова из этого запроса повторяются на странице всего два раза. Два раза на огромную статью в 25,000 знаков, или 1,700 слов.
Заголовки
Заголовок — это содержимое тега <title>
.
Заголовок должен быть таким, чтобы посетитель, глядя на него, сразу понял, о чем страница. Желательно чтобы он был уникальным для каждой страницы на сайте. Он нужен гуглу для того, чтобы отображать его в поисковой выдаче:
Гугол придумал бы заголовок за вас, но он пока еще слишком тупой для этого. Поэтому обязательно укажите заголовок для каждый страницы. Это важно.
Не надо запихивать в заголовок «ключевые слова» — я уже писал выше, что всем на них плевать.
Сниппеты
То же самое относится к сниппетам. Это то, что поисковая машина выдает в результатах сразу после заголовка. Обычно она кладет туда кусок страницы с найденными ключевыми словами, но этот кусок всегда вырван из контекста, и по нему не понятно, про что страница. Поэтому поисковая машина была бы рада, если бы этот сниппет составили вы.
Делается это с помощью метатега <meta name="description" content="текст сниппета" />
Рекомендации те же: не пишите туда херни. Иначе поисковик его проигнорирует.
Редиректы
Редиректы позволяют гладко и незаметно перенаправлять с одного URL’а на другой как пользователя, как и поскового робота. Поисковая машина при этом сохранит весь «авторитет» страницы.
Да, я употребляю слово «авторитет», так как всеми любимые PageRank и ТИЦ на практике не говорят ни о чем.
Вот статистика посещений двух самых популярных страниц на этом сайте после того, как я перенес их на новое место. Почти все посетители — из гугла и яндекса. Как видите — ничего страшного с ними не произошло:
Есть только один хороший способ сделать редирект — это отправить HTTP-заголовок 301 Moved Permanently
Все остальные способы —
- добавить
<meta http-equiv="refresh" ... />
, - написать ерунду на JavaScrpt,
- указать ссылку на новую страницу,
- вежливо попросить на русском языке прейти на другую страницу
— не работают. Они не понятны роботу.
HTTP-заголовок нельзя отправить из HTML’а! Если вы полезли смотреть, какой для этого надо прописать тег — значит, вы плохо понимаете, что такое HTTP-заголовки. Они никаким образом не относятся к HTML’у, они уровнем ниже.
HTTP-заголовок отправляется при помощи веб-фреймворка или конфигурационного файла веб-сервера. Если вы не знаете, как это сделать — спросите у своего программиста, системного администратора или у технической поддержки своего хостинг-провайдера.
Важное замечание: вся простота и прозрачность улетучиваются в случае, если вы переносите страницы с одного домена на другой. Перенос доменов сделан во всех поисковых машинах через жопу, так что вы можете выпасть из поисковой выдачи на пару месяцев.
Клиентский кеш
Ну а теперь к сложной вещи.
Многие знают о серверном кеше — когда веб-сервер хранит копию сгенерированной страницы для того, чтобы снизить нагрузку на сервер. Однако в мире веб-два-ноль все забыли про такую приятную вещь, как клиентский кеш. Клиентский кеш может помочь, если на вашем сайте очень много страниц, которые поисковой робот не успевает индексировать.
Клиентский кеш предназначен для того, чтобы браузер не закачивал по несколько раз одну и ту же страницу, если она не изменялась со времени последнего посещения.
Работает это так. В первый раз вместе с документом браузер получает HTTP-заголовок Last-Modified
, в котором указано время последнего изменения страницы. Когда через некоторое время пользовать снова запрашивает эту страницу, его браузер отправляет вместе с запросом заголовок If-Modified-Since
с этим самым временем. Если сервер обнаруживает, что страница не изменялась с тех пор — он не высылает документ, а только отправляет ответ 304 Not Modified
.
Несложно догадаться, как клиентский кеш упрощает работу поисковой машины. Работа у нее — все равно, что пустыню пылесосить: веб бесконечный, всего проиндексировать не успеешь — только часть. А тут у нее отпадает необходимость каждый раз проверять, изменилась ли страница со времени последнего индексирования. Поисковой робот может просто отправить заголовок If-Modified-Since
и, быстренько получив отлуп в виде 304 Not Modified
, приступить к остальным страницам.
В компьютерной науке есть только две трудные вещи: инвалидация кеша, именование и ошибка на единицу.
Несмотря на всю простоту, я не знаю ни одного веб-фреймворка, в котором была бы качественная поддержка клиентского кеша. Обычно он используется только для отдачи статических файлов. Веб-фреймворки же наоборот — всеми силами пытаются выключить клиентский кеш, отправляя такие заголовки:
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Это довольно печальное явление для всего веба в целом. Так, Google Chrome получил свою популярность за скорость работы. А достигалась она не совсем честным методом — путем кеширования того, что веб-сервером помечено как непригодное для кеширования. Другого пути у него не было: сейчас ни один веб-сайт, кроме статических. не поддерживает клиентское кеширование должным образом. Из-за такого повального кеширования хромом всего и всея динамические веб-приложения стали работать в нем некорректно, заставляя веб-мастеров принимать дополнительные меры для того, чтобы обмануть кеширование хрома. Например, добавляя к .css-файлам параметр со случайной строкой.
А вот сайт, на котором вы сейчас находитесь, является редким примером хорошей поддержки клиентского кеша. Если вы нажмете F5 — ваш браузер не будет загружать страницу заново.
Я добавил поддержку клиентского кеша на сайт 8 декабря — и результат не заставил себя ждать:
О статике
Статические страницы индексируются поисковыми роботами влет.
У меня есть хобби — я зеркалирую сайты. Просто беру и копирую все страницы, а затем выкладываю на static.bitcheese.net. На этот сайт никто не ссылается, он никогда не обновляется. Но несмотря на это происходят интересные вещи:
- почти все старинцы оказываются проиндексированы гуглом, в то время как аналогичные страницы на оригинальном сайте — нет;
- иногда гугол при ранжировании ставит мои копии страниц выше оригиналов.
Почему гугол любит статику?
- Она быстро отдается. Можно спокойно «выжать» десятки тысяч запросов в секунду на статических страницах.
- Она предсказуема. Страница номер 5 вашего блога «съедет» через неделю, а статика как лежала, так и лежит.
- Ее легко индексировать заново. На ней всегда прекрасно работает клиентский кеш, о котором я писал выше.
Уберите весь мусор с сайта
Вы никогда не обращали внимание на то, что гугол очень часто выдает версии страниц для печати вместо обычных?
Почему? Да потому что там нет мусора
Там нет рекламы, нет уродливых шапок, нет кнопок «насрать в карму».
Уберите всю херню с сайта. Вам не только роботы, но и посетители скажут спасибо. Они тоже не в восторге от ваших плюшек.