エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


CakePHP3でkeywords、DescriptionをHTMLヘルパーを使って設定する

   

CakePHP3では metaタグを編集する HTMLヘルパーが用意されている

 

metaタグの keywords、DescriptionをHTMLヘルパーを使って設定する方法

 
CakePHP3で keywords、Descriptionを設定する方法を解説します。
 
CakePHP3には最初から metaタグを編集する HTMLヘルパーが組み込まれています。
それを利用してメタタグの keywords、Descriptionを編集します。
 
 

metaタグが編集されるレイアウトファイルを確認

 
まずはじめに、metaタグが編集される場所を確認します。
 
metaタグが編集されるファイルは、下記のレイアウトファイルになります。
/src/Template/Layout/default.ctp
 
このレイアウトファイルの 32行目あたりに「<?= $this->fetch(‘meta’) ?>」という記述があります。
これが metaタグを出力する「fetch()」になります。
 
ここに編集する値を、各ページごとのテンプレートで指定する、という処理になります。
 
 

metaタグの値を指定するテンプレートファイルを編集

 
値を指定するテンプレートは
/src/Template/Topics/view.ctp
などのテンプレートファイルに下記のコードを記述します。
 
 
記述する metaタグのヘルパーの基本形は以下のようになります。
 

 
 
具体的に「keywords」「description」を指定すると以下のようになります。
 

 
1つ目のパラメーターが、metaタグの「name(属性)」の値を指定するもので「keywords」は「キーワード」、「description」は「ディスクリプション」を指定する箇所になります。
 
2つ目のパラメーターが、metaタグの「content」の値を指定する箇所になります。
 
 
出力結果は以下のようになります。
 

 
 
また、3つ目のパラメーターは、ブロック化をするのか、しないのかを指定する箇所になります。
 
「ブロック化」のデフォルトは、「"block"=>false」の「ブロック化をしない」になっています。
そのため、デフォルトの設定では、metaタグが編集される場所がテンプレートファイルに「<?= $this->fetch(‘meta’) ?>」を記述した場所になります。
 
そのため、「<body>」と「</body>」の間に出力され、metaタグの役割を果たしません。
 
そのため、「"block"=>true」を記述し、headタグ内に記述してある「<?= $this->fetch(‘meta’) ?>」の場所にまとめて出力されるようにします。
 
これが、「ブロック化を有効にする」指定です。
 
基本的に metaタグを出力する処理は「"block"=>true」も記述する、という認識で問題ありません。
 
 
ちなみに、「"block"=>true」が指定されている場合は、echoがなくても metaタグに出力することができます。
 

 
 

サイト全体に共通する処理をページごとに切り替える処理

 
今回は、サイト全体に共通して指定をする必要はあるものの、ページごとにそれぞれ違うテキストを切り替えて編集していく必要がある metaタグの「keywords」「description」を指定する方法を解説しました。
 
 
同じような考え方をする仕組みとして、下記の記事で書いている titleタグ、h1タグの値を指定する方法や、使用する JavaScriptや CSSをページごとに設定する方法、パンくずを指定する方法、OGPを指定する方法などにも活用することができます。
CakePHP3で /Layout/defult.ctpにある titleタグ、h1タグを編集する方法
CakePHP3でページごとに読み込むJavaScript、CSSを変える処理の解説
CakePHP3のOGPはHTMLヘルパーの$this->Html->meta()を使って設定
CakePHP3にOGPをfetch、asignを利用してテンプレートごとに指定する方法を解説
CakePHP3でパンくずの指定は HTMLヘルパーを使って指定する方法を解説
 
 
これらは、レイアウトファイルに変数を指定しておき、そこに編集する値を各ページ用のテンプレートファイルで指定する、という仕組みです。
 
 

CakePHP3の関連記事

CakePHP4のCSS、JavaScript、画像のブラウザへのキャッシュをコントロールする
CakePHP3でレコードを保存(追加、更新、Insert、Update)する複数の方法を紹介
CakePHP3でモデルなしフォームからCSVをアップロードしレコードを更新する方法解説
CakePHP3でPHP Simple HTML DOM Parserを使ってスクレイピングする方法
CakePHP3のInsert On Duplicate Key Update(upsert)構文を解説・バルク処理も
CakePHP3の1対多での連携を中間テーブルを使った多対多の連携に変更するときの手順
CakePHP3でデフォルトのソート条件を設定してユーザの選択肢たソート条件を有効にする方法
CakePHP3で Ajaxを使う方法の解説。3.6以降対応。Successとthenの両方を解説。
CakePHP3でパンくずの指定は HTMLヘルパーを使って指定する方法を解説
CakePHP3にOGPをfetch、asignを利用してテンプレートごとに指定する方法を解説
 
その他の「CakePHP3」に関する記事一覧
 
 

 - CakePHP 3.x 4.x 5.x

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

CakePHP3にOGPをfetch、asignを利用してテンプレートごとに指定する方法を解説
CakePHP3にOGPをfetch、asignを利用してテンプレートごとに指定する方法を解説

CakePHP3でOGPを設定する方法を解説。fetch、assignを使用しレイアウトファイルに編集した変数にテンプレートファイルから値を指定する。これを利用してOGPを編集する。

CakePHP3の検索プラグイン「friendsofcake/search」の様々な検索の仕方の実装方法
CakePHP3の検索プラグイン「friendsofcake/search」の様々な検索の仕方の実装方法

CakePHP3で検索をするプラグイン「friendsofcake/search」の検索条件のカスタマイズ方法の解説。検索項目を増やしたり、以上、以下での検索や、チェックボックスによる検索の方法などを解説。

CakePHP3でWarning Error: SplFileInfo::openFile()エラーが発生した場合の対処方法
CakePHP3でWarning Error: SplFileInfo::openFile()エラーが発生した場合の対処方法

CakePHP3のキャッシュファイルのパーミッションエラー Error: SplFileInfo::openFile()が発生した場合の対応方法解説。app.phpにキャッシュファイルのパーミッション設定を行い、既存のファイルは削除。

CakePHP 2.3でファイルのアップロード処理を作る

CakePHPでプラグインを使わないファイルアップロード処理を解説します。簡単です。DBにファイルを格納する方法も。

CakePHP3のタイムゾーンを協定世界時UTCから日本標準時間JSTにずれを変更する方法
CakePHP3のタイムゾーンを協定世界時UTCから日本標準時間JSTにずれを変更する方法

CakePHP3の標準設定のタイムゾーンは「UTC(協定世界時)」に設定されている。これを日本標準時に変更する方法(app.php、bootstrap.phpの変更方法)の解説。

CakePHP3のInsert On Duplicate Key Update(upsert)構文を解説・バルク処理も
CakePHP3のInsert On Duplicate Key Update(upsert)構文を解説・バルク処理も

CakePHP3で Insert … On Duplicate Key Update構文(upsert)を実行する方法を解説。バルク処理の方法も用意されているため大量処理の場合も対応可能。

CakePHP3のCakeDC/Usersのバリデーションのカスタマイズ方法解説
CakePHP3のCakeDC/Usersのバリデーションのカスタマイズ方法解説

CakeDC謹製Usersプラグインの紹介。Usersのカスタマイズとして入力項目のバリデーションの変更を、プラグインのファイルは触らずオーバーライドにより実装する方法を解説する。

CakePHP3でパンくずの指定は HTMLヘルパーを使って指定する方法を解説
CakePHP3でパンくずの指定は HTMLヘルパーを使って指定する方法を解説

CakePHP3でパンくずの指定方法の解説。2つのヘルパーがあるが簡単なHTMLヘルパーを使った方法を、実際の状況に合わせて3つのパターン(エレメント化、ブロック化)にして解説。

CakePHP3のfriendsofcake/searchでツリーカテゴリーの子階層も含めて検索する方法
CakePHP3のfriendsofcake/searchでツリーカテゴリーの子階層も含めて検索する方法

CakePHP3のツリービヘイビアを使ったツリーカテゴリーの子階層も含めての検索を検索プラグイン「friendsofcake/search」を使って実現する方法を解説しました。

CakePHP3のCakeDC/Users、Authでログインなしでもアクセスを許可する設定
CakePHP3のCakeDC/Users、Authでログインなしでもアクセスを許可する設定

CakePHP3の Authコンポーネントや CakeDC/Usersプラグインなどを利用したユーザ管理・認証システムにおいて、ログインしていなくても見ることができるページの設定方法を解説。