投稿されたページを表示したときに、「投稿者」の名前があるんだけど、最近、これが曲者だと気が付いた。
この「投稿者」表示される名前はニックネームにしてたんだけど、この「投稿者」リンク構成になっていて、カーソルを乗せると、ログインIDが丸見えだ!
https://freesoft.0hs.org/author-ログインIDが表示されてる。
もちろん、ソースにもログインIDがばっちりと入っている。
なんじゃこりゃ!
わざわざ、ニックネームを表示している意味がないじゃないか。
「投稿者」になぜリンクが張ってあるのか?
WordPressの場合、「管理者」「編集者」「閲覧者」といったように、ユーザーが分けられている。
このうちの「編集者」は記事の書き込みが許可されている。
「管理者」はすべての権限がある。
複数の人が「編集者」や「管理者」になってブログを運営できるようになっている。
複数の人が記事を書いている場合、「投稿者」をクリックするとその「投稿者」の投稿した記事の一覧が出てくるような仕様なのだ。
で、その投稿者の記事一覧のURLがhttps://freesoft.0hs.org/author-ログインIDになるわけ。
でも、ログインIDが丸見えなのはうれしくない。
セキュリティ的にあまりよろしくない。
パスワードを総当たりされたら、簡単にブログを乗っ取ることができそうだ。
しかも、一人でブログを運営してるんだし。
https://freesoft.0hs.org/author-ログインIDもhttps://freesoft.0hs.org/も表示される内容は同じになっちゃうし。
投稿者を表示させないようにすると構造化エラーが出る
今使っているsimplicity2というWordPressテーマは、「外観」→「カスタマイズ」「レイアウト 投稿・固定ページ」→「投稿者情報の表示」のチェックを外すと、「投稿者」が表示されないようになっている。
でも、投稿者を表示しないようにすると、構造化エラーになってしまうのだ。
別に構造化エラーで検索順位が下がるわけでもないのだが。
あまり気分は良くない。
構造化エラーが出る項目
ブログに以下の項目がないと構造化エラーになる。
•entry-title(投稿のタイトル)
•updated(アップデートされた日時)
•author(投稿者)
というわけで、「投稿者」を削るのはなし。
投稿者のリンクをhttps://freesoft.0hs.org/にリンクさせるようにしたいと思う。
カスタマイズするファイル
カスタマイズするphpファイルは、simplicity2「author-link.php」、Twenty Fifteen:「 author-bio.php」、他のテンプレートはよくわからない。
誰か知っている人いたら教えて。
投稿者の元のコード
投稿者の元のコードは
<a href="<?php echo get_author_posts_url( get_the_author_meta( 'ID' ) ); ?>"><?php the_author(); ?></a>
<?php the_author(); ?>はユーザー→「あなたのプロフィール」の「ブログ上の表示名」を表しているようだ。
<?php echo get_author_posts_url( get_the_author_meta( 'ID' ) ); ?>">は「投稿者別記事一覧ページ」のリンクを表示するコード。
問題はここ。
書き換えた投稿者のコード
<a href="<?php echo home_url() ?>"><?php the_author(); ?></a>
<?php echo home_url() ?>はトップページを呼び出すコード。
<?php the_author(); ?>はユーザー→「あなたのプロフィール」の「ブログ上の表示名」を表す?。
いや、こっちのほうがいいのかな?
<a href="<?php echo home_url() ?>"><?php the_author_meta('display_name'); ?></a>
display_nameは「ブログ上の表示名」。
ページ上の表示は同じだし、リンク先も同じだし。
コメント