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の関連記事
CakePHPのpostlinkで生成した削除リンクをクリックしても処理が実行されない対処法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」に関する記事一覧
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
CakePHP4のユーザ管理・ログイン認証プラグインCakeDC/Usersのインストール解説
CakePHP4のユーザ管理プラグイン Usersは、ユーザ登録、メール認証、ログイン認証、ユーザ管理、権限管理、reCAPTCHAなど会員制のサイトを簡単に実現可能。その導入方法、カスタマイズ方法を解説。
-
-
CakePHP3チュートリアルで日付と時刻のDateTimeでエラーが出たときの対処方法
CakePHP3のブックマークチュートリアルには記載ミスもあり、そのまま動かない個所もある。CakePHP3では namespaceを使うようになったので、classを呼び出すときに¥を追加する必要が!
-
-
CakePHP5でヘルパーから他のヘルパーを読み込む方法・CakePHP4からの変更点
CakePHP5のヘルパーで他のヘルパーを読み込む方法を解説。公式の日本語CookbookはCakePHP4のソースのままで間違っているため注意が必要。CakePHP4からの移行の際も同じ点に注意が必要。
-
-
CakePHP3で現在処理しているコントローラー名、アクション名を取得する方法
CakePHP3で現在処理しているコントローラー名、アクション名を取得する方法を解説。複数の方法があるが、getParam()メソッドを使う方法が汎用性があって便利かも。
-
-
CakePHP4、5のnewEmptyEntityで作成したオブジェクトは空なのか、確認してみた
CakePHPでレコードを新規登録をする際にnewEmptyEntity()を使って空のEntityを作成するが、これのempty、is_nullなどのでの判定結果がtrueかfalseか確認してみた。
-
-
CakePHP3でComposerでインストールできないプラグイン、外部ライブラリを vendorに入れて手動で読み込む方法
CakePHP3にComposerからインストールできないプラグインやライブラリなどを利用する方法、vendorにファイルを設置し、composer.jsonを更新し、それを呼び出す方法を詳細に解説。
-
-
CakePHP3のメッセージ日本語化の設定(国際化と地域化の機能の使い方の解説)
CakePHP3の英語のメッセージを日本語化(多言語化)する手順を解説。オリジナルのメッセージを作成する方法やプログラムで文言を追加する場合の対応なども解説。
-
-
CakePHP3のOGPはHTMLヘルパーの$this->Html->meta()を使って設定
CakePHP3でOGPを設定する方法を解説。metaタグを編集するHTMLヘルパーを利用してOGPのタグを編集する。また、エレメントとして分割することでメンテナンス性も向上させる。
-
-
CakePHP 2.3 bakeの超初心者向けフォロー講座
CakePHP 2.3 bakeの超初心者向けフォロー講座
-
-
CakePHP4 のコマンドプログラムからコンポーネントを読み込む方法解説
CakePHP4でコマンドプログラムからコンポーネントを呼び出す方法を解説。コントローラーから呼び出すときと大差はないが、use句でコンポーネントを指定する事がポイント。