公開日: 最終更新日:
WordPressでタイトルとディスクリプションを全ページ変更できるようにした事例
お客様から「全てのページのタイトルとディスクリプションを変更できるCMSにしてほしい」とのご要望がありました。
弊社ではSEOの初期設定として、制作したサイト全ページmeta情報のtitleとdescriptionを設定しております。
ですがお客様によっては検索結果の様子を見て、変更したいと考える方もいらっしゃいます。
できるだけ簡単かつシンプルなものをご用意しましたのでご紹介します。
以下実績例:エム・アール・ホーム様公式サイト
システム概要
サイトのページ一覧が見れる投稿タイプ
左メニューから「タイトル」を開くと
タイトルとディスクリプションを変更できるページが一覧で見れます。
(お客様側で新しい記事を投稿した際の記事ページは含まれておりません。それは投稿毎に設定することができるようにしています。)
ページ名をクリックすると、編集画面が開きます。
ページ毎にタイトルとディスクリプションを変更できる
タイトルディスクリプションの入力欄には現在設定されているテキストが入っています。
テキストを編集して更新ボタンを押すと、編集完了です。
やったこと
具体的にWordPressで設定した手順は以下になります。
- 新規カスタム投稿タイプの作成
- 固定ページ分の投稿
- 投稿の新規追加・削除の無効化
- supportにpage-attributesを追加し属性を表示
- クイック編集の無効化
- カスタム権限の追加と設定
- 属性の順序に数値を設定し並び替え
- ACFでタイトルとディスクリプションの入力欄を追加
- ACFでそれぞれの投稿にURLを表示
投稿タイプには基本的な仕様として、記事の追加や削除の機能が備わっています。
その機能を全く使えない状態にすることで、今回のシステムを成立させました。
また、余分な機能を省くことで操作ミスを防ぐようにしました。
AdvanceCustomFieldプラグインを使ったため「ACFでそれぞれの投稿にURLを表示」がそこそこ手間な作業(ページが多いと大変)でしたが、一手間で使いやすさが向上すると思えば、やってしまおうと思えた部分です。
—-
(2024/04/17)わりと見ていただいているため、より具体的な手順を追記しておきます。
1.新規カスタム投稿タイプの作成
function.phpに記述していきます。「metatitle」という名前(任意)でカスタム投稿タイプを作成します。記事の詳細ページの生成は不要なため「publicly_queryable」はfalseにしておきます。
//カスタム投稿タイプ「タイトル」作成
function create_post_type_title() {
register_post_type( 'metatitle',
array(
'labels' => array(
'name' => __( 'タイトル' ),
'singular_name' => __( 'タイトル' ),
),
'public' => true,
'menu_icon' => 'dashicons-edit',
'supports' => array('title','author','page-attributes'),
'publicly_queryable' => false,/* プレビュー機能オフ */
)
);
flush_rewrite_rules();
}
add_action( 'init', 'create_post_type_title' );
2.固定ページ分の投稿
管理画面を開き、1で作成したカスタム投稿タイプに新規投稿をしていきます。
固定ページで登録したページ全てのタイトルとディスクリプションを編集できるようにするため、固定ページ分の投稿を追加します。
※編集者や投稿者には、固定ページを編集出来ないようにしたいため、この方法で作成しています。
3.投稿の「新規追加・削除」の無効化
誤って不要な投稿や削除を行わないよう、「新規追加」と「削除」の機能を無効化します。
–後日追記いたします。–
タイトルとディスクリプションについて
Google検索に表示させるために、タイトルとディスクリプションをしっかり設定しておくのは必須だと考えます。
ですが、そのページに関係しない内容にしてしまっては、せっかく設定したタイトルとディスクリプションはgoogleに改変されて表示されます。
ポイントとしては、そのページ内のテキストから文章を拝借して要約、そして必ず引っ掛けたいキーワードを含ませます。
検索キーワードによって検索結果に表示される内容は異なるため、設定した内容が必ず反映されるわけではありません。