この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
目次
WordPressにて記事のURLを変更したときのリダイレクト設定
WordPressを運用していると記事のURLを変更したいときがあります。
ただ既にアクセスのある記事のURLを変更しただけだと、「ページが存在しません」というエラーページが表示されます。ユーザーに対して不親切なこと、また検索エンジンからも悪い評価をされかねないため、リダイレクト設定の方法をご紹介します。
一部の記事をタグからカテゴリーに変換
この記事を書いた理由は先ほど記事を記載している私自身も記事のURL変更を行ったためです。
今までSEOに関する記事は主に「IT全般」カテゴリーの「SEO」タグで運用していましたが、この度「SEO」カテゴリーに昇格させました。しかし本サイトのパーマリンク設定は「https://www.t3a.jp/blog/%category%/%postname%/」に設定しています。そのため記事にあるタグからカテゴリーに変更すると既存の記事のURLを変更しなければいけません。
本ブログにてURL変更を行った記事
今回は5つの記事のURLを変更します。
変更前の記事のURL
1 2 3 4 5 |
https://www.t3a.jp/blog/infrastructure/201807-google-search-change/ https://www.t3a.jp/blog/it-all/seo-bing-webmaster-tool/ https://www.t3a.jp/blog/it-all/google-analytics-organic-referral/ https://www.t3a.jp/blog/it-all/view-update-date/ https://www.t3a.jp/blog/it-all/wordpress-noindex/ |
変更後の記事のURL
1 2 3 4 5 |
https://www.t3a.jp/blog/seo/201807-google-search-change/ https://www.t3a.jp/blog/seo/seo-bing-webmaster-tool/ https://www.t3a.jp/blog/seo/google-analytics-organic-referral/ https://www.t3a.jp/blog/seo/view-update-date/ https://www.t3a.jp/blog/seo/wordpress-noindex/ |
URLの変更方法
まずはwordpressにて「SEO」カテゴリーに追加。変更予定の記事のカテゴリーを「SEO」に変更してURLを変えます。そのあとFTPソフトにて、index.phpと同じ階層にある.htaccessを編集して、旧URLに来たユーザーを新URLにリダイレクトします。
URL変更のサンプル
今回はRewriteRuleをRewriteBaseの後に記述しています。
変更前の.htaccess
1 2 3 4 5 6 7 8 9 10 |
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress |
変更後の.htaccess
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule blog/infrastructure/201807-google-search-change/ blog/seo/201807-google-search-change/ [R=301,L] RewriteRule blog/it-all/seo-bing-webmaster-tool/ blog/seo/seo-bing-webmaster-tool/ [R=301,L] RewriteRule blog/it-all/google-analytics-organic-referral/ blog/seo/google-analytics-organic-referral/ [R=301,L] RewriteRule blog/it-all/view-update-date/ blog/seo/view-update-date/ [R=301,L] RewriteRule blog/it-all/wordpress-noindex/ blog/seo/wordpress-noindex/ [R=301,L] RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress |
Google Search ConsoleにURLの変更を報告する
記事のURL変更をGoogleの検索エンジンに連絡します。私のときは、サイトマップの再送信とFetch as GoogleにてURLを送信しています。
さいごに
SEOの視点を考慮すると公開済みの記事のURLは変更するしないほうが良いです。ただどうしても変更したいときには、本記事が少しでも参考となれば幸いです。