'SEO' 的档案


读解NodeList对象

NodeList对象是一个由多个DOM节点组成的集合对象,除了childNodes外,下面的几个方法也返回NodeList对象:

  • object.getElementsByClassName(className)
    IE不支持
  • object.getElementsByName(name)
    所有浏览器都支持
  • object.getElementsByTagName(tagName)
    所有浏览器都支持
  • object.getElementsByTagNameNS(namespaceURI, tagName)
    IE不支持
  • object.querySelectorAll(selectors)
    IE,Firefox3.5以下版本不支持
  • object.tags(tagName)
    Firefox不支持
  • object.urns (URN)
    IE only

内置属性

W3C的NodeList接口文档中定义了两个属性:

  • Node:node集合,可以通过下标访问。
  • length:node总数量,只读属性。

其实NodeList还有一个item属性,不知道为什么W3C中没有提到。

不是数组

通常我们都说“NodeList返回一个node数组”,其实这不完全正确,因为NodeList不是数组对象。可以通过查看它的constructor来证明。下面的代码在网页上动态创建了一个div。 详情 »

查看Javascript执行耗时的计时器类

在Javascript性能优化时经常要统计代码执行耗时,在Firefox下,用firebug的console.time能够很方便的查看代码的运行时间,在IE下缺乏像firebug这样强大调试工具,为了简化自己的工作,我模拟了一个console.time,它能在所有浏览器中使用,计时结果默认输出在网页标题上,如果你不喜欢在标题上显示,可以在timeEnd时自定义一种显示方式。

代码说明和使用方法都写在代码的注释中。 详情 »

为页面指定URL的范式

大部分站长都和我一样碰到这样一个问题:由于进入页面的访问地址不一样导致一个页面权重分散。这种现象最直接的体现就是页面PR值分散。怎么理解这个问题?现在来假设一个场景:例如有一个网站http://www.tugai.net

  • http://www.tugai.net/的PR值是4
  • http://tugai.net/的PR值是2
  • http://www.tugai.net/?from=abc的PR值是3

而http://www.tugai.net/、http://tugai.net/、http://www.tugai.net/?from=abc都是显示同一个页面,即网站的首页,但是Google在计算PR值时却为同一个页面的不同URL形式计算了3个不一样的值,也就是把一个页面的PR值分散到了不同URL地址上,要是把这三个页面的PR值都算到一个页面的话,那么这个页面的PR值可能就有5了,这种结果是站长们不想得到的。

Joachim Kupke在Google黑板报上发布了《指定您的URL范式》一文,在文章中提到的URL范式可以上面提到的问题。

您可能会对URL形式不同造成的重复内容有所担心,谷歌现在支持一种新的功能,使您可以指定您喜欢 的URL格式。如果您的网站通过多种不同形式的URL向访问者提供完全相同或非常类似的内容,那么通过这种功能您可以自主控制出现在搜索结果中的您网站的 URL格式。同时这也有 助于将那些影响您网页声望值的因素更固定地指向您所青睐的URL格式上。

Google提供的解决方式是,在页面头部添加一个“canonical”标签,标签的完整形式如下:

<link rel=”canonical” href=”http://www.tugai.net/”/>
href后接的地址为你希望的URL地址,相对地址和绝对地址都可以。

Google蜘蛛顺着其他网页上的链接进入目标页面时,当发现页面有”canonical”标签时,就会把href的值当作目标页面的唯一对外地址,忽略其他页面链接到目标页面时的链接地址。

虽然Google是想通过canonical来排除搜索结果中的重复结果,但实际上可以利用这种技术提高页面的PR值,避免页面权重分散。

目前,只有Google支持canonical,Yahoo和百度都不支持,如果只是关注PR值的话,其他两种搜索引擎支不支持都无所谓了。