これまでの経緯
独自ドメインとレンタルサーバにブログを移してからGoogleにインデックスされていませんでした。現時点で可能な方法を調査して、対処したのでまとめておきます。
このブログは、もともとSeesaaブログで運用していた2つのブログを統合したものです。
お名前.comで独自ドメインを取得したのをきっかけに、同じくお名前.comでサーバスペースを借りました。
そして2つのブログを統合、WordPressでの運用に移行しました。2013年12月28日のことです。
参考:
SeesaaブログからWordPressへの引っ越し
続・SeesaaブログからWordPressへの引っ越し
続くインデックス ステータス0件
情報収集にはGoogle Search Console(旧ウェブマスターツール)を使っています。
Googleのツールは仕事が遅いので、インデックスの件も時間が解決するだろうと思って放置していました。
でも一向にインデックスされる気配がありませんでした。
Fetch as Googleは成功しています。
サイトマップの登録も成功して「インデックスに登録済み」とグラフ表示もしてます。なのに、インデックス ステータスがずっと0件なんです。
Google検索の結果には出てくるし、キーワードによっては上位表示されます。だからWordPressはこういうものなのかと思って納得していました。
でも、他のWordPress使用者のブログではそんなことなさそうなんですよね。そこで少し調べるとにしてみました。
調べてみると、今回はURLのwwwありとなしの両方でアクセスできるために重複コンテンツとみなされてインデックスされないという事例が該当しそうです。
対処方法としては大きく2つ見つかりました
1つは、Google Search ConsoleでwwwありなしどちらのURLを使用するか設定する方法です。
もう1つは、.htaccessファイルでリダイレクトさせる方法です。
URLのwwwありなしをGoogle Search Consoleで解決する方法
favo-goods.comとwww.favo-goods.comの両方から当ブログにアクセスできるためにコンテンツが重複しているとGoogleが解釈するようです。
これをGoogle Search Consoleの設定で解決します。
(根本的な解決じゃないような気もするが…)
ちなみに、むかしは両方でアクセスできる方が親切とされていたんですよ。
Google Search Consoleの設定
Google Search Consoleの設定でこれを解決するために次のようにしました。
1. Google Search Consoleのホーム画面から設定したいサイトをクリックする
2.右上にあるギアのアイコンから「サイトの設定」をクリックする
3.「URLをfavo-goods.comと表示」を選択する
「サイトの設定」はどうする?
wwwありなし両方でアクセスできるサイトでは「使用するドメイン」の項目が「使用するドメインを設定しない」になっていました。
自分はwwwなしでアクセスするようにしたかったので「URLをfavo-goods.comと表示」を選択しました。
wwwありでアクセスさせたいなら「URLをwww.favo-goods.comと表示」を選択すればよいでしょう。
ドメインの所有権を確認するとは?
ここまでやって「使用するドメインを設定する場合は、https://favo-goods.com/ の所有権を確認してください。」と表示されてしまいました。
これは「Google Search Consoleがfavo-goods.comを確認できません。だからサイトを追加してください」という意味です。
たしかに、Google Search Consoleに「サイトを追加」したのはwww.favo-goods.comの方です。
運用しているうちにwwwなしの方を使うようになりました。
ここは指示通り、favo-goods.comを追加します。最初からwwwなしで追加しておけばよかったと後悔です。 ← 両方の登録が必要のようです。
favo-goods.comを「サイトを追加」した後に改めて「URLをfavo-goods.comと表示」を選択したところ「変更が保存されました」となりました。
URLのwwwありなしを.htaccessファイルで解決する方法
.htaccessファイルにこんな記述をすることで、wwwありへのアクセスをwwwなしのURLに301リダイレクトします。
(こっちが根本的な解決のような気がします)
www.example.comで統一する場合(wwwあり)
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.example\.com)(:80)?
RewriteRule ^(.*) http://example.com/$1 [R=301,L]
example.comで統一する場合(wwwなし)
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(example\.com)(:80)?
RewriteRule ^(.*) http://www.example.com/$1 [R=301,L]
ただし、自分が利用しているお名前.comの共有サーバでは「RewriteEngine」の使用が制限されているので、この方法が使えませんでした。
この方法をとる場合は、上記を記述した.htaccessファイルをトップページと同じディレクトリに保存します。
ファイルのパーミッションを664とか604に変更すれば良いでしょう。
ファイルのパーミッションとは?
レンタルサーバの場合、ファイルにはパーミッション(権限)というものがあります。
パーミッションを設定するとファイルに対して、誰が、何を、できるか決められます。
パーミッションの数字にはこんな意味があります。
0 --- 読み不可、書き不可、実行不可
1 --x 読み不可、書き不可、実行可能
2 -w- 読み不可、書き可能、実行不可
3 -wx 読み不可、書き可能、実行可能
4 r-- 読み可能、書き不可、実行不可
5 r-x 読み可能、書き不可、実行可能
6 rw- 読み可能、書き可能、実行不可
7 rwx 読み可能、書き可能、実行可能
-
664だとこうなります。
- ファイルの所有者は、読み可能、書き可能、実行不可
- ファイルの所有グループは、読み可能、書き可能、実行不可
- それ以外のユーザーは、読み可能、書き不可、実行不可
-
604だとグループユーザーの部分が変わります。
- ファイルの所有者は、読み可能、書き可能、実行不可
- ファイルの所有グループは、読み不可、書き不可、実行不可
- それ以外のユーザーは、読み可能、書き不可、実行不可
環境に応じてどちらかを設定すればよいと思います。
<link rel="canonical">タグで解決する方法
念のために<link rel="canonical">タグを使って、wwwなしのURLを優先するようにしました。
<link rel="canonical">タグだけでは完ぺきな動作を期待できないにしても、一応は301リダイレクト相当の動作をしてくれます。
<link rel="canonical">タグの記述場所
記述場所は<head>タグ内で、できるだけ上の方にした方が良いという説があります。
迷信かもしれないけど、やっておいて損は無いので<head>タグのすぐ下に記述しました。
WordPressの場合、修正するファイルはheader.phpです。
<head>
<link rel=canonical href=“https://favo-goods.com/” />
対処した結果は?
たぶん.htaccessファイルでの対処方法と<link rel="canonical">タグの記述の併用がベストなのではないでしょうか。
Google Search Consoleでの解決方法だけでは、Google以外に効果はありません。こちらは<link rel="canonical">タグによる対処が必須じゃないかと思います。
さて、結果はどうでしょうか。
wwwありでアクセスしてみたところ、wwwなしにリダイレクトされています。そのうちインデックス登録してくれそうな気がします。
おっと、最後にURLの登録を忘れずに。
これで1~2週間ほど様子を見てみまよう。
▼▼ この記事の続き ▼▼
解決!たった4日でGoogleにインデックス登録した方法
関連:
SeesaaブログからWordPressへの引っ越し
続・SeesaaブログからWordPressへの引っ越し
解決!たった4日でGoogleにインデックス登録した方法