Правильный robots.txt для WordPress и применение мета-тега robots
0

Правильный robots.txt для WordPress и применение мета-тега robots

Доброго времени суток дорогие друзья, в данной статье хотелось бы рассказать вам про правильный файл robots.txt для движка WordPress, а также про применение мета тега robots для закрытия страниц определенных от поисковиков. В этой статье мы сделаем правильный robots.txt без лишнего кода, а страницы которые неугодные нам в поиске скроем через наш любимый и действенный метатег  robots (noindex, nofollow).  За функцию и пример robots.txt спасибо Алаеву. Начнем по порядку.

Идеальный robots.txt для WordPress будет примерно такой:

User-Agent: *
Allow: /wp-content/uploads
Disallow: /wp-
Host: site.ru
Sitemap: http://site.ru/sitemap.xml

Вот и всё с этим файлом. Достаточно будет этих 5 строк, если конечно вы не используете дополнительный функционал в виде плагинов, которые создают вам какие-то невозможны системы...

 

Теперь мы будем закрывать страницы от поисковиков при помощи правки в файле вашего шаблона - functinons.php. Применять мы будем с вами вот этот мета тега: <meta name="robots" content="noindex">. Почему именно он и в чем разница я рассказывать в этой статье не буду, кому интересно пишите в комментарии, я сделаю отдельную статью и распишу отличия их.

Добавляем в файл functinons.php:

/*** ДОБАВЛЯЕМ meta robots noindex,nofollow ДЛЯ СТРАНИЦ ***/
	function my_meta_noindex () {
		if (
			//is_archive() OR // Просмотр любых страниц архива - за месяц, за год, по категориям, по авторам, и т.д.
			//is_category() OR // Просмотр архива статей по категориям
			is_author() OR // Просмотр архива статей по авторам
			is_date() OR // Просмотр архива статей по любым датам
			//is_day() OR // Просмотр архива статей по дням
			//is_month() OR // Просмотр архива статей по месяцам
			//is_year() OR // Просмотр архива статей по годам
			is_tag() OR // Просмотр архива статей по тегам
			is_tax() OR // Просмотр архива статей по таксономии. Что это?
			//is_front_page() OR // Просмотр главной страницы сайта. То, что отображается на главной странице сайта http://site.ru/ См. в админке "Настройки" - "Чтение". Т.е. если в качестве главной выбрана статическая страница, то при просмотре главной страницы сайта и этой статической страницы, будет возвращено значение функции true.
			//is_home() OR // Главная страница блога. Та страница, на котороый выводятся последние записи блога. У меня, например это http://alaev.info/blog. См. в админке "Настройки" - "Чтение". Т.е. если в качестве страницы для вывода записей блога выбрана статическая страница, то при просмотре этой страницы, будет возвращено значение функции true.
			//is_singular() OR // Просмотр любых типов записей, включая одиночные посты, одиночные страницы, страницы прикрепленных файлов и т.д.
			//is_single() OR // Просмотр любого одиночного поста. Работает для любого типа постов, кроме страниц просмотра прикрепленных файлов и отдельных одиночных страниц
			//is_page() OR // Просмотр отдельной одиночной страницы (это то, что в разделе "Страницы" в админке)
			is_attachment() OR // Страницы просмотра прикрепленных файлов
			//is_paged() OR // Все и любые страницы пагинации
			is_search() // Страницы результатов поиска по сайту
		) {echo "".''."\n";}
	}
	add_action('wp_head', 'my_meta_noindex', 3); // добавляем свой noindex,nofollow в head

Настройки все подписаны, для включения тех или иных вам нужно убрать два слеша в начале "//", для отключения наоборот добавить. Добавлять рекомендую в самое начало файла, к примеру после <?php, на следующую строку. Те строки которые включены - это в целом оптимальный вариант для всех, но кому нужно настройте более детально под себя.

 

Некоторые правила из этой функции можно скомбинировать, например, если нам нужно закрыть от индексации только страницы с пагинацией (постраничная навигация)  при просмотре архива, а основные страницы пагинации (например, http://site.ru/page/2 и т.д.) нужно оставить доступными для поисковиков, то настраиваем правила следующим образом: ( is_archive() && is_paged() ) OR

Посмотрим еще на один пример, нам нужно запретить все страницы с тегами, но для какого-то одного (для определенного) нужно оставить доступ, то в таком случае делаем следующее правило: ( is_tag() && !is_tag('tagname') ) OR, где tagname - пишите название вашего тега. Вот и всё собственно, дальше думаю сами разберетесь.

Поисковой робот

Небольшая картиночка робота, в целом поисковики такие же)))

И напоследок несколько рекомендаций по работе с данным кодом и вообще с этими правилам:

  1. После добавления функции в файл вашего шаблона, не забудьте убрать из robots.txt ненужные правила, все правила, которые повторяют код функции (которые запрещают те же страницы для поисковиков).
  2. Определенные плагины (например, All in One SEO) также предлагают подобную настройку индексации, и точно также добавляют эти самые мета-теги. Работает это в целом точно также, но править код не нужно уже. Однако, я рекомендую использовать код, что выше. Это более гибки вариант и более независимый.
  3. Также не советую использовать и плагин и правки кода в functions (они могут конфликтовать или дублировать код).

 

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

 

 

Запись опубликована В категории: WordPress

Shnapik

Вебмастер с опытом ищет приют! Возьмите меня, а то меня рвут!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *