はてなブログから WordPress へ移行準備中です。
ある日突然、WordPress へ移行しようかと思い始めて50日あまり、まだしばらくかかりそうですが、日に1、2時間程度しかかかわれませんのでこんなもんでしょう。今月中(10月)にはなんとかしたいものです。
01ここまでの経緯
新しい記事順
- WordPress:Genesis Framework を使ってみる
- WordPress:ローカル開発環境をDropboxで共有
- WordPress:はてなブログからWordPressへの移行ツール Ver.2
- WordPress:はてなブログからWordPressへワンクリックで移行
- WordPress:はてなから移行する場合の permalink rewrite プラグイン
02パーマリンク(URL)の維持
上の経緯の一番下の記事で、はてなブログのパーマリンク(URL)を維持するためのプラグインを作っています。
これはこれで問題なく稼働するのですが、このプラグインでは、外部からの /entry 付きのアクセスに対して /entry を削除して URL の書き換えをやっているんですが、これですと内部的には /entry なしのままになりますので、重複コンテンツになってしまいます。
これは、SEO 的にはよろしくないということで、やはり htaccess でのリライトがベストかと思います。
03htaccess リライトでの URL 書き換え
「permalink rewrite プラグイン」でやっていることと同じことを htaccess でやってしまおうということです。
上の4行が追加の設定です。# BEGIN WordPress 以下は説明のように動的に書き換えられますので、何か書き換えてももとに戻ってしまいます。
RewriteEngine On
RewriteRule ^entry/([0-9]{4})/([0-9]{2})/([0-9]{2})/([^/]+)$ /$1-$2-$3-$4 [L,R=301]
RewriteRule ^entry/([0-9]{8})/([0-9]{10})$ /$1-$2 [L,R=301]
RewriteRule ^entry/(.*)$ /$1 [L,R=301]
# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
301リダイレクトですのでこの方法がよさそうです。
なお、今は、はてなブログの個別記事に設定したアイキャッチ画像を WordPress でも有効にするためのプラグインを作っているところです。ほぼ出来ているのですが、私の場合、はてなダイアリー時代の記事もあり、アイキャッチ画像が設定されていないものも多く、それをどうするかなどあれこれ面倒なことが多い状態です。
