こちらのサイトのことではなく、以前からあったWordPressのサイトにプラグインActivityPubを入れてウィジェットでサイドバーの表示を調整したのだが、プロフィールがブログのオーナーのプロフィールになってしまい、たぶん、カレンダーなどのアーカイブやタグクラウドもユーザーのものではない。プロフィールに関してはテーマのCocoonが用意したものかもしれないが、カレンダーやタグクラウドはWordPressオリジナルのものだと思う。
いしい | ひとりネズミ
https://hitorinezumi.cloudfree.jp/wp/author/ishii/
authorページは無視すれば良いのかもしれないが、なんとなく違うな…と思った。
コメント
“複数ユーザーでCocoonのブログを運営している場合に、
トップページのプロフィール表示が変更できず困っていませんか?
固定ページや投稿であればその記事の投稿者のプロフィールが自動的に表示されますが、トップページには投稿者は存在しません。
そのため、管理画面から設定で切り替える仕様となっています。
(理屈でいえば間違ってはいないのですが、少し気付きづらい仕様ですね…。)
”
【Cocoon(コクーン)】トップページのプロフィール表示を別ユーザーに切り替える方法 [WordPress] | ブロガーズ・サバイバルノート
https://blog-liv.com/archives/581
この方法で表示をishiiのものにすることはできたが、これを読むと自動で切り替わるはずとのこと。authorのページもそうかもしれない。今はishiiの書いた記事が一つもないのでhitorinezumiのものになっていたということか?
「ishiiの記事がなかったからishiiのauthorページでプロフィールがhitorinezumiになっていた」というわけではなかった。Cocoonの「SNSフォロー」の設定で「デフォルトユーザー」をhitorinezumiに戻したら、ishiiのauthorページなのにプロフィールがhitorinezumiになってしまった。ishiiの記事のページならプロフィールはishiiに切り替わる。authorページはどのユーザーのauthorページであっても「デフォルトユーザー」のページが表示されるということなのかもしれない。そもそも、authorページはActivityPubをインストールして初めて存在に気づいたような気がする。ActivityPubのせいではないと思うが…。
とにかく、「デフォルトユーザー」はishiiの方にしておいた方が良さそう。hitorinezumiの方のプロフィールも用意したけれど、表示されることはないだろうし…。
このauthorページに関して、そもそも表示させない方が良いよという話らしい。
私の場合は今更…的なんだけど、と言うか、私のセキュリティ意識が低すぎるのだけど、まあとにかく、表示させない方が良いよという話らしい。
その対策としてphpファイルを書き換える必要があるらしく、すごく怖い話。
でも、Cocoonだと、管理画面からテーマを書き換える関数を追加できるらしい。
“外観 → テーマファイルエディター → テーマのための関数/Theme functions(functions.php)
”
【2024年版】ワードプレスの初期設定とテーマ・プラグインの整理 | AKAEHO PORTAL
https://akaeho.com/wp-initial-setup/
ここで紹介されているコードを入力してみたらauthorが定義されてないとかいう感じのエラーが表示された。
それで、代わりのコードを探したら、こちらのコードならエラーはなかった。
“「/?author=〇」とブラウザのURL欄で検索されたら結果をトップページへリダイレク(トップページに転送)させる方法です。
テーマの関数(functions.php)に下記を追加する↓
”
Authorアーカイブをトップページにリダイレクトさせ「/?author=〇」入力されてもWordPressユーザー名を伏せる方法 | 素材サイト管理人の備忘録そあるブログ
https://soarbog.com/wp/1468
ここで紹介されているコードをテーマファイルエディターで入力すれば良い。
とりあえず、ここのサイトでは問題が起こってなさそう。
もう一つの方をどうするかは、後で考える。
いろいろとごちゃごちゃやっていたら、このサイトでauthorページにアクセスできなくなってしまった。別の記事にジャンプしてしまう。
functions.phpのコードは削除したんだけど…。
直らないので、こちらのサイトのコードを入れておいた。
どっちのコードの方が良いのかは分からない。
“functions.phpを利用すると簡単に無効化することが出来ます。
適用しているテーマのfunctions.phpに以下のコードを追加します。コピペでOKです。
”
【WordPressセキュリティ対策】投稿者アーカイブを無効化してWordPressのユーザ名を隠す方法 #PHP – Qiita
https://qiita.com/Taka96/items/b541b1fef0fa20add47d
最初に見つけたコードの方が良かった。
“「/?author=〇」とブラウザのURL欄で検索されたら結果をトップページへリダイレク(トップページに転送)させる方法です。
テーマの関数(functions.php)に下記を追加する↓
//Authorアーカイブページをトップページにリダイレクト
function author_custom_redirection() {
global $wp_rewrite;
$wp_rewrite->flush_rules();
$wp_rewrite->author_base = ”;
$wp_rewrite->author_structure = ‘/’;
if (isset($_REQUEST[‘author’]) && !empty($_REQUEST[‘author’])) {
wp_redirect(home_url());
exit;
}
}
add_action(‘init’, ‘author_custom_redirection’);
(利用してるテーマが子テーマがあるのですが子テーマの方のfunctions.phpに追記で大丈夫でした。)
”
Authorアーカイブをトップページにリダイレクトさせ「/?author=〇」入力されてもWordPressユーザー名を伏せる方法 | 素材サイト管理人の備忘録そあるブログ
https://soarbog.com/wp/1468
違いは、開発者ツールの「Network」タブを開いた状態でアクセスすると分かる。
バグった。
このせいかどうか分からないけれど、
https://ishii00141.stars.ne.jp/@ishii
にアクセスできない。
一応、functions.phpも.htaccessファイルも元に戻しておいた。
.htaccessファイルに
Redirect 301 /@ishii /
を追記して対処した。
functions.phpに削除したコードを再び追加した。
.htaccessファイルの方も、削除した「Redirect 301」を追加した。こちらのコードはfunctions.phpの変更があるので不要なんだけど、functions.phpを元に戻した時のために残してある。
「ドメイン/文字列」にアクセスした時、その文字列を含む記事を表示しているかもしれない。だから「ドメイン/author/文字列」だと、「author」を含むページが表示されていた可能性。「文字列」の部分の違いによって、リダイレクトする記事も変わるみたい。
今は、functions.phpのコードと.htaccessでリダイレクトさせているのだけど、それを外しても問題ないようにしたい。
今のままでも、404ではなく、検索してページを表示しちゃってるんだけど…。
どうしたら直るのだろう?
「ドメイン/文字列」にアクセスした時、その文字列を含む記事を表示しているのではない。
その文字列で始まるページにアクセスしてる。
このサイトのURLには記事タイトルを含めないようにしているのだけど、編集ページで見ると、ページのURLは「/記事タイトル」になってる。
だから、その文字列で始まるページにアクセスするようになったらしい。
スラッグを通し番号に一括変換したい気もするが、今のままならタイトルの冒頭が思い出せた場合に見つけやすく……なったとしても、検索機能を使った方が早いよね。