はてなブログからWordPressに移行するときにやったこと
2019.03.03
先月はてなブログからWordPressに移行しました。そのときにやったリダイレクトや設定などをまとめていきます。感想としては「めんどくさい」。
前段
blog.tako3.xyzドメインで運用していたはてなブログをnote.tako3.chにてWordPressで運用を始めるという話です。
はてなブログから記事をエクスポート後、WordPressにインポートしていきます。この箇所については調べると色々出てくるので割愛。このときに置換できるものはしておきましょう。はてな標準機能だったり、はてなドメインでのものなど。
エクスポートした後、記事を整えていきます。自分の場合、
- カエレバなどの商品リンク
- 写真が「はてなフォトライフ」「Google Photo」「Flickr」とバラついていたので統一
- 記事リンク(blog.tako3.xyzドメインのものなど)をnote.tako3.chにしていく。
- 記事URLをpost_nameにして一つずつ設定(すでに設定してあるものはスルー)
- タグやカテゴリーの再設定・整理整頓
などなど。やることはたくさんありました。まだ終わってないし。特に画像の置き換え。ある程度体裁を整えることができたらサイトマップの送信をしていきます。
ちなみにGoogle Search Consoleではアドレス変更という移行オプションがあるのだけど、はてなブログ側に301リダイレクトを設定できないので(headで飛ばす方法…?)、アドレス変更は使っていないです。
記事のリダイレクト設定
まずは「はてなブログ」側で「WordPress」側に飛ばしたい記事を選別、リストアップします。この時対応表とか作成しておくと楽なので、エクセルとかスプレッドシートで対応表でも作成しておきましょう。
それで「はてなブログ」側の記事の編集で、「HTML編集」を選択し、
この記事は移転しました。
3秒後にリダイレクトします。
リダイレクトしない場合はここをクリックしてください。
\[リダイレクト先のURL]の箇所を新しいサイト(この場合WordPressの方の記事URL)を記述します。
WordPressからWordPressへのリダイレクトの場合
リダイレクトプラグインを使用するか、サーバー側(.htaccess)に
Redirect permanent 飛ばす前 飛ばしたい記事
を設定すればいけるはずです。
その他リダイレクト関係
www無しのURLに統一したい時
RewriteEngine On
\# www無しのURLに統一
RewriteCond %{HTTP_HOST} ^www\.tako3\.photo
RewriteRule ^(.*) http://note.tako3.ch/$1 \[R=301,L]
httpで来たものをhttpsにしたい場合
# httpsに統一
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} \[R=301,L]
リダイレクトとはちょっと違うけど。レンタルサーバーとかで設定項目がない場合。
※注 htaccessはキャッシュが残りやすいので、気をつけて作業してください。一気にやった場合、原因がわかりにくいので、1項目1アップ1確認をおすすめします。
ドメイン関係
1ヶ月ぐらいは記事の更新と記事の調整を行っておいて、アナリティクスを見て、前ドメインからのリダイレクト(メディア参照)とかで減ってきたな〜と思ったら「はてなブログ Pro」を解約して節約をしていきます。
blog.tako3.xyzドメインの向きを「はてなブログ」からサーバーに向けます。その後、blog.tako3.xyzで来たアクセスを、はてなブログの初期ドメインに向けます。多分ドメイン管理画面でCNAMEとか設定してあったりすると思うので、そこも変更します。
画像のURLを貼り直す。
これはもう単純に記事からダウンロードして、アップし直すか、もう一回探すか…。
商品紹介タグ貼り直す。
はてなブログの機能でつけていたものや、カエレバで設定していたものをWordPressのプラグイン「WPアソシエイトポストR2」で設定し直しました。Rinkerという似たようなプラグインがありますが、これはどちらを選ぶべきだったのだろうか。
記事ランキングの作成
Google AnalyticsのAPIを使ってランキングつくろーと思っていたんですが、めんどくさくなって、やめました。WP-PostViewsというプラグインを使って、ランキングを表示させます。
<!-- wp:paragraph -->
<p><code><?php $categories = get_the_category(); $cat_ids = ""; foreach( $categories as $cat_id){ $cat_ids .= $cat_id->cat_ID.","; };</code></p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p><code>$postsview = get_posts(array(</code><br><code>'showposts' => 5,</code><br><code>'post__not_in' => array($post->ID),</code><br><code>'meta_key' => 'views',</code><br><code>'orderby' => 'meta_value_num',</code><br><code>'category' => $cat_ids,</code><br><code>))</code><br><code>;?></code><br><code></code></pre></code><br><code><pre><code></code><br><code><?php</code><br><code>foreach($postsview as $post):</code><br><code>$thumbnail_id = get_post_thumbnail_id($post->ID);</code><br><code>$thumbnail = wp_get_attachment_image_src( $thumbnail_id , 'full' );</code><br><code>if(!empty($thumbnail)) $thumbnail = $thumbnail\[0];</code><br><code>?></code><br><code><?php the_permalink(); ?></code><br><code><?php if(!empty($thumbnail)){ echo ' style="background-image: url('.$thumbnail.');"';}?></code><br><code><?php the_title(); ?></code><br><code><?php the_time("Y.m.d"); ?></code></p>
<!-- /wp:paragraph -->
こんな感じ。でも確かちょっとごちゃったときがあったから、後日書き直します。
まとめ
ええ、つまりはてなブログからWordPressへの移行はとてつもなくめんどくさいですね。というかちゃんと考えたブログ運用が大切です。その場の思いつきで色々変えてたら大変大変…。というわけで、一旦こんな感じです。
思い出したらまた書きます!
Comment