こちらのブログ、3月8日にURL変更を完了して2週間と少しが経過しました。
サーチエンジン(というかGoogle)の挙動が気に入らなかったからですが、現在のサーチエンジンのインデクス状況を確認すると、そのGoogleが新URLで350ほどの値を返しますのでね。まぁ浸透して来たかな?という感じでして。
問題はYahoo!系のサーチエンジンが旧URLを山ほどインデクスしたままなことなんですよね。noindexに加えてrobots.txtでもDisallowしてあるのですが、それなのに古い方が削除される気配がありません。完全に消滅させないと「なくなった」と理解しないようです。
アクセスログを眺めていても、いつも見に来て下さる方々は新URLの方で来られるようですので、旧URLで403を並べて下さるのはサーチエンジン経由の単発アクセスでしょう。そのエラーページに表示されている新URLへのリンクを踏む様子もありませんので、もう切っても差し支えないと判断します。
そういうことで、旧サブドメインを削除します。浸透後はアクセス時に「サーバーが見つかりません」とDNSエラーを返すことになりますが、このエントリーをご覧の方には関係ありません。
経過措置は終わりがあるから経過措置なのであって、いつまでも引きずっていても仕方ありませんからね。この辺できっちりと終わらせることにします。
アクセスログを眺めていると、恐ろしい数の403が記録されています。
これ、前のURLへアクセスしようとすると表示されるものですが、Googleからはインデクスを完全に削除して頂いていますのでね。おそらくYahoo!に残ったインデクスから来ておられるのでしょうね。
403のページには、新しいURLへ誘導するリンクを張ってあります。にもかかわらず、何度も何度も403を出しておられる方の何と多いこと。
これは想像ですが、Yahoo!のインデクスから読みたい記事を見つけてクリックしたもののエラーを返すので、おかしいなぁということでリトライしておられるのではないかと。
ですが、新しいURLへのリンクはすぐに分かる場所に配置されていて、実際にそれを踏んで新しい方へ来られる方も少なくありませんのでね。なぜリンクを踏まずにリトライなさるのか、その辺がちょっと・・・です。
これも想像ですが、おそらくエラー画面のメッセージをまったくお読みになっておられないのでしょう。サーチエンジンから来られる方にはそのような傾向が見られますので、それであれこれ仕込みを施していたのですが。
403ページから該当記事へリダイレクトするという方法もありますが、エラー画面に表示される短いメッセージすらお読みにならない方が、記事に飛んで内容をお読みになるとは思えませんのでね。お気づきにならないのなら、それはそれで仕方ないということで。
少し前に「WordPress – スパムコメント対策のベタな方法」で書いた通り、スパムコメントをブロックする目的でcomments-post.phpをリネームしてあります。
その際に、投稿フォームのactionターゲットを同じファイル名に書き換えた筈なのですが、先ほどソースコードを眺めていてその部分が元に戻っているのを発見しました。
つまり、スパムどころかすべてのコメントを受け付けない状態になっていたということです。
以前その部分を書き換えた際には自身でテストコメントを投稿しており、それが問題なく通っていましたので頭から抜けていました。そういうことですので、「いつから」「何が原因で」元に戻っているのかはサッパリ分かりません。
只今、再びコメント投稿可能な状態にしました。404エラーを返された方には謹んでお詫び申し上げます。
先日から動いていたブログの移転作業が完了しました。
って、このページをご覧の方は新URLでアクセスして来ておられるのですから、何を今さらという話ですね。
皆様、今後ともどうぞご贔屓にお願い致します。
以下は自分用メモのような意味合いで、今回行った手順を整理しておきます。
1. サーチエンジンのロボットを排除
robots.txtで新旧それぞれのサブドメインへのアクセスを止めます。
User-agent: *
Disallow: /
2. Googleからインデクスを削除
ウェブマスターツールから[クローラのアクセス]→[URLの削除]→[新しい削除リクエスト]で申請。数時間で完全に削除されました。
3. サーバーのサブドメイン設定を変更
新しいサブドメインをブログが置かれたディレクトリにポイントし、古いサブドメインのポイント先に新しいディレクトリを作成します。新しいディレクトリの中身は空ですから、これにより以前のURLではブログにアクセス出来なくなります。
4. 旧サブドメインのポイント先にエラーメッセージを準備
作成したディレクトリには、更に /error ディレクトリを作成して403と404のページを準備。アクセスがあった際にエラーを返すと同時に、新サブドメインへ誘導するメッセージを記載しておきます。
5. .htaccessの書き換え
新ドメインのドキュメントルートには旧ドメインで使用していた.htaccessをそのまま置きますが、エラードキュメントのURLのみ変更しておきます。
ErrorDocument 404 http://cyber.bonmee.com/error/404.html
ErrorDocument 403 http://cyber.bonmee.com/error/403.html
AddDefaultCharset utf-8
Order Allow,Deny
Allow from allDeny from ***
旧ドメインの方にも.htaccessを置きます。
ErrorDocument 404 http://blog.bonmee.com/error/404.html
ErrorDocument 403 http://blog.bonmee.com/error/403.html
AddDefaultCharset utf-8
Order Allow,Deny
Allow from all
6. 新サブドメインのrobots.txtを書き換え
新しいサブドメインへのロボットアクセスを許可します。ただし、エラーメッセージや画像があるディレクトリへのアクセスは禁止しておきます。
User-agent: *
Allow: /
Disallow: /image/
Disallow: /error/
エラーメッセージがインデクスされても検索結果にゴミが混ざるだけですし、画像をインデクスされても困りますからね。
7. WordPressのブログURLを変更
Dashboardの[Settings]からWordPress addressとBlog addressを変更。これにより、自動生成される内部リンクのサブドメインが新しい方に書き換えられます。
8. 記事内に記述された内部リンクの変更
記事内に貼られた過去記事へのリンクを見直します。が、これは各ページをチェックしながらの手作業ですので時間を要しますね。後になって見落としが発覚しそうな気もします。
9. 外部JavaScriptファイル内の記述を変更
外部JavaScript内に旧サブドメインが記載されていますので、それを新サブドメインに書き換えます。これはEmacsで M-x replace-string を使えば一瞬ですべてが書き換わります。
10. ドメイン内の他サイトから貼られたリンクを修正
www.bonmee.comやgourmet.bonmee.comなどに記述されているブログへのリンクを書き換えます。これも手作業だと非常に面倒な作業になりますが、htmlファイルですからね。コンソールからPerlでプログラムを打ち込んで書き換えれば一瞬です。
# perl
@files= `ls -l`;
foreach $files(@files){
$_ = `cat $files`;
$_ =~ s/blog\.bonmee.\com/cyber\.bonmee\.com/g;
$new = $files + “.tmp”;
`touch $new`;
print $_, $new;
rename $new, $files;
}
C^d
各ディレクトリを `ls -l` でリスティングして cat でファイルを開き、s///でリプレースします。touch で空のファイルを作成して書き換えた内容を出力し、ファイル名に”.tmp”を付加して保存。その後、元のファイル名にリネームします。簡単ですね。
11. リンクして頂いている他サイトへ書き換えの依頼
これは他人様の問題でもありますので、私一人ではどうしようもありませんね。折にふれて、順次お願いに巡回することにします。
ブログの移転作業を始めます。
時刻は未定ですが、3月8日のどこかで旧URL(blog.bonmee.com)は消滅します。
ですが、告知期間が短いため、当初予定していた「いきなり消滅」は避けることにしました。
一定の期間は、旧URLにアクセスがあった際に404または403を返すようにして、そこに新URLへのリンクを表示することにします。
作業の進捗状況ですが、現時点でGoogleのインデクスは削除されています。
Yahoo!など他のサーチエンジンにはまだ残っていますが、robots.txtでサイト全体をDisallowしてあるため、いずれ消えることでしょう。削除依頼を出せるかどうか、またゆっくり確認してみます。
旧URLを消滅させた後で、ブログへのリンクを貼り替えた会社のサイトやグルメサイトをFTPすれば良いですね。その後、サブドメインのポインタを調節するか、または.htaccessでリダイレクトして上記の403なり404なりを返すようにすれば良いでしょうか。
昨日のエントリーにも書きましたが、現時点ではまだサーチエンジンに拾われたくないため新URLへのリンクは貼りません。
ブックマークユーザーの方は、URLの”blog”の部分を”cyber”に書き換えて下さるようお願いいたします。
こちらのブログを移転することにしました。
移転とは言っても同じサーバー内で、単にサブドメインを変更するだけです。
現在サーバーに新しいサブドメインをセットしてテスト中ですが、私の手元の環境では、既に新URLでアクセス出来ることが確認されています。もうそろそろ安定する頃でしょうか。
現時点では新しいURLをサーチエンジンに拾われたくないため、ここにリンクを張るのは控えさせて頂きます。ブックマークユーザーの方は、下記をご参照の上ブックマークの書き換えをお願いします。
現在:blog.bonmee.com
↓
変更後:cyber.bonmee.com
トップページ以外をブックマークしておられる方もチラホラお見かけしますが、この予告がそういう方の目に触れる可能性は極めて低いと思われるものの、Aboutの「リンク・ブックマークについて」で予めおことわりしてありますのでね。特に配慮はしません。
こちらをリンクして頂いている主要なサイトへの通知は、まぁそれほど急ぐことでもありませんか。移転が完了してから伺っても問題ないでしょう。
現時点では、サイト内のリンクを書き換えるなどの細かい作業はローカルで既に終了しています。ですから、移転作業はそれらをFTPで一斉に送った後で、現在のサブドメインを削除すれば完了ですかね。
削除後は、blog.bonmee.comにアクセスしようとすると「サーバーが見つかりません」と表示される筈です。403や404のエラーを返すことすらありません。
ということで、このエントリーをお読みになられた方は、また新URLでお会いしましょう。お読み頂けなかった方は、もしかしたらお別れかも知れませんね。
