作者:Zac
更新日期: 2017年01月18日
读者liuxinren问
请问:怎样针对动态生成的不同页面中,keywords和description,写不同的关键字和描述?谢谢!
我想针对这个问题可以更宽泛的谈一下CMS系统(content management system,内容管理系统)和SEO的关系。
现在很多网站都是由CMS系统建成的,电子商务网站,新闻类网站还有博客等等,绝大部分都是用CMS系统做成的。CMS优点很多,做的不好的话缺点也不少。
使用CMS系统制作页面和管理网站都变得容易,但缺点是大部分CMS系统都不够搜索引擎友好。
我觉得一个好的CMS系统在搜索引擎优化方面应该做到以下这些功能,读者在选择系统的时候可以注意看有没有这些功能,开发CMS系统的读者也可以做参考。
URL结构
这是CMS系统可能产生的最大问题。因为要从数据库中提取内容,没有经过处理的URL都是很长,带有问号。比如
http://www.domain.com/index.php?cat=3&au=4&id=38480
这种URL很难被搜索引擎抓取,应该通过mod_rewrite等手段改写成静态URL。比如
http://www.domain.com/seo/cms-and-seo.html
对英文网站,URL中的目录名和文件名可以从文章标题中提取,或者允许用户自己定义。对中文网站来说,最好的方法就是由用户自己定义。
按编号命名目录名和文件名也可以。比如
http://www.domain.com/cat3/au4/38480.html
Session ID
不少电子商务网站都会对所有访客自动产生Session ID,这也十分不可取。因为搜索引擎spider每次来的时候都会得到一个不同的Session ID,这样同一个页面就会产生多种URL,造成复制内容网页。
如果需要的话,应该是客户登录以后再产生Session ID,对未登录的一般访问完全没有必要产生一个Session ID。
网页标题,关键词和描述标签
CMS系统应该在后台允许客户输入自定义的网页标题标签title tag,关键词标签keywords tag和描述标签description tag。
对大的网站来说,用户自定义每个网页的标题,关键词和描述标签,比较困难,工作量太大。但是至少对首页和频道首页应该允许用户自定义,对更深层的产品页可以给用户两种选择,既可以自定义,也可以从产品名称和描述中自动提取。
在自动产生时,网页标题就应该是产品名,有的时候也可以按”产品名-频道名-网站名”顺序全部加上。但不应该是”网站名-频道名-产品名”。
关键词和描述标签应该结合产品名和产品的其他特性生成,如品牌,作者,型号等。
要注意的是,每一个网页的标题,关键词和描述标签都应该不一样,千万不要做成一个频道里所有网页标题全是一个。
CSS和JS
CSS和JS都应该放为外部文件。不管是由CMS系统生成的网站,还是普通网站都常会犯的一个错误就是,把CSS和JS放在网页的最前面,把真正的内容推到了很后面。
导航和网站地图
整个网站应该非常清楚的形成树型结构,最好用文字导航系统,而不是图片。系统也要自动生成网站地图。
导航系统应该清楚地连向首页和各目录首页。
生成的HTML码
生成的HTML码应该干净,尽量减少冗余的编码,应该在不同的浏览器下充分试验兼容性,页码应该符合W3C标准。
应该在适当的地方使用不同的heading,比如文章标题,目录或频道名,使用黑体,斜体文字来强调一些地方。