WordPressテーマのHEADセクションと不要なJSおよびCSSファイルをクリーンアップします

公開: 2018-09-04

WordPressコアは、必要かどうかに関係なく、サイトのHTML headセクションに非常に多くのコードを広告します。 そのコードは役に立たないというわけではなく、ほとんどのサイトで目的を果たします。 ただし、クリーンコードフリークであるか、WordPressを使用してSaaSを強化している場合は、HTMLをクリーンアップする必要があります。 WPのほとんどのものと同様に、それはいくつかのアクションとフィルターを削除するだけの問題です。

#WordPressは、#SaaSサイトを構築するための優れたプラットフォームです。 しかし、それを行う前に、少しのクリーニングが必要です。

クリックしてツイート

HEAD、CSS、またはJSファイルでこれらのタグを削除するのはなぜですか?

いくつかの理由があります。 コードとサイトをできるだけきれいに保つことを好む人もいます。 必要がなく、削除する方法を知っているのに、なぜHTMLでコード行を作成するのですか。 理由はありません。 追加のCSSおよびJSファイルについても同じことが言えます。 サイトで絵文字を使用していない場合、なぜそのJSをすべてのページに含めるのですか?

次に、セキュリティがあります。 WordPressが自動的に追加するHTMLの一部は、過去に悪用されたURLを表示します。 これらのURL(特にXML RPCエンドポイント)は秘密ではないことを強調する必要があります。 それらは公開されるべきです。 しかし、それらをカスタムのものに変更し、それらを非表示にすることは既知の方法です。 その場合、HTMLにこれらのURLを含めたくないのは明らかです。

速度もHTMLをクリーンアップする正当な理由です。 HTMLから数百文字を削除することでどれだけの利益が得られるかはわかりませんが、これは正しい方向への一歩です。 不要なJSファイルとCSSファイルを削除すると、いくつかのHTTPリクエストが節約されます。これは、最適化に重点を置く必要があるものです。 Tidy Repoは最近、100以上のWordPressテーマの速度をテストしました。リクエストの数は、サイト全体の速度に大きな影響を与えます。

クリーンなHTMLコードを使用することで、サイトで何が起こっているかを確実に把握でき、サイトの速度を最適化するための優れたスタートとなります。

最後になりましたが、このコードが便利な理由と理由は、WordPressを利用したSaaSです。 SaaSを構築するときは、HTMLの内容を完全に制御する必要があり、WPがそれ自体でHTMLに追加するものの大部分は、使用するものではありません。 したがって、上記のすべての理由のために、可能な限りクリーンアップします。 これにより、SaaSの強化に使用されるWPのコア機能の99%を維持しながら、カスタムソリューションを構築するための優れた無駄のないプラットフォームが提供されます。

これらのものを安全に削除できますか? 彼らは目的を果たしていませんか?

はい、それらは目的を果たしますが、特定の状況でのみです。 「平均的な」ウェブサイトでは、ヘッダーにいくつかの追加のlinkタグがあれば問題ありません。これらはすべて、特定の操作と統合を容易にします。 ただし、これらはサイトの機能にとって重要ではなく、SaaSにとっても重要ではありません。

いくつかのコードをクリーンアップしましょう

以下のコードは、任意のテーマでテストできます。 デフォルトの2017は問題なく動作します。 ただし、「通常の」WordPressテーマ(およびその上にいくつかのプラグイン)を使用している場合、誰がコードを追加したか(WPコア、テーマ、またはプラグイン)を知ることはできません。 サイトをリセットしてすべてのプラグインを削除してから、 wp_head()wp_footer() )のみを含むテーマを使用することをお勧めします。 そのindex.phpは次のようになり、テストに使用できるテストテーマ全体は次のようになります。

<!DOCTYPE html>
<html>
<head>
  <?php
    wp_head();
  ?>
</head>
<body>
  <h1>The Most Basic WP Theme</h1>
  <?php
    wp_footer();
  ?>
</body>
</html>

テストテーマをアクティブにしてフロントページのソースを開くと、上記のindex.phpに表示されているよりもはるかに多くのコードに気付くでしょう。 それが私たちが一掃するものです。 以下のコードをテーマのfunctions.phpに配置します。 機能を削除/無効にしたくない場合は、その機能に言及している行をコメントアウトしてください。

add_action('after_setup_theme', 'cleanup');

function cleanup() {
  remove_action('wp_head', 'rsd_link');
  remove_action('wp_head', 'wp_generator');
  remove_action('wp_head', 'feed_links', 2); 
  remove_action('wp_head', 'feed_links_extra', 3);
  remove_action('wp_head', 'index_rel_link');
  remove_action('wp_head', 'wlwmanifest_link');
  remove_action('wp_head', 'start_post_rel_link', 10, 0);
  remove_action('wp_head', 'parent_post_rel_link', 10, 0);
  remove_action('wp_head', 'adjacent_posts_rel_link', 10, 0);
  remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
  remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0);
  remove_action('wp_head', 'print_emoji_detection_script', 7);
  remove_action('wp_head', 'rel_canonical');
  remove_action('wp_head', 'rel_alternate');
  remove_action('wp_head', 'wp_oembed_add_discovery_links');
  remove_action('wp_head', 'wp_oembed_add_host_js');
  remove_action('wp_head', 'rest_output_link_wp_head');
  
  remove_action('rest_api_init', 'wp_oembed_register_route');
  remove_action('wp_print_styles', 'print_emoji_styles');
  
  remove_filter('oembed_dataparse', 'wp_filter_oembed_result', 10);
  remove_filter('pre_oembed_result', 'wp_filter_pre_oembed_result', 10);
  
  add_filter('embed_oembed_discover', '__return_false');
  add_filter('show_admin_bar', '__return_false');
}

何をしますか

rsd_linkアクションは、本当に単純な検出リンクを表示する役割を果たしますが、 wp_generatorはWPバージョンを表示し、WP用に作成されたほぼすべてのセキュリティプラグインによって削除されます。 2つのfeed_linksアクションは、いくつかのRSSフィードにさまざまなリンクを追加します。 さまざまな_rel_linkアクションにより、投稿へのリンクが追加されるため、さまざまなサービスでよりアクセスしやすく、簡単に見つけることができます。 Windows Live Writerを使用している場合を除き、 wlwmanifest_linkアクションは実際には必要ありません。 print_emoji_detection_scriptを使用できるように、 print_emoji_detection_scriptは必要ありません。同じことが、RESTAPIでのoembedのサポートを含むさまざまなoembedリンクにも当てはまります。 oembed_dataparseアクションを削除すると、WPが投稿内のリンクを混乱させたり、oembedを介してそれらをリッチメディアに変えたりしないようになります。 最後のフィルターshow_admin_barは、アカウントごとの設定に関係なく、WP管理バーがフロントエンドに表示されないようにします。

#WordPressには、アクションとフィルターで変更できないものがいくつかあります。 ありがたいことに、HEADコンテンツを制御することはそれらの1つではありません。

クリックしてツイート

WordPressの柔軟性は素晴らしいです

「WPヘッダーからジャンクを削除する方法」などのタイトルで多くの記事が浮かんでいます。 がらくたではありません。 それは、WordPressにすぐに使える大きな力を与えるものです。 多くの人がそれを高く評価しており、設定に何時間も費やす必要はありません。 一方、クリーニングは、いくつかのアクションを削除するだけの問題です。 HTMLに何を入れるかを完全に制御でき、WordPressを使用してSaaSなどの非コンテンツサイトを簡単に強化できます。