南京网站搜索引擎优化(SEO优化:URL静态化是最基本的SEO要求)

优采云 发布时间: 2022-01-14 06:23

  南京网站搜索引擎优化(SEO优化:URL静态化是最基本的SEO要求)

  URL静态一直是SEO最基本的要求之一,但近年来随着搜索引擎技术的进步,抓取动态URL不再是问题,SEO行业也改变了一些关于是否一定要静态的概念.

  为什么是静态的

  网站现在绝大多数都是数据库驱动的,页面是由程序实时生成的,而不是服务器上实际有一个静态的HTML文件。当用户访问网站时,程序根据URL中的参数调用数据库数据,实时生成页面内容。因此,动态页面对应的URL的原创状态也是动态的,包括问号、等号和参数,比如下面一个典型论坛的URL:

  &extra-page=1

  发展初期(其实才10年前),搜索引擎普遍不愿意抓取收录动态网址,主要原因是可能陷入死循环或者收录 大量重复内容,造成资源的巨大浪费。最典型的无限循环是出现在一些网站上的万年历,很多博客都是按时间归档的,还有一些酒店和航班查询网站经常以万年历的形式出现。

  搜索引擎蜘蛛遇到了万年历。如果你一直点击上面的链接,你可以一直点击下个月和下一年,你会陷入死循环,每个日期对应的页面内容没有什么不同。真实用户一眼就能看出这是日历,但搜索引擎蜘蛛面对的只是一串代码,可能无法判断出它实际上是万年历。前面提到的电商网站各种条件的过滤和过滤页面,也可能会合并大量的页面,这几乎是无限循环。

  有时即使没有无限循环,动态 URL 也会导致大量重复页面。例如网址:

  ;cat=shoes&id=12345

  和网址:

  php?cat=shoes&co=red&id=12345

  和网址:

  php?color-red&id=12&cat=shoes

  很可能是完全相同的内容,都是型号为12345的红鞋。URL中的参数顺序不同意味着不同的URL,但调用参数相同,所以页面内容是相同的。如果 cms 系统设计不当,这些 URL 可能会出现在 网站 上。

  更麻烦的是,有时候有些参数可以是任意值,服务器可以正常返回页面,虽然内容都一样或者很相似。例如,如果上面 URL 中的参数 1345 更改为 6789 或其他数字,服务器很可能也会返回 200 状态代码。

  因此,在过去,搜索引擎远离动态 URL。为了网站页面完整收录,站长需要将动态网址转换为静态网址。

  如何静态化 URL

  最常用的方法是(使用服务器的URL重写模块,mod_rewrite模块一般用在LAMP(Linux+Apache+MySQL+P PHPHP)服务器上,Windows服务器也有ISAPI Rewrite等功能类似的模块.以LAMPAMP服务器为例,如果要更改URL:

  com/products.php?id=123

  静态到:

  您需要启用服务器 mod_rewrite 模块,然后在 .htaccess 文件中写入以下代码:

  重写规则/products/([0-9]+)/products.php? id=$I

  URL重写代码基于正则表达式,每个网站的动态UL结构不同,服务器设置也可能不同,代码也不同。正则表达式的编写复杂多变,通常需要程序员编写。编写 URL 静态代码时必须非常小心。一个错误的字符、一个多余的斜线等等,都可能造成灾难性的后果。我自己也遇到过这样的情况。

  严格来说,这里所说的静态 URL 应该叫做“伪静态”,也就是说服务器上仍然没有对应的 HTML 文件,用户访问时页面仍然是动态生成的,只是 URL 是通过改写的URL重写技术。它看起来像静态的。还有一些cms系统可以是真正静态的。编辑添加产品或文章后,系统会自动生成真正的静态HTML文件。对于搜索引擎来说,真静态和伪静态没有区别。

  URL 需要是静态的吗?

  近年来,搜索引擎在抓取动态 URL 方面取得了长足的进步。一般来说,URL中有两三个参数,不会对收录产生任何影响。一个高权限的域名多几个问号是没有问题的。不过一般建议将URL设为静态,这样不仅可以提升用户体验,还可以降低收录的难度。

  2008年9月,谷歌站长博客发表了一篇讨论动态URL和静态URL的帖子,颠覆了这个SEO社区的传统概念。. 在这篇文章中,Google 明确建议不要将动态 URLRL 设为静态。谷歌的帖子有几点。

  (1)谷歌完全有能力抓取动态网址,不管有多少问号(百度等也没有问题)。

  (2)动态 URL 更有助于 Google 蜘蛛理解 URL 的含义并识别它们,因为 URL 中的参数是暗示性的。Google 给出了这个例子:

  com/article/bin/answer.foo?language=en&answer=3&sid-98971298178906&query=URL

  URL 本身中的参数有助于 Google 了解 URL 和网页内容。比如language后面的参数就是提示语,answer后面的AERxe后面是文章号,sid后面肯定是Session ID。其他常用的参数包括:color后面通常跟color,size后面跟size等参数。借助这些参数名称,Google 更容易理解网页。

  将 URL 设为静态后,这些参数的含义通常不明显,比如这个 URL:

  com/shoes/red/7/12/men/index.html

  这可能会让谷歌不知道哪个是产品序列号,哪个是尺寸。

  (3)静态URL容易出错,更得不偿失。比如通常动态URL改变参数顺序得到的页面是一样的,这两个URL很可能是同一页:

  =zh&answer=3

  &语言=zh

  保留动态网址,谷歌更容易理解这两个网址是一页的,所以会自动合并权重。静态化后,Google 很难判断这两个 URL 是否是同一个页面,这可能会导致重复内容:

  html

  html

  另一个容易犯的错误是 Session ID,它也可以静态合并到 URL 中:

  这样网站会生成很多不同URL但内容相同的页面。

  因此,Google 建议不要对 URL 进行静态化。百度的态度是静态的和动态的,没关系,百度不歧视,只要尽量避免重复,当然也不要太动态,拿几十个参数没什么好担心的。但我仍然建议使 URL 尽可能静态。原因如下。

  (1)谷歌的建议是从谷歌本身入手,不考虑其他搜索引擎。谷歌愿意抓取任何动态网址并不代表百度、必应、搜狗、搜搜等都愿意,虽然技术上没问题.

  (2)谷歌所说的static的缺点,基本上都是基于static没有做对的假设。问题是要做static,就必须做对,假设是没有意义的会错的。是的。有多少人会将Session ID放在静态URL中?

  (3)用户体验。带参数的网址可能有助于谷歌理解内容,但显然很不利于用户一目了然了解页面的大致内容。看看这两个网址哪个更清晰,更容易如果你阅读它,它更有可能被点击:

  &sid-98971298178906&cat=6198&&query=URL

  显然是第二个。

  除了点击率,长动态网址也不利于记忆,也不利于在邮件、社交网站等中抄袭他人。

  本文由一鸣网网站SEO优化团队网编译,不代表本站观点。想了解更多SEO优化文章,新闻,工具和SEO优化技巧,案例,各种网站请进入优化知识百科:与一鸣*敏*感*词*答疑网络优化器

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线