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タグのヘルパーの基本形は以下のようになります。
1 |
<?= $this->Html->meta("属性","値",["block"=>true]); ?> |
具体的に「keywords」「description」を指定すると以下のようになります。
1 2 |
<?= $this->Html->meta("keywords","キーワード",["block"=>true]); ?> <?= $this->Html->meta("description","ディスクリプション",["block"=>true]); ?> |
1つ目のパラメーターが、metaタグの「name(属性)」の値を指定するもので「keywords」は「キーワード」、「description」は「ディスクリプション」を指定する箇所になります。
2つ目のパラメーターが、metaタグの「content」の値を指定する箇所になります。
出力結果は以下のようになります。
1 2 |
<meta name="keywords" content="キーワード"/> <meta name="description" content="ディスクリプション"/> |
また、3つ目のパラメーターは、ブロック化をするのか、しないのかを指定する箇所になります。
「ブロック化」のデフォルトは、「"block"=>false
」の「ブロック化をしない」になっています。
そのため、デフォルトの設定では、metaタグが編集される場所がテンプレートファイルに「<?= $this->fetch(‘meta’) ?>」を記述した場所になります。
そのため、「<body>」と「</body>」の間に出力され、metaタグの役割を果たしません。
そのため、「"block"=>true
」を記述し、headタグ内に記述してある「<?= $this->fetch(‘meta’) ?>」の場所にまとめて出力されるようにします。
これが、「ブロック化を有効にする」指定です。
基本的に metaタグを出力する処理は「"block"=>true
」も記述する、という認識で問題ありません。
ちなみに、「"block"=>true
」が指定されている場合は、echoがなくても metaタグに出力することができます。
1 2 3 4 5 6 7 8 |
// 出力される $this->Html->meta("description","ディスクリプション",["block"=>true]); // 出力される echo $this->Html->meta("description","ディスクリプション"); // 出力されない $this->Html->meta("description","ディスクリプション"); |
サイト全体に共通する処理をページごとに切り替える処理
今回は、サイト全体に共通して指定をする必要はあるものの、ページごとにそれぞれ違うテキストを切り替えて編集していく必要がある 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」に関する記事一覧
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
CakePHP3のメール送信の処理・テンプレート使用・添付ファイル送信も解説
CakePHP3からメールを送信する方法解説。基本的な記述方法を基にして、テンプレートを使う方法、ファイルを添付する方法へと拡張しながら解説。
-
-
CakePHP3にデザインテンプレートBootstrapを導入する方法・friendsofcake/bootstrap-ui使用
CakePHP3にプラグイン「friendsofcake/bootstrap-ui」、デザインテンプレート「Bootstrap」を設置する手順を解説。Bootstrapの簡単な使い方やデフォルトのデザインとの混在方法なども解説。
-
-
CakePHP4、5の認証処理で認証が通らない際の確認方法と確認箇所の紹介
CakePHP4、5系の認証処理でログイン認証が通らない場合の確認方法、確認箇所を解説。ログ出力し、ステータスを確認するが、ステータスの内容も紹介。それはそのままusernameを変更する際のポイントでもある。
-
-
CakePHP4 でコマンドプログラム(シェルプログラム)を作成する方法解説
CakePHP4でバッチ処理を行うためのコマンド・シェルの実装方法について解説。bakeでテンプレートファイルを作成し、「execute()」に処理を記述する方法を解説。
-
-
CakePHP3のOGPはHTMLヘルパーの$this->Html->meta()を使って設定
CakePHP3でOGPを設定する方法を解説。metaタグを編集するHTMLヘルパーを利用してOGPのタグを編集する。また、エレメントとして分割することでメンテナンス性も向上させる。
-
-
CakePHP 2.3 デバッグキット(DebugKit)超初心者向けフォロー講座
CakePHP初心者に向けてデバッグキット(DebugKit)のインストール方法、はまりポイントを解説。
-
-
CakePHP3のタイムゾーンを協定世界時UTCから日本標準時間JSTにずれを変更する方法
CakePHP3の標準設定のタイムゾーンは「UTC(協定世界時)」に設定されている。これを日本標準時に変更する方法(app.php、bootstrap.phpの変更方法)の解説。
-
-
CakePHP 2.3でファイルのアップロード処理を作る
CakePHPでプラグインを使わないファイルアップロード処理を解説します。簡単です。DBにファイルを格納する方法も。
-
-
CakePHP3でComposerでインストールできないプラグイン、外部ライブラリを vendorに入れて手動で読み込む方法
CakePHP3にComposerからインストールできないプラグインやライブラリなどを利用する方法、vendorにファイルを設置し、composer.jsonを更新し、それを呼び出す方法を詳細に解説。
-
-
CakePHP3にWYSIWYGエディタのCKEditor4を設置、カスタマイズ方法を解説
WYSIWYGエディタであるCKEditor4をCDNを利用して簡単にCakePHP3に導入する方法とカスタマイズする方法を解説。CakePHP3にはページごとの振り分けを行うブロック化を利用する。