PCで遊んだ日々の備忘録

Making PC and Customization PC

URL http://が https://でインデックスされる現象について

2016年11月末ウェブサイトのURL をhttp://で公開しているのにGoogleでキーワード検索するとhttps://でインデックスされているページが出てきました。

もちろんhttps://の設定など1度もしていませんし、そもそも自宅ウェブサーバーにOpenSSLをインストールしてはいますが設定はデフォルトの状態です。(ssl.confの DocumentRoot と ServerName のコードはコメントアウトされている)

そして Google Search Consoleに登録しているURLは下記の2つです。

  • http://fuukemn.biz/
  • http://www.fuukemn.biz/(正規化済)

Google検索での現象

下の画像はキーワード「アドオン hide un」で検索した時のスクリーンショットです。タイトル下のURLが https: // fuukemn.biz / page52.html と表示されているのが分かると思います(fig1)

もちろんこのページはクリックしてもウェブブラウザ(Firefox)がブロックするので開く事はできません。Internet Explorer 11ですと開けますが。

そこでURL右の▼をクリックしてキャッシュを見ると(fig2)サイドメニューを表示する<iframe>タグ部に問題があるようです。

次に、Google検索にインデックスされている全てのページを確認するため検索窓に site: www.fuukemn.biz と入力してみるとサイドメニュー(smenu.html)が https: // www.fuukemn.biz / smenu.html でインデックスされていることが分かりました(fig3)

キーワード検索結果の画像

fig.1 キーワード検索

ウェブキャッシュの画像

fig.2 ウェブキャッシュ

インデックス済ページの画像

fig.3 インデックス済ページ

 

なお info:https: // www.fuukemn.biz / smenu.html をやってみましたが当然ながらここにも表示されていました。

原因と対策

ルーターとサーバーの状態

  • ルーター
    • IPマスカレードテーブル設定・・443番にポートフォワーディング
  • サーバー
    • IPテーブル・・443番ポート開放
    • OpenSSL・・・デフォルト(ssl.conf未設定)

原因

443番ポートが開いているため?SSLが稼働しているため?・・・原因がよく分からない。

対策

原因がよく分からないまま下記を実施してみました。根拠はありません、なんとなくです。

  • ルーター・・・443番のポートフォワーディング削除
  • smenu.htmlの <head></head> 内に次のコードを追記
<link rel="canonical" href="http://www.fuukemn.biz/smenu.html"> 

サーバーのシステムは弄っていません。

結果

上記の対策を実施した翌日、キーワード「アドオン hide un」で検索してみるとhttps://の表示は消えていました。

下の画像は Firefoxで検索した時のスクリーンショットです。また Internet Explorer 11でYahoo!検索した結果も同じでした。Bing検索ではページ自体が表示されませんでした。

 

なお https:// でインデックスされているページ(smenu.html)はそのままでしたがそのうち削除されると思います。もしも長期間削除されないようであれば次のメタタグを追記しようと思います。

<head>
<meta name="robots" content="noindex">
</head>

もう1つ robots.txtでページそのものをクローラーからブロックする事もできますが Google Search Consoleでエラーが出る事を確認しています。これは多分このファイル(smenu.html)がページを構成するパーツの一部だからでしょう。

なのでここは noindexで対応することにします。

実はrobots.txtでページをクローラーからブロックしてもそのページに外部からのリンクがあるとそのリンクを辿ってインデックスされる事があるようです。

そもそもGoogleはSearch Consoleヘルプの中で「robots.txtをウェブページの非表示に使うな」、ページを非表示したいなら「noindexメタタグを使え」と言っています。

robots.txtを使用してURLをブロックする robots.txt ファイルについて

メタタグを使用して検索インデックス登録をブロックする

雑感

なぜ http://が https://でインデックスされてしまったのか調べてみたのですが、どうやらGoogle検索クローラーはサーバーでSSLが稼働している(sslライブラリーは多数のプログラムが共有している)とSSL証明書の有無にかかわらず https://と認識してしまう事があるようです。

参考|ウェブマスターヘルプフォーラム webサイトのURLが「HTTP」なのにgoogleに「https」としてインディックスされている

またルーターの443番ポートを閉じたその翌日にはインデックスは削除されていないものの検索結果の表示は http://になったのでルーター、サーバー共にポートが開いていたのも原因の1つではないかと思います。確証はありませんが。

しかしどうしてサイドメニュー(smenu.html)のページだけがインデックスされてしまったのかが分かりません、謎です。

ルーターのポートが開いていたのは...

なぜ使ってもいないルーターの443番ポートが開いていたのかについては当サイトを公開して暫らくたって https://の接続テストをしたのを思い出しました。

その時ポートを閉じ忘れたのか公開しているサイトに関係ないと思い意図的に閉じなかったのかは定かではありませんが、いずれにしろ使っていないポートは必ず閉じておくのが基本ですよね。

Top of Pageの画像
sidemenuの画像