站点用的是discuz,在静态页面上使用动态参数,会造成spider多次和重复抓取
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了站点用的是discuz,在静态页面上使用动态参数,会造成spider多次和重复抓取相关的知识,希望对你有一定的参考价值。
http://www.itneng.com/
动态网站不可能完全伪静态化,设置伪静态之后需要屏蔽动态域名的收录即可。编辑robots.txt文件屏蔽不想收录的动态地址,如何撰写Robots文件请看:http://www.baidu.com/search/robots.html。
这也是伪静态后的通用做法。 参考技术A 启用伪静态没,带参数的是动态页面的追问
已经启用了
从 XML 内容生成静态 HTML 站点
【中文标题】从 XML 内容生成静态 HTML 站点【英文标题】:Producing a static HTML site from XML content 【发布时间】:2011-02-20 11:42:11 【问题描述】:我有一个较长的 XML 文档,我需要从中生成静态 HTML 页面(通过 CD 分发)。我知道(在不同程度上)JavaScript、PHP 和 Python。我考虑过的当前选项列在这里:
我不排除 JavaScript,因此一种选择是使用 ajax 将 XML 内容动态加载到 HTML 页面中。 编辑:我会为这个选项使用 jQuery。
学习一些基本的 XSLT 并以这种方式生成符合正确规范的 HTML。
用PHP(例如)生成站点,然后生成静态站点。
编写一个脚本(例如在 Python 中)将 XML 转换为 HTML。这类似于 XSLT 选项,但无需学习 XSLT。
有用的信息:
XML 可能会在某个时候发生变化,因此我希望能够轻松地重新生成站点。
我必须制作某种菜单来在文档中跳转(所以我需要制作某种内容索引)。
我想知道是否有人有我没有想到的更好的想法。如果不是,我希望你告诉我,我的哪个选项似乎最明智。我想我知道我要做什么,但我想要第二个意见。谢谢。
【问题讨论】:
【参考方案1】:我认为 XSLT 是迄今为止最简单和最好的方法——即使考虑到必须学习 xslt。
xslt 编程有多种风格,但最简单的是“推送处理”,您可以在其中编写几个模板来描述如何将您的 xml 输入转换为 html 输出。然后编写一个根模板,输出基本的 html 包装器并调用其他模板。根 模板很简单:
<xsl:template match="/" > <!-- "/" matches the document root -->
<html> <!-- whatever is not in xsl: namespace is template output -->
<head><title>...</title></head>
<body>
<xsl:apply-templates /> <!-- this searches for and calls additional template matches -->
</body>
</html>
</xsl:template>
【讨论】:
感谢 Steven(和 Lucero)。我想我会使用 XSLT,我会在完成后报告!如果一切不顺利,我保留撤回我接受的答案的权利:)【参考方案2】:如果需要,我会使用 XSLT 选项,通过参数控制以从相同的 XML 源生成不同的页面。它确实是用于 XML 转换的工具。
【讨论】:
我不确定 XSLT 的唯一原因是因为它是一种我以前从未使用过的语言。不过我很高兴学习。 如果您以前做过一些函数式/声明式编程,我想您很快就会对 XSLT 感到宾至如归。【参考方案3】:我会选择 PHP 选项。原因是当 XML 更改时,您的网站内容“应该”自动更改,而无需您修改 PHP 代码。
创建一个 Python 脚本来生成大量静态页面对我来说似乎是个坏主意,而且使用 javascript 你会遇到跨浏览器的问题(除非你可能正在使用框架)。
为这类任务使用服务器端语言,这就是它们的目的。
【讨论】:
问题是,它是在 CD 上分发的,所以我仍然需要重新生成静态页面。另外,如果我走 JS 路线,我将使用 jQuery。 网站是否分发购买CD?换句话说,人们会从 CD-ROM 运行这个网站吗? 在这种情况下,PHP 和服务器端语言都已淘汰。最好的方法可能是 Python 恕我直言,除非您非常了解 XSLT。 我知道你不能从 CD 运行 PHP!这就是我要从动态 PHP 站点生成静态站点的原因。【参考方案4】:选择你最喜欢的。
如果它很简单,您可以使用(例如)php 生成页面,然后使用命令行脚本(在 python 或 php 中)为您创建缓存文件。
【讨论】:
以上是关于站点用的是discuz,在静态页面上使用动态参数,会造成spider多次和重复抓取的主要内容,如果未能解决你的问题,请参考以下文章