格安レンタルサーバー比較 > 運営サイトレビューほか > Nucleusのカスタマイズ 静的URL化

Nucleusのカスタマイズ 静的URL化

Nucleus(ニュークリアス)は、動的URLのページを出力するブログスクリプトです。この、ブログの長所は、記事を投稿した時や、デザインを変更した時に再構築というブログを作り直す作業がいらない点です。しかし、この長所の反面、動的URLのため検索エンジン(Google, YST, MSN...)にクロールされにくくインデックスされにくいなどの短所も兼ね備えています。

せっかく作成したブログですので、多くの人に見に来てもらいたい!まして、アフィリエイトなどのブログの場合はなおさらです。そこで、検索エンジンにクロールされにくい動的URLを変換して、クロールされやすい静的URLにする方法(静的URLに見える)をご紹介します。

Nucleusの公式サイトでも紹介されているのですが、管理人のレンタルサーバーのさくらレンタルサーバーでは、書いてある通りに実行してもうまく行きませんでした。そこで、さくらレンタルサーバーを利用される方は以下を参考にされてください。

  1. Fancy URLモード (うまく行かないのですが参考までに)
  2. mod_rewrite (.htaccessを使用します。この方法でうまく行きました)

Fancy URLモード (Nucleus公式サイト説明より引用)

Nucleusではバージョン2.0からグローバル設定において「URLモード」というオプションを設けています。

ここを「FancyURLモード」に設定して以下の作業を行うと、URLが
http://example.org/index.php?itemid=1234から
http://example.org/item/1234に変わります。
このURL形式に変更することで検索エンジンに登録されやすくなる効果が期待できます。

Fancy URLモードへの移行手順
もし下記の手順通り行っても、ページが正常に表示されない場合(Internal Server Errorなどと表示される場合)は、残念ですがこの対策は使えません。上の作業で追加したファイルを速やかに削除し(.htaccessファイルの削除も忘れずに)、管理エリアのグローバル設定においてURLモードを元に戻してください。

  1. /extra/fancyurls ディレクトリにあるindex.html以外の全部のファイルをルートディレクトリ(index.php と action.phpがあるディレクトリ)にコピーします。
  2. すでにルートディレクトリに.htaccessファイルを設置している方はまず現在の.htaccessファイルをダウンロード後に今回の /extra/fancyurls ディレクトリにある.htaccessファイルの中身を追加してください。(FTPソフトでは標準設定では.htaccessファイルは見えないことが多いので、確認方法を調べた上で存在を確認してください。)
  3. .htaccessファイルを設置していなかった方は/extra/fancyurls ディレクトリにある.htaccessファイルをそのまま使用してください。
  4. 「fancyurls.config.php」という名前のファイルの中の$CONF[’Self’]の値を自分のトップページのURLとします。重要: URLの末尾にスラッシュは絶対に入れないでください。
  5. 次にindex.phpファイルを編集します。
  6. $CONF[’Self’]の値を「.」(ピリオド1つ)にします。これをやらないと、URLがindex.php/item/1234などとおかしくなります。Nucleus v3.22以降では、さらに1行追加が必要です。

<?php
$CONF = array();
$CONF['Self'] = '.';
include('./fancyurls.config.php');
include('./config.php');
selector();
?>
となるように、fancyurls.config.phpを読み込む行を追加してください。

これらの新しくルートディレクトリに追加したファイルをサーバにアップロードします。 最後に、管理エリアのグローバル設定においてURLモードを「FancyURLモード」に変更します。 これで完了です。

スキンによってはRSS auto-discoveryなどでのURLが相対パスで指定されている場合があります。FancyURL形式ではずれが生じるため、ルートからの相対パスか絶対パスで指定しなおす必要があります。

mod_rewrite

この方法はApacheサーバで"mod_rewrite"の使用が許可されている環境のみ有効な方法です。これは、URLが静的URLであるHTMLファイルに見せかける方法です。さくらサーバーでは問題なく使用できます。

ルートディレクトリに ".htaccess" という名前のファイルを作成します。あらかじめテキストエディタ(Windows付属のメモ帳などでも可)で作成しておき、FTPでサーバーへアップし名前を上記に変更してください。なお、先頭は . (ピリオド)です。

.htaccessに記述する内容

DirectoryIndex index.php
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^archive-([0-9]+)-([0-9]+)-([0-9]+).html+ index.php?archive=$2-$3&blogid=$1
RewriteRule ^item-([0-9]+).html+ index.php?itemid=$1
RewriteRule ^cat([0-9]+)-blog([0-9]+).html+ index.php?catid=$1&blogid=$2
RewriteRule ^blog([0-9]+)-archive([0-9]+)-([0-9]+).html+ index.php?blogid=$1&archive=$2-$3
RewriteRule ^blog([0-9]+)-archive([0-9]+)-([0-9]+)-cat([0-9]+).html+ index.php?blogid=$1&archive=$2-$3&catid=$4
RewriteRule ^cat([0-9]+)-blog([0-9]+)-archive([0-9]+)-([0-9]+).html+ index.php?catid=$1&blogid=$2&archive=$3-$4
RewriteRule ^member-([0-9]+).html+ index.php?memberid=$1

表示の関係で各行に改行が入っていますが、RewriteRuleなどの行は1行で記述してください。最終行の最後にも改行を入れてください。
作成したファイルをindex.phpのあるディレクトリにアップします。これで準備が整いました。

次にテンプレートなどで、記事やカテゴリーなどへのリンクを修正します。例えば
<a href="item-<%itemid%>.html">記事なんとか</a>

以上で、作業は完了です。これで、"item-1.html" などのURLでアクセスか可能になりました。あとは、検索エンジンがやって来るのを待つだけです。

管理画面からNucleusをインストールできるサーバー
カゴヤサーバー


格安レンタルサーバー比較 > 運営サイトレビューほか > Nucleusのカスタマイズ 静的URL化

Page Top