Файл robots.txt для WordPress

Эту статью я решил написать под впечатлением от прочитанного на западных блогах. Достаточно долгое время в сети существовал стереотип о правильной методике настройки файла robots.txt для WordPress. При котором старались максимально закрыть все дубли и другие не имеющие отношения к контенту страницы элементы.

На данный момент, у англоязычных блогеров набирает обороты совершенно противоположный тренд. Известный веб-мастер и SEO-специалист Yoast, автор популярного плагина для WordPress Yoast SEO, советует вовсе отказаться от использования robots.txt для запрета индексации контента.

Примера файл robots.txt, который использует Yoast на своем сайте:

User-Agent: *
Disallow: /out/

Как видите, для индексации закрыт всего лишь один раздел сайта. Со слов Yoast’а, это вынужденная мера, поскольку в разделе /out/ находится каталог партнерских ссылок. При желании вы можете ознакомится с его статьей по этому поводу.

Но не стоит вдаваться в крайности. Зачем беспечно полагаться на эвристические алгоритмы Google, если скрыть дубли в WordPress можно самостоятельно с помощью файла robots.txt. Таким образом, правильный robots.txt, является одним из механизмов для внутренней оптимизации сайта. И как по мне, глупо его не использовать.

Я склоняюсь к тому, что в файле robots.txt необходимо закрывать только те разделы сайта, которые действительно могут навредить правильной индексации сайта.

Директивы robots.txt

Формат файла достаточно прост в освоении. Чтобы указать, на кого будут действовать правила, необходимо в robots.txt добавить директиву User-Agent с названием поискового робота. Мы можем задать различные правила для определенной поисковой системы. Для этого в директиве User-Agent, нужно указать имя робота. Но в большинстве случаев, будет достаточно использовать звездочку *, чтобы использовать общие правила для всех поисковых систем.

Далее идут директивы Allow или Disallow, которые указывают поисковой системе что можно индексировать, а к каким разделам доступ закрыт. Можно использовать регулярные выражения в названиях и именах файлов. Пример файла robots.txt:

User-Agent: *
Disallow: /*?
Disallow: /wp-admin/
Allow: /wp-content/uploads/

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

Для того чтобы указать ссылку на адрес файла XML-карты сайта, необходимо использовать директиву Sitemap как в примере ниже:

Sitemap: http://www.example.com/post-sitemap.xml

Исчерпывающую информацию по различным параметрам настройки robots.txt можно прочитать в руководстве от Google и Яндекс.

Файл robots.txt для WordPress

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

User-agent: *
Disallow: /*?
Disallow: /20*
Disallow: /author/
Disallow: /wp-admin/
Sitemap: https://codebeer.ru/sitemap.xml

Чтобы убрать дубли, я запретил индексацию страниц поиска и архива. Дополнительно указал адрес к XML-карты сайта.

Можно добавить данные правила в robots.txt в корне сайта, либо использовать специальную функцию для WordPress. Для этого необходимо добавить в файл functions.php код из примера ниже:

add_filter('robots_txt', 'add_robotstxt');
function add_robotstxt($output){
    $output .= "Disallow: /*?n";
    $output .= "Disallow: /20*n";
    $output .= "Disallow: /author/n";
    $output .= "Disallow: /wp-admin/n";
    $output .= "Sitemap: https://codebeer.ru/sitemap.xmln";

return $output;
}

 

Используем пинг-сервисы

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

Функция оповещения пинг-сервисов работает следующим образом. Автоматически при появлении новой записи, WordPress посылает уведомление для поисковой системы по протоколу Weblogs.Ping:

POST /RPC2 HTTP/1.1
Host: rpc.pingomatic.com
Content-Type: text/xml
Content-length: 318

<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
    <methodName>weblogUpdates.ping</methodName>
    <params>
        <param>
            <value>Пример сообщения для пинг-сервисов</value>
        </param>
        <param>
             <value>https://codebeer.ru/new-post/</value>
        </param>
    </params>
</methodCall>

Как правило, у каждого поисковика есть свои пинг-сервисы. По умолчанию WordPress использует пинг-сервис от Pingomatic. До недавнего времени я считал, что этого вполне достаточно. Но в процессе использования WordPress, я не заметил каких-либо видимых результатов от оповещения Pingomatic.

Не смотря на использование сервиса Pingomatic и наличие XML-карты сайта, на индексацию новых записей уходило достаточно много времени. От момента публикации записи до ее попадания в индекс иногда уходило до нескольких дней.

После того, как я добавил в настройках WordPress адреса пинг-сервисов Google и Яндекс, ситуация кардинально изменилась. Новый контент стал попадать в индекс в течении нескольких часов.

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

Добавить пинг-сервисы в WordPress

Чтобы добавить пинг-сервисы в WordPress, откройте меню «Настройки» — «Написание» — «Сервисы обновления», затем скопируйте следующие ссылки:

Пинг-сервис Яндекс:

http://ping.blogs.yandex.ru/RPC2

Пинг-сервис Google:

http://blogsearch.google.com/ping/RPC2

Для большинства сайтов, пинг-сервисов от Google и Яндекс будет вполне достаточно. Дополнительно я решил оставить ссылку на Pingomatic. Возможно, от нее есть какой-то толк для других поисковых систем.

Удалить неиспользуемые теги в заголовке WordPress

В содержимом HTML-документа, генерируемого WordPress, можно заметить множество служебных тегов, которые отображаются в заголовке head страницы. Эти теги достаточно редко используются и, как правило, абсолютно бесполезны для посетителей сайта или поисковых систем. Кроме того, некоторые мета-теги противоречат правилам безопасности и могут нанести вред для сайта WordPress.

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

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

<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="xmlrpc.php">
<link rel="alternate" type="application/rss+xml" title="Лента" href="/feed/"/>
<link rel="alternate" type="application/rss+xml" title="Лента комментариев" href="comments/feed/"/>
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="/xmlrpc.php?rsd"/>
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="wp-includes/wlwmanifest.xml"/>
<meta name="generator" content="WordPress 4.3.1"/>
<link rel='prev' title='' href=''/>
<link rel='canonical' href=''/>
<link rel='shortlink' href=''/>

Можно автоматически удалить неиспользуемые теги из заголовка WordPress с помощью специального плагина WP Head Cleanup. Для этого после установки необходимо выбрать соответствующие опции в настройках плагина. Я же предпочитаю, по возможности, не использовать плагины вообще.

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

— meta name=’generator’
Убрать версию WordPress из заголовка страницы:

remove_action( 'wp_head', 'wp_generator' );

— link rel=’wlwmanifest’
Убрать ссылку для редактирования клиентом Windows Live Writer:

remove_action( 'wp_head', 'wlwmanifest_link' );

— link rel=’EditURI’
Убрать ссылку для редактирования внешними сервисами:

remove_action( 'wp_head', 'rsd_link' );

— link rel=’shortlink’
Убрать вывод коротких ссылок:

remove_action('wp_head', 'wp_shortlink_wp_head');

— link rel=’canonical’
Убрать вывод канонических ссылок:

remove_action('wp_head','rel_canonical');

— link rel=’prev’ и link rel=’next’
Убрать вывод ссылок на предыдущую / следующую запись:

remove_action('wp_head','adjacent_posts_rel_link_wp_head');

— RSS
Убрать вывод ссылок на основную и дополнительную ленту:

remove_action('wp_head','adjacent_posts_rel_link_wp_head');
remove_action('wp_head','feed_links_extra', 3);

— REST API
Убрать вывод ссылки REST API:

remove_action('xmlrpc_rsd_apis', 'rest_output_rsd');

— link rel=’profile’
Убрать в файле header.php ссылку на адрес профиля метаданных:

<link rel="profile" href="http://gmpg.org/xfn/11">

— link rel=’pingback’
Убрать в файле header.php ссылку на пингбэк-сервер:

<link rel="pingback" href="xmlrpc.php">

Следует отметит, что код из примеров удаляет неиспользуемые теги в заголовке head, при этом, никак не затрагивает функционал самого WordPress.

Удалите код препятствующий отображению

Если вам когда-либо приходилось анализировать свои сайты с помощью сервиса Google PageSpeed Tools, то вы наверняка уже сталкивались с данной рекомендацией: «Удалите код JavaScript, препятствующий отображению».

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

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

Из всего этого можно сделать вывод, что качество технической составляющей сайта, стало одним из факторов ранжирования сайта в поисковой системе Google.

Как удалить код, препятствующий отображению страницы

Перейдем к технической стороне решения вопроса. Чтобы убрать данное предупреждение: «Удалите код JavaScript, препятствующий отображению», нужно убрать подключение скриптов внутри тега <head>, а затем подключить их в низу страницы. Но не спешите слепо выполнять данную рекомендацию.

В зависимости от размера скрипта и его функций, существует следующие рекомендации по размещению JavaScript:

  • скрипты участвующие в процессе отображении страницы необходимо подключать внутри тега <head>;
  • если скрипт не участвует в процессе отображения страницы, необходимо его перенести в страницы;
  • скрипты небольшого размера лучше добавить в содержимое HTML-документа;
  • используйте атрибут async для  асинхронного вызова JavaScript.

Пример асинхронного вызова скрипта:

<script async src="code.js">

Как перенести скрипты в подвал WordPress

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

Для скриптов, которые необходимо выводить в подвале WordPress, необходимо в файле functions.php добавь параметр true в конец вызова функции wp_register_script.

Формат вызова функции wp_register_script():

wp_register_script( $handle, $src, $deps, $ver, $in_footer );

Для вывода скрипта в подвале WordPress, необходимо установить true в значении параметра $in_footer, как это сделано в примере ниже:

function wpb_adding_scripts() {
    wp_register_script('my-script', get_template_directory_uri() . '/js/my-script.js','','1.0', true);
    wp_enqueue_script('my-script');
}
add_action( 'wp_enqueue_scripts', 'wpb_adding_scripts' );

Как вариант, чтобы разместить скрипт в подвале WordPress, можно выполнить повторную регистрацию JavaScript:

function wpb_adding_scripts() {
    wp_deregister_script('my-script');
    wp_register_script('my-script', get_template_directory_uri() . '/js/my-script.js','','1.0', true);
    wp_enqueue_script('my-script');
}
add_action( 'wp_print_scripts', 'wpb_adding_scripts' );

Если ваши скрипты не участвуют в отображении страницы, можно переместить загрузку всех внешних скриптов в подвал WordPress. Для этого используем функцию ниже:

function footer_enqueue_scripts() {
    # Удаляем JavaScript из заголовка
    remove_action('wp_head', 'wp_print_scripts');
    remove_action('wp_head', 'wp_print_head_scripts', 9);
    remove_action('wp_head', 'wp_enqueue_scripts', 1);
    # Выводим в footer
    add_action('wp_footer', 'wp_print_scripts', 5);
    add_action('wp_footer', 'wp_enqueue_scripts', 5);
    add_action('wp_footer', 'wp_print_head_scripts', 5);
}
add_action('after_setup_theme', 'footer_enqueue_scripts');

JQuery: Открыть ссылку в новом окне

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

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

Чтобы браузер самостоятельно открывал ссылки в новом окне, необходимо использовать специальный атрибут target="_blank". Как быть, если по какой-либо причине, ранее вы не использовали данный атрибут. В данной ситуации будет полезен небольшой JavaScript, который навсегда избавит вас от данной проблемы.

В шаблоне вашего сайта, перед закрытием тега </body> необходимо добавить код из примера ниже. Теперь, вне зависимости от наличия атрибута target="_blank", скрипт автоматически будет открывать исходящие ссылки в новой вкладке браузера. При этом, навигация по внутренним ссылкам сайта останется без изменений.

<script type= "text/javascript">
$('a').each(function() {
    var a = new RegExp('/' + window.location.host + '/');
    if(!a.test(this.href)) {
         $(this).click(function(event) {
         event.preventDefault();
         event.stopPropagation();
         window.open(this.href, '_blank');
         });
    }
})
</script>;

Закрыть ссылку от индексации

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

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

В данной статье я хочу рассказать вам о альтернативном методе, как закрыть внешние ссылки от индексации на WordPress сайте без использования дополнительный плагинов. Ссылка, которую мы хотим закрыть, будет выглядеть в глазах поисковых систем как обычный фрагмент текста, но при этом как и при использовании тэга <a> перенаправлять посетителей на другие сайты.

Для того чтобы закрыть ссылку от индексирования, мы будем записывать ее в виде текста размещенного внутри HTML-тега <span>. Самостоятельно <span> не имеет логического значения и выполняет функцию тэга-контейнера, который используют для форматирования или назначения уникального идентификатора выделенному фрагменту текста.

Чтобы сделать закрытую ссылку в браузере посетителя активной и ничем не отличающейся от других ссылок, мы будем использовать внутри HTML-документа специальный JavaScript код. Дополнительно назначим для тэга <span> стили оформления, которые уже используют ссылки на нашем сайте.

Закрыть ссылку от индексации в WordPress

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

Открываем панель управления WordPress и переходим в меню «Внешний вид» — «Редактор». Необходимо добавить в файл footer.php перед закрытием тега </body> следующий скрипт:

<script type= "text/javascript">function GoTo(link){window.open(link.replace("url:","http://"));}</script>

Для тега <span> необходимо указать стили таким образом, чтобы формат текста своим внешним видом ничем не отличался от обычной ссылки на нашем сайте. Открываем файл style.css, копируем код из примера ниже и устанавливаем значение селекторов CSS под внешний стиль ссылок.

.spanurl {
  color: #333;
  border-bottom: 1px solid #333;
  cursor:pointer;
}
.spanurl:hover {
  color: #707070;
  border-bottom: none;
}

Теперь, чтобы закрыть ссылку от индексации, вместо обычной ссылки <a href="url"></a> необходимо использовать следующий код:

<span class="spanurl" onclick="GoTo('url:example.com/')">Example Domain</span>

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

function shortcode_spanurl($content) {
 
    $pattern = '/[spanurl](.*?)<a (.*?)href=["']([a-zA-Z]+://)?(.*?)["'](.*?)>(.*?)</a>(.*?)[/spanurl]/i';
    $spanurl = preg_replace($pattern, "$1<span class='spanurl' onclick="GoTo('url:$4')">$6</span>$7", $content);
 
return $spanurl;
}
add_filter('the_content', 'shortcode_spanurl');

Используем Lazy Load для загрузки Disqus

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

Скорость загрузки страницы можно легко увеличить с помощью Lazy Load. Технология Lazy Load представляет собой JavaScript-функцию для отложенной загрузки содержимого сайта. Таким образом, элементы страницы, которые не попадают в поле зрения пользователя, не будут загружаться до тех пор, пока пользователь не прокрутит страницу вниз.

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

Используем Lazy Load для загрузки Disqus

На данный момент существует множество готовых Lazy Load скриптов для разных популярных фреймворков. Чтобы избежать подключения дополнительных JavaScript-библиотек, для загрузки комментариев Disqus с помощью функции Lazy Load, я буду использовать библиотеку jQuery.

Если вы ранее не использовали jQuery, необходимо подключить библиотеку в шаблоне вашего сайта:

<script type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js?ver=1.11.1'></script>

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

function wpdocs_dequeue_script() {
    wp_deregister_script('jquery');
    wp_register_script('jquery', ("//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"), false, '1.11.3');
    wp_enqueue_script('jquery');
}
add_action( 'wp_print_scripts', 'wpdocs_dequeue_script', 100 );

Непосредственно сам скрипт, отвечающий за загрузку комментариев Disqus при при скроллинге страницы браузера:

<script type="text/javascript">
var disqus_identifier = window.location.url;
var ds_loaded = false;

function loadDisqus()
{
    var disqus_div = $("#disqus_thread");
    var top = disqus_div.offset().top;
    var disqus_data = disqus_div.data();
    if ( !ds_loaded && $(window).scrollTop() + $(window).height() > top ) 
    {
        ds_loaded = true;
        for (var key in disqus_data) 
        {
            if (key.substr(0,6) == 'disqus') 
            {
                window['disqus_' + key.replace('disqus','').toLowerCase()] = disqus_data[key];
            }
        }
        var dsq = document.createElement('script');
        dsq.type = 'text/javascript';
        dsq.async = true;
        dsq.src = 'http://' + window.disqus_shortname + '.disqus.com/embed.js';
        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
    }  
}

$(function () 
{
    var disqus_div = $("#disqus_thread");
    if (disqus_div.size() > 0) 
    {
        $(window).scroll(loadDisqus);      
    }  
}
);
</script>

Скрипт лучше вынести в отдельный файл, а затем подключить его в functions.php:

function disqus_lazyload_script() {
    wp_enqueue_script('disqus', get_stylesheet_directory_uri() . '/disqusLazyLoad.js', array('jquery'), false, true); 
}
add_action( 'wp_enqueue_scripts', 'disqus_lazyload_script', 30 );

В месте отображения блока комментариев Disqus необходимо добавить строку ниже, в которой необходимо заменить значение параметра data-disqus-shortname на ваш идентификатор.

<div id="disqus_thread" data-disqus-shortname="DISQUS_SHORTNAME"></div>

Загрузка jQuery с Google CDN

Многие шаблоны, плагины и компоненты сайта используют для своей работы библиотеку скриптов jQuery. По умолчанию в WordPress скрипты загружаются из папки wp-includes. Первоначальный размер библиотеки jQuery составляет порядка 300KB, после минимизации его можно уменьшить до 90KB. Дополнительно количество передаваемых данных можно снизить за счет использования сжатия GZIP.

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

Ситуация кардинально меняется если посетители запросят миллион страниц с пустым кэшем браузера, в этом случае используя CDN вы экономите до 76GB трафика. А при использовании популярного Google CDN, есть большая вероятность, что необходимая библиотека jQuery уже лежит внутри кэша браузера. В добавок, если сравнить скорости загрузки с CDN и обычного хостинга, то разница во времени может отличаться в несколько раз в пользу CDN.

Таким образом, используя CDN для загрузки jQuery, мы без труда убираем один лишний запрос к серверу и немного уменьшаем время загрузки страниц сайта. Так зачем игнорировать такую возможность?

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

  • jQuery CDN
  • Google CDN
  • Microsoft CDN
  • CDNJS CDN
  • Яндекс CDN

Подробней о использовании указанных CDN-сервисов вы можете прочитать на официальном сайте jQuery. Что касается меня, для своих нужд я предпочитаю использовать Google CDN — наиболее популярный среди всех бесплатных CDN-сервисов, 89% от загрузок которого приходится на библиотеку jQuery. Поэтому, далее речь пойдет о использовании именного этого сервиса.

Особенности использования Google CDN

При использовании Google CDN, вы можете прямо указать версию (1.11.1) загружаемой библиотеки или с помощью модификации фрагмента ссылки, указать необходимые параметры для загрузки jQuery.

Пример подключения jQuery с использованием точной версии библиотеки:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

Для загрузки последней актуальной версии jQuery используем код:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

Следует отметить, что время жизни файла в кэше браузера, напрямую зависит от ссылки, которую мы будем использовать для подключения библиотеки. При использовании ссылки содержащей точную версию библиотеки, время хранение файла в кэше будет ограничено сроком равным одному году max-age=31536000. Если вы используете ссылку для последней актуальной версии jQuery, файл будет храниться в кэше в течении часа max-age=3600.

Используем Google CDN для загрузки jQuery в WordPress

Для загрузки jQuery с Google CDN на сайте использующем WordPress, для начала необходимо выяснить необходимую версию библиотеки. Для этого достаточно заглянуть в содержимое HTML-документа вашего сайта. Для правильного подключения jQuery в WordPress необходимо добавить код функции ниже в содержимое файла functions.php вашей темы:

function wpdocs_dequeue_script() {
    wp_deregister_script('jquery');
    wp_register_script('jquery', ("//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"), false, '1.11.1');
    wp_enqueue_script('jquery');
}
add_action( 'wp_print_scripts', 'wpdocs_dequeue_script', 100 );

Данная функция удалит из очереди на подключение библиотеку из каталога wp-includes и заменяет ее на jQuery с сайта Google CDN.

Убрать версию CSS/JS файлов в WordPress

По умолчанию, WordPress добавляет параметр ?ver=[версия] в конец адреса всех подключаемых CSS и JavaScript файлов. Использование версионности, добавляет удобный механизм для контроля состояния кэша браузера посетителей. После изменения файлов, для того чтобы браузер автоматически загрузил актуальные версии CSS или JavaScript, веб-мастеру достаточно просто изменить числовой индекс ver для подключенного файла.

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

Для того чтобы удалить ver из строки подключения, необходимо добавить следующий код в содержимое файла functions.php вашей темы:

function vc_remove_wp_ver_css_js( $src ) {
    if ( strpos( $src, 'ver=' ) )
        $src = remove_query_arg( 'ver', $src );
    return $src;
}
add_filter( 'style_loader_src', 'vc_remove_wp_ver_css_js', 9999 );
add_filter( 'script_loader_src', 'vc_remove_wp_ver_css_js', 9999 );

Отключить Emoji в WordPress

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

О популярности этих иконок можно судить хотя бы по тому, что даже поисковый гигант Google некоторое время отображал Emoji в десктопной выдаче. После того как сайты стали использовать Emoji для привлечения SEO-трафика, от этой идеи вскоре отказались.

Что касается WordPress, то поддержка Emoji в нем реализована на уровне ядра. Для работы данной функции WordPress использует внешнюю библиотеку Twemoji от Twitter, а иконки загружаются с сайта WordPress.org. Изначально настроек для отключения Emoji в WordPress не предусмотрено.

Не знаю, что побудило разработчиков добавить данную функцию по умолчанию, но я надеюсь, что в ближайшем будущем это недоразумение выпилят из WordPress. А пока, для того что бы отключить Emoji необходимо добавить в файл functions.php следующую функцию:

function disable_emojis() {
	remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
	remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
	remove_action( 'wp_print_styles', 'print_emoji_styles' );
	remove_action( 'admin_print_styles', 'print_emoji_styles' );	
	remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
	remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );	
	remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
	add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );
}
add_action( 'init', 'disable_emojis' );
function disable_emojis_tinymce( $plugins ) {
	if ( is_array( $plugins ) ) {
		return array_diff( $plugins, array( 'wpemoji' ) );
	} else {
		return array();
	}
}

Как вариант, можно отключить Emoji в WordPress при помощи специально плагина Disable Emojis.