2

hheader.html 包含在每个 URL 的顶部,但它与搜索无关,并且会弄乱每个页面第一行的所有结果......(在代码中它是最后一行,但在视觉上它是第一行,这谷歌能够注意到)

解决方案 1: 您可以将标头(要从 google 搜索中排除的内容)放在带有静态 url domain.com/header.html 和<meta name="robots" content="noindex" />?

  • 起飞吗?

解决方案2:您可以通过 apache mod rewrite、php 或 javascript 有条件地交付它

  • 起飞(?):谷歌可能不喜欢它?谷歌会尝试使用标准用户的用户代理的页面并进行比较吗?

  • 起飞:隐藏的内容也将在谷歌缓存版本中丢失......

示例:add-header.php:

<?php $path = $_GET['path'];
      echo file_get_contents($_SERVER["DOCUMENT_ROOT"].$path);  ?>

在 apache(虚拟)主机配置中:

RewriteCond  %{HTTP_USER_AGENT}  !.*spider.*  [NC]
RewriteCond  %{HTTP_USER_AGENT}  !Yahoo.*   [NC]
RewriteCond  %{HTTP_USER_AGENT}  !Bing.*    [NC]
RewriteCond  %{HTTP_USER_AGENT}  !Yandex.*  [NC]
RewriteCond  %{HTTP_USER_AGENT}  !Baidu.*   [NC]
RewriteCond  %{HTTP_USER_AGENT}  !.*bot.*   [NC]
RewriteCond %{SCRIPT_FILENAME} \.htm$ [NC,OR]
RewriteCond %{SCRIPT_FILENAME} \.html$ [NC,OR]
RewriteCond %{SCRIPT_FILENAME} \.php$ [NC]
RewriteRule ^(.*)$  /var/www/add-header.php?path=%1 [L]
4

1 回答 1

1

不要向搜索引擎发送与发送给用户不同的内容。(您的解决方案 2)。这称为“伪装”,明显违反了 Google 的政策。如果差异很大,它将使您的网站受到处罚。

反正有更好的答案。通常,如果您希望块不被索引,则将其包含在使用 javascript 在初始页面加载后动态加载的 div/iframe 中 - 例如使用 ajax。

于 2012-12-03T14:26:29.010 回答