パスワード保護の非表示
パスワード保護のページを作るより、会員制サイトを作る方が良いと思います。
ページ毎にパスワードを入れなければいけませんし、投稿にパスワードを設定してもその投稿の添付ファイルのページにパスワード保護はかかりません。
パスワード保護のページをを非表示にします。
コード
// -------------------------------- // パスワード保護の非表示 // -------------------------------- if ( ! is_admin() ) { function hk_functions_site_pre_get_posts( $wp_query ) { $wp_query->set( 'has_password', false ); return; } add_action( 'pre_get_posts', 'hk_functions_site_pre_get_posts' ); }
404 無条件リダイレクト
次の場合にリダイレクトします。
(1)添付ファイルのページ
ファイルをアップロードすると、添付ファイルのページが勝手に作成されてしまいます。セキュリティーの面からも好ましいとはいえず、404ページに飛ばします。
(2)タグのアーカイブ
表に出す必要が無いタグもありますので、非表示(404リダイレクト)にしています。
(3)作成者のアーカイブ
必要が無いので、非表示(404リダイレクト)にしています。
なお、表示する場合は、ユーザー情報を修正していないとセキュリティーの問題があります。
(4)コメントフィード(RSS)
コメントフィードは重要視していないので、非表示(404リダイレクト)にしています。
自動で作成され、普段目にしないページですので表示するなら表示内容に気をつける必要があります。
コード
// -------------------------------- // 404 無条件リダイレクト // 添付ファイルのページ // タグのアーカイブ // 作成者のアーカイブ // コメントフィード(RSS) // -------------------------------- function hk_functions_template_redirect() { if (( ! is_attachment() ) && ( ! is_tag() ) && ( ! is_author() ) && ( ! is_comment_feed() )) return; // 404 リダイレクト global $wp_query; $wp_query->set_404(); include( TEMPLATEPATH.'/404.php' ); exit; } add_action( 'template_redirect', 'hk_functions_template_redirect' );
ソースコードのヘッダー表示削除
HTMLソースコードにいろいろと記述されていて、ソースコードが見づらいので必要最小限にします。また、意図せざる外部への情報提供を制限します。
(1) 'feed_links':投稿RSSとコメントRSS用リンク
投稿RSS用リンクは必要。
コメントRSS用リンクは不要。
RSS用リンクをいったん削除します。投稿RSS用リンクだけを復活。
(2) 'feed_links_extra':カテゴリなどのRSS用リンク
不要。
(3) 'rsd_link':Really Simple Discovery用リンク
外部サービスにブログ情報を提供するようです。
不要。
(4) 'wlwmanifest_link':Windows Live Writer用リンク
マイクロソフトのソフトのようです。
不要。
(5) 'adjacent_posts_rel_link_wp_head':前後リンク
検索エンジンに情報提供するのでしょうか。
不要。
(6) 'wp_generator':WordPressを表示
あってもなくても・・・。
(7) 'rel_canonical':サイト内に重複ページがある場合?
不要。
(8) 'wp_shortlink_wp_head':短縮URLのlinkタグを表示する?
不要。
(9) 絵文字 JavaScript, css
不要。
コード
// -------------------------------- // ソースコード // ヘッダー表示削除 // -------------------------------- // RSS(FEED)リンク remove_action( 'wp_head', 'feed_links', 2 ); remove_action( 'wp_head', 'feed_links_extra', 3 ); // Really Simple Discovery用リンク remove_action( 'wp_head', 'rsd_link' ); // Windows Live Writer用リンク remove_action( 'wp_head', 'wlwmanifest_link' ); // 前後の投稿・ページへのリンク remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head' ); // GENERATOR 表示 remove_action( 'wp_head', 'wp_generator' ); // CANONICAL リンク remove_action( 'wp_head', 'rel_canonical' ); // SHORTLINK remove_action( 'wp_head', 'wp_shortlink_wp_head'); // 絵文字 JavaScript, css remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); remove_action( 'wp_print_styles', 'print_emoji_styles' ); // -------------------------------- // ソースコード ヘッダー表示 // RSS(FEED)リンク復活 // -------------------------------- function hk_functions_feed_links() { echo '<link rel="alternate" type="'.feed_content_type().'" title="'.esc_attr( get_bloginfo('name') ).' » フィード'.'" href="'.esc_url( get_feed_link() ).'" />'."\n"; return; } add_action( 'wp_head', 'hk_functions_feed_links', 2 );
このプログラムをお使いになる場合は、お使いになる方の自己責任でお願いします。