web-dev-qa-db-ja.com

検索エンジンがページの特定のセクションをインデックスに登録しないようにする方法はありますか?

ユーザーが古い投稿に簡単にアクセスできるように、BloggerのセットアップですべてのページにBlog Archiveパネルを表示しています。問題は、このパネルに各ページのタイトルがリストされていることです。つまり、現在のページは、直接関連するのではなく、別のページのキーワードを取得しています。

たとえば、私はオレンジについて書いているかもしれませんが、1週間前にはリンゴについて書いていました。 1週間前のリンゴに関する私の投稿へのリンクが[アーカイブ]パネルにあるため、オレンジに関するページは現在、検索エンジンでもリンゴについて話しているように見えます。リンゴページがオレンジ色のキーワードにもインデックスを付けている場合は、逆のことが当てはまります。

ページの特定のセクションをインデックスから除外する方法はありますか? (例:noindexまたは同様のものとしてタグ付けされた<div>全体を持っているようなもの。)

Bloggerにはアーカイブパネルのページのタイトルを削除するオプションがあることは知っていますが、利用可能な投稿をユーザーが把握できるように、そこに留まる方がいいと思います。

13
Senseful

おそらく、次のようにクラスrobots-nocontentをページの要素に追加できます。

<div class="robots-nocontent">

    <p>Ignore this stuff.</p>

</div>

Yahooはこれを尊重します 。ただし、他の検索エンジンがこれを尊重するかどうかはわかりません。 Googleはこれをサポートしていません 現時点では表示されます。コンテンツをajax経由で読み込むと、ページに存在しないのと同じ効果が得られると思います。

7
artlung

それを行う一般的な方法はありませんし、個人的には気にしません。検索エンジンはページ上の関連するコンテンツを認識するのに非常に優れており、検索エンジンが見つけたキーワードにそのコンテンツが表示される場合でも、ページがそれらのキーワードに関連することを意味しません。

「魚」に関するページと「犬」に関するページ(サイドバーのどこかに「魚」に関するページへのリンクがある)がある場合、検索エンジンは通常、「魚」に関するページがサイドバーで「魚」について言及している「犬」に関するページよりも、「魚」に関連性が高い。ある時点で両方のページが見つかる可能性がありますが、一般に、サイトのほとんどのページが検索結果に表示されることを考えると、心配する価値はありません。

それに夢中になる必要はありません、そして、あなたが試みるならば、検索エンジンはちょうどもっと混乱する可能性が高いです(例えば、コンテンツを隠すためにJavaScriptを使用する場合、検索エンジンがいつでもそのコンテンツを見つけ始めるかわかりません)。同様に、robots.txtでiframeを使用すると、AJAXが許可されないか、ユーザーのページの品質が低下することがあります(速度が低下するか、さまざまなデバイスで使用できなくなります)。これを行う必要があるという非常に強力で実証済みの理由があるので、気にしないことを強くお勧めします。

3
John Mueller

IFrameを使用でき、Googleにそのページのインデックスを作成させた場合にのみ、内部のコードにインデックスが作成されると思います。したがって、iFrameから読み込まれたファイルのrobots.txtにnofollowを追加しても大丈夫です。

1
Ben Hoffman

リンク内のキーワードテキストは、リンクが存在するページではなく、リンクが指すページに大部分が適用されます。個人的には、私はそれについてあまり心配しません。タイトルを削除/クローキングすることは、許可するよりも悪化する可能性があります。

0
Eric Petroelje

Googleは独自の方法で インデックスから不要なテキストを除外 を提供しています。

あなたの例では、アンカーについて説明しました。Googleはこの例を提供しています。

<!--googleoff: anchor-->
  <A href=sharks_rugby.html>shark</A>
<!--googleon: anchor-->

他にもいくつかのモードがあります。

0
lulalala