FC2 ブログで記事の表示順がおかしくなる件

FC2 ブログローカルな話題ですみません。でも気がついたので他の方の参考となるよう記事にしておきます。

ユーザタグで記事を絞って表示した時 (http://BLOGURL/?tag=… で表示した時) に表示順が環境設定で設定した通りでなく、不定 (つまりデタラメ) となることがあるようです。私の場合、デフォルトの新しい順での表示なのですが何故か古い記事の方が前になっていたりしました。 その場合こちらのユーザーフォーラム記事にあるように http://BLOGURL/?publish にアクセスすると直るようです。実際私は直りました。(BLOGURL はブログのホスト名で私の場合は hetarena.com になります)

ところで "?publish" のような FC2 で利用できる URL のパラメータ (URI の "query" の部分) の一覧ってどこかに存在するのでしょうか? 私のすぐ思いつくところでは "?m"、"?style2=[テンプレート名]"、"?xml"、"?all"がありますが、"?publish" は今日初めて知ったので他にもありそうな気がします。


追記
"?no=[記事番号]" というのも使えますね。

Google Webmaster Tools で確認済みだったサイトが未確認になりました

Google Webmaster Tools で既に確認済みだったはずのサイトの確認ステータスが「未確認」となってしまいました。

「サイトを確認」のページのメッセージを見ると以下のように確認用 META タグが変更になり新しい文字列を設定するように指示されています。

確認ステータス: 未確認
2007/12/17 に最終試行: 確認 META タグは ****** としてください。
確認した META タグは ++++++ です。

ただし、"******" と "++++++" は新旧の確認用文字列です。

1年以上 Google Webmaster Tools を使っていますが、このようなことは初めてです。 ヘルプを見たり Web 検索してみたりしても定期的に新しい文字列を設定しなければならないという情報は見当たりません。 取り急ぎ、META タグを更新すると即時に Google Webmaster Tools は利用可能となりました。 これまでのデータも消えてはいないようです。

そう言えばと思い出したのが、数日前に Google のアカウント情報を変更してメールアドレス (ログイン ID) を変えたことです。 このタグの文字列はメールアドレスを元に生成されているのかも知れません。 だとするとメールアドレス変更時は META タグの変更も忘れずにしなければなりませんね。

MS のサイト管理者向けツール「Live Search Webmaster Center」

あまり話題にはなっていないようですが、Microsoft Live Search の Web 管理者向けツール "Live Search Webmaster Center"β版が公開されています。 Windows Live ID (hotmail 等のアカウント) を持っていれば利用することができます。

ざっとどんなことができるのか紹介しておきます。

Live Search Webmaster Center

Summary:
上の画像がそうです。最後にクロールされた日付や (多分 ranking) Top 5 pages 、インデックスされたページ数等が確認できます。

Profile:
Web サイトのプロフィール設定画面です。最初のサイト登録時と同じ項目が並びます。 "Sitemap address" で sitemap ファイルの位置を指定することができます。
また、"Verification" でサイトの認証方法を指定することができます。 オーナーシップ確認のために指定された META タグをサイトの HTML の中に埋め込んだり、指定された XML ファイルをサイトに置いたりする、例のあの手続きです。

Keywords:
指定された語句で検索したときに当該サイトからどのような結果が返るかを確認できます。 残念ながらまだ日本語はまだ使えないようです。

Top links from:
当該サイトからリンクしているサイトで Live Search の (多分 ranking) ベスト 10 を表示します。

Top links to:
当該サイトにリンクしているサイトで Live Search の (多分 ranking) ベスト 10 を表示します。

Sitemap:
sitemap ファイルの更新をマニュアルで通知することができるようです。

エラーもよく起こしているし、ヘルプも十分でないように見えるし確かにβ版という感じです。 とりあえず現時点ではサイトマップファイルを Live Search に伝えることができる点がポイントでしょうか。

FeedBurner による RSS フィード始めました

自分で言うのも何ですが、このブログのように雑多な内容で、しかも更新がまばらというブログは RSS リーダーで購読するのがお勧めです。RSS リーダーを使えば更新を知るのは容易ですし、記事の選別もしやすいです。 しかも、このブログは全文配信なのでわざわざサイトを閲覧する必要がありません。(たまには見に来て欲しい気もしますが…)

これまでは RSS リーダーによる購読数が把握できないのが嫌で RSS フィードについてはあまり宣伝はしていなかったのですが、このたび FeedBurner 経由でフィードを配信するようにしてこの問題を解決しましたので、これを機にRSSリーダーの使用をお勧めしておきます。

新しいフィードの URL は

です

既に購読いただいている皆様は、既存 URL での配信も引き続きご利用いただけますので、特に設定変更の必要はありません。 まあ、何かの機会に登録しなおしていただけると、把握している購読者数が増えて私も張り合いが出るとは言えます。

RSS icon
これって RSS フィードのアイコンなのですね。ヘタレと言われそうですが、認知していませんでした…

Google Analytics の「目標値」

Google Analytics のコンバージョン目標設定のところに出てくる「目標値」とは「the value of the goal」の訳で、 「目標に1回到達したときの経済的価値」ということですね。 「目標値」と書くからどうやって使うのかよくわからなかったのですが、やっと意味がわかりました。 これを設定しておくと「コンバージョンバリュー」を (目標到達数) × (目標値) で計算してくれます。

それとページの閲覧時間の「00:00:00」が気になっていたのですが、こちらは1ページだけの閲覧はこのように記録されるようですね。 道理で多いわけだ…

「クロールに関する情報」、「ページ分析」が表示されない件

Google のウェブマスターツールでサイトマップをきちんと登録したものの、 「統計」の「クロールに関する情報」と「ページ分析」がこれまでずっと「現在、データを表示できません」の表示のままでした。 それがある日気がつくと表示されるようになっていました。 恐らく sitemaps.xml ファイルを登録して半年ぐらいは経過していたと思います。 きっかけは特に思い当たることはなく (先の記事に記した DOCTYPE 宣言の変更をする以前から表示されていたように思います) 単に時間がかかっただけのように思います。 Web 検索すると他にもこの2つが表示されない例は見つかるのでそういうものなのでしょう。

この他にも Google のウェブマスターツールは微妙なところが多いです。 私の場合、「診断」の「クロール率」は1ヶ月前ぐらい迄しかグラフ表示されず最近の情報は表示されませんし、 「統計」の「クエリに関する情報 」は「過去 7 日間のデータの平均」といいつつ2、3週間同じ内容が表示され続けたりします。実際に過去 7 日間の平均であればそのようなことはないはずなのですが…

まあ場末のサイトではそのようなことになってしまうのかも知れません。 そのような時はサイトマップ登録のためのツールと割り切るしかないように思います。

Google で「日本語のページを検索」すると結果表示が少ない問題について

最近、この blog のアクセス数が目に見えて増えてきました。 嬉しいことではあるのですが、どこかで紹介された様子はないし、 一体何が起こったのだろうといぶかしんでいたのですが、 どうやら Google の「日本語のページを検索」したときに引っかかるページが増えてきたのが原因のようです。

以前、 "site:" オプションを指定してこのサイトに対し「ウェブ全体から検索」したときは3桁のページが引っかかるのに「日本語のページを検索」すると1桁しか結果表示されないのに気づいたことがありました。 全記事は日本語で書いています。 恐らくここに blog を移してからずっとそういう状態が続いていたのでしょう。 この問題を解決しようと調べてはみたものの、 Web 上に「これだ!」と特定できるようなような情報はなかったので問題を放置したままの状況でした。

ところが最近になって調べてみると「日本語のページを検索」でも同程度の数の検索結果が表示されるようになりつつあります。 この間何をしたかというと思いつくのは Google AdSense を導入し、それに伴い DOCTYPE 宣言を HTML から XHTML に変えたことぐらいです。(今は XHTML に変えたものの古いアトリビュートを使っているのを全て直せていないというあまり誉められない状態なのですが… はい、少しずつ直していくつもりです。)

関係しそうなところでは HTML の時は、

<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=euc-jp">
</pre>

と指定していました。XHTML にした後はこれを、

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=euc-jp" />

としています。

こちらの調査 を見るとかなりの割合の人が「日本語のページを検索」で検索しているようです。 どうりでアクセス数が増えるわけです。 FC2 ブログには同様の症状の blog が少なからず存在するように見受けられますが、誰か同じことをして「日本語のページを検索」の結果が増えるか試してみませんか?

アクセス解析のサーチワードを集計する with perl

このブログへのアクセスはそのほとんどが検索エンジン経由です。 書いていることが雑多でニッチな話題も多く大衆向けに書いていないので特にブログの宣伝をしようとは思いませんが、 検索エンジンで探し物をしている人がここに来て何かを見つけることができればそれは嬉しいことです。 なのでできるだけ多くのページが検索エンジンにインデックス化されるための努力はしていこうと思います。

またこのような考え方なので、「どのような検索をしてこのブログに辿りついたか」という点は興味があります。 ブログと同じ提供元の FC2 アクセス解析を使っているのですが、検索に入力した単語を表示する 「サーチワード」のレポートが気になります。 ところがブラウザからこの「サーチワード」のレポートを見るとページばかり多くなって使い勝手がいま一つです。 そこで、今回 FC2 アクセス解析のサーチワード情報を perl を使って分析をしてみました。

流れとしては以下の通りです。

  1. 「番号」、「サーチワード」、「件数」を含む TSV (Tab Separated Values) ファイルを生成する。
  2. サーチワードにどのキーワードが含まれていたらどのカテゴリに分類するかの情報をファイルとして作成し、 先の TSV ファイルと合わせてカテゴリごとの件数を集計しレポート化する。

まず、1 ですが、http://analyzer.fc2.com/ にアクセスして自動的に情報を取得するようにします。 このサイトへアクセスする際に気をつける点は以下の通りです。

  • analyzer.fc2.com はセッション管理はせず、 Cookie にユーザ名、パスワードを入れてやりとりする仕様となっている。 お陰でプログラムするのは楽だけれどちょっとエグいかも。
  • analyzer.fc2.com は UTF-8 でページを返す。

というわけで、1 の処理をするプログラム (getlog.pl) を書いてみました。 日本語のマッチング処理をしているのでこの perl のプログラムファイルも UTF-8 で保存する必要があります。 処理は analyzer.fc2.com の出力する HTML の書式にかなり依存しています。以下のように実行します

perl getlog.pl > mylog.tsv

続いて集計プログラムを実行する前に「キーワード」、「カテゴリ」の組み合わせを羅列した分類用ファイルを作って word.txt として保存しておきます。 以下のように「キーワード」、「カテゴリ」を項目とした TSV ファイルです。 分類するときに複数のキーワードを含んでいる場合は先に書いてあるキーワードで処理されるので、順番は重要です。 キーワードのマッチング処理は大文字/小文字の違いは無視します。

ミニッツ      ミニッツ
サーキット    ミニッツ
MZW8P         ミニッツ
PERFEX        ミニッツ
レンズ        カメラ
kiss          カメラ
(...略)

ちなみに私の使ったものはこれです。 マッチしないレコードもそれなりにありますが、大体の傾向を掴むのが目的なので良しとしています。

ここまでできたら後は 2 の処理をするプログラム (catrep.pl) を実行するだけです。

perl catrep.pl mylog.tsv > report.txt

このように実行すると最初にキーワードを1つも含まなかったレコードが表示され、続いてカテゴリ毎の集計結果が表示されます。

==== Unmatched Records ====
22      木材 リストア  4
(...略)
==== Category Report ====
音楽 = *****
テニス = *****
(...略)

アクセス数は恥ずかしくて公表しませんが、こうして調べてみるとこのブログでは Cisco/ミニッツ/模型(主に鉄道)の3つを対象とした検索の結果からのアクセスが多かったです。最後の模型については意外でした。これに関してはもう少し記事を充実させねばと思いました。

プログラム実行に関しての注意

  • perl や正規表現をある程度わかっている方を対象にしています。実行は自己責任でお願いします。また、私は決して perl プログラミングに長けているわけではないのでうまくない点は指摘していただけるととても嬉しいです。
  • getlog.pl 中の $user/$password/$proxy/$url/$path についてはご自分の環境に合わせて設定してください。
  • FC2 ブログの仕様によりプログラムファイルは .txt の拡張子でアップロードしています
  • 取得した HTML からコード変換していないので出力されたレポートも UTF-8 になります。
  • Windows 上の Active Perl (v5.8.8) で動作確認しました。LWP モジュール、HTTP モジュールを使っていますので、環境によってはこれらを追加インストールする必要があるかも知れません。
  • word.txt は改行コードを LF のみにした方が良いかも。

FC2 テンプレートの選び方

思い立ってこのブログのホームを HTML 文法チェッカーである Another HTML-lint にかけてみると「がんばりましょう」と判定されてしまいました。公式テンプレートの phot-k20 を使って画像差し替えたぐらいなんだけどなあ、と思い元のテンプレートを使って HTML-lint にかけるとやはり「がんばりましょう」。そもそも「必須」の DOCTYPE 宣言がないと言われてしまいます。おやおや…「公式」だからこの辺はしっかりしているだろうと思いきやそれは見込み違いでした。しかも閉じられていないタグもちらほら。

これは何とかせねば、と思ったのですが、せっかくトップの画像をカレンダーに合わせてつくり直したので別のテンプレートを選ぶ気にもなれず、自分で正しい HTML に直す道を選びました。

最近(っていつ?)の HTML にはサッパリついていけてなくて DOCTYPE に何を選べばよいかというところから始めなければならず、結局 HTML 4.01 Transitional を選んだのですが、DOCTYPE 宣言を入れただけでレイアウトが崩れます。調べるとブラウザの描画モードに「標準モード」と「互換モード」があるそうで、width や height の計算方法が違うとのことです。途中で投げ出したくなりましたが、何とか IE 6.0/Firefox 2.0/Opeara 9.10 できちんと表示され、 HTML-lint では「よくできました」と判定されるところまでいきました。まだまだ改善点はありますが、とりあえずこれまでのものよりはマシでしょう。

FC2 テンプレートを選ぶとき気をつけること:

  • まずはきちんと DOCTYPE 宣言のあるものを選びましょう。
  • HTML 文法チェッカーにかけて結果を確認しておきましょう。

見た目も大事ですが、正しい文法で書けているかも大事です。文法が正しくなければ検索エンジンのロボットだって困ってしまうかも知れません。自分で直せる自信がなければ最初から正しいものを選びましょう。「公式」だからといってもこのあたりは杜撰なものが混じっているようです。

参考にした URL も挙げておきます。

FC2 のブログを Yahoo! Site Explorer に登録してみた

Yahoo! Site Explorer は簡単に言ってしまえば Google Sitemaps の Yahoo! 版です。 この Yahoo! Site Explorer でいくつかの新機能がリリースされ、その中に "Site Authentication using META tags" (META タグによるサイトの認証) という機能が含まれています。 これまでは認証用ファイルをサイト URL のルートディレクトリに指定された名前でアップロードしなければならなかったので FC2 ブロガーは Site Explorer を利用できなかったと思いますが、META タグに対応してくれたので利用することが可能になりました。 早速このサイトを登録してみました。手順は以下の通りです。

  1. まず米 Yahoo! の ID が必要です。未取得の場合は Site Explorer ホーム の [Sign In] メニューから辿って "Sign Up" します。
  2. "Sign In" した状態で Site Explorer ホーム にアクセスして自ブログの URL を入力し、 "Add My Site" します。
  3. "My Sites" 画面より "Authenticate" ボタンをクリックします。
  4. "To add a META tag to your home page," 以下に書かれている指示に従います。具体的には使用しているテンプレートの最初の <HEAD> セクションに指定された META タグを記述して "Ready to Authenticate" ボタンをクリックします。"Your site is pending authentication." と表示され、サイトの "Status" が "Pending" になります。
  5. 引き続きサイトマップファイルを指定しておきます。"My Sites" 画面より "Manage" ボタンをクリックして "Feeds" の設定で自サイトの後のテキストボックスに sitemaps.xml を指定し "Add Feed" を押します。

Pending 状態はしばらく続くようで、私の場合6時間ほど経ちますが、まだ Pending です。


2007.2.2 追記:

  1. 約半日後確認したら無事ステータスが "Authenticated" になっていました。
  2. ID 登録の手順はこちらのブログが詳しいです。 ただし、フィードは sitemaps.xml の方が良いように思います。

2007.2.6 追記:

このサイトの場合、登録後はインデックスの数が減りました。sitemaps.xml にエントリのない blog-date-YYYYMMDD.html (YYYYMMDD は年月日) が消えていったような感じです。ただ、冗長なものが消えただけで検索に引っかかるかどうかは変わっていないようにも思えます。(変化途中かも知れません)

私はやり忘れたのですが、"Export first 1000 results to: TSV" の機能で登録直後のインデックスを保存しておくとその後の変化を把握しやすいと思います。


2007.2.12 追記:

現在のインデックス数は少なくとも登録時並になっています。blog-date-YYYYMMDD.html 形式も復活していて何が変わったのかよくわかりません。やはり登録直後のインデックスを保存しておくべきでしょうね。