こんにちは
テーマに、404.phpがあるかどうか確認してください。
もし、あれば
以下のコードを、テーマのfunctions.phpの先頭(<?php
の前に)に貼り付けてください
作成者アーカイブへのリンクは、404.phpで表示されるようになります。
<?php
add_filter( 'template_include', 'puddle_template_include' );
function puddle_template_include( $template ) {
$template_sp = str_replace( 'author.php', '404.php', $template );
if ( file_exists( $template_sp ) ) {
$template = $template_sp;
}
return $template;
}
?>
ご回答ありがとうございます。
教えて頂いた通りやってみました。
ページは「見つかりません」と表示されるようになりましたが、
元々あったhttp://www.○○○○/?author=○&paged=○○のURLで検索すると「見つかりません」の表示されるページが出てしまいます。
このページを完全に削除することは不可能なのでしょうか?
このページを完全に削除することは不可能なのでしょうか?
私の知る範囲では、無理だと思います。
WordPressは、テンプレート階層というテンプレートの適用ルールがあり、仮に、author.phpテンプレートを削除しても、index.phpで表示するようになっています。
お知らせしたコードは、author.phpが呼ばれるURLが指定された場合に404.phpを使うというものです。
検索のクローラーからインデックスされないようにする方法は、robot.txtなどで検索すると方法が見つかると思います。
また、404.phpテンプレートのつくりにもよります。
<?php header("HTTP/1.1 404 Not Found"); ?>
クローラーが404であることを正しく認識するように、headerをつけておくような工夫も必要かもしれません。
http://wpdocs.sourceforge.jp/Creating_an_Error_404_Page
また、サイト内から、author.phpを使うリンクを一掃する必要があると思います。
ただ、URLを決め打ちされてアクセスされるような場合は、404.phpは表示されます。
テーマの functions.php(で<?php 〜 ?>
の範囲内)に下記を追記して、
add_filter( 'author_rewrite_rules' , '__return_empty_array' );
WP 管理画面[設定|パーマリンク設定]を開いて[変更を保存]をクリックすると
作成者表示 は存在しなくなります。