次の3つのドメインがあります。
example1.com
(許可しない)example2.com
(許可しない)example3.com
(許可)すべてのドメインは、public_html
である同じフォルダーを指します。
検索エンジンが最初の2つのドメインでページをクロールできないようにする方法
私はこれをPHPで管理する同様のWebサイトで作業しています。
私の.htaccessには、次の行があります:
RewriteRule ^robots.txt$ robots.php
Robots.phpには次のものがあります。
<?php
header('Content-Type: text/plain; charset=utf-8');
if($_SERVER['HTTP_Host']=='www.allowed-site.fr'){
echo 'User-agent: *
Disallow:
Host: https://www.allowed-site.fr/
Sitemap: https://www.allowed-site.fr/sitemap-fr.xml
';
} else if($_SERVER['HTTP_Host']=='www.allowed-site.lu'){
echo 'User-agent: *
Disallow: /example/
Host: https://www.allowed-site.lu/
Sitemap: https://www.allowed-site.lu/sitemap-lu.xml
';
} else {
echo 'User-agent: *
Disallow: /
';
}
?>
これにより、個々のドメインごとにrobots.txtを調整できる単一のファイルを作成できます。
検索エンジンに許可するドメインは1つだけなので、RewriteRulesをより簡単にできます。これを使用してください:
RewriteEngine On
RewriteCond %{HTTP_Host} ^example3\.com$
RewriteRule ^robots\.txt$ /robots-allow.txt [L]
Public_htmlフォルダーに2つのファイルを作成する必要があります。 robots.txtおよびrobots-allow.txt
Robots.txtに次を追加する必要があります。
User-agent: searchengine
Disallow: /
searchengineをgoogleまたはブロックするエンジンに置き換えます。検索エンジンをさらに追加する場合は、上記の行を繰り返します。その後、robots.txtは次のようになります。
User-agent: searchengine
Disallow: /
User-agent: searchengine2
Disallow: /
User-agent: searchengine3
Disallow: /
その後、robots-allow.txtで空のファイルのままにするか、次のようにすべての検索エンジンのクロール遅延を調整できます。
User-agent: *
Crawl-delay: 1
Crawl-delayの後の数値は、同じユーザーエージェントからサーバーへのリクエスト間の最小待機時間を秒単位で表します。