headタグのmeta(generator)タグを取り除く

headタグのmeta(generator)タグを取り除く - 標準的なテーマが出力するheadタグ内のmeta(generator)タグを取り除く

説明

標準的なWordPressのテーマで出力されるHTMLには、headタグ内に次のようなmetaタグが出力されている。
<meta name="generator" content="WordPress 3.0.5" />
これはページを生成したツールを教えているタグになるわけだが、サイトの利用者にはあまり意味のない情報であり、かつセキュリティ面を考えるとこの情報がないほうが望ましいのではと考えることもできる(バージョンアップしてないことを外部にさらすことになるのだから)。 このmetaタグは、通常のテーマであればheader.phpに記載しているwp_head関数を呼び出すことによって実行されるwp_generator関数によって出力されている。安易に対応するなら、wp_head関数を呼び出さなければいいのだが、wp_head関数は標準で次のようなアクション(/wp-includes/wp-includes/default-filters.phpに記述されている)を実行しており、プラグインの利用などを考慮するなら、wp_head関数はそのままのほうがいい。
// Actions
add_action( 'wp_head',             'wp_enqueue_scripts',            1     );
add_action( 'wp_head',             'feed_links',                    2     );
add_action( 'wp_head',             'feed_links_extra',              3     );
add_action( 'wp_head',             'rsd_link'                             );
add_action( 'wp_head',             'wlwmanifest_link'                     );
add_action( 'wp_head',             'index_rel_link'                       );
add_action( 'wp_head',             'parent_post_rel_link',          10, 0 );
add_action( 'wp_head',             'start_post_rel_link',           10, 0 );
add_action( 'wp_head',             'adjacent_posts_rel_link_wp_head', 10, 0 );
add_action( 'wp_head',             'locale_stylesheet'                    );
add_action( 'publish_future_post', 'check_and_publish_future_post', 10, 1 );
add_action( 'wp_head',             'noindex',                       1     );
add_action( 'wp_head',             'wp_print_styles',               8     );
add_action( 'wp_head',             'wp_print_head_scripts',         9     );
add_action( 'wp_head',             'wp_generator'                         );
add_action( 'wp_head',             'rel_canonical'                        );
add_action( 'wp_footer',           'wp_print_footer_scripts'              );
add_action( 'wp_head',             'wp_shortlink_wp_head',          10, 0 );
add_action( 'template_redirect',   'wp_shortlink_header',           11, 0 );

// Feed Generator Tags
foreach ( array( 'rss2_head', 'commentsrss2_head', 'rss_head', 'rdf_header',
	'atom_head', 'comments_atom_head', 'opml_head', 'app_head' ) as $action ) {
	add_action( $action, 'the_generator' );
}
このwp_generator関数を取り除くには、functions.phpなどでwp_head関数の実行前に次のコードを実行すればいい。
if ( has_action( 'wp_head', 'wp_generator' ) )
	remove_action( 'wp_head', 'wp_generator' );
これでHTMLの対応は終わりだ。また、RSSなどにも生成ツールを示す情報があり、単純に削除するなら、次のコードを実行するといいだろう。
foreach ( array( 'rss2_head', 'commentsrss2_head', 'rss_head', 'rdf_header',
	'atom_head', 'comments_atom_head', 'opml_head', 'app_head' ) as $action ) {
	if ( has_action( $action, 'the_generator' ) )
		remove_action( $action, 'the_generator' );
}
なおこちらは、アクション名が'wp_generator'ではなく、'the_generator'になるので、ご注意を。

関連

  • has_action - WordPressタグにアクションが登録されているか調べる
  • remove_action - WordPressタグに登録されているアクションを削除する
  • the_generator - generatorタグを表示する
  • wp_generator - XHTMLのgeneratorタグを表示する

お勧めコンテンツ

wp_kses_allowed_html(2013年12月26日 登録)

array wp_kses_allowed_html( [ string $context = '' ] )
有効なHTMLタグ情報を取得する。

get_random_header_image(2011年7月5日 登録)

string get_random_header_image( )
複数のヘッダ用イメージからランダムに1つを選びそのURLを取得する。

wp_lostpassword_url(2010年3月19日 登録)

string wp_lostpassword_url( [ string $redirect = '' ] )
パスワードリマインドURLを取得する。パスワードリマインドURLは、ログインページで「パスワードをお忘れですか?」のリンクとして使用されている。

wp_list_pluck(2012年10月8日 登録)

array wp_list_pluck( array $list, mixed $field [ , mixed $index_key = null ] )
配列内のオブジェクトまたは連想配列から特定の値だけを抽出する。

add_permastruct(2012年8月3日 登録)

void add_permastruct( string $name, string $struct [ , mixed $args = array() ] )
投稿タイプのパーマリンク設定を追加する。

最終更新日時 : 2013-12-18 17:52