サイトをGoogleに送信したところ、作成者ページが検索結果に表示されています。
http://www.domain.com/author/myusername
自分や他の著者の名前が検索結果に表示されないようにするにはどうすればよいですか。
ブログではなく製品サイト(ページしかない)なので、パス "/ author /"を完全に無効にすることをお勧めします。
私は以前に検索したところ、これを行うためのプラグインがあることを確認しましたが、別の方法がある場合はプラグインをインストールしないほうがいいでしょう(アップデートされない場合もあります).
私はまたページのソースコードを通して捜し、著者ページへのリンクを見なかった。
上記の答えは良いですが、ホームページにリダイレクトする場合は、301ステータスを指定して終了します。
add_action('template_redirect', 'my_custom_disable_author_page');
function my_custom_disable_author_page() {
global $wp_query;
if ( is_author() ) {
// Redirect to homepage, set status to 301 permenant redirect.
// Function defaults to 302 temporary redirect.
wp_redirect(get_option('home'), 301);
exit;
}
}
wp_redirect()のドキュメント https://developer.wordpress.org/reference/functions/wp_redirect/
リダイレクトを作成者テンプレートに直接追加することもできます。 WordPressテーマで、author.phpファイルを編集してユーザーをホームページにリダイレクトします。テーマに著者ページ用のテンプレートがない場合は、author.phpという名前のファイルを作成します。
author.php :(phpヘッダ関数を使う)
<?php
//Redirect author pages to the homepage
header("HTTP/1.1 301 Moved Permanently");
header("Location: /");
//That's all folks
_ update _ :WordPressには、リダイレクトを処理するための組み込み関数がいくつかあります:wp_redirect()とwp_safe_redirect()。 wp_redirect()はリダイレクトの場所として文字列を、リダイレクトの種類として整数を受け入れます(302がデフォルトです)。 wp_safe_redirect()はリダイレクト位置が許可されたホストのリストにあることを確認することを除いてwp_redirect()と同じです。
author.php :(WordPressのwp_safe_redirect関数を使う)
<?php
//Redirect author pages to the homepage with WordPress redirect function
wp_safe_redirect( get_home_url(), 301 );
exit;
//That's all folks
詳しくは
このスニペットをfunctions.phpに追加することで、著者ページへのアクセスを無効にすることができます。
// Disable access to author page
add_action('template_redirect', 'my_custom_disable_author_page');
function my_custom_disable_author_page() {
global $wp_query;
if ( is_author() ) {
$wp_query->set_404();
status_header(404);
// Redirect to homepage
// wp_redirect(get_option('home'));
}
}
Functions.phpに次のコードを追加すると、作成者ページへのアクセスを無効にできます。
add_action('template_redirect', 'my_custom_disable_author_page');
function my_custom_disable_author_page() {
global $wp_query;
if ( is_author() ) {
$wp_query->set_404();
status_header(404);
}
}