Archive of published articles on December, 2009

Back home

Note:SEO—sitemap

3/12/2009

SEO的东西大概几年前就看过大概了,但是作为一名典型的懒人,一直没有去实践,也就是说起来有点能力,做起来无能为力的类型。

工作需要,SEO的东西要翻出来用了,基础的东西以前看过,但是很不全面,所以得重新再去学了,而且SEO有好多东西已经和当初不一样了,与时俱进是必须的。上个星期在卓越订了Zac老师的《网络营销实战密码》,这本书不是专门讲SEO的,SEO的内容只是其中一部分,作为基础知识的学习,我想也足够了,路过的朋友,有更好的推荐也可以推荐一下。

SEO与sitemap,了解过SEO的朋友应该都知道是什么回事。向搜索引擎提交网站的sitemap是SEO中比较常规的操作了,现在比较流行的程序有相当一部分都有生成sitemap的功能。

针对最近重点使用的ecshop,来说一下我自己对sitemap的看法,不一定都是正确的。

首先说一下ecshop的url静态化,ecshop在后台提供了两种url重写方式,一种是简单重写,一种是复杂重写。其中简单重写是其于htaccess文件和lib_common.php中的function build_uri()来实现的,大部分采用ecshop的网站都没有对两个文件作出修改,所以你可以看到他们的网址都是十分相似的。复杂重写我没有正式用过,感觉上主要区别只在于category和goods两种url会增加分类名称和商品名称,跟简单重写区别不大,而且这样生成的url会出现中文,对于一些较低版本的浏览器,url看起来就会非常的长。另外就是如果你提交了ecshop生成的sitemap,而网站本身没有使用复杂重写的话,就可能会出现同一页面有三种url的情况,ecshop论坛有相关的讨论,这方面没有进行深入研究。我自己偏向于使用简单重写,至于sitemap可以使用其他工具生成,再提交到搜索引擎。

如何生成sitemap并且提交到搜索引擎呢,下面是我使用的办法,记录一下。
首先是生成sitemap,我使用的是一个国外网站提供的服务,http://www.xml-sitemaps.com/,这个网站提供的免费的sitemap生成服务,不过有限制,一个sitemap只能包含500urls,再多就要使用付费服务了,通常我看到他们付费服务的价格就想吐血,那个单位可是美刀啊。

生成了sitemap,下来就是提交了,不同的搜索引擎提交方式是不一样的,以下资料是网上搜集到的,不保证为最新,但是都可以成功提交。
1.向MSN提交网站地图Sitemap,用URL直接提交: 

http://api.moreover.com/ping?u=http%3A//www.99tao.com/sitemap_baidu.xml: 

2.向ASK提交网站地图Sitemap,直接提交 

http://submissions.ask.com/ping?sitemap=http%3A//www.99tao.com/sitemap_baidu.xml 

上面两个网站比较简单,只要简单用以上的url就可以直接提交了,其中msn的提交应该还是可用的,虽然微软的搜索引擎已经是Bing了,但是上面给出的api地址里面并不是搜索引擎的地址。

留意到我的sitemap文件加上了百度的后辍,百度的Sitemap书写完全和Google的Sitemap书写格式一样,但是在百度的互联网论坛收录开放协议中,说明了提交到百度的sitemap不能像提交到Google的一样任意命名,只能命名为 sitemap_baidu.xml ,所以我就重命名了生成的sitemap.
提交sitemap到百度,可以使有用以下这种方法:
在网站的Robot.txt中加入sitemap地址: 
即加入如下的一行文字: 
Sitemap: http://www.xxxxxx.com/sitemap_baidu.xml 

当然少不了Google的提交,Google跟Yahoo一样,都是用webmaster tools来提交的,两者的操作方法也近似。

No Comments

Note—ECShop参数调用

2/12/2009

使用ECShop有一段时间了,在做ECShop主题的时候,会发现不少问题,在这里记录一下,备用。

ECShop使用了smarty,模板是分离的,这样做的好处就是做模板的时候自主性更强,从这段时间的使用经验来看,ECShop目前的机制限定了特定页面的调用内容。例如同一段调用帮助文章列表的代码,在其它页面可以用,到了topic专题页面就不起作用了。如果你想在topic里面调用相对应的内容,就必须到对应的php里面声明。

上面提到这个调用,需要到topic.php里面增加相应有模板赋值语句:

1
$smarty->assign('helps',            get_shop_help());   // 网店帮助

同理一些变量的调用也必须在相应的文件里面声明过才能生效的。
举个例子,在为99Tao做ECShop模板的时候,我发现在category.dwt里面使用以下语句:

1
<a href="{$goods.url}" title="{$goods.name|escape:html}" class="goodsListName" >{$goods.goods_name}</a>

那么就可以为链接加上title参数,参数为产品的名称。
但是同样的语句在搜索结果页就可用,官方模板里面search.dwt里面也有上面的语句,但是{$goods.name|escape:html}参数就无效,也就是说,如果你不作改动的话,搜索结果页的title参数是空的。
要想这个变量同样生效,就必须到search.php文件里面增加相对应的变量。

1 Comment

ecshop flash参数调整

2/12/2009

ECShop的Flash轮播参数在后台不能直接调整,如果想要自己定义的话,就要自己修改文件了。

在网上搜索得到结果是在定义播放器规格的语句后面加上一句定义参数的语句来实现的:

1
var sef_config="参数列表";

经过测试发现无效,具体原因不甚了解,程序其它地方经过了改动,可能会产生一些影响。

最后的解决办法是直接修改控制循环的JS文件,文件路径为”\根目录\data\flashdata\你所选用的Flash轮播图片样式\cycle_image.js”,这个文件里面有详细的注释,不存在修改难度。

No Comments