Magento的首个稳定版面世已经一年多了,但仍然没有一个Magento SEO的“权威手册”。在Magento论坛和一些博客文章中,大量的文章都提到了这个主题,但没有一篇文章对这个主题给出了一个完整的概述。现在是时候让所有的知识和经验公之于众,于是就有了这个Magento SEO权威手册。

1、基本的SEO优化

1.1. 普通设置
Magento 是搜索引擎最友好的商用网店系统之一,但有几点需要关注以优化你的Magento站点。第一步是使用新的稳定版本, 1.4.1.0  然后在开始运行时,Apache开启mod_rewrite模块. 你可以在后台找到这个选项: System => Configuration => Web => Search Engines Optimization: Yes激活后,在这个页面上,另一个不错的选择是设置“Url Options ”下的 “Add store Code to Urls” ,但在大多数情况下,把这个开关设为“No”更好。

1.1.1. WWW vs No-WWW
在”Unsecure”和”Secure”的下拉菜单里你可以找到Base URL, 在那里你可以设置你要显示的主域名。你可以选择WWW的URL或者没有WWW的URL。改变这些设置你不会建立一个重定向从www到no-www或者从no-www到www,而只是你设置的你喜欢的那一个。所以通过 .htaccess with mod_rewrite建立一个301重定向是一个好主意。除此之外,解决了WWW vs non-WWW的问题,这个重定向可以预防你的Magento网站URL被加入SID,象?SID=b9c95150f7f70d6e78ad070259ifa15d. 确保 Base URL 和重定向是一样的。编辑.htaccess 文件时,你可以加入下面的代码到根目录下的重定向index.php中。

RewriteBase / RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.yourdomain.com/ [R=301,L]

如果你安装Magento的时候不是在根目录下而是在某个子目录下http://www.yourdomain.com/magento/:

RewriteBase /magento/ RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /magento/index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.mydomain.com/magento/ [R=301,L]

1.2. 页眉设置
安装Magento时默认的标题是 “Magento Commerce”。为了优化你的Magento网站,你应该做好以下SEO设置:

搜索引擎着重于开头的词,所以如果你的关键字靠近页面标题的话~那你就有更大的可能性让网站排名更好。
人们扫视结果页面,一般看开头的几个词。如果你的关键字位于页面的的开始,那你被点击的可能性就大很多。

首先你应该去掉默认的标题 “Magento Commerce”. 后台点击 Configuration => Design => HTML Head. 为你的网站选一个描述性好的标题,这个标题也会在几个没有内容的页面中使用,比如 “Contact Us” 和 “Popular Search Terms”.

其它的两个title,无论是prefix还是sufix,其功能是设定magento各页面的title前缀和后缀都是为了加大关键字的曝光率。

同时写好”Default Description” 和 “Default Keywords”关键字和描述。对于非产品展示页面,为防止整站索引,可设置”Default Robots”为 “NOINDEX, NOFOLLOW” 会有所帮助,但对于别的页面来说要确保设置为”INDEX, FOLLOW”.

现在我们优化你的网店页面的<head> ,好的方法是加上new canonical tag(新的规范标签)。你可以安装Canonical URL’s for Magento Module以便把它们加到你的head种来改进你的Magento SEO。

因某些原因Magento把未设置的meta机器人转为一个meta标签,方式如下:

<meta name=”robots” content=”*” />
这种方式会造成搜索引擎一些奇怪的行为,所以我们要把它移除。要从代码中移除这些空白的meta你可以安装Yoast MetaRobots Module插件.

1.3. CMS页面设置
第一眼看上去Magento似乎缺少华丽的CMS功能,但对于大多数使用者来说这已经足够了。简单的CMS的好处之一是你能够控制页面的每一个方面。一旦你赋予每一个CMS页面一些不错的内容,选一个SEF URL鉴别者和页面标题,(同时记住1.2小节中的要点),到Meta数据标签处为每个你想要给它排名的CMS页面写上描述。

你可以填写”Keywords”栏。描述有一个很重要的作用:引诱人们去点击,所以确保它描述的确实是他们所要点击页面的内容,那样可以引起他们的注意。因此,唯一的好的描述就是自己手写的,如果你考虑用自动描述软件来写描述,那还不如什么也不做,让搜索引擎负责这部分。

如果你不使用meta描述,搜索引擎会在你的文件里找到关键字,并自动选择一条,那样在结果页面里会有一到两个醒目的词。

1.4. 商品目录优化
Magento给你增加目录名的功能,让你的目录指向产品的URL。因为Magento对建立相同的内容这个功能的支持不够,很好的方式就是禁用它。设置它,点击System => Configuration => Catalog => Search Engine Optimization and set “Use categories path for product URL’s to “no”.

现在是时候设置每一个目录的细节了。点击Catalog => Manage Categories. 最重要的区域是:

Meta 描述: 在这里放上吸引人的描述;记住人们会在搜索引擎的结果列表页中看到这个描述。
页面标题: 保持页面标题空白,使用目录名包括父目录。但你按照要求制作目录时,标题会象你所输入的一样,没有父目录。
URL 要点: 尝试保持短的但是关键字丰富的URL。移除没用的词象“the”,”and”,”for”等等。
要注意的是你只能在“all store views”下设置, 对于多语种的商店你应该保持语言的独立。
对于每一个商店界面,你可以指定名字,描述,页面标题和Meta数据。

1.5. 商品页面优化
商品页面的优化和目录优化有些相似。在后台编辑产品信息下的Meta Information可针对当前的产品设置相应的Meta Title、Meta Keywords和Meta Description。
你还可以设置Meta信息为 “Default Values” 并使用于每一个 “Store View”. 注意对于 “Meta Title”, 这个将写在完全的页面标题上,包括目录但不包括标题的前缀/后缀,而不仅仅是商品的名称。                                                                                                                                                                    
Magento SEO中一个经常忽略的方面是你怎么处理你的图片。通过给图片写Label标签和考虑给你的图片起怎样的名字,你会从不同的图片搜索引擎得到不错的额外流量。

阿里云-推广AD

2、Magento模板优化

2.1. 优化了的空白模板
默认的Magento皮肤如 “Default Theme”, “Blue Skin” 和 “Modern Theme” 在标题方面的工作做得不好,从SEO的角度来看,有很多的地方可以改进。为使它对你变得简单,我们开发了一款空白的Magento SEO模板,基于Magento的核心技术,空白模板合并了所有的东西,你可以下载并一起讨论它。 Download and discuss it here.

2.2. 标题设置
默认的logo是一个<h1>, 应该只是出现在首页,在别的页面上它应该是一个<h3>. 最重要的事实让标题的内容置于<h1>标签之中,例如,在目录页它应是目录名在商品也应是商品名。

下一步是清除过量的标题信息。一个好主意是清除侧栏的标题,或者做一个和商店相关的文字(包括关键字)。没有什么理由加上”static” 和没有什么关键字的标题在<h4>中。是的,例如,把所有的<h4>标签换成<div> to <strong>标签更好。现在是时候优化你的内容了,在目录页中把商品名放在<h3>里,把目录名放在<h1>里。在商品页,你应该把商品名放在<h1>里.

2.3. 清除你的冗余代码
保持你的模板清爽,把你的模板文件中的所有javascript 和 CSS移到外部的javascripts 和css文件中,因为它们对你的Magento SEO没有任何好处。这样做可以确保你的用户在首次读取文件的时候储存那些文件,搜索引擎不需要花费大量的时间来下载它们。

2.4. 速度辅助
你可以做两件事来增加你的Magento的速度:

激活缓存。后台点击 System => Cache Management and enable all caching features, like this.
一方面主机和服务器的设置也是很重要的。用MySQL 和 PHP opcode缓存你可以戏剧性的提高你的Mageto速度。

另一个需要考虑的是链接到外部文件的数量。每一个你让人们下载的文件,他们的浏览器会建立另一个连接到网络服务器。所以非常好的主意就是减少外部文件的数量,合并几个文件为一个文件。默认的Magento已经合并了几乎所有的javascript文件到一个文件中。

但stylesheets文件没有合并:默认模板有6个不同的stylesheet文件。你可以把这些文件合并成一个新文件,除了print.css文件,或者你可以使用这个Fooman Speedster module模块。除了合并文件外,这个模块能压缩和缓存你的javascript 和 stylesheet文件。 (请注意Speedster的使用条件: mod_rewrite必须可用,你的服务器需要支持.htaccess。

3、高级的Magento SEO和相同的内容处置

一旦你完成了所有基础的东西你会发现剩下的事情就是一件简单的事:相同的内容处置。实际上大量的相同的内容很不利于SEO。商品里有相同的内容,至少,在下面的URLs有完全相同的内容:
domain.com/product.html
domain.com/category1/product.html
domain.com/catalog/product/view/id/1/
domain.com/catalog/product/view/id/1/category/1/
此外,商品回顾页面有几乎一样的内容。另一个问题是目录,你有大量相同的内容在层级导航中和索引选择中。最坏的情况是一个商品在这个页面显示之外,至少还会在这个页面以外的4个页面中显示。

下面,我们将要去掉这些相同的内容,并允许它们被蜘蛛爬但不被索引,固定目录的索引选择和层级导航。

3.1. 无内容页面的Noindex, follow
安装Yoast robots meta module 并确保设置成防止索引所有的无内容页面,地址如下:
http://www.magentocommerce.com/magento-connect/Yoast/extension/920/yoast-metarobots

现在搜索引擎将通过所有的链接来到这些页面上但不会再索引中显示这些页面。

3.2. No Following 非必需的链接
另一简单的步骤来提高你的Magento SEO是停止链接到你的登录,付款,希望购买列表和所有其他没有内容的页面。对于RSS feeds,层级导航,增加商品到希望购买列表,增加商品到比较列表来说也是同样的设置。目前还没有插件来完成这些工作。你不得不进入你的模板文件中手工完成。

地址如下:
帮助搜索引擎理解你页面中的相同内容,你可以在每个页面使用你更喜欢的URL,使用新的Canonical URL tag(规范的URL标签),你就应该安装这个Canonical URL’s for Magento 模块。下载地址:
http://www.magentocommerce.com/extension/specs/906/canonical-url-s-for-magento

3.4. XML地图与Google Sitemap
XML地图是让搜索引擎知道你的内容在哪里的简单方法,它不会帮助你提高排名,但它可以帮助你更快得到索引。
这里提供一个sitemap.xml网站地图在线生成工具: www.sitemap-xml.org 只需提交你的网址,就可以获得你网站的XML地图。

然后,你可以简单的把下面的代码放到你的robots.txt文件中指引搜索引擎向你的sitemap.xml文件:
Sitemap: /sitemap.xml

使用Magento系统内置的Google Sitemap:
先到后台:Catalog => Google Sitemap => Add Sitemap 输入文件名和相对路径即可创建一个Sitemap。
还可点击System => Configuration => Google Sitemap进行相应的(更新周期和权重)设置。

完成了这些修改,你将重新获得XML地图。要确认它们是最新的,最好的办法就是建立一个cron定时任务,使用cron工作定时生成最新的XML网站地图。
结尾:Magento SEO的发展完善

这篇文章基本上涵盖了Magento SEO的所有方面,如果你有任何的反馈,或者有附加意见,欢迎在下面的评论中提出来,我们就可以一起改进这个Magento SEO手册。