Форма для посетителя, чтобы добавить статью на сайт

Фильтры товаров на WooCommerce

Открыв таб «Custom Style», вы можете вручную ввести свой кастомный код css-стилей, чтобы изменить оформление тех или иных элементов плагина.

Вкладка «Premium Version» предоставляет информацию о преимуществах премиум-версии шаблона. А подпункт меню «How to install premium version» — о том, как инсталлировать платный вариант YITH WooCommerce Ajax Product Filter. Одним из явных преимуществ премиальной версии является возможность фильтрации по ценовому диапазону.

Помимо пунктов меню, плагин создает в разделе «Внешний вид» — «Виджеты» 2 новых виджета: «YITH WooCommerce Ajax Product Filter» и «YITH WooCommerce Ajax Reset Filter». Разместим их в сайдбаре страницы магазина.  

«YITH WooCommerce Ajax Product Filter» предполагает следующие настройки:

  • «Title» — название, обозначающее характеристику, по которой будет сортироваться товар данным фильтром. Это может быть «Объем» для рюкзаков, «Событие» для подарков или «Выберите цвет» для одежды или букетов и т.п.;
  • «Type» — вид, в котором будет представлен фильтр посетителю. На выбор предлагается 4 варианта: List (обычный список с перечнем свойств), Color (маленькие квадраты, окрашенные в соответствующий цвет, если речь идет о выборке по атрибуту «цвет»), Label (ярлык, метка, название можно назначать произвольно), Dropdown (выпадающий список);
  • «Query Type» — этот параметр отвечает за то, как будет осуществляться фильтрация при одновременном выборе нескольких свойств. «AND» — результаты должны содержать товары, соответствующие сразу всем отмеченным характеристикам. «OR» — хотя бы одной из указанных;
  • «Attribute» — непосредственно сам атрибут товара.

Допускается неограниченное количество расположенных в сайдбаре блога WordPress Ajax-фильтров.

В виджете «YITH WooCommerce Ajax Reset Filter», который отвечает за сброс всех фильтров, от нас требуется только название («Title») и текст, отображающийся на кнопке («Button Label»).            

Вот так может выглядеть Ajax-фильтр, созданный с помощью данного плагина:

Если после установки и произведения настроек плагина фильтр Ajax для wordPress не работает, проверьте, добавлены ли товарам атрибуты и относится ли используемая вами тема к стандартным шаблонам WooCommerce.

2. Добавим действие к хуку

В начале мы объявили на нашей странице do_action(‘our_page_whith_ajax’) к по которому у нас и будет вызываться «всякое» для AJAX-са. Теперь мы добавим функцию, которая будет за всё это отвечать.

functions our_page_whith_ajax(){     
// Далее наш код будет тут 
} 
add_action('our_page_whith_ajax', 'our_page_whith_ajax');

Давайте сразу добавим вызов нашего скрипта и объявим несколько функций.

function our_page_whith_ajax(){     
// Подключение скриптов
 wp_enqueue_script('our_page_whith_ajax_js');
// Напечатаем кнопку которая будет отправлять наш запрос      do_action('our_page_button');
// Напечатаем блок в котором будет выводиться наш ajax контент      do_action('our_page_response_box');
// Напечатаем наш скрипт с ajax
 add_action('wp_footer', 'our_page_js_in_footer');
} 
add_action('our_page_whith_ajax', 'our_page_whith_ajax');
add_action( 'wp_enqueue_scripts', 'our_page_localize_script', 99 );

Обращу внимание на add_action(‘wp_footer’, ‘our_page_js_in_footer’). Наш ajax-скрипт можно создать и в том js-файле который мы подключили, но в моём деле мне содержание моего js зависело от php и я его там изменял, да и так сложнее и интереснее

Каким сайтам нужно внедрять отложенную загрузку

В пятом выпуске рубрики «Спроси PR-CY» один из пользователей задал эксперту вопрос о способах оптимизации картинок на сайте:

Ответил Михаил Шакин, автор SEO-блога и специалист по продвижению сайтов в рунете и англоязычном интернете:

Ориентируйтесь на целесообразность внедрения функции на ваш сайт. С одной стороны, использование такой оптимизации ускорит загрузку сайта, уменьшит время ожидания пользователей и сэкономит им трафик, поскольку они будут использовать его только для картинок, которые видят.

С другой, веб-мастеру нужно прикладывать дополнительные усилия по настройке функции, которая пока будет работать не на всех браузерах.

В каких случаях стоит внедрять lazy loading:

  1. На страницах много больших изображений.
  2. Картинки составляют основную часть контента — вы продвигаете сервисы с фотографиями, фотостоки, статейники с большим количеством иллюстраций и фреймов.
  3. Невысокий балл PageSpeed ​​Insights.
  4. Много посетителей с мобильных устройств, больше 50%.
  5. Конкуренты быстрее вас, хотя вы уже провели оптимизацию и ускорение страниц.
  6. Сервер слабый и не может дать быструю загрузку.

Проверить скорость загрузки сайта можно с помощью сервиса «Анализ сайта». Он проверит загрузку в соответствии с новыми требованиями поисковиков и даст советы, что сделать, чтобы ее улучшить.

Фрагмент проверки скорости

Всегда ли уместно использование Ajax?

Теперь мы с вами знаем, что технология AJAX дает возможность разработчику веб-сайта отбросить классическую схему взаимодействия сервера и браузера, когда последний «замирает» на некоторое время в ожидании ответа на отправленный запрос. Очевидно, что динамическое изменение контента на странице без полной ее перезагрузки улучшает такой показатель, как скорость реакции на совершенное пользователем действие. Это, в свою очередь, отражается наилучшим образом на юзабилити, или удобстве сайта.

Еще одним аргументом в пользу интеграции Ajax в WordPress-блог можно по праву считать значительную экономию web-трафика. При каждом запросе, поступающем от браузера, сервер не генерирует целую страницу и не передает все относящиеся к ней скрипты и стили.

А поскольку уменьшается количество обращений на сервер, снижается и нагрузка на него. Выполнение скрипта обработчика запроса значительно проще, чем выполнение кода генерации всей страницы. 

Но при очевидных плюсах AJAX у seo-оптимизаторов существуют основания с осторожностью относиться к данной технологии. Давайте теперь обозначим самые существенные недостатки асинхронных запросов:

  • контент, загружаемый динамически, не может быть проиндексирован поисковыми системами. Поисковые роботы не умеют осуществлять переход по JavaScript-ссылкам. Чтобы содержимое вашего ресурса, отвечающее запросу пользователей, не осталось незамеченным, требуются альтернативные способы обеспечения доступа к нему. Один из самых простых – создать страницу карты сайта;
  • счетчики статистики ( например, счетчик посещений сайта LiveInternet), размещенные на страницах с использованием Ajax, отображают данные некорректно. Это закономерное следствие того, что такие страницы недоступны ботам;
  • поскольку содержимое Ajax-страницы формируется «на лету», кнопка «Назад» теряет свою актуальность. Это достаточно неудобно для пользователя, потому что данный способ перемещения по ресурсу – второй по популярности способ навигации после непосредственно перехода по ссылкам;
  • загруженную динамически страницу нельзя добавить в «Избранное». У каждой такой группы страниц на AJAX будет адрес самой первой из них;
  • большое количество Ajax-запросов при некачественно написанном коде может не ускорить загрузку контента, а наоборот, сделать работу блога медленнее.

Несмотря на то, что данной технологии свойственны некоторые минусы, существуют различные скрипты и хаки, способствующие решению вышеназванных проблем.

А мы переходим к практической части нашего знакомства с асинхронными запросами. Далее будут рассмотрены некоторые Ajax-плагины WordPress для реализации самых популярных задач данной технологии.

Добавление файла Ajax для WordPress

На данный момент плагин появится в панели инструментов WordPress Plugin, но на самом деле он ничего еще не делает, потому что мы не написали никакого кода. Чтобы код заработал, мы использовать в этом плагине процедурный подход к программированию, а не к объектно-ориентированный, который я использовал в большинстве моих обучающих программ.

Как мы первоначально добавили поддержку Ajax

Причина, по которой в настоящее время избегают объектно-ориентированного программирования, двоякая:

Это связано с тем, что плагин будет очень простым

Мне больше интересно сосредоточиться на указанных API, предоставляемых WordPress, чтобы вы могли сконцентрировать внимание на самых важных вещах, на которых нужно сосредоточиться в этой работе. Вторая часть этой серии будет посвящена рефакторингу этого кода в объектно-ориентированную систему, чтобы вы могли увидеть, как все это может выглядеть в контексте более крупной системы, использующей классы

В конечном счете, эта серия будет охватывать оба типа программирования, поддерживаемые PHP и WordPress.

Скорее всего, если вы уже работали с Ajax в прошлом, вы делали что-то подобное, чтобы предоставить вашему плагину поддержку для выполнения асинхронных вызовов:

Этот специфический метод не является по своей сути неправильным, но он пренебрегает некоторыми новыми API, которые я рассмотрю вкратце. Он также смешивает PHP, HTML и JavaScript в одной функции.

Это не очень здорово, поскольку он выполняет свою работу, но есть более чистый способ сделать это.

Как мы добавляем поддержку Ajax

Во-первых, чтобы убедиться, что плагин не может быть напрямую доступен кому-либо, добавьте следующее условное под заголовком плагина:

Обратите внимание, что открывающий тег PHP не понадобится, поскольку этот код появится позже в уже существующем файле PHP (это необходимо для подсветки синтаксиса прямо сейчас). Далее давайте настроим функцию для включения поддержки WordPress для Ajax с помощью некоторых из существующих API, которые не предполагают смешение языков

Далее давайте настроим функцию для включения поддержки WordPress для Ajax с помощью некоторых из существующих API, которые не предполагают смешение языков.

Вот что нам нужно сделать:

  1. Мы собираемся создать функцию, отвечающую за добавление поддержки Ajax.
  2. Мы подключим эту функцию в действие.
  3. Мы воспользуемся вызовом API , чтобы включить поддержку WordPress для Ajax (которая поступает из ).

Опять же, обратите внимание, что открывающий тег PHP не потребуется в окончательной версии плагина, так как здесь он используется только для подсветки синтаксиса. С учетом сказанного, взгляните на

Прежде чем рассматривать каждый параметр, давайте рассмотрим назначение этой функции. Из Codex короткая версия выглядит следующим образом:

С учетом сказанного, взгляните на . Прежде чем рассматривать каждый параметр, давайте рассмотрим назначение этой функции. Из Codex короткая версия выглядит следующим образом:

Однако более важное значение имеет более длинное описание:

Теперь просмотрите параметры, которые он принимает:

  1. Первый параметр называется  и используется для уникальной идентификации скрипта, который добавляется на страницу.
  2. Второй параметр —  важный, поскольку именно так вы будете идентифицировать сценарий в своем коде. Вы увидите это более подробно позже в этом уроке.
  3. Третий параметр — это параметр данных. Он ссылается на массив, который будет отправлен в браузер как объект JavaScript. Поскольку мы передаем URL-адрес пути к файлу, будет предоставлена поддержка Ajax.

Обратите внимание, что первым параметром является. Помните об этом, когда мы обращаем внимание на написание и добавление в очередь нашего собственного JavaScript, поскольку нам нужно использовать этот дескриптор еще раз

Также не забудьте указать имя, которое вы выбрали для своего вызова API, поскольку мы будем использовать его при работе с клиентским кодом далее в этом уроке.

Важная информация о поддержке Ajax

Обратите внимание, что мы используем только хук , и мы не используем. Это связано с тем, что уже определен в панели мониторинга

Это означает, что если вы хотите сделать Ajax-запросы в области администрирования WordPress, вам не нужно ничего ставить в очередь. Все, что мы делаем в контексте этого учебника, направлено для внешнего интерфейса веб-сайта.

Бесконечный скролл на WordPress

Берём за основу пример с кнопкой «Показать ещё» и немного модернизируем код в файлах category.php и loadmore.js. Остальной код оставляем тот же, что и в примере выше. Так как кнопка больше не нужна, то убираем ее из кода с циклом:

<?php if ($wp_query->max_num_pages > 1) : ?>
	<script id="loadmore">
	var ajaxurl = '<?php echo site_url() ?>/wp-admin/admin-ajax.php';
	var posts_vars = '<?php echo serialize($wp_query->query_vars); ?>';
	var current_page = <?php echo (get_query_var('paged')) ? get_query_var('paged') : 1; ?>;
	</script>
<?php endif; ?>

И изменяем код файла loadmore.js, чтобы он вызывал Ajax-запрос не по нажатию кнопки, а при прокручивании страницы до нижней части сайта.

jQuery(function($){
	$(window).scroll(function(){
		var bottomOffset = 2000; // отступ от нижней части сайта, достигнув которой будет вызвана подгрузка следующих постов
		var data = {
			'action': 'loadmore',
			'query': posts_vars,
			'page' : current_page
		};
		if($(document).scrollTop() > ($(document).height() - bottomOffset) && !$('body').hasClass('loading')) {
			$.ajax({
				url:ajaxurl,
				data:data,
				type:'POST',
				beforeSend: function(xhr){
					$('body').addClass('loading');
				},
				success:function(data){
					if(data) { 
						$('#loadmore').before(data);
						$('body').removeClass('loading');
						current_page++;
					}
				}
			});
		}
	});
});

3. Объявим наши функции и хуки

function our_page_button(){     
	echo '<button data-type="our-btn">Нажать</button>'; 
} 
add_action('our_page_button', 'our_page_button'); 
function our_page_response_box(){     
	echo '<div data-type="our-resposnse-box"';
}
add_action('our_page_response_box', 'our_page_response_box');
 function our_page_localize_script(){     
 // our_page_whith_ajax_js - тот самы хэндрег о котором я говорил     
 // Запомним admin_url     
 wp_localize_script('our_page_whith_ajax_js', 'admin_url', array('url' => admin_url('admin-ajax.php'))); }
 function our_page_js_in_footer(){     
	 ?>     
		 <script type="text/javascript" >
		 // Получаем нашу кнопку
		 var btn = document.querySelector('');
		 function OUR_submitListener(event){
			 //На всякий случай убираем дефолтные действия
			 event.preventDefault();
			 
			 // Создадим FormData с данными, чтобы передать их на сервер в POST-запросе
			 var data = new FormData();
			 
			 // Наполним его данными 		 
			 data.append('explF', 'data');
			 data.append('explT', 'data2');
			 // И тут же прописываем action который будет вызываться в php
			 data.append('action', 'our_action');

			 // Далее то что касается отправки запроса на сервер
			 var xhttp = new XMLHttpRequest(); 
			 xhttp.onreadystatechange = function () {
				 if(this.readyState == 4 && this.status == 200){ 
					 // В блок с data-type="our-resposnse-box" вернём полученный HTML 
					 document.querySelector('').innerHTML = this.responseText;  
				 }
			 };             
			 // Тут наш admin_url
			 xhttp.open('POST', admin_url.url, true);
			 xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			 // Отправляем наши данные             
			 xhttp.send(data); 
		 }         
		 // Ждём клик        
		 btn.addEventListener('click', OUR_submitListener, btn);      
		 </script>     
	 <?php 
 }

Далее давайте привяжем action к php-функции в wp. Ранее в js мы определили её название здесь data.append(‘action’, ‘our_action’);


function our_page_whith_ajax_response(){
// Получим то что пришло к нам
$arr = $_POST;
//и просто распечатаем
echo ‘

';     
	print_r($arr);     
	echo '

‘;
// Прекратим процесс
wp_die();
}
// Обратите внимание где мы использовали
// our_action — это то, что и в data.append(‘action’, ‘our_action’);
our_action add_action(‘wp_ajax_our_action’, ‘our_page_whith_ajax_response’);
add_action(‘wp_ajax_nopriv_our_action’, ‘our_page_whith_ajax_response’);

итоге на странице вы получите такую запись:

Array(
	 => our_action
	 => data
	 => data2 
)

Добавление кода JavaScript в WordPress с использованием хуков wp_head и wp_footer

Во-первых, давайте посмотрим, как добавить код в заголовок вашего сайта WordPress. Вам нужно будет добавить следующий код в файл functions.php вашей темы или плагин Code Snippets.

Добавление JavaScript хуком к определенной публикации или странице WordPress

Предположим, вы хотите загрузить этот javascript только в конкретный пост WordPress. Для этого вам необходимо добавить условную логику в код. Взгляните на следующий пример:

Если вы присмотритесь к приведенному выше коду, вы увидите, что мы обернули код javascript вокруг условной логики, чтобы соответствовать определенному идентификатору записи. Вы можете использовать это, заменив 16 своим собственным идентификатором сообщения.

Теперь этот код будет работать для любого типа поста с ID=16, кроме страниц. Давайте рассмотрим другой пример, за исключением того, что он проверяет конкретный идентификатор страницы перед добавлением кода JavaScript в раздел head.

Вместо is_single мы теперь используем is_page для проверки идентификатора страницы.

Мы можем использовать тот же код с небольшими изменениями, чтобы добавить код JavaScript в нижний колонтитул footer вашего сайта. Посмотрите на следующий пример.

Вместо того, чтобы подключать нашу функцию к wp_head, мы теперь подключили ее к wp_footer. Вы также можете использовать его с условными тегами, чтобы добавить Javascript к конкретным сообщениям или страницам.

Подключение JS и jQery в плагине WordPress

При создании собственного плагина иногда требуется подключить JS. Также, если тема обновляется разработчиками, но нужно расширить ее функционал и для этого требуется подключение JS и jQery, нужно воспользоваться нижеприведенным кодом.

Здесь все аналогично обычному подключению скриптов через functions.php

AJAX на фронтэнде (в теме)

Первое в чем нужно убедиться — установлена ли на сайте библиотека jQuery.

Во фронт-энде (внешней части сайта) нужно использовать еще один хук для обработки AJAX запросов: wp_ajax_nopriv_(action). Этот хук в отличии от wp_ajax_(action), срабатывает для неавторизованных пользователей.

Т.е. чтобы создать обработчик запроса для всех пользователей: авторизованных и нет, PHP функцию нужно прикреплять сразу к двум хукам:

add_action( 'wp_ajax_(action)', 'my_action_callback' );
add_action( 'wp_ajax_nopriv_(action)', 'my_action_callback' );

‘wp_ajax_nopriv_(action)’ можно не указывать, если не нужно, чтобы AJAX запрос обрабатывался для неавторизованных пользователей.

Переменная ajaxurl

Напомню, что переменная есть только в админке и её нет в лицевой части сайта (фронт-энде), поэтому её нужно определить (создать). Но мы назовем её по-другому — , для фронта так удобнее, потому что так в объект myajax можно будет добавить еще данные связанные с AJAX запросом.

Правильный способ создать такую переменную — это использовать функцию wp_localize_script().

// Подключаем локализацию в самом конце подключаемых к выводу скриптов, чтобы скрипт
// 'twentyfifteen-script', к которому мы подключаемся, точно был добавлен в очередь на вывод.
// Заметка: код можно вставить в любое место functions.php темы
add_action( 'wp_enqueue_scripts', 'myajax_data', 99 );
function myajax_data(){

	// Первый параметр 'twentyfifteen-script' означает, что код будет прикреплен к скрипту с ID 'twentyfifteen-script'
	// 'twentyfifteen-script' должен быть добавлен в очередь на вывод, иначе WP не поймет куда вставлять код локализации
	// Заметка: обычно этот код нужно добавлять в functions.php в том месте где подключаются скрипты, после указанного скрипта
	wp_localize_script( 'twentyfifteen-script', 'myajax',
		array(
			'url' => admin_url('admin-ajax.php')
		)
	);

}

В результате, получим в head части сайта прямо перед скриптом ‘twentyfifteen-script’:

<script type='text/javascript'>
/* <![CDATA[ */
var myajax = {"url":"http://wptest.ru/wp-admin/admin-ajax.php"};
/* ]]> */
</script>
<script type='text/javascript' src='https://wptest.ru/wp-content/themes/twentyfifteen/js/functions.js?ver=20150330'></script>

На этом теория AJAX закончена, теперь все как для админ части, только вместо указываем и нужно прикрепить функцию обработчик на еще один хук .

Пример AJAX кода для фронт энда

<?php

add_action( 'wp_enqueue_scripts', 'myajax_data', 99 );
function myajax_data(){

	wp_localize_script( 'twentyfifteen-script', 'myajax',
		array(
			'url' => admin_url('admin-ajax.php')
		)
	);

}

add_action( 'wp_footer', 'my_action_javascript', 99 ); // для фронта
function my_action_javascript() {
	?>
	<script type="text/javascript" >
	jQuery(document).ready(function($) {
		var data = {
			action: 'my_action',
			whatever: 1234
		};

		// 'ajaxurl' не определена во фронте, поэтому мы добавили её аналог с помощью wp_localize_script()
		jQuery.post( myajax.url, data, function(response) {
			alert('Получено с сервера: ' + response);
		});
	});
	</script>
	<?php
}

add_action( 'wp_ajax_my_action', 'my_action_callback' );
add_action( 'wp_ajax_nopriv_my_action', 'my_action_callback' );
function my_action_callback() {
	$whatever = intval( $_POST );

	echo $whatever + 10;

	// выход нужен для того, чтобы в ответе не было ничего лишнего, только то что возвращает функция
	wp_die();
}

Код рассчитан на тему . Вставлять код можно в functions.php темы.

Этот код будет работать для любой темы, единственное что для этого нужно — это поменять название основного скрипта темы , который подключается после jquery.

Платные плагины комментариев

Изначально мы не собирались описывать здесь платные плагины для комментирования, но когда составляли эту подборку, обратили внимания на 3 довольно интересных решения. Если вы ориентируетесь именно на платные плагины, советуем не пройти мимо:

Это многофункциональная система комментариев для WordPress на основе AJAX. Можно выбрать стиль оформления, помечать некорректные комментарии, выставлять оценки комментариям, включить древовидную систему комментариев, сортировать комментарии по новизне/популярности, добавлять изображения к комментариям. Также можно дать пользователям возможность использовать свои аккаунты в LinkedIn, Twitter, Facebook. Google+ для комментирования.

Стоимость: $17-$85 в зависимости от типа лицензии.

Ссылка на плагин: https://codecanyon.net/item/commentator-wordpress-plugin/6425752

Очень интересный плагин, который дает пользователям возможность создавать «горячие области» на изображениях сайта и добавлять туда комментарии.

Стоимость: $17-$85 в зависимости от типа лицензии.

Ссылка на плагин: https://codecanyon.net/item/hotspots-with-comments-wordpress-plugin/9186232

Стоимость: $21-$105 в зависимости от типа лицензии.

Ссылка на плагин: https://codecanyon.net/item/wordpress-comment-rating-plugin/6582710

А какую систему комментирования вы используете на своем сайте? Будем рады узнать ваше мнение!

Не знаете ещё, какой хостинг выбрать для сайта на WordPress? Посмотрите наше специальное предложение хостинга для этой CMS!

  • Как установить WordPress на сайт
  • Как защитить сайт на WordPress
  • Как сделать Favicon на WordPress

Что такое lazy loading изображений

Lazy loading или «ленивая загрузка» — это способ отложенной загрузки изображений, когда картинки подгружаются не сразу вместе с запрашиваемой страницей, а по мере надобности, асинхронно. Функция работает на технологии AJAX с помощью JavaScript.

Способ работает для картинок img и фреймов iframe. У этих элементов есть атрибут src, указывающий на источник.

Варианты отложенного отображения контента:

Метод ленивой загрузки позволяет увеличить скорость отображения страницы, потому что загрузка элементов растянута на время, пока пользователь изучает контент.

На демонстрационной странице indexoid.com/speed картинки загружаются по мере просмотра:

Отображение загрузки картинок на странице при скроллингеКод страницы indexoid.com/speed

Не стоит настраивать такую загрузку для элементов на первом экране — они должны загружаться сразу же, как только пользователь зашел на страницу.

Как ПС относятся к отложенной загрузке

Раньше у Google была проблема с индексированием контента с атрибутом loading, сейчас бот воспринимает такие элементы. Но нужно убедиться, что все материалы страницы доступны для Googlebot.

Robots.txt для Яндекса и Google

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

В robots.txt можно открыть или закрыть доступ ко всем файлам или отдельно прописать, какие файлы можно сканировать, а какие нет.

Требования к robots.txt:

  • файл называется «robots.txt», название написано только строчными буквами, «Robots.TXT» и другие вариации не поддерживаются;
  • располагается только в корневом каталоге — https://site.com/robots.txt, в подкаталоге быть не может;
  • на сайте в единственном экземпляре;
  • имеет формат .txt;
  • весит до 32 КБ;
  • в ответ на запрос отдает HTTP-код со статусом 200 ОК;
  • каждый префикс URL на отдельной строке;
  • содержит только латиницу.

Если домен на кириллице, для robots.txt переведите все кириллические ссылки в Punycode с помощью любого Punycode-конвертера: «сайт.рф» — «xn--80aswg.xn--p1ai».

Robots.txt действует для HTTP, HTTPS и FTP, имеет кодировку UTF-8 или ASCII и направлен только в отношении хоста, протокола и номера порта, где находится.

Его можно добавлять к адресам с субдоменами —
http://web.site.com/robots.txt или нестандартными портами — http://site.com:8181/robots.txt. Если у сайта несколько поддоменов, поместите файл в корневой каталог каждого из них.

Как исключить страницы из индексации с помощью robots.txt

В файле robots.txt можно запретить ботам индексацию некоторого контента.

Яндекс поддерживает
стандарт исключений для роботов (Robots Exclusion Protocol). Веб-мастер может скрыть содержимое от индексирования ботами Яндекса, указав директиву «disallow». Тогда при очередном посещении сайта робот загрузит файл robots.txt, увидит запрет и проигнорирует страницу. Другой вариант убрать страницу из индекса — прописать в HTML-коде мета-тег «noindex» или «none».

Google предупреждает, что robots.txt не предусмотрен для блокировки показа страниц в результатах выдачи. Он позволяет запретить индексирование только некоторых типов контента: медиафайлов, неинформативных изображений, скриптов или стилей. Исключить страницу из выдачи Google можно с помощью пароля на сервере или элементов HTML — «noindex» или атрибута «rel» со значением «nofollow».

Если на этом или другом сайте есть ссылка на страницу, то она может оказаться в индексе, даже если к ней закрыт доступ в файле robots.txt.

Закройте доступ к странице паролем или «nofollow» , если не хотите, чтобы она попала в выдачу Google. Если этого не сделать, ссылка попадет в результаты но будет выглядеть так:

Доступная для пользователей ссылка

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

Содержимое файла robots.txt — это указания, а не команды. Большинство поисковых ботов, включая Googlebot, воспринимают файл, но некоторые системы могут его проигнорировать.

Если нет доступа к robots.txt

Если вы не имеете доступа к robots.txt и не знаете, доступна ли страница в Google или Яндекс, введите ее URL в строку поиска.

На некоторых сторонних платформах управлять файлом robots.txt нельзя. К примеру, сервис Wix автоматически создает robots.txt для каждого проекта на платформе. Вы сможете посмотреть файл, если добавите в конец домена «/robots.txt».

В файле будут элементы, которые относятся к структуре сайтов на этой платформе, к примеру «noflashhtml» и «backhtml». Они не индексируются и никак не влияют на SEO.

Если нужно удалить из выдачи какие-то из страниц ресурса на Wix, используйте «noindex».

Подведем итоги

Если вам нужна бесплатная контактная форма с простым
функционалом, тогда обратите внимание на Contact Form 7, ограниченную версию WPForms и Pirate
Forms. Эти плагины для ВордПресс быстро настраиваются и с ними справится любой
вебмастер, даже начинающий

Если же блок обратной связи должен быть чуть сложнее, а
также вы хотите сделать его красивым и удобным для пользователей, то скорее
всего, лучшим выбором станет Caldera Forms,
Ninja Forms, премиум-версия WPForms,
Formidable Forms
или Formidable Pro.

Если вы хотите пойти нестандартным путем и встроить
контактную форму в виджет, используйте Contact Widget.

Нужна необычная форма, в которую нужно внедрить
разнообразные функции? Тогда лучшим решением станет Gravity Forms или Form
Maker by WD.

Выбирая плагин для покупки, заранее спланируйте, для чего вы
будете его применять и какие функции вам особенно необходимы. После этого вы
легко подберете подходящий в нашей подборке. Конечно же, в интернете
представлено и много других платных и бесплатных вариантов, но мы уже отобрали
для вас лучшие. Они получают высокие оценки от вебмастеров и пользуются
популярностью, что подтверждает их качество и удобство.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Люкс-хост
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: