Вроде уже давно поставил точку на изысканиях правильного Robots.txt для WordPress. Лишний контент убран, сайт хорошо индексируется, но вот недавно заметил одну неприятную вещь – Яндекс не загружает картинки из папки /wp-content/uploads/. С Гуглом все в порядке, он периодически добавляет новые изображения, а Яндекс, даже при ручном добавлении не хочет включать их в индекс. Для многих это возможно и не имеет значения, но на моем блоге много фотографий и отказыватся от дополнительного трафика с Яндекс.Картинок не хочется. Что ж, попробуем решить эту проблему и получить правильный файл Robots.txt для блогов на WordPress.
Приведу пример файла Robots.txt, который до недавнего времени стоял на моих сайтах:
User-agent: *
Disallow: /xmlrpc.php
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/
Disallow: /tag/
Disallow: /?s=
Disallow: /trackback/
Disallow: /feed/
Disallow: /comments/
Disallow: */trackback/
Disallow: */feed/
Disallow: */comments/
Allow: /wp-content/uploads/Sitemap: http://xela.ru/sitemap.xml
На первый взгляд все грамотно, но обратите внимание на выделенные красным строки. Самое обидное, что когда разбирался в синтаксисе Robots.txt вообще, сам же и написал, что Яндекс выполняет ту директиву, которая выше. Иными словами последнюю строку робот поисковика проигнорирует и картинки будут закрыты от индексации.
Есть три пути, как решить эту проблему. Можно перенести разрешающую строку выше запрещающей. При этом мы нарушаем правила написания файла, впрочем они не являются строгими и скорее всего такой вариант пройдет. Второй вариант – сделать дополнительную секцию для Яндекса. Мне он не понравился из-за громоздкости. Вполне понятно, что чем больше файл, тем вероятнее в нем ошибка. Да и хочется универсального решения.
После некоторого раздумия я просто решил удалить строку Disallow: /wp-content/. Собственно в это папке не находится какой-то тайной информации, так пусть она будет открыта вся. Если в поисковиках вдруг всплывут ненужные файлы, то всегда можно спрятать их прописав запрещение, скажем, на папку плагинов или темы.
Мой итоговый вариант получился следующим:
User-agent: *
Disallow: /xmlrpc.php
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /tag/
Disallow: /?s=
Disallow: /trackback/
Disallow: /feed/
Disallow: /comments/
Disallow: */trackback/
Disallow: */feed/
Disallow: */comments/
Disallow: */?
Allow: /wp-content/uploads/Sitemap: http://xela.ru/sitemap.xml
Внимательные увидят еще одну добавленную строку. Одно время в Яндексе вылезли странные ссылки на мой сайт следующего вида:
http://www.xela.ru/2009/12/nastrojka-servera-apache-na-vps/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+xelaru+(Xela.ru+Блог+о+фотографии,+программировании+и+seo)
Я так и не смог разобраться откуда они попадают в индекс. Судя по вот этой части “utm_source=feedburner”, они появляются после перехода с RSS-подписки. При этом страница ничем не отличается от обычной со ссылкой до знака вопроса. Поэтому, чтобы в Яндексе не было ненужных дублей, я просто закрыл подобные страницы дополнительной директивой.
Файл вверху действующий, так что можете смело использовать его у себя, нужно только заменить путь к сайту в sitemap.
Поделиться в соц.сетях
Похожие записи
Мне нравится! | ||
| Нравится | ||










13 comments
Andrey says:
Фев 5, 2010
Спасибо за подробные разъяснения!
А для Google никаких тонкостей в написании файла robots нет&
xela says:
Фев 5, 2010
Гугл вообще странно к Robots.txt относится, такое впечатление, что просто его игнорирует. Под него стоит скорее sitemap затачивать.
Andrey says:
Фев 6, 2010
А у Вас смотрю между командой Allow и Sitemap пустая строка.
где то попадалась информация что между командами нельзя строки пропускать – типа робот доходит до пустой строки и прекращает дальнейшее выполнение команд. Или меня там ввели в заблуждение?
adw0rd says:
Фев 6, 2010
Спасибо, у себя поправлю
xela says:
Фев 7, 2010
2adw0rd, у тебя сколько я помню вообще была конструкция wp-. Она намертво все закрывает
.
2Andrey, в директивах не рекомендуется разрывы ставить, а сайтмап можно отделить.
Goodwin says:
Март 21, 2010
здравствуйте, случайно нашел Ваш блог, когда искал информацию в яшке, вижу – шаблон, который я переводил )))) спасибо, что сохранили авторскую ссылку (и мою тоже).
искал решение проблемы, связанной с feedburner&utm_medium=feed&utm_campaign=Feed
ваш вариант хорош, но мне, увы, не подойдет – структура урлов не позволяет.
xela says:
Март 21, 2010
Спасибо за перевод, Goodwin. Нынешний шаблон уже раз 100 перелопачен. Куча ошибок исправлена, куча новых добавлена
fid says:
Янв 22, 2011
Disallow: */? – а что означает этот параметр?
xela says:
Янв 22, 2011
fid, там же написано подробно.
Viktor says:
Март 22, 2011
Привет народ!
Подскажите кто в теме, на сайте(движок WordPr 3.1) , при вставке картинок на в текст, картинка меньшего размера, все равно занимает всю ширину ячейки 555пик, занимая остаток ширины пробелом, что бы я не делал.
В редакторе, в консоли админа, при изменении все как надо, обновляешь, смотришь на главной все по старому, картинка слева(даже если в настройках меняешь ее местоположение) и остаток ширины – пробел, текст не встает с боку картинки, чтоб не делал.
Да, еще фишка, в редакторе картинка из записи не удаляется до тех пор пока я ей по ширине пробел не расчищу.
Че движок капризит или плагин какой то ставить надо, мелочь а блин …
xela says:
Март 22, 2011
Как раз скорее всего плагин какой-то левый стоит или стили надо посмотреть, может там глючить.
Viktor says:
Март 23, 2011
Ок!
Как в кино говорили “Будем искать”.
Елена says:
Март 29, 2011
спасибо! очень помогла Ваша информация