このページをまだ索引付けしないように、しかし将来的には検索エンジンにどのように伝えますか?


8

私が働いている会社には、特定のコンテンツのページを自動的に作成するコンテンツ管理システムがあります。

たとえば、入力パラメーターとそれらに含まれる情報に応じて、データベース内の任意の作曲家に関する情報を表示する機能を持つシステムのページがあります。ただし、時々、情報を取得していない作曲家が存在するため、ページは空白のページをレンダリングします。現時点ではページをインデックスに登録しないように、しかし将来的にはGoogleにどのように指示できますか?

コンテンツは自動生成されるため、そのコンポーザーに関する情報がいつでもポップアップする可能性があるため、ページが表示されないようにブロックすることはできません。

編集する

フェッチを行うCMSシステムは、非常に複雑で深いことに注意してください。ページのコンテンツ部分はある種のデータを返すため、empty($content) ? xx : yy提案されているとおりにasを実行することは簡単な修正ではありません。作曲家が存在しない場合、システムにはその作曲家のページがありません。作曲家が存在する場合、システムにはページがあります。その作曲家のページがレンダリングされると、システムは作品などの作曲家を参照するすべてのタイプを検索して、動的ページを作成します。


2
「空白ページ」とはどういう意味ですか?文字通りHTMLが送信されないということですか?または、基本的な「シェル」デザインがありますが、コンテンツはありませんか?
DisgruntledGoat 2014年

回答:


13

特定の作曲家のコンテンツがない場合は、メタタグを使用します。

<meta name="robots" content="noindex, follow">

コンテンツが追加されてメタタグが削除されるとすぐに、Googleがコンテンツをインデックスに登録します。

例:

<?php if(empty($composerInfoArray)): ?>
    <meta name="robots" content="noindex, follow">
<?php endif; ?>

1
FWIWの「フォロー」はデフォルトの動作です。必要に応じてドロップできます(問題は発生せず、人間が読むためのものであるため、そのままにしておくこともできます)。
John Mueller

4

「不足している」ページに実際の情報が含まれておらず、単に「今後ページが表示される可能性があります」の単なるプレースホルダーである場合は、それらのページの404 Not Foundステータスコードを返すようにWebサーバーを設定することをお勧めします。

ブラウザは、通常の404エラーページを表示するのと同じように(少なくとも十分な長さである限り)、そのようなページをユーザーに表示しますが、検索エンジンはページがまったく存在しないかのように処理します。

これは、このような存在しないページに対してWikipediaなどで使用される方法です。その利点の1つ(間違いなく、意味的に正しいことに加えて)は、検索エンジンがそのようなページを、404ステータスコードを返す欠落ページを通常処理するのとまったく同じ方法で処理することを保証することです。

潜在的な欠点の1つは、404ステータスコードを返すページへのリンクがある場合、Googleのウェブマスターツールなどで「404エラー」として表示されることです。ただし、これは完全に正常な状態であり、心配する必要はありません


検索エンジンが新しいページを見つけやすくするために、実際のコンテンツが取得されて404が返されなくなった場合は、コンテンツが含まれているサイトのすべてのページをリストする定期的に更新されるXMLサイトマップも維持する必要があります。これにより、Googleやその他の検索エンジンは、サイトを再クロールするときにランダムにページを見つける必要がなく、サイトマップを介して新しいページを直接検出できます。

Ps。参照:関連するコンテンツのないインデックスページではありませんか?


Karenonが404を返すのは、何もしないことと同じです。これは通常のWebサーバーの動作です。ウィキペディアの例は、カスタム404ページです。
Binarysurf 2014年

1
@Binarysurf:OPによると、彼らはカスタムスクリプトを使用して、データベースに格納されている情報から構築された「仮想ページ」の動的コンテンツを提供しています(今日のWikipedia、SE、ほとんどの主要なWebサイトのように)。これは、「通常のWebサーバーの動作」が適用されないことを意味します。Webサーバー(Apache、IIS、nginxなど)に関する限り、コンテンツ生成スクリプトが存在し、実行されるため、デフォルトで「 200 OK "応答。ただし、スクリプトから指示がない限り。表示する実際のコンテンツがない場合は、OP スクリプトに404応答を送信するようにすることをお勧めします。
Ilmari Karonen 2014年

データベースから作曲家データを取得するカスタムスクリプトがあります。誰かの名前がそこにない場合はどうなりますか?ロジックを使用すると、スクリプトはデータベースからレコードを取得しません。どうすればよいですか?多分それはそれから404 not foundを送ります。スクリプトが何か、おそらくメタデータ(彼の名前)だけを見つけ、他のデータを見つけなかった場合、200と空のコンテンツのページが送信されます。彼がカスタムスクリプトを持っている場合でも、デフォルトのWebサーバーの動作に従いますか、それともリクエストごとに200応答しますか?特定のコンテンツに重点が置かれていないため、スパムのように見えます。
Binarysurf 2014年

あなたがスクリプトを実行したら、スクリプトはステータスコード、およびクエリが結果を持っていないときに送信するための正しいコードを送信するための責任がある404である
Wossname

1

私は個人的にシステムにメッセージを作成し、リクエストが完了した間、指定されたパラメーターに対して作曲者が見つからなかったことをユーザーに通知します。これにより、ユーザーはページ/リンクが「壊れている」とは考えなくなります。


1

ページにコンテンツがない場合、CMSシステムはそのページにリンクしていないはずです。空白ページへのリンクは、ユーザーにとっても検索エンジンにとっても悪いことです。

メタタグをコンポーザーページ自体に配置する方法についてのウェインウィッティの提案が気に入っています。すべての作曲家をリストしてそれらにリンクする場所で、同様のことを行う方法を見つける必要があります。

<?php foreach ($composers as $composer) {
    if ($composer->countCount > 0)
         print "<li><a href=\"$composer->url\">$composer->name</a></li>";
    } 
} ?>

これを行うと、検索エンジンは最初から空白のページを見つけられなくなります。


1
...つまり、情報を提供するなど、ユーザーが「空白の」ページでも実行できる意味のあるものがない限り。(ただし、空白のページに直接リンクするのではなく、データの(可能性のある)不在を示す別のURLにリンクする方がよい場合があります。ユーザーがフォローするエッジケースに対処する必要があることに注意してください。ページが最近作成されたのこのようなリンク。たとえば、Wikipediaがどのように実行するかを例として参照してください。)
Ilmari Karonen 14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.