过度重新抓取ColdFusion动态页面

时间:2013-05-28 06:36:46

标签: coldfusion

使用ColdFusion和serverside包含的人在动态页面上存在过度重新抓取的问题,因为没有datelastmodfied集,这会导致过多的服务器流量。如果你愿意,你可以笑,但是当我告诉他们解决方案是在页面上设置最后修改日期时,我会得到一个普遍的呵呵?你是怎样做的?我原先打开谷歌的一个案例,并被告知是的,这是一个页面日期问题。我已经做了很多研究,试图找到如何在标题中编写代码,以及我发现的大多数关于从页面中提取日期的内容。 我确定可以使用CFHEADER标签完成。我只是不确定实施。 我可以告诉他们添加像

这样的东西
<cfheader NAME="datelastmodified="Mon, 01 Feb 2013 08:00:00 GMT">

会满足吗?如果需要日期名称,则不确定日期格式。 我试过让其中一位网站管理员试试这个吗?不,我没有。我想知道,在占用太多时间之前,我至少在正确的轨道上。到目前为止,除了使用robots.txt阻止爬行或沿着这些线路的东西之外,他们都没有自己提出解决方案。 任何建议或想法将不胜感激。

2 个答案:

答案 0 :(得分:8)

幸运的是,这些事情都不一定是神秘的,因为它们都有很好的记录。

这一切都是为了表明这种事情:

<cfheader name="Last-Modified" value="#getHttpTimeString(now())#"> <!--- although use some timestamp indicating when the content of the page was last updated,which would be a system-specific sort of thing --->

注意:在我约5分钟前搜索它之前,我不知道任何细节。

答案 1 :(得分:1)

Google的抓取工具确实倾向于尊重他们遇到的网页的元标记详细信息和HTTP响应值,并且在CF中设置此类的方式确实与CFHEADER标记有关。你会想要把它看成是这样的:

<CFHEADER NAME="Last-Modified" VALUE="#DateFormat(now (), 'ddd, dd mmm yyyy')#   #TimeFormat(now(), 'HH:mm:ss')# GMT#gmt#">
<CFHEADER NAME="Expires" VALUE="Mon, 10 Mar 2013 05:00:00 GMT">

您可能希望CF dev能够完成这项工作,因为我向您展示了两个日期时间值的示例。第一个动态设置为现在(使用DateFormat()和Now()函数),第二个示例使用硬编码日期设置Expires头值。

您可能希望同时包含last-modified和expires标记,并决定是否要将每个日期应用于动态或硬编码。