ウェブサイトからクローラー、スパイダー、ボットをブロックする方法

disallow-web-crawlers

Block Web Crawlers

私がよく気づいたことの一つは、入場禁止のサインは主に人々が制限されたエリアに侵入するのを防ぐのに十分であるが、絶対に確実な計画ではないということです。 この印のための完全な無視があり、制限された区域に賭ける何人かの人々が常にある。 ロボットを使って。特定のwebサイトからクローラーを禁止するtxtファイルは似ています。 ロボットの指示しながら。txtファイルは、それが任務のいずれかの種類を設定していないあなたのウェブサイトをクロールからクローラー、クモやボットを禁止します。 いくつかのクモはまだあなたのページをクロールする可能性があります。 したがって、クローラをブロックする必要があります。

以前の記事では、ウェブサイトからクローラー、スパイダー、ボットを禁止する方法について書いていました。 この方法は効率的ですが、明らかに十分ではないようです。 したがって、発生したこの問題を解決するには、回避策を考え出す必要があり、私はあなたにちょうどそれを提供するつもりです。 今、代わりにちょうどロボットの指示でクローラを許可しません。txtファイル私たちはクローラーをブロックしようとしています。

apache2.4.7(Ubuntuにインストールされている)でクローラをブロックするための以下の方法が試みられました。 私はそれがApache2.4で動作するはずだと期待しています。X.Apacheで以下のメソッドを実装できない場合は、コメントセクションに私に書いてください。 お使いのApacheのバージョンとサーバーのオペレーティングシステムに関する情報を提供してください。 あなたが機密情報を提供しようとしているなら、あなたは私に書くことができます[email protected]…..

クローラをブロックするためのHTTP基本認証

クローラをブロックするための最初の方法は、HTTP基本認証を使用することです。 以下の画像のようないくつかのwebサイトにアクセスしようとすると、認証ボックスに遭遇することがあります。

Http-Authentication-block-crawlers

ウェブサイトの認証ポップアップ

HTTP認証が実装されている場合は、上記のボックスが表示されます。 これを実装するには、ドメインのvirtualhost設定ファイルを編集する必要があります。

パスワードファイルの作成

最初のステップは、ユーザー名とパスワードを含むパスワードファイルを作成することです。 SSHを使用してサーバーに接続し、以下のコマンドを実行します

htpasswd-c<path_of_the_password_file><username>

<path_of_the_password_file>を、ユーザー名とパスワードの組み合わせを暗号化された形式で格納するファイルを作成する場所に置き換えます。 説明のために、パス/home/tahseen/Desktopを提供すると仮定しましょう。 <ユーザー名>を必要なユーザー名に置き換えます。 デモの目的のために、私はユーザー名wisdmlabsを作成するつもりです。 だから今あなたのコマンドは以下のようになるはずです。

htpasswd-c/home/tahseen/Desktop/password wisdmlabs

上記のコマンドでパスワードファイルの場所とユーザー名を置き換えた後、enterキーを押します。 それはあなたが追加したいユーザー名のパスワードを要求します。 それにパスワードを提供し、enterキーを押します。 ファイルにusernameを追加すると、Adding password for user<username>というメッセージが表示されます。<username>は追加したいusernameになります。 下の画像は、私が何を言っているのかをはっきりと理解するのに役立ちます。

create-password-file-block-crawlers

Create Password File

注:上記のコマンドでは、-cオプションを渡してファイルを作成しました。 ユーザー名とパスワードの組み合わせを保存する必要があるファイルが既にある場合は、-cパラメータを指定する必要はありません。

設定ファイルの編集

これまで、ユーザー名とパスワードを作成しました。 次に、この情報をサイト構成に追加します。 このステップは、当社のウェブサイトからクローラーをブロックするのに役立ちます。 たとえば、これを実装しようとしているとしましょうabc.comそのドメインの.Virtualhost設定は、ディレクトリ/etc/apache2/sites-availableディレクトリにあります。 私はその設定ファイルを仮定していますabc.com 以下のコマンドを使用して編集するためにその設定ファイルを開きます。

sudo nano/etc/apache2/sites-available/abc.com.conf

設定ファイルのVirtualHostブロックの最後に以下の内容を追加します。

<Directory/>#内部Ipがwebサイトに直接アクセスできるようにします。 内部ipがない場合は、以下の行を省略しますRequire ip192.168.2.1/24#Replace/var/。htpasswdコマンドAuthType Basic AuthUserFile/var/で指定したファイルパスを持つパスワード。パスワードAuthName"Authentication Required"require valid-user Satisfy Any</Directory>

上記の内容を追加した後、ファイルを保存し、以下のコマンドを実行してApacheをリロードします。

sudoサービスapache2reload

あなたは完了です! 今すぐウェブサイトを訪問しようとすると、ユーザー名とパスワードを尋ねる必要があります(内部ネットワークから訪問していない場合)。 この認証ポップアップが表示された場合、クローラーをブロックしようとする試みは機能しました!

クローラーをブロックするために403で応答する

クローラーをブロックするための2番目の方法は、クローラーに403で応答することです。 この方法では、クローラのユーザーエージェントを検出してブロックしようとします。 この方法の欠点は、useragentが変更された場合、クローラーがコンテンツをクロールできることです。

以下の内容を追加することができます。クローラーをブロックするhtaccessファイル。 それはに追加した後に動作しない場合.htaccessファイルを使用すると、以前の方法で行ったように、対応するドメインのvirtualhost設定ファイルを編集する必要があります。

<IfModule mod_rewrite。c>RewriteEngine OnRewriteCond%{HTTP_USER_AGENT}^.*(googlebot|bingbot|yahoo|AhrefsBot|Baiduspider|Ezooms|MJ12bot|YandexBot|bot|agent|spider|crawler|extractor).*Rewr RewriteRule.*-</IfModule>

それでも動作しない場合は、Rewrite moduleが有効になっていることを確認してください。 これを行うには、以下のコマンドを実行します。


出力にrewrite_moduleが表示されない場合は、ブロックできるようにするために有効にする必要があります。 有効にする方法がわからない場合は、記事「Enable Rewrite Module」を参照してください。

上記の二つの方法は、あなたのウェブサイトからクローラーをブロックするのに役立つ実質的な あなたはまだ何か困難を抱えている場合は、コメント欄を介して私と連絡を取ること自由に感じます。

  • ワードプレスのヒント&トリック
  • タグ付き: apache、ブロッククローラ、HttpBasicAuthentication、ステージングサイト、Webスパイダー
共有:

  • Sumit P

このブログ記事のリンクの一部はアフィリエイトリンクである可能性がありますのでご注意ください。 これは、あなたがそのようなリンクを使用して製品を購入するために行く場合、我々は(あなたに追加費用なしで)小さな手数料を受け取ることを意味し これは私達がblogを支え、自由な内容を作り出すのを助ける。 私達は私達が働くか、または愛するプロダクトだけを推薦します。 あなたのサポートに感謝します!

Write a Comment

メールアドレスが公開されることはありません。