为 CMS 制作主题模板的 SEO 建议

虽然诸如 Drupal Joomla 包括 WordPress zBlog 等在内的很多 CMS 已经在代码上将搜索引擎优化(SEO)做到极致,但如果在主题模板上对于 SEO 稍有松懈,其结果必然惨不忍睹,因为此类 CMS 的前端页面内容及代码结构几乎全部由主题模板(Theme & Template)提供,所以无论哪个 CMS 在程序代码上如何努力,倘若主题开发人员对于模板代码的 SEO 稍有不慎,其后果不言而喻,这里我总结了一些我个人在制作各种 CMS 主题模板时的一些 SEO 心得及建议……

既然 W3C 致力将网页标准建立在 Presentation(表现层)Structure(结构层)Behavior(行为层) 三层模型基础之上,我这里也将分别从这三个主要方面进行简单描述并在最后针对一些小细节做一些补充:

一、压缩 CSS 样式表及图片修饰:Presentation(表现层)

虽然 Drupal 等优秀的 CMS 可以自动压缩并合并 CSS 文件,但机器和程序也仅仅是从代码层面去压缩,我们何不从一开始就养成简写 CSS 的习惯呢,能使用类继承的属性不要单独写,充分理解 CSS 层叠的含义及最大限度发挥使用 CSS 控制 Presentation 表现层的真正价值;关于图片毋庸置疑的是图片带给人们的视觉冲击非常不错,为你的网站增色不少,但目前国内的网络状况决定我们不能像多数韩国网站那样天花乱坠,与页面内容无关的图片尽量使用 css Sprite 做背景的方法展示,这将不会过多的影响你页面内容的下载时间及大大减少 HTTP 请求次数,图片必须优化后再使用,推荐 Image Optimizer 是我用过最好的图片优化工具,其优化能力和效果大大超越 Photoshop 等软件。

二、结构化 (X)HTML 代码:Structure(结构层)

我们知道 XHTML 主要负责网页的 Structure 结构层,如果不是用于大量多栏数据列表输出时请不要使用 table 排版,也就是通常人们说的使用 DIV+CSS 构建页面;另外对于搜索引擎来说,文档流中越先被下载的内容会被认为越重要,所以通常两栏的页面结构无论侧边栏在左边还是右边,在文档流代码上都会优先输出页面的主体部分然后再输出其他内容,之后再利用 CSS 来控制其在页面上的视觉位置。另外最为重要的还是语义部分,虽然多数人叫做 DIV+CSS 重构但并不是说页面里面所有的盒子都使用 DIV 来做,如标题必须使用 h1 – h6 标签,列表必须使用 li 标签等等,合理的语义标签对于向搜索引擎传达你的页面结构将起到决定作用,最基本的要求就是当你的页面停用 CSS 及图片渲染时也能给用户友好的体验并能醒目的凸现内容层次。

三、使用 JavaScript 脚本:Behavior(行为层)

使用 JavaScript 完全彻底的接管页面 Behavior(行为层)从而放弃在 xhtml 标签中使用诸如 onclick onmouseover 之类的用于判断用户动作行为的属性,使用单独的 js 文件及 getElementById().click() 及 document.createEvent().initEvent() 等方法为标签绑定动作,当然最好是使用 jQuery 等类库来处理用户行为及浏览器兼容性等问题,这会让你事半功倍并兼容这个星球上目前所有的主流浏览器。

四、除了以上三个比较大方面的注意之外当然还有一些小贴士:

尽量少用图片并优化已经使用的图片、为了 SEO 而放弃一些很炫的效果是值得的、尽可能减少隐藏代码和链接以提高页面信息熵、简约的版式往往最有效而且实用、使用无表格并符合 W3C 标准及模型的代码结构、与该 CMS 扩展套件相兼容、为图片及链接使用 alt 属性、善用下划线而不是滥用、列表索引页使用 noindex 标记避免由搜索引擎抓取而造成的重复内容惩罚、所有指向站外的链接如用于讨论的用户链接等尽量添加 rel=”nofollow” 以防止指向恶意代码或网站而被搜索引擎惩罚、使用谷歌 GoogleAPI 服务载入 JS 类库、等等……

虽然只是给制作 CMS 模板主题的一些 SEO 建议,但这些建议用在非 CMS 的网站上也是绝对完全有效的,是时候将你的网站前端水平提升到一个新的层面,而这些一个个小的细节则是构成这些层面的基础。