コンテンツタイプの横にはタクソノミーがあり、Categoryとタグだけが表示されています。アーカイブの項目には
Author Archives
Date Archives
Search Page があります。
ここにPost Archivesが表示されるようにする方法はあるでしょうか?
提供いただいた情報と調査結果から、WordPressの「最新の投稿」をトップページにしている場合に、AIOSEOで「Post Archives」の設定項目が直接表示されない、または意図通りに機能しないという問題は、AIOSEOのバージョン4.xでの仕様変更や、テーマとの連携の複雑さに起因している可能性が高いと判断できます。
残念ながら、AIOSEOの「アーカイブ」セクションに「Author Archives」「Date Archives」「Search Page」は表示されていても、「Post Archives」(ブログ記事の一覧ページ全体を指す設定)が明確に表示されない場合、設定画面から直接それを表示させる方法は通常ありません。 AIOSEOが「Post」を「投稿タイプ」として扱い、そのアーカイブをブログのトップページとして自動的に認識して、特定のルールを適用しようとしているためです。
なぜ「Post Archives」が表示されないのか
AIOSEOは、サイトの「ホームページの表示」設定が「最新の投稿」である場合、そのページを「投稿タイプ」としての「投稿」のアーカイブページとしてではなく、
特別な「ブログページ」
として扱っている可能性があります。そのため、他のアーカイブ(著者別、日付別など)とは異なる内部的な優先順位が適用されているのかもしれません。
そして、その「特別なブログページ」に、最新の投稿のディスクリプションが優先的に表示される、という挙動になっていると考えられます。以前のバージョンではそれが「ホームページのタイトルとディスクリプション」で上書きできていたが、現在のバージョンではその優先順位が変わってしまった、という推測は非常に納得できます。
残された解決策(カスタム固定ページ以外で)
AIOSEOの設定画面から直接「Post Archives」項目を表示させる方法はないため、考えられるのは以下のいずれかになります。
AIOSEOの「検索の外観」における「投稿タイプ」の設定の再確認と微調整:
「Content Types」の「投稿」のディスクリプション: 現在設定している「Content Types」の「投稿」のディスクリプションが、なぜか最新の投稿の内容に上書きされている可能性があります。
スマートタグの利用: AIOSEOのディスクリプション入力欄で、スマートタグ(#site_title, #site_taglineなど)を組み合わせてみてください。例えば、「%post_excerpt% #site_tagline」のように設定している場合、最新記事の抜粋が優先されてしまいます。純粋に静的なテキストのみにしてみて、それでも変わらないか試してみてください。
Show in Search Results: 「Content Types」の「投稿」のセクションに「Show in Search Results」という設定がある場合、これが「Yes」になっていることを確認してください。
テーマの functions.php を利用してディスクリプションを上書きする(中級者向け):
この方法はコード編集が必要ですが、AIOSEOの設定が意図通りに適用されない場合の最終手段の一つです。テーマの functions.php ファイルに直接コードを追加し、AIOSEOが出力するディスクリプションを強制的に上書きします。
提供いただいた情報と調査結果から、WordPressの「最新の投稿」をトップページにしている場合に、AIOSEOで「Post Archives」の設定項目が直接表示されない、または意図通りに機能しないという問題は、AIOSEOのバージョン4.xでの仕様変更や、テーマとの連携の複雑さに起因している可能性が高いと判断できます。
残念ながら、AIOSEOの「アーカイブ」セクションに「Author Archives」「Date Archives」「Search Page」は表示されていても、「Post Archives」(ブログ記事の一覧ページ全体を指す設定)が明確に表示されない場合、設定画面から直接それを表示させる方法は通常ありません。 AIOSEOが「Post」を「投稿タイプ」として扱い、そのアーカイブをブログのトップページとして自動的に認識して、特定のルールを適用しようとしているためです。
なぜ「Post Archives」が表示されないのか
AIOSEOは、サイトの「ホームページの表示」設定が「最新の投稿」である場合、そのページを「投稿タイプ」としての「投稿」のアーカイブページとしてではなく、**特別な「ブログページ」**として扱っている可能性があります。そのため、他のアーカイブ(著者別、日付別など)とは異なる内部的な優先順位が適用されているのかもしれません。
そして、その「特別なブログページ」に、最新の投稿のディスクリプションが優先的に表示される、という挙動になっていると考えられます。以前のバージョンではそれが「ホームページのタイトルとディスクリプション」で上書きできていたが、現在のバージョンではその優先順位が変わってしまった、という推測は非常に納得できます。
残された解決策(カスタム固定ページ以外で)
AIOSEOの設定画面から直接「Post Archives」項目を表示させる方法はないため、考えられるのは以下のいずれかになります。
AIOSEOの「検索の外観」における「投稿タイプ」の設定の再確認と微調整:
「Content Types」の「投稿」のディスクリプション: 現在設定している「Content Types」の「投稿」のディスクリプションが、なぜか最新の投稿の内容に上書きされている可能性があります。
スマートタグの利用: AIOSEOのディスクリプション入力欄で、スマートタグ(#site_title, #site_taglineなど)を組み合わせてみてください。例えば、「%post_excerpt% #site_tagline」のように設定している場合、最新記事の抜粋が優先されてしまいます。純粋に静的なテキストのみにしてみて、それでも変わらないか試してみてください。
Show in Search Results: 「Content Types」の「投稿」のセクションに「Show in Search Results」という設定がある場合、これが「Yes」になっていることを確認してください。
テーマの functions.php を利用してディスクリプションを上書きする(中級者向け):
この方法はコード編集が必要ですが、AIOSEOの設定が意図通りに適用されない場合の最終手段の一つです。テーマの functions.php ファイルに直接コードを追加し、AIOSEOが出力するディスクリプションを強制的に上書きします。
手順:
子テーマを使用していることを確認: テーマのアップデートで変更が消えないように、必ず子テーマを使用してください。もし子テーマがない場合は、先に作成することをお勧めします。
functions.php にコードを追加:
WordPress管理画面の「外観」>「テーマファイルエディター」に進み、子テーマの functions.php を開きます。
以下のコードを追加します。
PHP
function custom_aioseo_blog_home_description( $description ) {
// トップページが「最新の投稿」に設定されている場合
if ( is_front_page() && is_home() ) {
// ここにトップページに表示させたいディスクリプションを入力
return 'ここにあなたのサイトのトップページのディスクリプションを入力します。';
}
return $description;
}
add_filter( 'aioseop_description', 'custom_aioseo_blog_home_description' );
?>
'ここにあなたのサイトのトップページのディスクリプションを入力します。' の部分を、実際に表示させたいディスクリプションに置き換えてください。
is_front_page() は「設定」->「表示設定」で設定されたホームページを指し、is_home() は「最新の投稿」がトップページの場合にtrueを返します。この両方がtrueになるのは、「最新の投稿」がトップページの場合のみです。
aioseop_description はAIOSEOがディスクリプションを出力する際に利用するフィルターフックです。
ファイルを更新し、キャッシュをクリア: 変更を保存し、その後必ずWordPressのキャッシュ、サーバーキャッシュ、ブラウザキャッシュをすべてクリアしてください。
注意点:
コードの編集は慎重に行ってください。誤ったコードはサイトを壊す可能性があります。バックアップを取ってから作業することをお勧めします。
このコードは、AIOSEOのフィルターフックを利用して、最終的にAIOSEOが出力しようとするディスクリプションを上書きするものです。
直接「Post Archives」の項目を表示させることは難しいため、AIOSEOの「Content Types」の「投稿」設定の微調整を再度試すか、確実性を求めるのであれば functions.php でコードを追記して強制的に上書きする方法が現実的な選択肢となります。
もし functions.php の編集に抵抗がある場合は、専門家への依頼も検討してみてください。
音楽に関する様々な話題 ホームページやウェブ関連など たまに観光 ホームページ制作・Webマーケティング
PR