目前对于任何电子商务网站除了口碑之外,唯一最为重要的推广方式是依赖于SEO。网络上自称SEO高手的人物和公司非常多,但真正能拉出来秀的却不多。一方面,由于客户的短期要求被迫使SEO公司放弃长期发展的模式,另一方面,很多国内SEO公司都是从制作国内垃圾站出身,没有对电子商务类型的SEO模式有规划和具体的方法。
我这里分析的一个案例经过将近一年的SEO周期,从一个默默无闻的电子商务网站一步飞跃的成为一个成功的网站。放一些分析贴图,并做简单的分析,大家可以从中了解一些SEO的最终目标和解释一些误区 。
网站类型:零售型电子商务网站
目标群体:北美市场
行业:汽车零配件,改装车
运营模型: 从中国进口汽车配件,在北美市场零售
目前订单/访问量转换率:3.44%
最近一月日均访问量/Pageview: 7000/50000
支持团队:4人
电子商务购物车软件: Shoppingrun
下面是近半年的流量,点击可以放大

[说明] SEO是一个循序渐进的过程,爆发性的增长对新网站可能性已经不大。半年时间从大约3000提升到7000,pv达到5万,对有些娱乐性网站来说不算什么,但对注重内容的电子商务网站来说,这种提升对订单的转化率是非常有效的。可以看出,流量的增长是波浪形提升,所以流量起伏也是比较正常的。我们设定一个正常的电子商务网站在推广中期,月流量增长在40%-60%比较合理。
近期某一天的流量图

[说明] 这里有两个重要的值 Pages/Visit (每个访问者浏览的网页数量)和 Bounce Rate (跳出率)。前者说明了网站的粘性,如果这个值对于一个电子商务网站来说如果低于4,我们认为你要认真考虑网站的内容建设了,如果低于3,如果你是个电子商务网站的话,恐怕价值和一个垃圾网站不相上下了。 Bounce Rate 是越低越好,形象的说,如果太高,就代表客人进入网站就立马转身走掉了。这个值是低于20%叫完美。40%叫及格。如果太高,同样代表了网站的内容可以优化。如果高于60%,说明你的流量来源完全浪费。
当日流量来源比例

[说明] 来之搜索引擎的流量达到了 70%,典型的利用SEO获得访问量的网站。所以搜索引擎还是最可信赖的流量来源。
其中搜索引擎来源的比例

[说明] google一家独大。SEO目标还只能放在google上,当然yahoo, msn(live), aol也多少能来一些流量,还是可以采用一些方法让这些二线搜索引擎注意你的网站。
Comments (0) Posted on Tuesday, March 31st, 2009
Filed under 代码香槟, 搜索引擎优化与其它
SiteMap Protocol一种站点地图协议,由Google, MSN, Yahoo共同推出。这个协议定义了如何定义一个网站地图以便于搜索引擎的收录。对协议本身的讨论已经比较多了,可以通过官方网站学习详细的协议内容。
SiteMap Index则解决了如果网站存在多个SiteMap文件的情况下如何处理。在SiteMap Protocol中定义通过<sitemapindex>标签来定义多个sitemap文件的位置。语法方式为
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>http://www.example.com/sitemap1.xml.gz</loc>
<lastmod>2004-10-01T18:23:17+00:00</lastmod>
</sitemap>
<sitemap>
<loc>http://www.example.com/sitemap2.xml.gz</loc>
<lastmod>2005-01-01</lastmod>
</sitemap>
</sitemapindex>
每一个<sitemap>标签定义一个sitemap文件,<loc>标签定义文件位置,<lastmod>则定义了最近修改时间。<lastmod>支持 YYYY-MM-DDThh:mm:ssTZD, YYYY-MM-DDThh:mmTZD,YYYY-MM-DD格式。
编辑完成这个文件后,将文件按以下语法放到robots.txt文件中。
Sitemap: <your_sitemap_index_file_location>
必须注意的是,这个文件必须是utf-8编码格式。
Comments (0) Posted on Tuesday, March 24th, 2009
下面是PHP, ASP, CGI和RoR的301转向代码写法。如果要验证是否对搜索引擎有效可以通过 http://www.webconfs.com/redirect-check.php 检查
PHP
<?
Header( “HTTP/1.1 301 Moved Permanently” );
Header( “Location: http://www.newdomain.com” );
?>
ASP
<%@ Language=VBScript %>
<%
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”,”http://www.newdomain.com/”
%>
ASP.NET
CGI/Perl
$q = new CGI;
print $q->redirect(”http://www.newdomain.com/”);
Ruby on Rails
def old_action
headers[”Status”] = “301 Moved Permanently”
redirect_to “http://www.newdomain.com/”
end
Comments (0) Posted on Wednesday, March 18th, 2009
MySQLTuner 是一个简易的Perl脚本,可以对你的MySQL性能进行简易分析,并给出优化建议。执行这个脚本进行优化前,简易MySQL在工作状态下工作24个小时。
先下载执行
debian:/usr/local/bin# wget http://mysqltuner.com/mysqltuner.pl
debian:/usr/local/bin# chmod +x mysqltuner.pl
debian:/usr/local/bin# ./mysqltuner.pl
>> MySQLTuner 1.0.0 - Major Hayden <major@mhtx.net>
>> Bug reports, feature requests, and downloads at http://mysqltuner.com/
>> Run with ‘–help’ for additional options and output filtering
Please enter your MySQL administrative login: root
Please enter your MySQL administrative password:
——– General Statistics ————————————————–
[–] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.0.32-Debian_7etch6-log
[OK] Operating on 32-bit architecture with less than 2GB RAM
——– Storage Engine Statistics ——————————————-
[–] Status: +Archive -BDB -Federated +InnoDB -ISAM -NDBCluster
[–] Data in MyISAM tables: 609M (Tables: 3461)
[–] Data in InnoDB tables: 9M (Tables: 185)
[–] Data in MEMORY tables: 213K (Tables: 5)
[!!] Total fragmented tables: 64
——– Performance Metrics ————————————————-
[–] Up for: 2d 16h 7m 39s (4M q [19.375 qps], 64K conn, TX: 1B, RX: 624M)
[–] Reads / Writes: 87% / 13%
[–] Total buffers: 626.0M global + 2.6M per thread (500 max threads)
[!!] Maximum possible memory usage: 1.9G (95% of installed RAM)
[OK] Slow queries: 0% (0/4M)
[OK] Highest usage of available connections: 1% (7/500)
[OK] Key buffer size / total MyISAM indexes: 400.0M/32.2M
[OK] Key buffer hit rate: 99.9% (9M cached / 11K reads)
[OK] Query cache efficiency: 84.4% (3M cached / 4M selects)
[OK] Query cache prunes per day: 0
[OK] Sorts requiring temporary tables: 0% (0 temp sorts / 33K sorts)
[!!] Temporary tables created on disk: 43% (21K on disk / 48K total)
[OK] Thread cache hit rate: 99% (7 created / 64K connections)
[OK] Table cache hit rate: 72% (3K open / 5K opened)
[OK] Open file limit used: 10% (6K/65K)
[OK] Table locks acquired immediately: 99% (835K immediate / 835K locks)
[!!] InnoDB data size / buffer pool: 9.5M/8.0M
——– Recommendations —————————————————–
General recommendations:
Run OPTIMIZE TABLE to defragment tables for better performance
Reduce your overall MySQL memory footprint for system stability
Enable the slow query log to troubleshoot bad queries
When making adjustments, make tmp_table_size/max_heap_table_size equal
Reduce your SELECT DISTINCT queries without LIMIT clauses
Variables to adjust:
*** MySQL’s maximum memory usage is dangerously high ***
*** Add RAM before increasing MySQL buffer variables ***
tmp_table_size (> 32M)
max_heap_table_size (> 16M)
innodb_buffer_pool_size (>= 9M)
最后一个部分给出了优化简易。
Comments (0) Posted on Sunday, March 8th, 2009
最新消息,Paypal 作为 ebay 之前唯一的支付手段(目前也是网上最流行的网上支付手段),其中对买家过分的保护,已经被卖家诟病。从2009年2月起,eBay将支持两家新的支付网关公司,分别在欧洲比较流行的Moneybookers和来之澳大利亚的支付公司PayMate。
Moneybooker是一家英国的老牌网络支付公司,不少外贸公司已经使用这家公司的支付网关。据wiki上说明,MoneyBookers是不能够通过美国的银行卡和帐号来收到款。而来自澳大利亚的Paymate就显得比较陌生,目前也仅支持澳大利亚和新西兰的用户。
Comments (0) Posted on Friday, January 16th, 2009
把maketop.net作为开始试验性的项目。采用zend framework + sphinx完成50万数据的展示和搜索,下一步是将 dojo/jquery引入进来实现product review的功能。目的是找到MVC framework(zend) + ajax framework(dojo/jquery) + template engine(smarty) 的组合之道。
Comments (0) Posted on Tuesday, December 23rd, 2008
这里整理一些获取硬件基本信息的技巧。Debin的硬件信息都保存在 /proc/下,读取相关信息就可以获得硬件信息了。
获取系统内存容量
debian:/# cat /proc/meminfo
MemTotal: 2068860 kB
MemFree: 1177380 kB
上面清楚地说明当前系统是2G内存,1G空闲状况。
Continue reading …
Comments (0) Posted on Wednesday, December 10th, 2008
补充一点Notepad++的说明。往往第一次用Notepad++会发现缺少文件导航栏,另外代码(函数)自动完成也不是马上有效果。
这里有最全的官方插件 http://sourceforge.net/projects/npp-plugins/ 。 解决导航栏的问题,需要下载 Explorer 插件。并复制到 /plugins/ 目录下。重新启动后在Plugin中选择’explorer’左侧就会自动展现explorer插件。
自动完成在 settings->Backup/Auto-completion中把Enable Auto-completion on each input打开就可以了。下面还有一个涉及函数的Function parameter’s hit on input选上。如果是中文版本找到相对应的参数内容即可。
Comments (0) Posted on Saturday, December 6th, 2008
轻量级的编辑器我一直都是在用cracked的EditPlus,以前也关注过Notepad++,但从来一直没有细看过。这两天偶然看一篇blog推荐,才发现免费的Notepad++远远强于收费EditPlus。通过和几个Plugins混合使用简直就是做轻量编辑器的不二之选。
对PHP开发者这几个功能就值得替换其它编辑器了
- 函数自动补全
- 所见即所得的打印,彩色打印机能够将源代码以色彩的方式打出
- 方便的字符集转换,可以随意将文件字符集进行转化
- 多视图
- 程序块收缩和展开
- FTP同步,文件可以直接和FTP中的内容进行同步 (采用Plugin的形式)
到目前为止,让我唯一感到遗憾的地方是Notepad++没有像EditPlus和其它程序编辑器那样类似的文件树,让开发者管理正在或将要编辑的文件变得困难。下载 Windows Manager Plugin可能要方便一点,但不过也只能说方便一点点。
另外几个考虑的插件是:
除了Notepad++自带的Plugin,其它的Plugin只需要放到 /plugins/ 目录下就可以了。
Comments (0) Posted on Tuesday, December 2nd, 2008
因为需要转移服务器,两台服务器安装了Plesk作为虚拟主机的管理工具,所有需要一次重建帐户就邮箱(其实plesk有迁移工具,之前由参数设定有问题,一直没有搞定,才打算手工进行的)。
开始的时候,老老实实的通过从一个server挨个复制的方式,但发现太费周折。考虑是不是能做一个清单,起码将每个帐号下的邮箱列出来。搜索Plesk的mysql database,居然发现完全可以,更令人吃紧的是,Plesk居然是采用明码方式保存数据库密码的!
以下的 SQL 显示所有帐号和email
SELECT mail.mail_name, domains.name from mail LEFT OUTER JOIN domains ON domains.id = mail.dom_id;
以下的代码获取邮箱及密码。
SELECT accounts.id, mail.mail_name, accounts.password, domains.name FROM domains LEFT JOIN mail ON domains.id = mail.dom_id LEFT JOIN accounts ON mail.account_id = accounts.id
Comments (0) Posted on Monday, November 24th, 2008