5.8 共通功能——统一管理各个页面的标题与关键字(SEO对策)
对于网站经营者来说,不是只要制作出精美的网站就万事大吉了。向外推广自己的网站也是非常重要的工作,成功的网站肯定推广工作也做得很成功。而网站的SEO(Search Engine Optimization,搜索引擎优化)是网站推广工作的重要方面。现在市面上,网络上有许多介绍SEO对策的书籍和资料,有兴趣的朋友可以多做研究。
本节将介绍一种考虑到SEO对策的共通功能——统一管理各个页面的标题与关键字以及内容介绍。现在像Google,Baidu等搜索引擎,在进行网络遍历时,会查看网页的title以及keyword与description的meta对,因此如果能提供清晰、简明扼要的title以及keyword与description设置,将有利于网页在搜索引擎中的排名。另外,统一网站的外观,方便网页管理来说,这样做也是值得的。
本例网站界面
实际代码
要点
采用上一节的插件(plugin)的方式,将“统一管理网页的标题与关键字”的功能作为共通装进本系统。
另外,在本节的MetaPlugin类中,不仅有标题(title)/meta信息的取得,还包含有网页单位的权限控制功能,即当网页要求的权限与用户所有的权限不一致时,限制用户的访问并显示错误信息。这个功能可以应用在很多地方,建议你好好掌握它。
目录结构
数据库的表结构数据库的表结构如表5-11所示。
表5-11 URI与网页信息对照表(metadata)
代码
以module,controller,action为条件检索metadata,取得标题title,keywords,description等值。
将取得值设到对应的session变量中。
当metadata的roles列的值为非空时,调用方法checkRoles进行权限检测。
网页权限检查函数,有两个参数,分别为登录用户的权限,当前网页需要的权限。
表metadata中的权限设置为以逗号分隔的角色字符串,此处先将其分割为字符串数组。
数组中存在于用户权限一致的串时返回TRUE。
用户不拥有操作网页的权限时,在页面显示“您没访问权限。”的错误信息,而不返回任何值。
补充:关于访问权限
当页面出现访问权限错误时,页面上会显示如下的信息:
您没有访问权限。
本系统因为没有控制页面单位的权限,因此将metadata的roles列全面置为NULL,因此
为False,忽略了权限检查的处理。
共有条评论 网友评论