Их удаление может значительно ускорить загрузку страниц, убрав несколько сотен лишних килобайт. А также сделает html код аккуратнее. Очистка без плагинов.
Собрано в кучу из разных страниц в сети.
Нужный код добавить в файл functions.php (в папке темы) в конец, перед ?>
Удаление ссылок на предыдущую и следующую статью в head (<link rel='prev/next' ...>)
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 ); /* ссылки на соседние посты */
Удаление <link rel='shortlink' ...>
remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 ); /* shortlink */
Удаление <link rel="alternate" type="application/rss+xml" ...">
remove_action( 'wp_head', 'feed_links_extra', 3 ); /* rel alternate */
Удаление ссылки на rss фиды (<link rel="alternate" type="application/rss+xml" ...>)
remove_action( 'wp_head', 'feed_links', 2 ); /* rss+xml*/
Удаление ссылки на (<link rel="EditURI" type="application/rsd+xml" title="RSD" ...>)
remove_action( 'wp_head', 'rsd_link' ); /*rsd+xml */
Удаление ссылки <link rel="wlwmanifest" type=... ...">
remove_action( 'wp_head', 'wlwmanifest_link' ); /* wlwmanifest */
Удаление строки <meta name="generator" content="WordPress 4.5.2"> (скрыть версию wordpress)
remove_action( 'wp_head', 'wp_generator' ); /* meta content WordPress n.n.n */
Эти 4 строки не совсем понятно что убирают, но тоже предлагаются для чистки. В моей теме ничего не изменили.
remove_action( 'wp_head', 'index_rel_link' ); /* index link */ remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 ); /* prev link */ remove_action( 'wp_head', 'start_post_rel_link', 10, 0 ); /* start link */ remove_action( 'wp_head', 'adjacent_posts_rel_link', 10, 0 ); /* Display relational links for the posts adjacent to the current post. */
Отключение ссылок API (<link rel='https://api.w.org/'...>) и oembed (<link rel="alternate" type="application/json+oembed...">)
remove_action( 'wp_head', 'rest_output_link_wp_head'); remove_action( 'wp_head', 'wp_oembed_add_discovery_links'); remove_action( 'template_redirect', 'rest_output_link_header', 11, 0 );
Отключение скрипта jquery-migrate.min.js из header и подключение jQuery из Google API
function crunchify_remove_jquery_migrate_load_google_hosted_jquery() { if (!is_admin()) { wp_deregister_script('jquery'); wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js', false, null); wp_enqueue_script('jquery'); } } add_action('init', 'crunchify_remove_jquery_migrate_load_google_hosted_jquery');
Удаление указания версии js и css (=?ver) в теме, типа "/style.css?ver=2.3.3"
function remove_cssjs_ver( $src ) { if( strpos( $src, '?ver=' ) ) $src = remove_query_arg( 'ver', $src ); return $src; } add_filter( 'style_loader_src', 'remove_cssjs_ver', 10, 2 ); add_filter( 'script_loader_src', 'remove_cssjs_ver', 10, 2 );
Отключении файла wp-embed.min.js в футере
function my_deregister_scripts(){ wp_deregister_script( 'wp-embed' ); } add_action( 'wp_footer', 'my_deregister_scripts' );
удаление стилей для img.wp-smiley,img.emoji в хидере, если не нужны смайлы
remove_action('wp_head', 'print_emoji_detection_script', 7); remove_action('wp_print_styles', 'print_emoji_styles');
Удаление ссылки на comment-reply.min.js в footer'е (файл может быть полезным для комментирования)
function crunchify_clean_header_hook(){ wp_deregister_script( 'comment-reply' ); } add_action('init','crunchify_clean_header_hook');
Классы menu-item
Убрать id и классы меню (<li id="menu-item-34" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-34">) и оставить чистые <li>. Это можно делать в том случае, если они без стилей в вашей теме (поиск по фразе "menu-item" в файле style.css поможет это определить). Очень красиво выглядит чистый код меню.
add_filter('nav_menu_css_class', 'my_css_attributes_filter', 100, 1); add_filter('nav_menu_item_id', 'my_css_attributes_filter', 100, 1); add_filter('page_css_class', 'my_css_attributes_filter', 100, 1); function my_css_attributes_filter($var) { return is_array($var) ? array() : ''; }
Комментариев нет:
Отправить комментарий