SearchConsoleの「URLエラー」が消えない!

 

ブログを運営している人なら、Googleが提供している『SearchConsole』でサイト管理している人も多いのでは無いでしょうか?そして、管理画面にログインしてふと気がつくんです。「あれ?URLエラーってやつ増えてない?」と……。

ドメインを変更した」とか「カテゴリを見なおした」など、URLを変更することってありますよね。このとき、「せっかく検索エンジンでインデックスされていた情報やドメインパワーが無駄になってまた一から育てる」ということになったらもったいない!『SearchConsole』の「URLエラー」という項目は、この「せっかくインデックスしたページの情報が見つからないよ?」と教えてくれる項目になります。

そこでぜひ設定しておきたいのが「HTTPリダイレクト」です。

今回は、

  • リダイレクトする必要があるページはどうやって見つければ良いの?
  • リダイレクトの301とか302って何?
  • 具体的なリダイレクトの設定方法は?
  • WordPressで簡単に設定する方法は無いの?

という人向けに分かりやすく説明していきます。自分はWordPressを利用していて、できるだけ簡単にリダイレクトの設定だけできればOK!という人は「WordPressなら『Redirection』で簡単解決!」という項目まで移動してくださいませ。

 

SearchConsoleでリダイレクトが必要なページを発見!

独自ドメインの取得など、ページのURLの変更を自分で把握出来ているときは問題有りません。もったいないのは、「気がついていない時」です。それでは、リダイレクトする必要のあるページを見つけるにはどうすれば良いのでしょうか?

それが、冒頭でもふれた『Google Search Console』です。

『Google Search Console』とは、その名の通りGoogleがWebサイト管理者向けに提供しているツールで、GoogleAnalyticsではほとんど取得できなくなった「アクセスのあったキーワード」を調べたり、ページ内容を更新したときの「再クロールを依頼」したりする便利なツールです。

この『Google Search Console』の機能の1つに、「クロールエラー」というものがあります。これは、「サイトエラー」と「URLエラー」の2つの項目で構成されていて、ブログのどこかにGoogleのクローラーが正しく巡回できない部分が無いか教えてくれる機能です。

リダイレクトする必要があるページは、この「URLエラー」で発見することができます。

 

URLエラーの見方

それでは具体的な手順を見てみましょう。

まずは『Google Search Console』にログインした画面がこちら。

redirection-management-01

次に「プロパティの管理」をクリックするとダッシュボードという一覧でブログの状況を確認できる画面になるのですが、重要なのは「URLエラー」となっているところ。

redirection-management-02

「クロールエラー」をクリックすると、その増減やページ一覧を見ることが出来ます。

redirection-management-03

ここに表示されているページが、リダイレクトすべきもの、ということになります。

 

スポンサーリンク

HTTPリダイレクトの種類とは

HTTPリダイレクトは「301」「302」「303」「307」の4種類が有名です。(その他に304 Not Modified(未更新)や305 Use Proxy(プロキシを使用せよ)というものもありますが、非常に特殊な状況でしか利用しないので、今回は説明しません)

それぞれのリダイレクトには、どんな意味が有るのでしょうか?

 

301リダイレクト

ページの「恒久的な移動」を意味します。独自ドメインの取得やURLの間違いなど、古いURLに戻ることが無い場合に選ぶリダイレクトの種類になります。ドメインパワーなどを新しいURLをに引き継ぎ、以降のクローリングとインデックスは新しいURLを対象にします。

今回の記事の趣旨でいうと、この301リダイレクトを使用することになります。

 

302リダイレクト

ページの「一時的な移動」を意味します。この場合、新しいURLに古いURLの情報は引き継がれません。インデックスは古いURLのままになります。サーバ移転作業やシステムメンテナンス等、一時的にサイトが利用できない時に、その旨を伝えるページへリダイレクトする場合などに利用します。

 

303リダイレクト

他を参照する」を意味します。ちょっとむずかしいのですが、サーバーにデータを受け渡す方法には「GET」と「POST」と2種類があります。「GET」は2,043文字の情報量しか受け渡し出来ないのに対して、「POST」はそれ以上のデータの受け渡しが可能となり、よく問い合わせフォームなどのシステムで利用されます。

303リダイレクトは、フォームの完了画面から自動的にTOPページに戻るときなど、それまで「POST」でサーバーと通信していたところ、「GET」での通信に切り替えるときに使ったります。(頻繁には使いませんが……)

 

307リダイレクト

「一時的な移動」を意味するのは302リダイレクトと同じです。ただし、307リダイレクトには「リクエストに利用した通信方法(GETやPOST)を引き継ぐ」という意味があります。なのでメインサービスでユーザー情報を入力後、詳細サービス(サブドメイン等URLが変更)で商品を買う、などといったページ遷移で利用します。

 

スポンサーリンク

具体的なリダイレクトの方法とは

リダイレクトには「metaタグ」「.htaccess」「PHP」などの方法があります。

 

metaタグでリダイレクトする場合の記載

<meta http-equiv="refresh" content="10;URL=http://www.example.com/">

「ホームページをリニューアルしました。○秒後にTOPページに移動します」みたいなページを見たことは有りませんか?metaタグでリダイレクトする場合、この「秒数を指定して移動」ということが可能になります。

ただし、この「○秒後に移動」というリダイレクトの方法は、ユーザーに予期せぬページ遷移をさせることになるので、スパムと判断される可能性があるため、近年はあまり推奨されていません。

参考:リダイレクトとは? – インフォセンター – Yahoo!検索
参考:不正なリダイレクト – Search Console ヘルプ

また、元のページが存在しており、そこに該当の記載が必要、ということで、ブログのURL変更等には利用しづらい、という……。

 

.htaccessでリダイレクトする場合の記載

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteRule ^old/index.html$ /new.html [R=301,L]
</IfModule>

特定のページから特定のページへリダイレクトするための記載方法になります。注意が必要なのは、URLは「.htaccessが置いてあるディレクトリに依存する」ということ。「sample.com」と「sample.com/blog/」においている.htaccessでは、URLの記載が異なりますので、ご自身の環境に合わせて調整してください。

 

phpで記載する場合の記載

<?php  
  header('Location: http://www.sample.com/', true, 301);   
  exit();  
?>

Webサーバーによっては、「.htaccessを触れない」という場合もあります。そんなときに利用できるのがこのphpを使った方法です。ただし、これもmetaタグと同様、元ページが必要、ということで、今回の趣旨からすると採用しづらいところ。

 

WordPressなら『Redirection』で簡単解決!

さて、いろいろ説明してきましたが、実はブログにおいて採用できる方法は「.htaccess一択」だったりします。リダイレクト元のページを残しておくわけには行きませんからね。

ただ、サーバーによっては「.htaccessが触れない」ものもあれば、そもそも「そんなめんどくさいことしたくない」という人もいるでしょう。そんな人におすすめなのが『Redirection』というプラグイン。WordPressでブログを運営している人限定になりますが、HTTPリダイレクトをめちゃくちゃ簡単に管理・設定できるんです。

 

『Redirection』のインストール

まずはWordPressにログインしたらサイドバーの「プラグイン」→「新規追加」をクリック

redirection-management-04

右上の検索窓に『Redirection』と入力

redirection-management-05

「今すぐインストール」をクリック

redirection-management-06

「プラグインを有効化」をクリック

redirection-management-07

完了

redirection-management-08

 

『Redirection』の使い方

サイドメニューの「ツール」→「リディレクション」をクリック
「プラグイン」では無いので注意!

redirection-management-09

ソースURLに「リダイレクト元URL」をターゲットURLに「リダイレクト先URL」を記載して「新しい転送ルールを追加」をクリック

redirection-management-10

たったこれだけで完了!しかも、該当のリダイレクトが何回実施されたかの履歴まで取れるので安心です。

redirection-management-11

redirection-management-12

 

TSUNJI(@tsunji1983)的まとめ

いかがでしたでしょうか?

WordPressを利用している人ができるだけ簡単にHTTPリダイレクトを設定したい、という場合は『Redirection』さえ導入すれば一瞬で解決です。

簡単なのでぜひやってみてください。

 

以上、TSUNJI(@tsunji1983)でした。