SEO関係のプラグインなしでmetaを設定する場合の一例、keywords編です。
1:ページごとにマメに変える場合
- 【固定ページ】
ページごとのカスタムフィールド「pageKeyword」に入力した値を出力、
入力してなければ、サイドバー「keyword」に配置したウィジェットに入力した値を出力 - 【固定ページ以外】
投稿に紐づけたタグをキーワードとして出力。
<meta name="keywords" content="
<!-- 固定ページならば -->
<?php if(is_page()): ?>
<!-- カスタムフィールド「pageKeyword」に値が入っているならば -->
<?php if(get_post_meta($post->ID, 'pageKeyword', true)): ?>
<!-- カスタムフィールド「pageKeyword」に値を出力する -->
<?php echo get_post_meta($post->ID,"pageKeyword",true); ?>
<!-- どっちでもないならば -->
<?php else : ?>
<!-- サイドバー「keyword」に置いてあるウィジェットの値を出力する -->
<?php dynamic_sidebar('keyword'); ?>
<?php endif; ?>
<!-- 固定ページではないならば -->
<?php else : ?>
<!-- 投稿のタグを出力する -->
<?php $posttags = get_the_tags(); if ($posttags) { foreach($posttags as $tag) { echo $tag->name . ','; } } ?>
<?php endif; ?>
" />
2:すべてのページ、投稿に共通するキーワードがある場合
サイドバーに最小限の共通キーワードを書いておき、あとはページごとに違うキーワード書いていきます。
ページが頻繁に増減する場合はこちらの方がいいかもしれません。
- 【固定ページ】
サイドバー「keyword」+カスタムフィールド「pageKeyword」 - 【投稿】
サイドバー「keyword」+投稿に紐づけたタグ
<meta name="keywords" content="
<!-- 常に出力 -->
<?php dynamic_sidebar('keyword'); ?>
<!-- 固定ページならば -->
<?php if(is_page()): ?>
<!-- カスタムフィールド「pageKeyword」に値を出力する -->
<?php echo get_post_meta($post->ID,"pageKeyword",true); ?>
<!-- 固定ページではないならば -->
<?php else : ?>
<!-- 投稿のタグを出力する -->
<?php $posttags = get_the_tags(); if ($posttags) { foreach($posttags as $tag) { echo $tag->name . ','; } } ?>
<?php endif; ?>
" />
ただし
カテゴリーページだと、先頭の投稿のキーワードだけが出力されます。
カテゴリーの「説明」に書き込めば利用できますが、これは”description”に使うことが多いと思うので、う~んどうしようか、、、
宿題。
※改行とタブは、実装時にすべて削除してください。残しておくとそのまんま表示されちゃうので。
※ウィジェットの値を、pタグ等なしで出力する方法は、
特定の内容を好きなところに出力するにて。
※タグをリンク無しで出力する方法は、こちらで詳しく解説されています。
https://kobe-tshirt.com/wordpress-category-tag/#i-9