PHPでtitleタグをまとめて管理する

PHPを使ってtitleタグを一括で管理したいなと思って作ってみました。

titleタグを管理とありますが、改造すればmetaの管理とかもいけそうです。

一括簡易するPHP

<?php
//URLを取得
$url = $_SERVER["REQUEST_URI"];
//サイト名を入れる
$defaultTitle = "サイト名";
//タイトル登録箇所。タイトルが「ぺーじ名|サイト名」になるようにしています。
$titleName = array(
'/' => $defaultTitle,
'/about/' => 'このサイトについて' . '|' . $defaultTitle,
'/contact/' => 'お問い合わせ' . '|' . $defaultTitle,
'/company/map.html' => 'アクセス|会社情報' . '|' . $defaultTitle
);
//index.htmlでも/終わりでも対応
if(preg_match('/index.html/',$url)){
$url = str_replace("index.html","",$url);
}
//URLと登録してるタイトルで一致するものをさがす。
foreach ($titleName as $key => $value){
if($url === $key){
$titleTxt = $value;
}else {
$titleTxt = $defaultTitle;
}
}
//表示
echo '<title>' . $titleTxt . '</title>';
?>

処理としては、URLを取得して、登録してあるディレクトリ(ファイル名)とマッチするものがあったら、そのタイトルテキストを表示するイメージです。
index.htmlでも/で終わるURLも同じものと扱えるようにしています。

何も該当しなかった時はdefaultTitleで指定したテキストが入ります。

各ページに読み込ませる

上記のPHPを例えばtitle.phpとして保存し、titleタグを入れたいページのHTML箇所に以下のように読み込ませます。

<?php
include($_SERVER['DOCUMENT_ROOT'] . '/title.php');
?>

読み込むパスは設置した箇所に変更して下さい。

コメント

タイトルとURLをコピーしました