いつも株式会社ヒニアラタのホームページをご覧いただき誠にありがとうございます。
[baserCMS]OGPタグをページ毎に設定する
今回はbaserCMSで制作したWebサイトで、ページ毎に異なるOGPを設定する場合の手法をご紹介します。プラグインなどを使わずにOGPタグをセットしていきます。
この記事の動作環境
- baserCMS 3.0.14
- CakePHP 2.5.9
OGPタグについて
OGPタグはFacebook等でサイトが引用(リンク)された際に利用されるメタタグで、 ページのタイトルやサムネイル画像などの情報をまとめたものです。(以下のリンクが詳しいようです)
参考記事:
・ 今さら聞けない、SNSで情報を拡散するためのOGP入門
baserCMSでOGPタグを利用する方法は幾つかあると思います。多くの場合はレイアウトテンプレート内に記述して一括で処理すると思いますが、今回はページ毎に設定する方法を試してみたいと思います。 固定ページだけでなく、プラグインのコンテンツテンプレート内(View)からも利用できるので、 プラグインの管理画面からアップロードした画像をOGPに設定するといった使い方もできそうです。
BcHtmlヘルパーを使用する
baserCMSではCakePHPのHtmlヘルパーを拡張したBcHtmlヘルパーが利用できます。 下記で使用しているメソッドmeta()は、引数にセットされた値を$this->BcBaser->scripts()
が記述されている場所に出力してくれます。
基本的にはどのテーマでも$this->BcBaser->scripts()
は、headタグの中に記述されているはずですので、結果的にOGPタグがhead内に出力される事になります。
<?php
$this->BcHtml->meta(
array(
'property' => 'og:title',
'content' => 'ここにタイトルが入ります',
),
null,
array(
'inline' => false)
);
?>
なお、この記述方法についてはこちらのページを参考にさせて頂きました。ありがとうございました。
固定ページで使用する
固定ページ内で、この手の記述をする場合には「オプション」の中の「コード」欄が便利です。下図のような感じで使用できます。
なお、タイトルと同じような理屈で画像を指定できます。(ここでは、画像はテーマ内の画像フォルダに入っているものとします)
<?php
$imageUrl = $this->BcBaser->getThemeUrl();
$this->BcHtml->meta(
array(
'property' => 'og:image',
'content' => $imageUrl.'img/hogehoge.jpg'
),
null,
array(
'inline' => false)
);
?>
以上です。いかがでしたでしょうか。皆様のお役に立てれば幸いです。
よくある質問
ここでは「ホームページを制作するのにどのくらいの期間が必要?」「島根県以外の遠方からでも依頼できる?」などお客様から寄せられる質問に回答しています。
下記の一覧からご覧になりたい質問内容をクリックしてください。
制作について
Q:どのくらいの制作期間が必要ですか?
Q:法人ではなく個人事業主なのですが、制作を依頼できますか?
Q:文章の校正はしてもらえますか?
Q:知り合いのデザイナーにデザインをお願いしたいのですが・・・。
Q:デザインだけをお願いしたいのですが・・・。
Q:すでにあるホームページを修正したいのですが・・・。
Q:スマートフォン対応のホームページを作成してもらえますか?
Q:現在ホームページを持っていますが、リニューアルをお願いできますか?
Q:ホームページと一緒にブログも作りたいのですが、可能ですか?
Q:ホームページに掲載する内容は、一緒に考えてもらえますか?
Q:制作を依頼した場合、何を用意すれば良いですか?
Q:遠方(島根県以外)からホームページ制作の依頼はしてもらえますか?
Q:WordPressを使ったサイト構築は可能ですか?
Q:デザインのみ、コーディングのみなど、制作の一部の依頼は可能ですか?
Q:制作会社、広告代理店からの依頼は可能ですか?
Q:写真撮影も行ってもらえますか?
Q:動画を使ったホームページを作成したいのですがお願いできますか?
Q:ホームページの更新を簡単にできる方法はありますか?
Q:依頼してから完成まではどのような流れですか?