Robots.txt и Sitemap: некоторые проблемы с картой сайта

И так, мой дорогой читатель, сегодня речь пойдет о пользе карты сайта (sitemap) и правильности настройки robots.txt. История простая — сайт существовал несколько месяцев, а в индексе Яндекса была всего лишь одна главная страница (морда сайта). На различных форумах подобных историй множество. Выяснение причин методом проб и ошибок позволило докопаться до истины (применительно к моему случаю), чем я и хочу поделиться с Вами. Начнем с небольшого кусочка теории.

Robots.txt — простой файл, созданный в блокноте, в котором указано какие части сайта, файлы, страницы, разделы сайта поисковым системам просматривать и индексировать можно, а какие нельзя.

Карта сайта (sitemap) — это дополнительная подсказка поисковой системе о созданных на сайте страницах. Реализована карта сайта через файл sitemap.xml или sitemap.txt (Яндекс утверждает, что понимает sitemap.txt). Вещь очень полезная, особенно когда сайт очень большой, а сделать перелинковку с главной страницы на недавно созданные нереально. А с помощью специальным образом созданного файла, робот получает всю картину о Вашем сайте. Сам файл карты сайта лежит в корне Вашего сайта и содержит ссылки на все страницы сайта с уточнением, как часто эти страницы индексировать и переиндексировать. Поисковый робот заглядывает на сайт, находит robots.txt, смотрит какие страницы индексировать можно, а какие нельзя. Затем он находит карту сайта и индексирует новые страницы. Все просто, но на первый взгляд.

А теперь будем кидать камень в огород разработчиков, а также в свой огород за доверчивость. Вы создали свой сайт, например блог на WordPress, и решили, что создавать и редактировать sitemap и robots.txt руками — совсем уж прошлый век. Сейчас же все автоматизировано, пара кликов мыши и Вы установили какой-либо SEO-плагин. Еще щелчок и все нужные файлы созданы. Можно расслабиться, наслаждаться жизнью и ждать индексации сайта поисковыми системами. А ждать придется долго.

Конечно, поисковая система поисковой системе рознь, тот же Google найдет все сам без всяких sitemap, mail.ru тоже (так как использует поисковую базу Google), а вот Яндекс торопиться не будет. Можно облазить все настройки, пересмотреть код, переписываться с Платонами, а воз и ныне там.

 А секрет прост — внимательно просмотрите результаты работы SEO-плагина. Подобные плагины создают динамический файл robots.txt и sitenap, которые формируются в момент обращения к ним (то есть физически на сервере таких файлов нет). Поисковый робот запросил карту сайта или robots.txt — пожалуйста, они моментально сформировались.

Подвох может быть самый неожиданный. Например, robots.txt может содержать путь к карте сайта:

Allow: /
Sitemap: http://work-seo.ru/sitemap.xml

Но если Вы вручную этот адрес в robots.txt внесли, то обезопасили себя от множества проблем. Если же в фале robots.txt и в настройках SEO-плагина Вы подобное не вводили (например, плагин не позволяет ввести адрес карты сайта самостоятельно), то адрес карты сайта может быть совершенно другим. У меня он оказался вот таким:

http://work-seo.ru/sitemap.xml.gz

Понятно, что файла с именем sitemap.xml.gz SEO-плагин не создавал. А вот Яндекс, получив адрес этого файла и не найдя его, перестает индексировать сайт. В итоге индексируется только первая страница и больше ничего.

Решение проблемы — отключение функции SEO-плагина, отвечающей за создание robots.txt, создание этого файла вручную и размещение его в корне сайта. При этом sitemap как формировался автоматически, так и продолжает формироваться все тем же SEO-плагином.

Кстати, сам Яндекс говорит, что их поисковые роботы находят все страницы сайта и без sitemap, используя ссылки. На практике это не всегда так. Даже если на конкретную страницу имеется множество внешних ссылок, то, в силу бракованного файла sitemap, Яндекс может не индексировать ни сайт, ни конкретно взятую страницу. В общем, прав был Дмитрий Шахов, вспомнив старую байку: «Яндекс» уже сам не знает, как работает «Яндекс».