将旧网站(HTML 文件)保留在网络服务器上,但不允许搜索代理对其进行索引
Posted
技术标签:
【中文标题】将旧网站(HTML 文件)保留在网络服务器上,但不允许搜索代理对其进行索引【英文标题】:Keep old website (HTML files) on webserver but disallow search agents to index them 【发布时间】:2013-01-06 04:08:07 【问题描述】:我刚刚为一个打算替换旧的(非常旧的、html 硬编码的网站)的客户完成了一个网站。问题是他们(现在)想要将他们的旧网站和网络服务器上的所有文件保存在原始位置。这不会对使用 php 和 Wordpress 制作的新网站造成任何问题,但是当 Google(和其他人)使用他们的搜索机器人和索引时,它会产生很大的影响。
在进行 Google 搜索时,它仍然会找到旧的 HTML 文件。有什么方法可以“保留”网络服务器上的旧 HTML 文件,但首先要确保没有机器人会为它们编制索引,以及是否有人试图导航到 HTML 页面,例如http://www.clientdomain.com/old_index_file.html,他们正在重定向?我认为最后一部分可能可以在 .htaccess 中完成,但我没有找到任何有用的搜索。
关于不允许机器人和代理索引 HTML 文件的第一个问题,我尝试将这两行放在我的 robots.txt 文件中
Disallow: /*.html$
Disallow: /*.htm$
但我不确定它是否会起作用?
我可能会以完全错误的方式处理此问题,但我从未尝试过客户曾要求将旧网站保留在同一台服务器上和原始位置。
谢谢, - 梅斯蒂卡
【问题讨论】:
如果机器人无法索引网站并且没有人可以访问它,那么您究竟如何“保持”网站正常运行?听起来您想将文件保存在某个地方,但可能不在您的网络服务器上。 这些回复是否回答了您的问题? 【参考方案1】:这绝对是 mod_rewrite 可以提供帮助的。将您发布的 robots.txt 转换为简单的重写:
RewriteEngine on
RewriteRule /.*\.html /index\.php [R]
[R] 标志表示显式重定向。我建议您查看http://httpd.apache.org/docs/2.4/rewrite/remapping.html 了解更多信息。您还可以使用 [F] 标志禁止直接访问。
【讨论】:
【参考方案2】:<?php
$redirectlink = ‘http://www.puttheredirectedwebpageurlhere.com‘;
//do not edit below here
header (‘HTTP/1.1 301 Moved Permanently’);
header(‘Location: ‘.$redirectlink);
exit;
?>
此代码将使用 301 将页面重定向到您想要的 URL。此 .php 的文件名应该是您要重定向的页面的 URL slug。 301重定向
应设置 301 重定向,也称为永久重定向,以永久重定向页面。 “永久”一词意味着重定向页面的所有质量都将传递到绕行页面。
这包括:
页面排名
MozRank
页面权限
流量价值
如果您要进行的更改是……永久的,则会实施 301 重定向。迂回页面现在体现了重定向页面,就好像它是前者一样。全面接管。 旧页面将从 Google 的索引中删除,新页面将替换它。
或者你可以在你的 htaccess 中进行操作,如上面的海报所示。
【讨论】:
【参考方案3】:可能有很多方法可以解决这个问题,假设您有一个清晰的页面从旧模板到新模板的映射,您可以在旧模板中检测到 Google bot(请参阅 [1])并执行 301重定向(例如参见 [2])到新模板。
列表项 [1]how to detect search engine bots with php? 列表项 [2]How to implement 303 redirect?【讨论】:
【参考方案4】:需要一些工作,但听起来你需要打开你的 htaccess 文件并开始添加从旧内容到新内容的 301 重定向。
RewriteCond %REQUEST_URI ^/oldpage.html
RewriteRule . http://www.domainname.com/pathto/newcontentinwp/ [R=301,L]
冲洗并重复
【讨论】:
以上是关于将旧网站(HTML 文件)保留在网络服务器上,但不允许搜索代理对其进行索引的主要内容,如果未能解决你的问题,请参考以下文章