Yomi-search PHP版の静的ページ加工
くblog.sourcefeed.jpさんのブログの記事「Yomi-Search(PHP)のSEO対策 静的表示化」がとてもよかったのですが、只今休止中みたいなのでその間メモしたのを公表いたします。
Yomi-Search(PHP)のSEO対策 静的表示化について
通常Yomi-Search(PHP版)のディレクトリURLは〜/yomi.php?mode=dir&path=01/のようにURL内に?が入り動的表示され、SEO対策には良いものではない。なのでこれを静的表示してみようと考えてみた。結果は上記のサンプルページのURLを確認していただきたい。
始めはコードの書き換えだけでできるのかと不安だったが、意外と少量のコード変更で出来上がった。サーバによって下記の.htaccessが利用できない所もあるので確認してほしい。もし利用できなくても静的表示にはなるが拡張子が消えず、〜/yomi.php/dir〜とる。
確認は下記のコードを.htaccessとしてアップして〜/yomi.phpではなく〜/yomiで表示できればOK。
.htaccess
<FilesMatch "^$">
ForceType application/x-httpd-php
</FilesMatch>
準備として、Yom-Search(PHP)をインストールして、上記の.htaccessをアップする。また、デフォルトのyomi.phpをindex.phpと名前の変更をしておこう。
Yomi-Search管理画面の環境設定-環境設定(一般)の
1.サーチエンジンのトップへのURL(http://から始まるアドレス)
http:// 〜 / 「/」で終わるように絶対パスで入力
2.yomi.phpのファイル名
index (.phpはいらないが.htaccessが利用できなければindex.phpとする)
環境設定の一番下のメニューバーの設定を下記のように修正(管理画面)
下記をペーストして下さい。
<a href="index/new">新着サイト</a> -
<a href="index/renew">更新サイト</a> -
<a href="rank.php">人気ランキング</a> -
<a href="rank.php?mode=keyrank">キーワードランキング</a>-
<a href="index/m1">おすすめサイト</a> -
<a href="index/m2">相互リンクサイト</a>
ここからはコードの修正です。
修正するファイルはfunctions.php top.htm category.htmの3つ
修正する前に万が一のためファイルをコピーしておこう
-functions.phpの2行目に下記を追加-
<?php
if($_SERVER['PATH_INFO']){
$path_info= explode("_",substr($_SERVER['PATH_INFO'],1));
$_GET["mode"]=$path_info[0];
$_GET["path"]=$path_info[2];
$_GET["page"]=$path_info[1];
$_GET["mokuji_change"]=1;
}
#著作権表示(削除・変更をしないでください。ただし、中寄せ・左寄せは可)
function cr(){
-functions.phpの function other_category()の10行目-<a name=other></a>【その他のカテゴリ】<font id=small>[<a href="<?=$_SERVER['SCRIPT_NAME'].$_SERVER['PATH_INFO'].(($_SERVER['QUERY_STRING'])? '?'.$_SERVER['QUERY_STRING']:'')?>#top">↑ページTOPへ</a>]
-functions.phpの function other_category()の18行目-
-functions.phpの function print_subcategory()の14行目29行目-
$cfg[script]?mode=dir&path=$row[path] を3つとも
↓
$cfg[script]/dir_1_$row[path] に変更する
-functions.phpの function mokuji()の7行目に下記を追加-$af_url = $arg[3];
if($_GET["mokuji_change"]==1) $bf_url = "$url/".$_GET["mode"]."_";
if($_GET["mokuji_change"]==1) $af_url = "_".$_GET["path"];
$end_no = $arg[0] * $arg[2];
-functions.phpの function navi_bar()の9行目に下記を追加-
$cfg[script]?mode=dir&path=$pathを
↓
$cfg[script]/dir_1_$path に変更する
-top.htmの 86, 96, 100行目-$cfg[script]?mode=dir&path=$row[path]を
↓
$cfg[script]/dir_1_$row[path] に変更する
(※100行目$cfg[script]/dir_1_$top_path)
-top.htmの 114, 115, 133 134, 135行目-
<li><a href="<?=$cfg[script]?<?mode=〜を
↓
<li><a href="<?=$cfg[script]?>/〜 に変更する
(※100行目$cfg[script]/dir_1_$top_path)
-category.htmの 5行目-
style.cssを
↓
<?=$cfg[home]?>style.cssに変更する
-category.htmの 19行目に下記を追加-
<base href="<?=$cfg[home]?>">
<body><a name=top></a>
<!-- メニューバー -->
-category.htmの 84行目に下記を追加-
<font id=small>
[<a href="<?=$cfg[script].$_SERVER['PATH_INFO'].(($_SERVER['QUERY_STRING'])? '?'.$_SERVER['QUERY_STRING']:'')?>#other">他のカテゴリ</a>]
[<a href="sitemap.php">サイトマップ</a>]
[2005/1/10]記事追加
-search.htmの 205行目,rank.htmlの134行目を修正-
?>[<a href="<?=$cfg[script]?>?mode=dir&path=<?=$tmp?>"><?
↓
>?>[<a href="<?=$cfg[script]?>/dir_1_<?=$tmp?>"><?
