ある程度運営した後のパーマリンク変更はかなりの苦痛を伴います。
パーマリンクを途中で変更するのはNG!だから最初に慎重に選ぼうね!
と、どこのサイトでも言ってる通りです。
ただね、素人がサイトを開設した当初はパーマリンクがSEO的に重要なんて知る由もないんだよね。
しかも、僕がこのサイトをオープンした時は/%category%/%post-id%/がSEO的に最強だよ!とか確かに言ってたし。
誰だよっ!んなカス記事書いたヤツはぁああああああっっ!記事消してたら絶対許さねぇからなぁあ!?
今回行ったパーマリンク変更の経緯
さて、今回僕が紹介する方法は、以下のメリットがあります。
- Permalink Redirectが上手く機能しない人もOK
- htaccessを使わないのでnginxの人でもOK
- 301リダイレクトなのでSEO評価をある程度引き継いでくれる(らしい
こんなとこ。SEO評価についてはGoogleさんがそう言ってるよ、っていうだけで検証したわけではありません。
今回の目的
僕がしたかったのはこちら。
- /カテゴリー名/post_id/ → /投稿名(スラッグ) への変更
- SEO評価を引き継ぎたいので、全記事(140記事ほど)で301リダイレクト
- カテゴリー変更する際のリスクを避けたい
- 以上をなるべく楽に行いたい
投稿名へとパーマリンク変更するのは「SEO的に良いから」という理由だけではありません。
動機の大部分は、記事のカテゴリー変更を容易に行えないことです。
カテゴリー名をパーマリンクに入れてしまうと、この辺が厄介なんですよね……。記事が増えていくと、新しくそれっぽいカテゴリーが出来るのはよくある事ですし。
今までに失敗した事
パーマリンク変更&301リダイレクト設定では色々な方法が推奨されていますが、ことごとく失敗してきました。
まず試したのが Permalink Redirect プラグイン。
2011年が最終更新になっている時点で「ん?」と察するものがあったんですが、僕には使えませんでした。
ページ内のリンクは正しく動作しますが、Googleのインデックスから辿ってみると全く違うURLに飛ばされるし、最終的なパーマリンクは https://merideri.com/投稿名(スラッグ)となるはずが、なぜか設定もしていないのに https://merideri.com/投稿名(スラッグ)/postid になってしまい、ユーザーにとっては意味のわからないであろう記事番号が表示されてしまう。
と言うわけで Permalink Redirect プラグインは断念。
次に試そうとしたのが .htaccess の一括リダイレクト変更。
FTPで .htaccess ファイルをイジってリダイレクトする、というプラグイン無しで出来る方法。
記述自体はコピペするだけですし、簡単なので採用してみたんですが、なぜか動かず。
なんで動かないんだろ、と原因を調べていると作成した .htaccess ファイル自体がサーバーが nginx だから動かない事が判明。無知って恥ずかしい。
パーマリンク変更&301リダイレクト完了まで
プラグインを使ってなるべく楽に、をテーマにしたかったんですが、序盤である程度労力を持っていかれるのでご注意ください。
前述したPermalink Redirect プラグイン、.htaccess ファイルの編集を使えるのであればそちらの方が恐らく楽なので別記事をご参照ください。
僕のように二つとも上手くいかず、発狂しそうな人は下記の手順をお試しください。
使用するプラグインとソフト
今回の方法では、下記のプラグイン&ソフトを使っています。
- WP All Export
- Redirection
- Excel(.csvファイル開けるやつなら何でも)
これらのプラグイン&ソフトにこだわらなくても、同様の手順を操作できれば問題ありません。
実行手順
スラッグ変更
一番最初に、一番憂鬱な作業を始めます。今まで書いた投稿のスラッグ設定です。多ければ多いほど苦痛が生じます。
スラッグとは、記事やカテゴリに付与される英字の名前のようなものです。パーマリンク設定を”投稿名”にした場合、設定したスラッグがURLの最後に適用されるようになります。
この記事の場合、スラッグは “permalink-change-redirect” ですね。URL をみると、ケツの方がそうなっているはずです。
かのGoogle様は、こう仰っています。
シンプルな URL 構造を維持するサイトの URL 構造はできる限りシンプルにします。
論理的かつ人間が理解できる方法で(可能な場合は ID ではなく意味のある単語を使用して)URL を構成できるよう、コンテンツを分類します。
~
URL では区切り記号を使うと効果的です。
http://www.example.com/green-dress.html という URL の方が、http://www.example.com/greendress.html という URL よりずっとわかりやすくなります。
URL にはアンダースコア(_)ではなくハイフン(-)を使用することをおすすめします。
引用:Googleガイドライン
要約すると、post-idとか読者にとってはワケ分かんねぇからヤメろ。日本語表記もURLだとバグるからヤメレ、というような事を言っています。
- 記事の内容を示す英単語にする
- ハイフン(-)を使い分かり易くする
- なるべく簡潔にまとめる
上記の要点を念頭に入れ、早速スラッグを設定していきましょう。
今までスラッグをイジったことの無いワードプレッサーは、デフォルトだと日本語になっているはずです。
これに関しては一括でサクサク変更する方法はありません。ま、スラッグが重複する事なんてありえない事だし当たり前ですが。
WordPress のダッシュボードから、『投稿一覧』を選択して各記事の編集を行います。
一つ一つ記事編集画面に行って変更していたのではキリがないので、『クイック編集』を選択して変更していきましょう。
また、忘れてはいけないのは、これから新規記事を投稿する度にスラッグ変更は必須だという事。
大手ブロガーさんもやってるワケだし、これがSEO的には間違いない方法なんでしょうね。
前パーマリンク情報の抽出
続いて、リダイレクト設定を行うために、前のパーマリンク情報を抽出します。
csvファイル形式で抽出できれば、どのプラグインを使用しても構いません。
今回はWP-All-Exportというプラグインが視覚的で使いやすかったので使用してみました。
プラグインをインストールしたら、早速有効化します。
左のダッシュボードがら WP All Export の「新規エクスポート」を選択。
「特定の投稿タイプ」から「投稿」を選択し、「エクスポートファイルをカスタマイズします」を選択して次へ。
デフォルトでは ID、Title、Content が並んでいますが、どれも必要ないです。
全てクリアし、「フィールドを追加」から Permalink と下の方にある Slug を選択して続行。
Export Type から出力する形式を選びますが、pro版でないと Excel ファイルを出力できません。僕は貧乏なので大人しく csvファイルを出力します。
続いての高度の設定はスルーでOKです。
exportが完了するとcsvファイルをダウンロード出来るようになります。任意のフォルダに保存しましょう。
Excelでパーマリンク整理
ダウンロードしたcsvファイルをExcelで開きます。
上手くエクスポート出来ていれば、このようになります。
Slugが意味不明な文字列になっているところはスラッグを指定していない下書きページか記事になります。もしくは最初から日本語表記になっているかですね。
僕の場合は下書きページは不要なため、行ごと削除しています。
必要な方は、下書きを本投稿に戻したのちにスラッグを変更して再度csvファイルを抽出してください。
※補足ですが、日本語表記やタイトル等も出力対象に加えた人はかなりの確率で文字化けすると思います。
文字化けを直したい場合は、任意のテキストエディタでファイルのエンコーディングを Shift JIS に変えて、再度読み込むと上手く行くはずです。
Excelで開いた後は、プラグイン『Redirection』にcsvファイルを読み込ませるために編集を行います。
A列にある、前パーマリンクである https://〇〇/ の部分を削除するんですが、面倒なので置換機能を使って一斉に消してしまいます。
Excelの「編集」→「置換」と進み(macであれば”⌘+F”で選択可能)、自分の前のカスタムしたパーマリンク以外の部分(僕の場合 https://merideri.com )を検索し、置換後の文字列部分は何もいれず「すべて置換」を選択します。
置換後の文字列を入力しない事で、一斉の削除が可能です。かしこい。
次に、抽出したスラッグの先頭部分に”/”を入れていきます。
少ない記事数だと手打ちしても良いですが、100記事以上になると手間です。
なので、Cの列にスラッシュ付きのスラッグを表示させるために式を入れます。
C2のセルに、下記の式を挿入しましょう。
="/"&B2
こちらの式をコピペして Enter 。スラッグの前にスラッシュが挿入されているデータが表示されるはずです。
後はC2のセルの右下をビビーっと最終行まで移動して完了。
全てスラッシュが入ったらB列は用済みなので消します、と言いたいところですが、B列を消してしまうとC列は正しく機能してくれません。
なので、まずC列を丸々コピーして、B列に「形式を選択してペースト」から「値」にチェックを入れて貼り付けします。すると、式ではなくスララグ(先頭にスラッシュの入ったスラッグの事)の値のみがセルに記入されます。
最後に、A1セルの「Permalink」を「source」にし、空白のB1セルに「target」と記入して終了です。
これで『Redirection』で読み込みできるcsvファイルの出来上がりです。
「redirectkun」とでも名付けて保存しましょう。
Redirectionに複数設定する
ここまで来ればもう一息です。
WordPress プラグイン、『Redirection』をインストールして有効化します。
有効化を終えたら、ツールからRedirectionが利用可能です。
まずは「グループ」を選択し、グループの追加から適当な名称を入力して追加します。
次に、インポート/エクスポートから先ほど Excel で編集したcsvファイルを選択し、アップロード。
グループにインポートという欄は、先ほど新規に追加したグループを選択しましょう。
これでリダイレクト処理は完了です!
もう301リダイレクトは始まっているので、急いでパーマリンクを変更しましょう。
パーマリンクを投稿名に変更する
最後の作業。パーマリンクを変更します。
WordPress のダッシュボードから「設定」→「パーマリンク設定」と進み、「投稿名」を選択します。
このままでも良いかもしれませんが、僕はURLの最後にスラッシュが付くのが気に食わなかったため、「カスタム構造」を選択してあえて文末に付く “/” を消しています。
全て終わったら、変更を保存で終了!お疲れ様でーす!
最後に
今回記事にしたのは、僕が経緯を忘れないための備忘録も兼ねてます。
こんな手順、2・3年後に覚えてるわけないですからね。
パーマリンク変更したのは最近ですが、実は前々から変えたいとは思っていました。URLが/カテゴリ/記事id/だと、確かにユーザーにとってはURLだけでは何のページか分からないし。
が、自分で試そうとすると、あらゆる手段が使えない事に絶望し、最終的に辿り着いたのがこの記事の方法です。
Redirectionプラグインに一つ一つURLを記入するのだけは避けれて助かりました。
サイトによってはSEO評価がリセットされて順位が変動すると書かれてありますが、どうなることやら。
経緯は3ヶ月後くらいに晒してみよーかな、と思っているんですが元々pv数の少ない自慰サイトですし、参考になるかどうかは分かりません。
恐らくですが301リダイレクトにはSEO評価を完全にリセットするまでの効力は無いと思います。というか、リンクの評価をそのまま保つための301リダイレクトですし。
リダイレクトはSEOの評価がゼロになるよ!って脅してる人は無知なんだと思います。本当は思いたいだけですが。すみません、そうあって欲しいという僕の願望です。
まぁそもそも、こんな状況なのでブログを続けているかさえ分かりませんが
アクセスが立ち直れないほど下がったらブログやーめよっと。
おしまい。
コメント