SEO-оптимизация WordPress без плагинов

Сегодня мы с вами поговорим про SEO-оптимизацию WordPress. И в этой статье речь не пойдет о каких-то плагинах. Потому что что? Потому что мы помним, что каждый плагин замедляет время загрузки сайта на 0,3 сек. Только руками. Только хардкор. Но все по пунктам.

Важный момент! Удаляйте и отключайте что-то только при условии, что вы этим не пользуетесь

SEO-оптимизация WordPress без плагинов

Лень читать? Слушай

Отключаем RSS-ленты WordPress

Отключаем RSS-ленты WordPress
Отключаем RSS-ленты WordPress

SEO-оптимизаторы рекомендуют отключить все RSS-ленты. И записей, и комментариев, и и категорий и архивов.

Зачем это делать?

Во время загрузки каждой страницы вашего сайта эти ссылки и записи лезут в код страницы. «Отвлекают» поискового робота. Замедляют загрузку страницы.

Ну а если вы переживаете за работу сайта — не стоит. С одной стороны, этот шаг сохранит ваш контент. Никто не сможет его с сайта тянуть. Во-вторых, ну серьезно, кто сегодня пользуется RSS? Это экономически не выгодно любому автору.

Отключить RSD и Windows для LiveWriter ссылки WordPress

Отключить RSD и Windows для LiveWriter ссылки WordPress
Отключить RSD и Windows для LiveWriter ссылки WordPress

WordPress существует уже достаточно давно. И RSD и Windows для LiveWriter ссылки остались с тех времен, когда слово «трафик» воспринималось исключительно в негативном ключе. Потому что за него нужно было платить.

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

Как это сделать?

В панели администратора выбираете пункт Внешний вид — Редактор тем — functions.php И для верности в самый конец файла, после всех скобок добавляете следующий код.

    
// Отключение rss-ленты
function fb_disable_feed() {
wp_redirect(get_option('siteurl'));
}

add_action('do_feed', 'fb_disable_feed', 1);
add_action('do_feed_rdf', 'fb_disable_feed', 1);
add_action('do_feed_rss', 'fb_disable_feed', 1);
add_action('do_feed_rss2', 'fb_disable_feed', 1);
add_action('do_feed_atom', 'fb_disable_feed', 1);

remove_action( 'wp_head', 'feed_links_extra', 3 );
remove_action( 'wp_head', 'feed_links', 2 );

// Отключение RSD-ссылки
remove_action( 'wp_head', 'rsd_link' );
// Отключение wlwmanifest-ссылки
remove_action( 'wp_head', 'wlwmanifest_link' );


Отключить REST API в WordPress

Отключить REST API в WordPress
Отключить REST API в WordPress

Здесь будьте очень внимательны. REST API отвечают за внешние рубежи вашего сайта. Они вам нужны если вы делаете на основе сайта мобильное приложение, или вам важно, чтобы вашими статьями делились на других платформах (соц. сети и пр).

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

Я на своих сайтах этот способ оптимизации не использую

Как отключить REST API в WordPress

Все в том же functions.php

Отключить сам REST API:

 
add_filter('rest_enabled', '__return_false');   

Отключить фильтры REST API:

 
remove_action('xmlrpc_rsd_apis', 'rest_output_rsd');
remove_action('wp_head', 'rest_output_link_wp_head', 10, 0);
remove_action('template_redirect', 'rest_output_link_header', 11, 0);
remove_action('auth_cookie_malformed', 'rest_cookie_collect_status');
remove_action('auth_cookie_expired', 'rest_cookie_collect_status');
remove_action('auth_cookie_bad_username', 'rest_cookie_collect_status');
remove_action('auth_cookie_bad_hash', 'rest_cookie_collect_status');
remove_action('auth_cookie_valid', 'rest_cookie_collect_status');
remove_filter('rest_authentication_errors', 'rest_cookie_check_errors', 100); 

Отключить события REST API:

 
remove_action('init', 'rest_api_init');
remove_action('rest_api_init', 'rest_api_default_filters', 10, 1);
remove_action('parse_request', 'rest_api_loaded');

Отключить Embeds связанные с REST API:

 
remove_action('rest_api_init', 'wp_oembed_register_route');
remove_filter('rest_pre_serve_request', '_oembed_rest_pre_serve_request', 10, 4);

Отключить короткие ссылки в WordPress

Отключить короткие ссылки в WordPress
Отключить короткие ссылки в WordPress

Все мы знаем, что WordPress создает короткие ссылки для своих страниц и записей. Кто ими пользуется? Никто. Для правильного SEO мы с вами прекрасно знаем, что URL должен быть в формате ЧПУ

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

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

Как отключить короткие ссылки в WordPress

Все в том же functions.php

 
remove_action( 'wp_head', 'wp_shortlink_wp_head' ); 

Отключить отображение версии WordPress

Отключить отображение версии WordPress
Отключить отображение версии WordPress

Не столько для SEO, сколько для общей безопасности, лучше везде и всюду скрыть отображение версии WordPress. Как известно, WP — открытый исходный код. Соответственно, и вирусов у CMS куча. И когда мы в самом начале сообщаем злоумышленникам нашу версию сайта, делаем себе только хуже.

Как отключить отображение версии WordPress

Все в том же functions.php

 
//удаление версии WordPress start 
function remove_wpversion() {
     return '';
}
add_filter('the_generator', 'remove_wpversion');

Отключить ссылки на предыдущую и следующую статьи на страницах WordPress

Отключить ссылки на предыдущую и следующую статьи на страницах WordPress
Отключить ссылки на предыдущую и следующую статьи на страницах WordPress

Ссылки на предыдущую и следующую статьи на WordPress не нужны. Они нелепо смотрятся в 2020 году на сайтах. Они ломают грамотную перелинковку SEO-специалиста. Поисковый робот легко может не добраться до нужных вам ссылок в статье, или рекомендациях.

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

Как отключить ссылки на предыдущую и следующую статьи на страницах WordPress

Вниху статьи ссылки отключаются скорее всего в вашей теме WordPress. Поищите там.

В шапке сайта они убираются по традиционной схеме в файле functions.php код

 
remove_action( 'wp_head', 'adjacent_posts_rel_link', 10, 0 );

Отключить поддержку Emoji WordPress

Отключить поддержку Emoji WordPress
Отключить поддержку Emoji WordPress

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

Отключить поддержку Emoji WordPress

Файле functions.php добавляем код

 
/**
 * Disable the emoji's
 */
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_filter( 'wp_resource_hints', 'disable_emojis_remove_dns_prefetch', 10, 2 );
}
add_action( 'init', 'disable_emojis' );
/**
 * Filter function used to remove the tinymce emoji plugin.
 * 
 * @param array $plugins 
 * @return array Difference betwen the two arrays
 */
function disable_emojis_tinymce( $plugins ) {
 if ( is_array( $plugins ) ) {
 return array_diff( $plugins, array( 'wpemoji' ) );
 } else {
 return array();
 }
}
/**
 * Remove emoji CDN hostname from DNS prefetching hints.
 *
 * @param array $urls URLs to print for resource hints.
 * @param string $relation_type The relation type the URLs are printed for.
 * @return array Difference betwen the two arrays.
 */
function disable_emojis_remove_dns_prefetch( $urls, $relation_type ) {
 if ( 'dns-prefetch' == $relation_type ) {
 /** This filter is documented in wp-includes/formatting.php */
 $emoji_svg_url = apply_filters( 'emoji_svg_url', 'https://s.w.org/images/core/emoji/2/svg/' );
$urls = array_diff( $urls, array( $emoji_svg_url ) );
 }
return $urls;
}

И еще фрагмент. Чтобы нам с вами совсем не страдать, нужно отключить ссылку на репозиторий, который типа «ускоряет загрузку Emoji». Код

 
remove_action( 'wp_head', 'wp_resource_hints', 2 );

Отключить .recentcomments WordPress

Отключить .recentcomments WordPress
Отключить .recentcomments WordPress

Довольно странное решение с точки зрения разработчиков WordPress, выделить CSS код одного виджет, а именно «последние комментарии», в сделать так, чтобы он принудительно грузился в шапку шапку вашего сайта. Роботы Яндекса такого не любят.

Как отключить .recentcomments WordPress

Файле functions.php добавляем код

 
remove_action( 'wp_head', 'wp_resource_hints', 2 );

Для ленивых

Последнее, что хочется разместить — это ссылка на html файл со всем кодом, который лично я разместил в свой functions.php Если у вас нужды схожи с моими, то можно просто скачать и вставить.

Примечание. Аккуратней с этим колом. У нас с вами разные хостинги, плагины, темы… Поэтому лучше повтыкайте код руками, проверяя работоспособность сайта.

Комментарии:

2 комментариев для “SEO-оптимизация WordPress без плагинов

Обсуждение закрыто.

Закрыть

Сайт бесплатно

Man trapped in cave illustration

Видео для спонсоров