wp_head()で出力される項目が!
WordPressもヴァージョンが上がるにつれて機能も充実してきて、とても使い勝手の良いCMSになってきています。
その中で、wp_head()はとても重要な関数です。詳しい機能は以下のリンク先の公式リファレンスを見て下さい。
wp_head()関数リファレンス
しかし、wp_head()関数で出力される項目が増えてきているのもちょっとした問題です。
例えば、wp_generatorなども呼び出されるのだが、こちらはWordpressのバージョン情報なども出力してしまうので、セキュリティ的にもあまりよろしくないです。
また、他のタグも多数出力されるので、headタグ内の行数が多くなりSEO的にもあまり良いとは思えません。
そこで、remove_action()関数を使い、wp_head()で出力されるタグの整理をします。
wp_enqueue_scripts()関数
wp_print_styles()関数
wp_print_head_scripts()関数
この関数はプラグインなどで、お世話になっているケースが多いかと思います。
ただこれを使うプラグインが増えてくると、head内にたくさんlinkタグやscriptタグが氾濫してしまいます。
クライアントワークでは、邪魔になるケースが多々ありますので、とりあえず削除しておきます。
自作themeで使う時にはとても便利な関数なので、ケースバイケースで削除しない場合も。
adjacent_posts_rel_link_wp_head()関数
parent_post_rel_link()関数
start_post_rel_link()関数
rel_canonical()関数
前後の記事のURLを指すタグlink rel=”next”やlink rel=”startなどを出力する関数たち。これも必要ないです。
Googleがページネーションを正確にインデックスさせる目的でrel=”next”/rel=”prev”のサポートを開始とのニュースもありました。この機能は自動で関連タグが挿入されるのですが、前後の関係をコントロールするのが難しいのです。必要ならば自作で吐き出す関数を作成した方がコントロールしやすいのでこちらも削除します。
rsd_link()関数
EditURIとは外部ツールを利用してブログ編集用のアドレス。
feed_links()関数
サイト全体へのfeedを出力する。
feed_links_extra()関数
その他のフィード(カテゴリー等)へのリンクを表示。
wlwmanifest_link()関数
Windows Live Writerを使ってブログ投稿をする時に使用。
index_rel_link()関数
link rel=”index”を出力。
上記はあっても問題ないですが、それほど重要でもありません。
フィード関連はあっても良いかもしれませんが、削除してもいいでしょう。
wp_shortlink_wp_head()関数
ショートカットURLを表示します。これも必要ないでしょう。
remove_actionをfunctions.phpに記述して出力しないように設定します。
条件に合わせて増やしたり減らしたりします。
remove_action('wp_head', 'wp_enqueue_scripts', 1); remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0); remove_action('wp_head', 'feed_links_extra',3,0); remove_action('wp_head', 'rsd_link'); remove_action('wp_head', 'wlwmanifest_link'); remove_action('wp_head', 'wp_generator'); remove_action('wp_head', 'index_rel_link'); remove_action('wp_head', 'parent_post_rel_link'); remove_action('wp_head', 'start_post_rel_link'); remove_action('wp_head', 'rel_canonical'); remove_action('wp_head', 'wp_print_styles', 8); remove_action('wp_head', 'wp_print_head_scripts', 9); remove_action('wp_head', 'wp_shortlink_wp_head');