Всім привіт! У сьогоднішній статті я опишу свої стандартні дії по оптимізації вихідного html-коду сайту на WordPress. Я не буду розмірковувати про користь або необхідності наявності на сайті якихось елементів, наприклад посилань на pingback, в моїй ситуації їх просто необхідно видалити. Та й взагалі, скільки людей, стільки й думок, але я висловлю свою, а вам вирішувати, що з цього використовувати, а що ні.
Чистимо вміст head
У вихідному коді сторінки можна знайти дуже багато зайвого і непотрібного коду саме в цьому теге. Щоб виправити ситуацію нам потрібно буде залізти до вмісту файлів header.php і functions.php.
1. Редагуємо header.php
Просто знаходимо і видаляємо у шаблоні такі рядки:
1 2 |
2. Видаляємо meta name=generator
Щоб видалити непотрібні теги, додаємо в functions.php наступні рядки:
remove_action( ‘wp_head’, ‘wp_generator’ );
1 | remove_action( ‘wp_head’, ‘wp_generator’ ); |
3. Видаляємо link rel=EditURI
remove_action( ‘wp_head’, ‘rsd_link’ );
1 | remove_action( ‘wp_head’, ‘rsd_link’ ); |
4. Видаляємо link rel=wlwmanifest
remove_action( ‘wp_head’, ‘wlwmanifest_link’ );
1 | remove_action( ‘wp_head’, ‘wlwmanifest_link’ ); |
5. Видаляємо link rel=shortlink
remove_action( ‘wp_head’, ‘wp_shortlink_wp_head’ );
1 | remove_action( ‘wp_head’, ‘wp_shortlink_wp_head’ ); |
6. Видаляємо посилання на RSS-фіди
Знаходимо і видаляємо у functions.php такий рядок:
add_theme_support( ‘automatic-feed-links’ );
1 | add_theme_support( ‘automatic-feed-links’ ); |
Та/або додаємо такий код:
remove_action( ‘wp_head’, ‘feed_links’ );
remove_action( ‘wp_head’, ‘feed_links_extra’ );
1 2 |
remove_action( ‘wp_head’, ‘feed_links’ ); remove_action( ‘wp_head’, ‘feed_links_extra’ ); |
Опціонально — робимо редирект каналів на головну сторінку:
function ny_disable_feed() {
wp_redirect( get_option( ‘siteurl’ ), 301 );
}
add_action( ‘do_feed’, ‘ny_disable_feed’, 1 );
add_action( ‘do_feed_rdf’, ‘ny_disable_feed’, 1 );
add_action( ‘do_feed_rss’, ‘ny_disable_feed’, 1 );
add_action( ‘do_feed_rss2’, ‘ny_disable_feed’, 1 );
add_action( ‘do_feed_atom’, ‘ny_disable_feed’, 1 );
1 2 3 4 5 6 7 8 9 |
function ny_disable_feed() { wp_redirect( get_option( ‘siteurl’ ), 301 ); } add_action( ‘do_feed’, ‘ny_disable_feed’, 1 ); add_action( ‘do_feed_rdf’, ‘ny_disable_feed’, 1 ); add_action( ‘do_feed_rss’, ‘ny_disable_feed’, 1 ); add_action( ‘do_feed_rss2’, ‘ny_disable_feed’, 1 ); add_action( ‘do_feed_atom’, ‘ny_disable_feed’, 1 ); |
7. Видаляємо стилі .recentcomments a
function ny_remove_recent_comments_style() {
global $wp_widget_factory;
remove_action( ‘wp_head’, array( $wp_widget_factory->віджети[‘WP_Widget_Recent_Comments’], ‘recent_comments_style’ ) );
}
add_action( ‘widgets_init’, ‘ny_remove_recent_comments_style’ );
1 2 3 4 5 |
function ny_remove_recent_comments_style() { global $wp_widget_factory; remove_action( ‘wp_head’, array( $wp_widget_factory->віджети[‘WP_Widget_Recent_Comments’], ‘recent_comments_style’ ) ); } add_action( ‘widgets_init’, ‘ny_remove_recent_comments_style’ ); |
Чистимо заголовки сервера
Якщо відкрити firebug і подивитися заголовки відповідей сервера, то там теж можна знайти сміття, який непогано б прибрати.
Рекомендую до прочитання: Введення капчі – Joomla
Наведені нижче шматки коду вставляємо в functions.php.
1. Видаляємо Link rel=shortlink
remove_action( ‘template_redirect’, ‘wp_shortlink_header’, 11 );
1 | remove_action( ‘template_redirect’, ‘wp_shortlink_header’, 11 ); |
2. Видаляємо X-Pingback
function ny_remove_x_pingback( $headers ) {
unset( $headers[‘X-Pingback’] );
return $headers;
}
add_filter( ‘wp_headers’, ‘ny_remove_x_pingback’ );
1 2 3 4 5 |
function ny_remove_x_pingback( $headers ) { unset( $headers[‘X-Pingback’] ); return $headers; } add_filter( ‘wp_headers’, ‘ny_remove_x_pingback’ ); |
3. Видаляємо X-Powered By
header_remove( ‘x-powered by’ );
1 | header_remove( ‘x-powered by’ ); |
Висновки
Отже, ми зробили невелику частину роботи по внутрішній оптимізації сайту WordPress. А навіщо все це? По-перше, для SEO. По-друге, наводимо красу у вихідному коді. Чому б і ні?