Joomla任意设置每个页面的meta标签 |
| 最后更新:2010-04-02 | |||
|
网页的meta标签对seo比较重要,特别是title标签,是seo网页优化里最重要的地方。Joomla系统默认能够对每篇文章设定keywords和description标签,title自动调用文章的标题,对seo支持已经比较好,但能否针对每一个页面的URL,任意设置其title标签、keywords标签和description标签?Ethan改造了joomla的一个组件,实现了这个功能,不难,思路如下: 1,后台界面(以首页为例,假想域名为www.abc.com)
2,数据库 增加一个表,表结构如下:
3,前台显示 利用Joomla的插件机制,引入一个系统插件,在onAfterDispatch触发,首先利用函数ethan_GetPageUrl计算出当前页面的真实的URL,函数代码如下: //获取当前页面的url包含参数 然后匹配真实的URL和数据库中的记录,找到对应的title标签、keywords标签和description标签并替换当前页面已经有的title标签、keywords标签和description标签。 4,小技巧 Ethan发现在后台向数据库中输入真实的URL时,获取一个页面的真实的URL比较麻烦,想出了一个解决方法:在插件的onAfterDispatch函数里,再次利用上述ethan_GetPageUrl函数,把生成的真实的URL存储在该页面的一个没什么用的meta标签中(比如reply-to): $document->setMetaData( "reply-to", $url_real ); 在网页源代码里可以查看到(以首页为例): <meta name="reply-to" content="index.php?option=com_content&view=frontpage&Itemid=1" /> 在后台向数据库中输入一个页面的真实的URL时,查看该页面的reply-to标签(利用firefox的SearchStatus插件可快速查看)即可。Ethan自认为这个技巧很不错,其它非joomla的CMS系统也可以用这个思路。
|