困りました、Googleからペナルティを受けているかもしれません

2009年12月21日

Publickeyの記事がなかなかGoogleの検索結果の上位にあがってこないことは、約2カ月前にも記事でお伝えしたのですが、さすがに12月に入ってからこれはおかしいと思って調べ始めています。今回はその経過報告です。

例えば、Publickeyでもっとも人気のある以下の記事は、「グーグル 非常識」で検索しても上位200位にも入ってきません。

この記事をブックマークページしたページや、ブログが上記の記事に言及している他のブログ記事は検索上位にたくさん入っていますが、上記の記事そのものは200位にも入っていないのです。ちなみにYahoo!では9位、Bingでは3位に入っています。(検索へのリンク:GoogleYahoo!Bing

最近の記事の中からも、ネット上に類似のタイトルがあまりない記事を選び、できるだけユニークなキーワードで検索しても同様に、Yahoo!やBingでは上位に入るものの、Googleではブックマークページや他の言及記事が上位に入るだけで、記事自体は100位以下です。

上記を「JavaScript 策定完了」で検索すると、Yahoo!では1位Bingではタグのページが28位Googleでは100位以下です。

上記の記事を「エンタープライズ・マイクロアプリケーション」で検索するとYahoo!で1位Bingでも1位Googleでは98位にPublickeyの別記事が入っています。

上記も「北海道石狩市 雪冷データセンター」で検索したところ、Yahoo!では1位Bingでも1位、 Googleでは記事への言及はたくさん検索結果に表示されるものの、記事自体は100位以下です。

もちろんPublickeyは自分のGoogleのWebマスターツールに登録してあり、サイトマップを送信しています。どの記事もタイトルと同じ文字列で検索すれば結果に表示されるので、Googleのインデックスにはちゃんと登録されてます。

これらの現象から、「どうやらPublickeyはGoogleからペナルティを受けているようだ」と推測しています。

再審査も状況変化せず

実は原因には心当たりがあります。Publickeyをオープンした当初、サイトの右上にあるサーチボックスのインクリメンタル機能のデータとして、タイトルとそのリンクデータを大量に非表示の状態(CSSのdisplay:none属性)でHTMLの中に組み込んでいたのです。

今思えば、恐らくこれがGoogleの「隠しリンクによる不正SEO」と認識されたのではないか、と推測しています。しかしこの機能は9月に実装を変更し、それ以来この機能による隠しリンクはHTMLの中に含まれていません(検索時にダイナミックにサーバからJSONPで取得するように変更しました、これは不正SEOに気付いたのではなく、たまたまそういう実装に変更しただけです)。

GoogleのWebマスターツールには、ペナルティを受けたサイトが修正した場合、再審査を申し込む機能があります。そこで12月2日に上記のことを説明し再申請を申し込みました。約1週間後に「再審査リクエストを処理しました」という返事がきたのですが、状況は変わらず。

そこで、HTMLの内容を見直し、Hタグの使い方で過剰なSEOと見なされそうな部分などを再度修正して12月11日にあらためて再審査を申し込みました。再び1週間後の12月18日に「再審査リクエストを処理しました」という返事がきましたが、状況は変わっていません。

どんな対策が考えられるのか

というわけで、このまま現状に甘んじるわけにもいきません。さらに対策を考えなければならないのですが、どのような対策が考えられるのでしょうか。現時点で2つ考えています。

  • もういちどHTMLを見直して再審査を申し込む
  • ドメインを移転してやり直してみる

Publickeyは不正なバックリンクの購入などしたことはありませんし、Webマスターツールによると約8万6000のリンクをいただいています。これらは純粋にPublickeyの記事のブックマークや言及のはずですから、ペナルティを受けているとすれば外部からの不正なリンクなどが原因ではなく、PublickeyのHTMLそのものやサイトの構造にあることは間違いないでしょう。

そこでHTMLやサイトの構造を見直すとして、どこをどう変えればいいのか? それを改めて考えたいと思いますが、実はもう思い当たる点はほとんどありません。

あるとすれば、記事中の画面キャプチャを表示するためにHTMLをJavaScriptで動的に書き加えている機能がPublickeyにはあります。そこかもしれないと考えています。

例えば、あるサイトの画面キャプチャを記事中に埋め込みたいとき、Publickeyでは次のようにHTMLに記述しています。

<div class="imgRight capture" src="http://www.publickey.jp/"
 caption="Publickey - Enterprise IT × ....">
</div>

こう簡単に書いておくと、HTMLをロードしたときに自動的にJavaScriptが次のようなHTMLに書き換えてくれます(以下は少し簡略化してます)。

<div class="imgRight capture" style="width: 162px;">
<a href="http://www.publickey.jp/">
  <img src="https://capture.heartrails.com/160x120/shorten?
    http://www.publickey.jp/"/>
  <span class="caption">Publickey - Enterprise IT × ....</span>
</a>
</div>

このように自動的にハートレイルズの画面キャプチャサービスを利用するHTMLへと展開しているのです。おかげで、簡単なHTMLだけで記事中に画面を埋め込むことができます。

この書き換えはJavaScriptで行っているためクローラーでは検知されず、読者のWebブラウザでのみ行われるため、これも考えようによっては隠しリンクに見えます。

まずはこれを修正して、もういちど再申請してみようかなと思っています。

それでダメなら、ドメインを移転して新しく構造やHTMLをもういちどゼロから作り直してみるかな、ということも選択肢として考えています。

もしSEOなどに詳しい方がいたら「ここをこうすればいいのではないか?」などアドバイス、ぜひ教えてください。いつでもお待ちしています。下記のコメント欄や、メール comment at publickey.jpなどでお送りください。「ここはどうなってるの?」といった質問でも結構です。

率直に言ってこういう状況を発見すると、精神的なダメージも大きいですね。「なぜこんなに頑張ってるのに?」と落ち込んでしまいますが、そうもいってられません。なんとか改善するためにいろいろ試してみるつもりです。Publickeyは何年もかかるプロジェクトだと自分で思っていますので、多少の回り道はまあ許容範囲と思って取り組んでいきます。それにしてももっと早く何カ月も前に発見するべきでした。

というわけで今年の年末年始もあまりのんびりしていられそうにありません。読者の方には影響しないように作業を進めていくつもりです。

あわせて読みたい

編集後記




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本