エス技研

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の関連記事

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のOGPはHTMLヘルパーの$this->Html->meta()を使って設定
CakePHP3でkeywords、DescriptionをHTMLヘルパーを使って設定する
CakePHP3で環境変数を設定して本番環境と開発環境を分けて処理をする場合
 
その他の「CakePHP3」に関する記事一覧
 
 

 - CakePHP 2.x 3.x

GoogleAdwords

GoogleAdwords

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

Message

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

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

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

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

  関連記事

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

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

CakePHP 2.3でOn Duplicate Key構文を実装

CakePHPで On Duplicate Key構文を Queryを利用して実装する方法をサンプルソース付きで解説します。

CakePHP3のインストールでURL rewriting......のエラーが!その解決方法解説
CakePHP3のインストールでURL rewriting……のエラーが!その解決方法解説

CakePHP3をインストールしたら URL rewriting is not properly configured.のエラーが。原因は.htaccessが有効になっていないこと。httpd.confに設定を追加すればOK。

CakePHP3のdatetime型カラムの日時の扱い。秒まで正しく表示する方法
CakePHP3のdatetime型カラムの日時の扱い。秒まで正しく表示する方法

CakePHP3の日時カラムで秒まで扱う場合はdate()、strtotime()関数ではうまくいかない。CakePHP3であらかじめ用意された「i18nFormat()」を使用する。

CakePHP3でDocumentRootやtmp、webroot、logsなどのフォルダへのパスの定数
CakePHP3でDocumentRootやtmp、webroot、logsなどのフォルダへのパスの定数

CakePHP3で特定フォルダのパスの定数を解説。root、DocumentRoot、app、config、webroot、tests、tmp、cache、vendor、コア、コアの srcが設定済み。realpath()関数を使うと柔軟なパス指定が可能。

CakePHP 2.3 bakeの超初心者向けフォロー講座

CakePHP 2.3 bakeの超初心者向けフォロー講座

CakePHP 2.3 Search Pluginで検索処理 その3入力エリア一つで複数の項目を同時に検索する方法

CakePHPの検索プラグイン Search Pluginの検索処理の中で入力エリア一つで複数の項目を同時に検索する方法を解説。

CakePHP 2.3 Search Pluginで検索処理 その2表示件数を動的に変える方法

CakePHPの検索プラグイン Search Pluginの検索処理の中で動的に表示件数を変える方法です。

CakePHP 2.3 Search Pluginで検索処理 その6ORDER、sortソートの機能

CakePHPの検索プラグイン Search Pluginの検索処理の中で order、ソートについての解説です。

CakePHP3チュートリアルで日付と時刻のDateTimeでエラーが出たときの対処方法
CakePHP3チュートリアルで日付と時刻のDateTimeでエラーが出たときの対処方法

CakePHP3のブックマークチュートリアルには記載ミスもあり、そのまま動かない個所もある。CakePHP3では namespaceを使うようになったので、classを呼び出すときに¥を追加する必要が!