以前パーマリンクについての記事を投稿したときは「/%category%/%postname%/」(カテゴリー+投稿名)という設定でしたが、考えた結果「/%postname%」にパーマリンクを変更しました。今回はカテゴリー+投稿名から投稿名のみにした経緯とリダイレクト方法についてメモ書きを残しておきます。
パーマリンク(固定リンク)とは
パーマリンクとはWebサイトの各ページ(投稿記事、カテゴリーなど)URLの末尾部分にあたる部分です。
https://orewiki.com/permalink-redirect
このページのURLで例えると上の赤い文字部分がパーマリンクになっています。
- https://〇〇〇.com/archives/1234567
- https://〇〇〇.com/permalink
1.ではどのようなページなのか検討もつきませんが、2.のように具体的なキーワードが含まれているとおよそどのようなページなのかが判断でき、Googleでは2.のようなシンプルなURL構造の維持を推奨しています。
Googlebotに認識されずコンテンツ(記事)がインデックスに登録されない恐れもあります。
パーマリンクをシンプルにわかりやすく、一目見ただけでどのようなページなのか表すということはユーザビリティの向上に繋がります。
以前書いたパーマリンクについての記事
パーマリンクを変更するデメリット
パーマリンクを変更することはGoogle検索エンジンの評価を下げてしまうデメリットがあります。リダイレクト設定をすることで検索エンジンに「URLの変更をしたよ!こっちのページへジャンプしてね」と知らせる事で検索エンジンからの評価を受け継げるという報告があり、定かではありませんが評価受け継ぎは数字にすると50%から80%といわれています。
ネット上の住所を変更する行為なのでパーマリンクは変えないほうがSEO的に良いとされていて、検索エンジンからの評価だけではなくSNS(ソーシャルネットワーキングサービス)TwitterやFacebook、はてなブックマークのシェアカウントまでリセットされてしまいます。
パーマリンクを変更した理由
なぜ「/%category%/%postname%/」(カテゴリー+投稿名)から「/%postname%」のみに変更をしたのかついてですが、おそらく僕のようにカテゴリー+投稿名から投稿名だけにする大きな理由はこれだと思うんです「カテゴリーの変更を気軽にできなくなる」どういうことかというと。
このページはWordPressのカテゴリーの中に存在しているページなので投稿名の前にカテゴリーのスラッグが入ります。
https://〇〇〇.com/wordpress/permalink-redirect
一度公開したページのカテゴリーを変更してしまうと青文字のwordpressの部分が別のスラッグに変更されページのURLも変わってしまいます。
最初にパーマリンクを設定する時にもカテゴリー+投稿名でいいのか考えてはいたのですが、長期的なブログ運営を考えるとカテゴリーの移動をしたくなる!という結論になりました。
時間をかけて書いた記事がカテゴリーを変えるたびに検索エンジンからの評価を落としていては記事の産みの親としては悲しい!のです。
リダイレクトの設定方法
WordPressには簡単にリダイレクトができるプラグインがいくつかありましたが、プラグインを有効化しすぎるとサイトが重くなることページ表示速度の低下にも繋がるので、極力プラグインに頼りたくなくて「.htaccess」に書き加える方法を選びました。
.htaccessに一行追加でリダイレクトする方法
・URL of your site
サイトのURLを「http:// またはhttps://」から記入
・Is your WordPress site running in a subfolder?
WordPressサイトがサブフォルダにある場合に入力
・Your old permalink structure
変更まえのパーマリンク設定を選択
「Generate Redirect」に進むと.htaccessに書き加えるコードが表示されるのでコピペで追記してリダイレクトの設定ができます。
.htaccessにコピペ追加でリダイレクトする方法
一行一行.htaccessに書き加えるのは投稿数が少ないとはいえ大変な作業、なんて思っていたらすばらしい記事を見つけました。get_posts関数を使ってエクセルや表計算ソフトを利用してコピペするだけでリダイレクトができました。
参考サイト:【リダイレクトのための.htaccessへの記述を表計算ソフトとget_postsで効率化
簡単ながら手順紹介します。
1.WordPressにて下書き記事の作成
題名に何か適当にリダイレクト設定と記し下書き保存します。パーマリンクが「カテゴリー+投稿名」の場合カテゴリーの後に投稿名としてpostIDが表示されます。このpostIDをコピーしておいてください。画像では815がpostIDになります。
2.single.phpに記事URL抽出コードをコピペで貼り付け
<?php if(is_single('○○')){?> <ul> <?php global $post; $args = array( 'numberposts' =>10000); $myposts = get_posts( $args ); foreach( $myposts as $post ) : setup_postdata($post); ?> <li><?php the_permalink(); ?></li> <?php endforeach; ?> </ul> <?php } ?>
抽出コード<?php if(is_single(‘○○’)){?>
〇〇にさっきコピーしたpostIDを貼り付け
3.今までのパーマリンクURL一覧を取得
1.で作った下書き記事のプレビューを確認します。
single.phpに抽出コードが貼り付けができていると下書き記事に公開済み記事のURLリストが表示されるのでコピーします。
4.表計算ソフトに貼り付け
エクセルなど表計算ソフトは何でもOKです。
表計算ソフトは「Googleスプレッドシート」を利用。
上の画像は最終的に.htaccessにコピペする形になります。
- A行はRedirect permanentを貼り付け
- B行は半角スペース
- C行はリダイレクト前のURLリストを貼り付け
- D行は半角スペース
- E行はリダイレクト後のURLリストを貼り付け
6.新しいパーマリンクURLリストをコピー
新しいパーマリンクの設定が終えたら3.と同じように記事下書きからURLリストをコピーします。
7.新しいパーマリンクを表計算ソフトに貼り付け
6.で新しいパーマリンクのコピーを終えたら表計算ソフトのE行に貼り付けます。
B.D行には半角スペースを入力します。
表計算ソフト上ででABCDEリストをコピーします。
リダイレクトできてるか確認
リダイレクト設定ができているか確認しておきましょう。
URLにリダイレクト前のURLを入力します。
リダイレクトが出来ているとこのようなチェック結果が表示されます。
さいごに
リダイレクト設定を終えたらsingle.php貼り付けた抽出コードは消しておきましょう。
パーマリンクの変更はデメリットがあるので「どうしても・・・」と思う以外は変更しない事をおすすめします。ともあれ簡単にリダイレクトの設定ができてホっとしました。