▼Menu

ヘッドタグ内容を共通化する(外部ファイルの取込)

私はメニューやアフィリエイトでPHPを使って外部ファイルを取り込むようになってから、ファイルの管理が非常に楽になりました。ボディ(BODY)タグ内にPHPやSSIを使用して外部ファイルを取込む方法はよく使う手法で、一般的にホームページではよく使われています。他方、ヘッドタグ内ではあまり外部ファイルを取り込んでいる例を見ません。これは、メタタグのdescriptionやkeywordsやタイトルタグの内容がページによって異なるからではないでしょうか。


広告

私はメタタグ内のdescriptionやkeywordsやタイトルタグの内容がページによって異なっていても、ヘッドタグ内でPHPを使って外部ファイルを取り込んでヘッドタグの内容を別ファイルにして共通化してみました。次にその方法を説明します。

ヘッドタグより前で文字列を定義します

次のように ヘッドタグ楽天 の直前で、メタタグのdescriptionやkeywordsやタイトルタグの内容を文字列に登録します。

<?php $des_c = "ページの説明文"; ?>
<?php $key_w = "キーワード群"; ?>
<?php $title = "ページのタイトル"; ?>

登録した文字列を、外部ファイルにしたヘッドタグ内で使います

次のように外部ファイルにしたヘッドタグ内の使いたい文字列の所で、登録した文字列を表示させます。もし、ボディタグ内でも使いたい場合は、更に表示させて使っても何らかまいません。タイトル($title)をH1タグ内で使ってページの見出しをタイトルと同じにすることもできます。

<?php echo $des_c; ?>
<?php echo $key_w; ?>
<?php echo $title; ?>

外部ファイルにしたヘッドタグの内容の例

外部ファイルにしたヘッドタグの内容の例は次のようになります。このファイルの中に登録した文字列を展開します。私の場合の例です。

<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta property="og:title" content="<?php echo $title; ?>" />
<meta property="og:image" content="http://ドメイン/***/***.jpg" />
<meta property="fb:app_id" content="123456789012345" />
<meta property="fb:admins" content="123451234567890" />
<?php
if ($des_c != ""){echo "<meta name=\"description\" content=\"$des_c\" />\n";}
if ($key_w != ""){echo "<meta name=\"keywords\" content=\"$key_w\" />\n";}
?>
<title><?php echo $title; ?></title>
<link rel="shortcut icon" href="http://ドメイン/favicon.ico" />
<link rel="icon" href="http://ドメイン/favicon.ico" />
<link rel="alternate" href="http://feeds.ドメイン/****" type="application/rss+xml" title="RSS" />

$title は必ず存在しますが、 $des_c と $key_w は、内容が無い場合があるので、その場合はメタタグそのものを生成しないように条件判断させています。

PHPページで、ヘッドタグ内への外部ファイルの取込み方法

結局、PHPページで、文字列の登録とヘッドタグ内への外部ファイルの取込み(include)方法は次のようにします。例としてヘッドタグの内容を記述したファイル名を head1.inc とします。拡張子は何でもかまいませんが、インクルードされるファイルなのでincの方が良いでしょう。

<?php $des_c = "ページの説明文"; ?>
<?php $key_w = "キーワード群"; ?>
<?php $title = "ページのタイトル"; ?>
<head>
<?php include($_SERVER['DOCUMENT_ROOT'].'/***/head1.inc'); ?>
<link rel="stylesheet" href="../com/style.css" type="text/css" media="all" />
<?php include($_SERVER['DOCUMENT_ROOT'].'/***/head2.inc'); ?>
</head>

このように、コードがとても簡単になりました。ヘッドタグの内容を記述したファイルは多くの種類が必要ないので、このファイルの管理が楽になります。書き間違いやホームページビルダーによる勝手な変更も無くなります。

スタイルシートはこのように相対アドレスで読み込みます。これは、ホームページビルダーやExpression Web3 などのソフトでスタイルシートを有効にする為です。スタイルシートの後に、Javascriptなどの残りのヘッドタグ内のスクリプトを外部ファイルにしたものを読み込んでいます。

ヘッドタグの内容を外部ファイルにするディメリット

ヘッドタグの内容を外部ファイルにすると良いことばかりではありません。次のように悪いこともあります。その為、私はエディターでしか操作しない、修理技術情報掲示板の過去ログファイルの表示にだけ、この方法を使っていました。しかし、現在は全てのページでこの方法を採用しています。

その理由は、現在ウェブページの作成にはマイクロソフトのExpression Web3 というソフトを使っていますので、タイトルタグを勝手に書き換えられたりしないからです。

スポンサーリンク
 
Main Menu |Mobile |Top Page |電気、電器 |工夫と製作 |アンテナ |デジタル放送 |修理技術1 |修理技術2 |修理過去ログ |電気柵 |生活情報 |健康情報 |名所旧跡 |ネット環境 |WordPress |写真集 |English Top
リンク集 |Sitemap |お問合せ |Pポリシー |修理掲示板
ネット環境 Menu |BBS迷惑書込 |迷惑Mail |Mail送信規制 |nPOP使い方 |BBSログ変換 |過去ログ表示 |MailCGI改造 |HPフォルダ構造 |サーバ引越 |英語サイト作り方 |二ヶ国語相互リンク |携帯サイト作り方 |XHTML Basic |XHTML Mobile P |携帯アクセス制御 |PC携帯両用サイト |サブドメイン同期 |XHTMLに書換 |TEXTメニュー |新ウィンドウに表示1 |新ウィンドウに表示2 |外部トラッキングコード |メニュー配置 |HTML一括変更 |ファイル取込 |ヘッドタグ共通化 |外部CSS |CSSコマンド |印刷用CSS |標準,互換モード |段組 |表示の速いHP |HP横幅 |HP背景 |HP文字 |HP見出し |HPタイトル |画像使い方 |altとtitle属性 |アクセスアップ |サイトマップ作成 |RSS配信 |自ドメインRSS |RSS使い方 |htaccess転送 |パラメータ削除 |wwwの有無と統一 |アクセス制限 |Adsenseクリック規制 |Adsense表示規制 |Google広告配置 |チャネルの設定 |ブログ人に広告配置 |ランダム画像切替 |デザイン自動切替 |フォルダ名取得 |Google+1ボタン |いいねボタン |Facebookのコメント |HPビルダ起動時間 |Expression Web |複数パソコンHP更新 |FFFTP使い方 |文字大きさ |モニタの選び方 |タッピング |ページ内検索 |ショートカットキー |Thumbs.db |日本語FEP |上手な日本語変換 |データ伝送 |MTUとMSS
山里の素人農業 |Daii-Wiki |私のブログ |Car Evolution |Tomy's HP |ページの先頭
 
 
as76.net
RSS
 
楽天市場
広告
Valid XHTML 1.0
Only OGP error
更新日:2011/12/11