网页搜索引擎优化(动态网页的问题所在:问题就出在这些动态生成的网页)
优采云 发布时间: 2021-11-30 20:02网页搜索引擎优化(动态网页的问题所在:问题就出在这些动态生成的网页)
动态生成的网页:
对于那些动态生成的网页,我们的实际访问者可以用肉眼看到。但是对于大多数搜索引擎来说,蜘蛛程序往往是不可见的,这就是为什么搜索引擎SPIDER很难检索到动态网页的原因。所以,如果你想让你的动态网页出现在搜索引擎的搜索结果中,你只需要保证你的网站内容对搜索引擎是可见的,即搜索引擎的蜘蛛程序可以见网站 内容在上面
所谓动态网页一般是指由ASP、PHP、Cold Fusion、CGI等程序动态生成的页面,网页中的大部分内容都来自连接到网站的数据库。该页面不存在于网络空间,只有在收到用户的访问请求后才会生成并传送到用户的浏览器。并且因为访问者可以实时获取他们想要的数据,动态网页往往会给人们留下深刻的印象。此外,动态网页还具有易于维护和更新的优点。例如,对于新产品或价格调整。网站管理员只需要对数据库做一个简单的改动。根本不需要修改每个单独的静态页面。
我们可以看到,从用户的角度来看,动态网页真的很棒。但如果从搜索引擎的角度来看,结论就不一样了。
动态网页的问题:
问题在于这些动态网页实际上并不存在于网络空间中。只有当用户在变量区输入值时才会生成它们。而且我们都知道,搜索引擎蜘蛛再聪明,也只是一个搜索程序。他们不能像真人一样选择变量和输入值。
您还可以将查询编辑为主页上的链接,使该链接成为预定义的 网站 目录查询。用户可以在搜索表单中输入查询条件进行查询,通常动态脚本需要一定的信息来返回页面内容,最常见的如Cookie数据、Session ID或环境变量等。但是对于搜索引擎 Spider 程序,他们不可能知道如何使用您的搜索功能或要问什么问题。正因为如此,Spider 对 网站 的搜索往往不得不在一个动态站点之前停止。
此外,动态页面的 URL 收录一个问号 (?) 和一个百分号 (%)。还有一些符号,例如 &、%、+ 和 $,它们经常出现在动态页面的 URL 中。此类 URL 称为“环境变量”(查询字符串)。但是,大多数 SPIDER 无法解释符号“?”之后的字符。例如,对于 URL: 大多数 SPIDER 只能读取符号“?”之前的字符。这 ”?” URL中对他们来说是一个“停止标记”,所以他们最终检索到的URL只能是:
显然,由于这个网址实际上并不存在,所以他们什么也没找到。所以,如果你在网站或网站上的大部分网页都是动态生成的,为了让SPIDER方便阅读你的网站上的内容,你需要@网站使某些变化。
有些搜索引擎在检索页面时,往往拒绝搜索cgi-bin目录下的静态页面(即保存为静态页面的动态页面)的URL。例如,它们不提供对以下两个 URL 的检索:
[网址][/网址]
[网址][/网址]
为什么搜索引擎不读取符号“?”后的内容:
搜索引擎的 SPIDER 不愿意读取放置在 cgi-bin 目录下的网页,或者 URL 中收录带有“?”符号的字符。原因是如果在CGI中提供了“无限”数量的URL,SPIDER往往会因为检索这些“无限”的网页而陷入死循环。这些就是所谓的蜘蛛陷阱。数据库程序也可能会创建与 SPIDER 类似的情况。因此,为了避免可能出现的陷阱,Spider 不会读取“?”后面的字符。在带有符号“?”的 URL 中。
如果Spider被你的服务器困住了,那不仅对Spider本身不利,而且Spider反复请求访问你的网站页面也会导致你的服务器系统完全瘫痪。
动态网页优化方案:
以为例:从它的URL可以看出,网站中有与天然减肥产品相关的内容。遗憾的是,由于Spider 不支持动态生成的页面,因此动态页面上的相关内容无法被搜索引擎索引。假设有一个竞争对手,他也有一个与天然减肥产品内容相似的网页,但由于他的网页是静态页面,因此可以被搜索引擎索引。可以想象,那些搜索“天然减肥产品”的用户会访问最后一个网站。更何况,即使提供的具体内容比竞争对手好?正因为它不能出现在搜索引擎的搜索结果中,它只能将在线销售的好机会交给他的竞争对手。
这个问题的解决方案可以遵循一个思路:改变动态网页的网址,使网址不再收录“?”符号。“=”等类似的符号,看起来像一个静态的 URL。针对不同程序开发的动态页面的不同解决方案:
• CGI/Perl
如果你在网站中使用CGI或Perl,你可以用脚本把环境变量之前的所有字符都取出来,然后把URL中剩余的字符赋给一个变量。这样,您就可以在 URL 中使用该变量。
路径信息(或脚本名)是动态应用中的一个变量,收录完整的URL地址和环境变量信息。这样脚本就从路径信息变量中获取到环境变量之前的字符,并将剩余的字符代入一个变量中。
但是,对于那些内置了一些SSI(Server-Side Include)内容的网页,各大搜索引擎都可以提供索引支持。那些扩展名为 .shtml 的网页也被解析为 SSI 文件,这些文件相当于通常的 .phpl 文件。但是,如果这些网页在其 URL 中使用 cgi-bin 路径,则它们可能仍不会被搜索引擎索引。
ASP
ASP(Active Server Pages:Web 服务器端动态网页开发技术)用于基于Microsoft 的Web 服务器。使用 ASP 开发的网页通常以 .asp 为后缀。ASP因其简单的功能和实用性受到很多朋友的喜爱,再加上微软的大力支持,可以说是时下最流行的Web开发语言之一。只要你避免使用符号“?” 在 URL 中,大多数搜索引擎都可以支持用 ASP 开发的动态网页。
那么如何处理使用“?”的 URL 呢?针对这个问题,一家名为“Exception Digital Enterprise Solutions”的公司推出了他们的解决方案——xqasp。这是一个升级软件。它允许符号“?” 在要通过 Web 服务器转换为“/”的 URL 中。更多信息请访问: 还有一些相对便宜的解决方案,如ASPSpiderBait和PortalPageFilter。
冷聚变
如果您使用的是 Cold Fusion,则需要在服务器端重新配置它。使用 Cold Fusion 开发的网页通常使用 .cfm 作为文件扩展名。一般情况下,数据库使用符号“?” 检索网页。您可以重新配置 Cold Fusion 设置,以便它可以替换符号“?” 在带有符号“/”的环境变量中,并将替换的值传递给 URL。这样,最后到达浏览器的就是静态 URL 页面。即对于URL,最后返回浏览器的将是。当搜索引擎检索到转换后的文件时,不会遇到“?”,因此可以继续索引整个动态页面。这样您的动态网页仍然可以被搜索引擎读取。
阿帕奇服务器
Apache 是最流行的 HTTP 服务器软件之一。它有一个名为 mod_rewrite 的重写模块,它使您能够将收录环境变量的 URL 转换为搜索引擎可以支持的 URL 类型。但是,Mod_rewrite 不是 Apache 软件安装中的默认模块,因此您应该咨询您的托管公司以查看该模块是否在您的服务器上可用。
还是以上面的 URL 为例: 使用 mod_rewrite 模块后,URL 变成了如下格式: 更多关于这个模块的信息,请访问 [url][/网址]
动态网页可以通过付费收录程序直接提交:
直接将动态网站提交给AltaVista,增加网站成为收录的机会。如果您通过AltaVista或Inktomi的付费收录程序提交,您将能够保证网站的收录。
文件扩展名:
现在,您的文件名的后缀是什么。这不再是搜索引擎的问题。即使您的网页没有 .phpl 或 .php 扩展名,只要 URL 不收录符号“?”,它仍然可能被索引。相比之下,Northern ight 搜索引擎特别灵活,它可以索引 .phpl, .php, .shtml, .stm, .asp, .phtml, .cfm, .php3, .php, .jsp, . jhtml,。asc、.text 和 .txt 是带有扩展名的文件。但是,它仍然不支持后缀为 .cgi 的文件。如果您的网站上有它不支持的扩展文件,它会在网站的提交过程中通知您。
结束语:
问问自己,您真的需要使用动态网页吗?数据库通常用作页面生成工具,您可以使用它来创建静态页面,特别是对于网站 上那些不经常更改的区域,可以考虑使用数据库来生成静态页面内容。为了保证搜索引擎的索引,您还可以考虑为您的动态内容创建镜像静态网页。
大多数搜索引擎仍然不习惯索引动态网页,今天仍然如此。这是因为检索一个动态生成的网页,可能会导致搜索引擎的蜘蛛陷入无限循环的“陷阱”,出不来。但现在情况正在逐渐好转。最早支持动态网页的搜索引擎是Google,到2000年底,它已经能够索引动态网页(包括URL中的“?”)。此外,HotBot等一些搜索引擎也开始支持动态页面。
虽然这些搜索引擎可以支持动态网页,但是为了保证它们的Spider程序不会死循环,搜索引擎不会对动态生成的页面的链接进行深度访问。因此,我建议您在动态生成的页面上多花一点时间,并确保每个页面都可以被搜索引擎索引。其实到最后你会发现,花费的时间绝对是一笔巨大的投资——同时也可以为你的网站带来更多的访问量。