ぷりどうぐ - wordpress

ホーム > タグ > wordpress

wordpress

WordPressのバージョンを2.7.8→2.8.4にアップデート

2.8.4以前には深刻な脆弱性があるらしいので連休を利用してアップデートしてみました。…30分くらいで終わりましたが。

参考にした記事:WordPressのバージョンを2.8.2から2.8.4にあげたよ – IDEA*IDEA ~ 百式管理人のライフハックブログ

ちなみにWordPressには自動アップデート機能がついていますが、恐ろしくて誰も使っていません。

手順メモ

1.サーバにsshログイン
2.ディレクトリをコピー

cp -r d d-20090920

3.SQLデータベースのバックアップ
mysqldump exco -uexco -pPASSWORD -hDATABASENAME > /home/exco/20090920_sqlbackup.txt

水晶堂: さくらインターネットでのmySQLデータ自動バックアップ

4.プラグインを停止
5.テーマをデフォルトに戻す
6.最新版のWordpressをダウンロードして上書き!
7.管理画面にログイン。

2.7.8→2.8.4とバージョンを跨いだせいかデータベースのアップデートを要求される…が、あっさり終わりました。

8.プラグインとテーマを元に戻す

問題点

思った以上にスムーズだったけどちょっとした問題が。

1.wp-dbmanagerがエラー出力

Your backup folder MIGHT be visible to the public

To correct this issue, move the .htaccess file from wp-content/plugins/wp-dbmanager to /home/exco/www/d/wp-content/backup-db

調べてみると、バックアップ領域にダイレクトでアクセスできちゃって危険だよ!というメッセージ。バックアップ領域に以下の.htaccessを置くことで解決。

&lt;files ~ &quot;.<em>..</em>&quot;&gt;
order allow,deny
deny from all
&lt;/files&gt;

参考:WordPressのバックアップをとるwp-dbmanager ≪ wordpressdesignb

2.WordPress.com StatsがAPIキーを要求

データベースをアップデートした影響か、アクセス解析プラグインのWordPress.com StatsがAPIキーを要求。そんなの覚えてねぇ!ってことで「WordPress.com API」で過去メールを検索したところ、AkismetのAPIキーとして発行されてました。キーを入力して終了。

以上。細かい所はこれから見ていくので、何かあれば追記する予定です。

Web拍手&はてブ

下のボタンを押すと拍手を送ることができます。同時にメッセージも送れます。

はてブはこちら。このエントリーを含むはてなブックマークはてなブックマーク - WordPressのバージョンを2.7.8→2.8.4にアップデート

実際の移行レポートとその後

目次

  1. 旧ブログのアクセスを引き継ぎつつ、個別記事ページを生成していないSereneBach(sb)からWordPressへ移行する方法(このエントリ)
  2. 新ブログのパーマリンク作成(投稿名ベース)
  3. 旧ブログ→新ブログへのパーマリンク対応作成
  4. SereneBachからエクスポートしたデータを編集
  5. WordPressにSereneBachからエクスポートしたデータをインポート
  6. 旧ブログ(sb)→新ブログ(WordPress)へのリダイレクト設定
  7. 実際の移行レポートとその後←今ここ

今までに説明した手順で実際に移行した結果を報告します。

1.新サイト(wordpress)のbasic認証解除

構築中に.htaccessで検索に引っかからないようにしていたのを解除します。

2.旧サイト(sb)→新サイト(wordpress)へのリダイレクト開始

旧サイトの.htaccessを有効にし、新サイトにリダイレクトできるようにします。

3.念のため旧サイトのURLでアクセスして新サイトに飛ばされるか確認。

旧サイトでアクセスの多いページをpickupし、新サイトにリダイレクトされるか確認します。

終わり。作業時間は5分くらいでした。後は検索エンジンの登録が切り替わるのを待つのみ。

Web型RSSリーダーのURL変更

これは速攻でリダイレクトされました。リダイレクトを開始したのがAM5時なので4~5時間以内にリダイレクトされた事になります。

  • Bloglines 03/18 09:15:37
  • livedoor Reader 10:00:42
  • DELCO READER rss2 11:07:03
  • FreshReader 03/18 10:30:13
  • Google Reader 03/18 10:31:04
  • Yahoo RSSリーダー 03/18 06:53:53
  • Fastladder 03/18 14:06:28
  • はてなRSS 3/18 16:46:32

検索エンジンのURL変更

移転から5日経った3月22日に、「ぷりどうぐ」で検索したら新URLが一番上に来るようになりました。ただ個別ページは旧URLの方が上に来ます。旧URLから新URLへの移転はちょっと時間がかかりそうです。

(2009/3/25追記) 個別ページの登録も切り替わり始めました。Yahoo!はhttp://prius.cc/d/以下の個別ページに切り替わって完璧。Googleはhttp://prius.cc/d/temp以下まで切り替わり。META refresh分だけ遅れてるようです。MSNは…全然切り替わらない!なんとかしろよ~(汗 まぁMSN経由で来る人少ないからいいけどさ。

(2009/3/30追記) googleも完全に切り替わりました。MSNはダメです。

アクセス数について

変化なし。旧URLからのアクセスが全て飛ばされてくるので当然ですが…。ただこれから新規記事を書いても旧URLほど検索エンジンで上位に来ないかもしれません。


以上で移行手順は終了です。5年近く使用した旧URLは大手ニュースサイトからリンクが張られたりと価値も高くちょっと名残惜しいですが、こればっかりは時間が解決するほかないと思います。これからは地道にこのURLでエントリ書いて、5年後には旧URLで書いたエントリ数を抜きたいですね。

Web拍手&はてブ

下のボタンを押すと拍手を送ることができます。同時にメッセージも送れます。

はてブはこちら。このエントリーを含むはてなブックマークはてなブックマーク - 実際の移行レポートとその後

旧ブログ(sb)→新ブログ(WordPress)へのリダイレクト設定

目次

  1. 旧ブログのアクセスを引き継ぎつつ、個別記事ページを生成していないSereneBach(sb)からWordPressへ移行する方法(このエントリ)
  2. 新ブログのパーマリンク作成(投稿名ベース)
  3. 旧ブログ→新ブログへのパーマリンク対応作成
  4. SereneBachからエクスポートしたデータを編集
  5. WordPressにSereneBachからエクスポートしたデータをインポート
  6. 旧ブログ(sb)→新ブログ(WordPress)へのリダイレクト設定←今ここ
  7. 実際の移行レポートとその後

ここからが本番。旧ブログから新ブログへのリダイレクト設定を行います。SereneBachで個別記事htmlを作成していない場合はキツいです。

個別記事htmlを作成している場合

まずは簡単な方から。個別記事htmlを作成している場合、.htaccessのRedirect permanet機能のみでリダイレクトを行う事が可能です。検索エンジン相手にはステータスコード301を返し移動した事を知らせ、人間が普通にブラウザでアクセスしてきたら、移動先のURLに速攻で飛ばします。URL移転の際に、過去のアクセスを引き継ぐ一番良いと言われている方法です。

今回の場合なら、

Redirect permanent /sb/log/eid858.html http://prius.cc/d/20090312_heisei20nembunnokakuteishinkok.html
Redirect permanent /sb/log/eid857.html  http://prius.cc/d/20090311_union_bindgin_forceotsukattemi.html
Redirect permanent /sb/log/eid856.html  http://prius.cc/d/20090310_choukoii.html

Redirect permanent /sb/log/eid3.html http://prius.cc/d/20040422_tanjunnanamaedana_internet2.html Redirect permanent /sb/log/eid2.html http://prius.cc/d/20040415_bokobokoboko.html Redirect permanent /sb/log/eid1.html http://prius.cc/d/20040414_torakkubakkuyattemimashita.html Redirect permanent /sb/log/eid0.html http://prius.cc/d/20040412_akuachitannekku_fuaiten.html

と延々書いて行けばOKです

※参考URL

個別記事htmlを作成していない場合

しかし個別記事htmlを作成せず、sb.cgi + パラメータでアクセスしている場合この方法は使えません。なぜなら

Redirect permanent /sb/sb.cgi?eid=858 http://prius.cc/d/20090312_heisei20nembunnokakuteishinkok.html
Redirect permanent /sb/sb.cgi?eid=857  http://prius.cc/d/20090311_union_bindgin_forceotsukattemi.html
Redirect permanent /sb/sb.cgi?eid=856  http://prius.cc/d/20090310_choukoii.html

Redirect permanent /sb/sb.cgi?eid=3 http://prius.cc/d/20040422_tanjunnanamaedana_internet2.html Redirect permanent /sb/sb.cgi?eid=2 http://prius.cc/d/20040415_bokobokoboko.html Redirect permanent /sb/sb.cgi?eid=1 http://prius.cc/d/20040414_torakkubakkuyattemimashita.html Redirect permanent /sb/sb.cgi?eid=0 http://prius.cc/d/20040412_akuachitannekku_fuaiten.html

と.htaccessに記載した場合、「?」以降は移転先のURLのパラメータとして処理されます。つまり実質下記のようになってしまいます。

Redirect permanent /sb/sb.cgi http://prius.cc/d/20090312_heisei20nembunnokakuteishinkok.html?eid=858
Redirect permanent /sb/sb.cgi http://prius.cc/d/20090311_union_bindgin_forceotsukattemi.html?eid=857
Redirect permanent /sb/sb.cgi http://prius.cc/d/20090310_choukoii.html?eid=856

Redirect permanent /sb/sb.cgi http://prius.cc/d/20040422_tanjunnanamaedana_internet2.html?eid=3 Redirect permanent /sb/sb.cgi http://prius.cc/d/20040415_bokobokoboko.html?eid=2 Redirect permanent /sb/sb.cgi http://prius.cc/d/20040414_torakkubakkuyattemimashita.html?eid=1 Redirect permanent /sb/sb.cgi http://prius.cc/d/20040412_akuachitannekku_fuaiten.html?eid=0

対処方法

まずこういう.htaccessを作ります。

DirectoryIndex sb.cgi
RewriteEngine on
RewriteBase /sb
RewriteRule sb.cgi http://prius.cc/d/temp/ [R=301,L]
RewriteRule log\/index.rdf http://prius.cc/d/feed/ [R=301,L]
RewriteRule log\/atom.xml http://prius.cc/d/feed/ [R=301,L]

これで「http://prius.sakura.ne.jp/sb/sb.cgi?eid=858」へのアクセスは、「http://prius.cc/d/temp/?eid=858」へのアクセスになります。なお、最後の2行でRSSのリダイレクトを行っています。RSSはファイルへのアクセスなのでこれでリダイレクト完了です。

※Redirect parmanentでもできるかもしれませんが、僕がやった時は上手くいきませんでした。RewriteRuleBase、RewriteRuleについては、以下のURLを参考にしてください。

meta refreshを使う

では「http://prius.cc/d/temp/?eid=858」へのアクセスを「http://prius.cc/d/20090312_heisei20nembunnokakuteishinkok.html」に飛ばしてやれば良い。これにはmeta refreshを使います。

301リダイレクトが使えないときの転送方法 ≫ 海外SEO情報ブログ・メルマガ

具体的には「http://prius.cc/d/temp/?eid=858」にアクセスがあると以下のようなHTMLを出力するようなcgiを作ります。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head></p>

<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>

<script type="text/javascript">
_uacct = "UA-72342-1";
urchinTracker();
</script>

<p><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta HTTP-EQUIV="Refresh" CONTENT="0; URL=http://prius.cc/d/20090312_heisei20nembunnokakuteishinkok.html">
<title>index.html</title>
</head>
<body>
</html>

…これはまぁ、実際のファイルをダウンロードして見て見て下さい。個別エントリ・プロフィール・カテゴリ・年月へのアクセスを、新URLに飛ばしています。プログラムを知らない人でも雰囲気はつかめると思います。

cgiファイルのダウンロードはこちら。

以上でリダイレクトの説明は終わりです。

次→実際の移行レポートとその後

Web拍手&はてブ

下のボタンを押すと拍手を送ることができます。同時にメッセージも送れます。

はてブはこちら。このエントリーを含むはてなブックマークはてなブックマーク - 旧ブログ(sb)→新ブログ(WordPress)へのリダイレクト設定

WordPressにSereneBachからエクスポートしたデータをインポート

目次

  1. 旧ブログのアクセスを引き継ぎつつ、個別記事ページを生成していないSereneBach(sb)からWordPressへ移行する方法(このエントリ)
  2. 新ブログのパーマリンク作成(投稿名ベース)
  3. 旧ブログ→新ブログへのパーマリンク対応作成
  4. SereneBachからエクスポートしたデータを編集
  5. WordPressにSereneBachからエクスポートしたデータをインポート←今ここ
  6. 旧ブログ(sb)→新ブログ(WordPress)へのリダイレクト設定
  7. 実際の移行レポートとその後

エクスポートしたデータの編集が終わったので、インポート→postnameの編集を行います。

インポート!

WPの管理画面から「インポート」→「Movable Type もしくは Typepad のインポート」を選択し、編集したテキストを指定してアップロードします。

WP側の個別ファイル名(postname)リネーム

固定リンクを変えずにスムーズにMovableTypeからWordPressに移行するまでの作業ログ – IDEA*IDEA ~ 百式管理人のライフハックブログ ~の「マッピング用のSQLを作る」を参考に、post_nameの変更を行います。

なお仮にインポートに失敗しても、SQLから以下の5つのテーブルを消せば元に戻ってやりなおせます。

  • wp_comments
  • wp_posts
  • wp_terms
  • wp_term_relationships
  • wp_term_taxonomy

トラックバックを許可する(SQL使用)

※これはお好みで。

[ WordPress ] 過去ログのトラックバック・コメントを一括で許可する方法 – WordPress 研究室を参考に、全てのエントリのトラックバック設定をONにします。

次→旧ブログ(sb)→新ブログ(WordPress)へのリダイレクト設定

Web拍手&はてブ

下のボタンを押すと拍手を送ることができます。同時にメッセージも送れます。

はてブはこちら。このエントリーを含むはてなブックマークはてなブックマーク - WordPressにSereneBachからエクスポートしたデータをインポート

SereneBachからエクスポートしたデータを編集

目次

  1. 旧ブログのアクセスを引き継ぎつつ、個別記事ページを生成していないSereneBach(sb)からWordPressへ移行する方法(このエントリ)
  2. 新ブログのパーマリンク作成(投稿名ベース)
  3. 旧ブログ→新ブログへのパーマリンク対応作成
  4. SereneBachからエクスポートしたデータを編集←今ここ
  5. WordPressにSereneBachからエクスポートしたデータをインポート
  6. 旧ブログ(sb)→新ブログ(WordPress)へのリダイレクト設定
  7. 実際の移行レポートとその後

※後々旧ブログのURLは全て新ブログにリダイレクトされるので、この作業は必須ではありません。面倒な人は飛ばして次の項目へどうぞ。

旧ブログのエントリー中で、自ブログのエントリにリンクを張ってたりTOPページにリンクを張ってたりするのを置き換えます。なお置き換えする場合は1→2→3の順番を守って置き換えてください。

1.エントリ中のsbへのリンクリネーム

Speeeeedというソフトを使って置換します。Speeeeedには置換リストと言う定義ファイルを利用して、多→多の置換が可能です。Speeeeedをダウンロードしたフォルダにreplace.lstというファイルを作成し、タブ区切りで置換前の文字列、置換後の文字列と記載します。

http://prius.sakura.ne.jp/sb/sb.cgi?eid=858  http://prius.cc/d/20090312_heisei20nembunnokakuteishinkok.html

注意点は置き換えリスト(replace.lst)にはeidの大きい順に書いていく事。上から順に照合していくので、最初にeid=1と書いたらeid=10やeid=123にも一致しておかしく変換されてしまいます。

2.画像パスのリネーム

画像の保存場所を変更する場合はリンクを変更します。僕の場合は

置換前:http://prius.sakura.ne.jp/sb/img
置換後:http://prius.cc/d/wp-content/sb-img

としました。

3.TOPへのURLリネーム

最後に旧ブログのTOPページのURLを新ブログのURLに置き換えます。テキストエディタでエクスポートしたデータを開いて

置換前:http://prius.sakura.ne.jp/sb/
置換後:http://prius.cc/d/

でOK。

余談:ここで問題発生!

僕固有の問題かもしれませんが、この後WordPressにインポートしたら続きエリアに文章を書いてないエントリにも「続きを読む」が表示されちゃってました。これはSereneBachからエクスポートしたデータのEXTENDED BODYエリアに

<ul class="footnote">

という文字列が入っていたのが原因でした。よって以下の条件で置換を行い、EXTENDED BODYに

<ul class="footnote">

しか書かれてないものを消去しました。

置換前:^<ul class="footnote">
置換後:

次→WordPressにSereneBachからエクスポートしたデータをインポート

Web拍手&はてブ

下のボタンを押すと拍手を送ることができます。同時にメッセージも送れます。

はてブはこちら。このエントリーを含むはてなブックマークはてなブックマーク - SereneBachからエクスポートしたデータを編集

Home > Tags > wordpress

Feeds
Meta

Return to page top