ちょっとうちのブログで使っているSerene Bachの設定を忘れないように書いておこう。
ご存じの通り(誰も知らないって?)私のこのブログはロリポブログから引っ越しした状態なのだが、その過程は「 ロリポブログからSerene Bachへ!」に記載しているのでそちらをお読みいただきたい。
今回はしばらく使っていて設定を少し変更した点を書いておこう。
まずは前回の「 ロリポブログからSerene Bachへ!」に書いていなかったロリポブログからの引っ越しでSerene Bachでの画像ファイルについてだ。
Serene Bachをインストールし、default設定だと記事の保存先が恐らく”/log/”というディレクトリに保存されるようになっていると思う。この状態でロリポから記事のインポートを行い、Serene Bachのシステム階層下に”/images/”ディレクトリを作りその中にロリポブログ(JUGEM)でアップしていたのをバックアップした画像ファイルなどをアップする。で、環境設定より「トップページのみhtml生成(none)」を選択し再構築をする。すると各記事の個別URLがcgiによる動的出力urlになるのだ。この状態の階層はこんなかんじ「http://blog.planting-field.com/sb.cgi?eid=399」要するに、Serene Bachのシステム階層にcgiで動的出力されることになるのだ。この方法にするとロリポブログから”/image/”に画像をインポートした状態とロリポブログから記事をインポートした状態でちゃんと個別記事でも画像が表示されるのです。
何故こんなめんどくさいの?ロリポブログでは画像をアップし記事を書くと、そのパスは「相対パス「<img src="images/Afghanistan.gif">」←こんな感じに記述されているのだ。この状態で書かれている記事をSerene Bachにインポートする、Serene Bachで個別記事の保存先を”/log/”にし設定を「個別記事をhtml保存」にしていると個別記事のhtmlファイルが静的htmlとして”/log/”ディレクトリ内に保存されるのである。すると相対パスで記述されたロリポブログからのインポート記事では画像の呼び出し位置が異なってしまいブログのトップでは表示されるが、個別記事からでは画像が表示されないのだ。そんなわけで先ほど書いたように設定を「トップページのみhtml生成(none)」にし、cgiによる動的出力にすることにより、ロリポブログと同様の階層表示になる、よっていちいちインポートした個別記事の画像相対パスを絶対パス(http:://〜始まるurl)に書き直す必要はなくなる。
これでロリポからのインポートは問題ないのです。しかし、SEO的には良くないんですよね。まぁSEO対策って言っても気持ち的な問題だからWEBMasterが気にしなければこのままで良いのかもしれませんが・・・・cgiからの個別記事を動的出力にしておくとurlが「〜sb.cgi?eid=399」と言うように「?」が記述されてしまう。これはseoすなわちGoogleなどの検索上良くない。
静的ファイルが生成されないから記事が大量の場合にはサーバー容量を圧迫しないという利点はあるけど通常の利用でそんな何万記事も書くわけではないでしょうからここはやはりせっかくある機能、静的html生成をしておきたいところなのです。
さらには個別記事やRSS関連の出力先を“/log/”のままにしておくのは私としては使いにくい。そんなわけでこの出力先”/log/”を変える。Serene Bachシステムをおいてある階層に変えるのです。ログ保存先フォルダを”/log/”からベースフォルダと同じように” ./ “とする、で、「個別記事をhtml保存」にする。 再構築する。するとcgi出力時と同様にSerene Bachシステムをおいてある階層に個別htmlが出力されることになります。これにより私のようなロリポやjugemからの引っ越し組みでもHTML生成をさせ、個別記事の相対パス書き換えをすることなくインポートが楽になりますね。
ログの保存先をトップディレクトリにしたことによりRSSの出力URLも変わります。私のようにサブドメイン(http://planting-field.com/blog/ではなくhttp://blog.planting-field.com/の様な状態)でblogを利用されている場合にはSerene Bachでいちいちプラグインに頼らなくてもグーグルサイトマップ(Google Sitemap)に登録することが出来ます、XMLじゃなくatom0.3をGoogle Sitemapに登録するのです。ここのblogの場合「http://blog.planting-field.com/atom.xml」がatom0.3の出力urlになるのでこれを登録しました。”/log/”階層に出力しているとGoogle Sitemapには登録できませんからね。 ただこれは私の場合の設定ですのであしからず。
追記
ベースフォルダ、ログの保存先を共に” ./ “すると<head></head>内に記載しているRSSのリンクURLがバグによりおかしくなります。「http://blog.planting-field.com/./atom.xml」と、/./←こんな感じになっちゃいます。このままでも得に問題はありませんが、何か気になるので私は<head></head>内に記載している
<link rel="alternate" type="application/rss+xml" title="RSS" href="{site_rss}" />
<link rel="alternate" type="application/atom+xml" href="{site_atom}" />
部分を
<link rel="alternate" type="application/rss+xml" title="RSS" href="http://blog.planting-field.com/index.rdf" />
<link rel="alternate" type="application/atom+xml" href="http://blog.planting-field.com/atom.xml" />
と、直接独自タグから絶対パスに書き換えました。これで<head></head>内から出力されるRSSのURLが通常になります。
(このバグは<head></head>内から出力されている部分のみで他の部分に記載してあるRSS出力独自タグからは通常のパスで出力されます。何かしらのバグでしょう、っていいますか、私のような使い方を想定していないのでしょうね。)
ちなみにログの保存先を” “と、無入力で更新すると自動的に” / “と、スラッシュのみが自動で記載されます。このまま更新するとRSSのURLはもちろん個別記事のURLも「http://blog.planting-field.com//atom.xml」と、スラッシュ2本入ります、そんなわけでログの保存先は”./”と記載しなきゃだめなんです。
Google Sitemapに関しては「ロリポブログでもGoogle Sitemap登録」をご覧下さい。
上記の方法はあくまでロリポやJUGEMのblogから記事をインポートした際、画像パスを相対パスから絶対パスに書き換えるのが面倒な方には良いですが、それ以外の方は気にしなくても結構です。
でも、結局一番良いのは各記事に書き込まれている画像部分のパスを絶対パスに書き換えてあげれば/log/フォルダに保存する形式で何の問題もありません。現在ここのブログでも地道に個別記事の画像パスを書き換え、個別記事をhtmlにし/log/に保存しています。てか、テキストエディタで一発置き換えやってからインポートすりゃよかった。順番間違えた。後の祭りです。
GoogleSITEMAPに関してもこちらのプラグインで出力したら問題有りません。
コメント
Planting Field weblog | Serene Bachの設定"ログの保存先"
Planting Field weblog | Serene Bachの設定”ログの保存先”