外部ファイルを取り込んでメニューを作成する方法

 私は以前にはフレームを使用して ホームページ を作成していました。理由はメニューのメンテナンスが楽だからです。しかしフレームの欠点が目立つように感じて、フレームを使わない他の方法を模索していました。

 PHPまたはSSIを使用して外部ファイルを取り込んでメニューを作成したり、アフィリエイトプログラムを挿入したページを作成する方法があることを知ってからは、この方法を採用することにしました。

 もちろんこの方法はPHPまたはSSIが使えるサーバーでないと行なうことができません。

広告


メニューやアフィリエイトにPHPまたはSSIを使うメリット

 メニューやアフィリエイトにPHPまたはSSIを使うようになってから、ファイルの管理が非常に楽になりました。各ページに挿入したメニューやアフィリエイトスクリプトのメンテナンスが簡単になったからです。特にグーグルのアドセンスはスクリプトが基本的には同じで良いので特に効果的でした。

 またアフィリエイトスクリプトの中にはホームページ作成ソフト(ホームページビルダー等)でエラーになったり、ホームページビルダーが勝手にスクリプトを書き換えたりしていましたが、全くエラーが出なくなりましたし、勝手にスクリプトを書き換えられることも無くなりました。

 特にグーグルのアドセンスはスクリプトの書き換えを禁止されており、安心して使うことができます。

 その他の効果として、サイトマップのメンテナンスが全く不要になった事です。私のサイトマップは見出しに外部のメニューファイルを羅列しただけで構成されています。ページの追加の時メニューファイルはどうしても変更する訳でサイトマップをいじる必要が無いのです。

PHPを使用し外部ファイルを取り込んでメニューを作成

 PHPとはHTML文書中に記述されたスクリプトをサーバーのPHPが実行しその結果を HTMLデーターとしてWebブラウザに渡すものです。

 PHPファイル(拡張子は普通php)の中でメニューを呼び出すには次のようにします。

<?php include("http://domain/***/inc/menu.htm"); ?>

 この方法だとドメインが違っていると使えないので、汎用で使えるようにするには次のようにします。

<?php include($_SERVER['DOCUMENT_ROOT']."/***/inc/menu.htm"); ?>

 ここで、「/***/inc/menu.htm」は「http://domain/***/inc/menu.htm」から「http://domain」を取り除いたもので / から始まります)

 この方法はどのディレクトリからでも同じ方法で外部ファイルを呼び出せ、ドメインが違っていても何も変更することなく使えます。またメニューファイルの拡張子はhtmでなくてhtmlでもphpでもかまいません。

 includeを使わずrequireを使っても同様な動作をさせることができますが、requireの場合は、要求されたファイルがもし無かった場合はエラーとなり、そこでプログラムが停止する場合があるようです。

.htaccessを使用してhtmlファイルをPHPで動作させる方法

 SEO対策という観点から考えるとファイル名を変えるのは好ましくありません。ファイル名を変更せずに従来のままのファイル名を使用する必要があります。
 PHPを動作させるファイルの拡張子をphpだけでなくhtmやhtmlでも使えるようにするには.htaccessファイルに次の行を追加します。

AddType application/x-httpd-php .htm .html

 この時拡張子の前のドットはあっても無くてもかまいません。

広告


SSIを使用し外部ファイルを取り込んでメニューを作成

 SSIとはServer Side Includeの略です。つまりサーバー側でインクルードするので、サーバーに負担が掛かります。その為、SSIの使用を許可していないサーバーも多いようです。
 SSIファイル(拡張子は普通shtmまたはshtml)の中でメニューを呼び出すには次のようにします。
 例としてドメインのルートからメニューまでのパスは /***/inc/menu.htm とします。

<!--#include virtual="/***/inc/menu.htm" -->

 ここで、「/***/inc/menu.htm」は「http://domain/***/inc/menu.htm」から「http://domain」を取り除いたもので / から始まります)

 この方法はどのディレクトリからでも同じ方法で外部ファイルを呼び出せ、ドメインが違っていても何も変更することなく使えます。またメニューファイルの拡張子はhtmでなくてshtmでもshtmlでもかまいません。

.htaccessを使用してhtmlファイルをSSIで動作させる方法

 SSIを動作させるファイルの拡張子をshtmやshtmlだけでなくhtmやhtmlでも使えるようにするには.htaccessファイルに次の2行を追加します。

Options +Includes
AddHandler server-parsed .htm .html

 この時拡張子の前のドットはあっても無くてもかまいません。またhtmlファイルに同時にPHPとSSIを有効にすることはできません。まあ、する必要もその意味もありませんが。
 拡張子 htmやhtml に SSI を有効にした場合、すべての html ファイルがサーバーによってSSIだと認識されて、サーバーに負担を掛けるので好ましくありません。

上記以外のSSIのメリット

 私はアクセス解析に有限工房のefStatというのを使っています。これはフリーソフトでありながらとても高機能です。UTF-8で文字化けする欠点と、更新が止まったままなのが残念ですが、文字化けの欠点は改造して使用しています。改造の内容はユーザー掲示板が無くなったのでもうわかりません。

 普通はCGIで動かすのですが、fcount.cgiを一部のページでSSIで動かすと、高速で訪問する検索ロボットも捕捉することができます。どんな検索ロボットがどの程度の頻度で来ているかがわかります。隠しページにSSIとアクセス解析を適用すると検索ロボットだけを捕捉できて、とても便利です。

 各ページに付けたアクセス解析スクリプトもPHPまたはSSIで各ページに取り込んで使っています。


.
Main Menu |Mobile |あすなろ電器 |工夫と製作 |素人農業 |修理技術 |生活情報 |健康情報 |名所旧跡 |ネット環境 |写真集 |植物の生態 |動物の生態 |電気柵 |English
ネット環境 Menu |迷惑書込対策 |迷惑メール対策 |メール送信規制 |BBSログ変換 |メールCGI改造 |HPのフォルダ構造 |モバイルページの作り方 |サブドメインの同期 |テキストメニュー |HTML一括変更 |外部Menu file |外部CSS |CSSコマンド |印刷用CSS |標準モードと互換モード |段組レイアウト |表示の速いHP |HPの横幅 |HPの背景 |HPの文字 |HPの見出し |HPのタイトル |画像の使い方 |アクセスアップ |RSS配信 |フィードの使い方 |htaccess機能 |Adsenseクリック規制 |Google広告の配置 |HPビルダー起動時間 |複数パソコンでHP更新 |文字の大きさ変更 |タッピングの変更 |ページ内検索 |Thumbs.db |日本語入力FEP

Car Evolution |Tomy's HP ||リンク集 |Sitemap |お問合せ |プライバシーポリシー || このページの先頭

.
アスナロネット
カスタム検索