<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>季节不曾为我赶路SorryDreams的Blog &#187; gzip</title>
	<atom:link href="http://blog.frompku.com/tag/gzip/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.frompku.com</link>
	<description>关注互联网和电影的独立博客</description>
	<lastBuildDate>Wed, 09 Nov 2011 06:58:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<image>
  <link>http://blog.frompku.com</link>
  <url>http://blog.frompku.com/</url>
  <title>季节不曾为我赶路SorryDreams的Blog</title>
</image>
		<item>
		<title>对Wordpress/WPMU进行SEO和性能优化</title>
		<link>http://blog.frompku.com/2009/08/%e5%af%b9wordpresswpmu%e8%bf%9b%e8%a1%8cseo%e5%92%8c%e6%80%a7%e8%83%bd%e4%bc%98%e5%8c%96.html</link>
		<comments>http://blog.frompku.com/2009/08/%e5%af%b9wordpresswpmu%e8%bf%9b%e8%a1%8cseo%e5%92%8c%e6%80%a7%e8%83%bd%e4%bc%98%e5%8c%96.html#comments</comments>
		<pubDate>Fri, 21 Aug 2009 02:43:24 +0000</pubDate>
		<dc:creator>SorryDreams</dc:creator>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[gzip]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wpmu]]></category>

		<guid isPermaLink="false">http://blog.frompku.com/?p=510</guid>
		<description><![CDATA[对wordpress/WPMU进行SEO和性能优化。
客观的说，此文并不是为SEO而写的，因为以SEO的标准来衡量，这个标题绝对不合格，首先没有做到一文一事，其次关键词竞争过于激烈。所以我写这篇文章并... ]]></description>
			<content:encoded><![CDATA[<p>对<span class='wp_keywordlink_affiliate'><a href="/tag/wordpress">wordpress</a></span>/WPMU进行<span class='wp_keywordlink_affiliate'><a href="/tag/seo/">SEO</a></span>和性能优化。</p>
<p>客观的说，此文并不是为SEO而写的，因为以SEO的标准来衡量，这个标题绝对不合格，首先没有做到一文一事，其次关键词竞争过于激烈。所以我写这篇文章并非出于严谨的态度，也没有更多指导性的意见，只是简单罗列一下近期学习和所做的部分“优化工作”。</p>
<p><strong>SEO优化</strong><br />
<span id="more-510"></span><br />
如果你使用wordpress并曾经留心过SEO，那么你一定听说过“<span class='wp_keywordlink'><a href="http://wordpress.org/extend/plugins/all-in-one-seo-pack/" rel="external nofollow">all in one seo</a></span>”这个著名的傻瓜插件。我不使用也不推荐使用它，原因有二：一不符合百度国情；二拖累系统。</p>
<p>废话不多说了。</p>
<p>第一、采用/%year%/%monthnum%/%postname%.html作为永久链接。为什么采用这种形式并且以中文作为postname……下次再说。</p>
<p>第二、改变title的形式，title也就是你的浏览器标题栏上显示的我的页面的名称结构，方法是修改主题的header.php，在之间加入:</p>
<div class="source" style="font-family: '[object HTMLOptionElement]', 'Lucida Console', 'Courier New', Verdana;color: #000000"><span style="color: #000000">&lt;title&gt;</span><span style="color: #008080">&lt;?php</span> <span style="color: #000080;font-weight: bold">if</span> (<span style="color: #000000">is_home</span>() ) <span style="color: #000000">{</span> <span style="color: #008080">?&gt;</span><span style="color: #000000">季节不曾为我赶路SorryDreams的Blog</span><span style="color: #008080">&lt;?php</span> <span style="color: #000000">}</span> <span style="color: #000080;font-weight: bold">else</span> <span style="color: #000000">{</span><span style="color: #008080">?&gt;&lt;?php</span> <span style="color: #000000">wp_title</span>(<span style="color: #0000ff">&#8221;</span>); <span style="color: #008080">?&gt;</span><span style="color: #000000"> | 季节不曾为我赶路SorryDreams的Blog</span><span style="color: #008080">&lt;?php</span> <span style="color: #000000">}</span> <span style="color: #008080">?&gt;</span><span style="color: #000000">&lt;/title&gt;</span></div>
<p>第三、继续修改主题的header.php，为主页和文章页添加meta description和keywords：</p>
<div class="source" style="font-family: '[object HTMLOptionElement]', 'Lucida Console', 'Courier New', Verdana;color: #000000"><span style="color: #008080">&lt;?php</span> <span style="color: #000080;font-weight: bold">if</span> (<span style="color: #000000">is_home</span><span style="color: #000000">()){</span><br />
<span style="color: #000000">$description</span> <span style="color: #000000">=</span> <span style="color: #0000ff">&#8220;季节不曾为我赶路SorryDreams的Blog，关注互联网和电影的独立博客&#8221;</span>;<br />
<span style="color: #000000">$keywords</span> <span style="color: #000000">=</span> <span style="color: #0000ff">&#8220;互联网,IT,电影,Movie,音乐,Song&#8221;</span>;<br />
<span style="color: #000000">}</span> <span style="color: #000080;font-weight: bold">elseif</span> (<span style="color: #000000">is_single</span><span style="color: #000000">()){</span><br />
<span style="color: #000080;font-weight: bold">if</span> (<span style="color: #000000">$post</span><span style="color: #000000">-&gt;</span><span style="color: #ff0000">post_excerpt</span>) <span style="color: #000000">{</span><br />
<span style="color: #000000">$description</span> <span style="color: #000000">=</span> <span style="color: #000000">$post</span><span style="color: #000000">-&gt;</span><span style="color: #ff0000">post_excerpt</span>;<br />
<span style="color: #000000">}</span> <span style="color: #000080;font-weight: bold">else</span> <span style="color: #000000">{</span><br />
<span style="color: #000000">$description</span> <span style="color: #000000">=</span> <span style="color: #000000">substr</span>(<span style="color: #000000">strip_tags</span>(<span style="color: #000000">$post</span><span style="color: #000000">-&gt;</span><span style="color: #ff0000">post_content</span><span style="color: #000000">),</span><span style="color: #0000ff">0</span><span style="color: #000000">,</span><span style="color: #0000ff">220</span>);<br />
<span style="color: #000000">}</span><br />
<span style="color: #000000">$keywords</span> <span style="color: #000000">=</span> <span style="color: #0000ff">&#8220;&#8221;</span>;<br />
<span style="color: #000000">$tags</span> <span style="color: #000000">=</span> <span style="color: #000000">wp_get_post_tags</span>(<span style="color: #000000">$post</span><span style="color: #000000">-&gt;</span><span style="color: #ff0000">ID</span>);<br />
<span style="color: #000080;font-weight: bold">foreach</span> (<span style="color: #000000">$tags</span> <span style="color: #000080;font-weight: bold">as</span> <span style="color: #000000">$tag</span> ) <span style="color: #000000">{</span><br />
<span style="color: #000000">$keywords</span> <span style="color: #000000">=</span> <span style="color: #000000">$keywords</span> <span style="color: #000000">.</span> <span style="color: #000000">$tag</span><span style="color: #000000">-&gt;</span><span style="color: #ff0000">name</span> <span style="color: #000000">.</span> <span style="color: #0000ff">&#8220;, &#8220;</span>;<br />
<span style="color: #000000">}</span><br />
<span style="color: #000000">}</span><br />
<span style="color: #008080">?&gt;</span><br />
<span style="color: #000000">&lt;meta name=&#8221;keywords&#8221; content=&#8221;</span><span style="color: #008080">&lt;?</span><span style="color: #000000">=</span><span style="color: #000000">$keywords</span><span style="color: #008080">?&gt;</span><span style="color: #000000">&#8221; /&gt;</span><br />
<span style="color: #000000">&lt;meta name=&#8221;description&#8221; content=&#8221;</span><span style="color: #008080">&lt;?</span><span style="color: #000000">=</span><span style="color: #000000">$description</span><span style="color: #008080">?&gt;</span><span style="color: #000000">&#8221; /&gt;</span></div>
<p>这段代码的目的是为主页指定meta description和keywords。对于日志页，如果有手动添加摘要，则以之为meta description，否则则截取前220个字符作为description（为什么是220个？Google推荐），将tag作为meta keywords，tag必须是文章中出现的文字——为什么？下次再讲。</p>
<p>第四，启用<span class='wp_keywordlink'><a href="http://www.liucheng.name/?p=789" rel="external nofollow">WordPress Keyword Link</a></span>插件，自动在文章中为指定文字添加链接。我现在的做法是适时插入wikipedia的链接，因为Google熟读wiki；适当使用rel=&#8221;external nofollow&#8221;属性，节省爬虫抓取网页的时间。</p>
<p>第五，启用sitemap.xml提交给google。这个不多说了，最近blog换成wpmu一直为sitemap的事情烦恼，目前还没有解决。</p>
<p>第六，养成良好的写作习惯——如果你真的有心SEO的话这一点是最重要的。如果你和我一样只是随便写写的话，做到上述几点就很给Google面子了。</p>
<p><strong>性能优化</strong></p>
<p>这一部分主要根据yahoo的<span class='wp_keywordlink'><a href="http://developer.yahoo.com/yslow/" rel="external nofollow">YSLOW</a></span>标准进行优化。</p>
<p>第一、开启gzip压缩。有些服务器默认就为你开启了gzip压缩。如果你访问某个网站，开始没反应，然后一下子全部展现，多半就是开启了gzip压缩传输的效果。除非万般无奈，一定要开启gzip压缩。参考万戈同学的<a rel="external nofollow" href="http://www.life-studio.cn/the-best-gzip-for-wordpress.html">Wordpress之终极Gzip兼容IE6</a>。</p>
<p>第二、开启wordpress缓存。wordpress的缓存方法实在太多了。最立竿见影的可能是wp-super-cache和cos-html-cache这两款插件了，很遗憾这两个插件的兼容性不是特别好，在息壤主机的wpmu上无法开启。既然不能从html上入手，只能从数据库入手了。推荐<a rel="external nofollow" href="http://www.life-studio.cn/wordpress-object-cache.html">wordpress-object-cache</a>,它可以将php查询数据库的值储存在服务器硬盘上，从而降低查询次数，加快页面的加载速度——如果能够储存在内存上自然更快了，但暂时找不到解决方案。</p>
<p>第三、使用<span class='wp_keywordlink'><a href="http://wordpress.org/extend/plugins/delete-revision/" rel="external nofollow">Delete-revision Manager</a></span>插件。当你在wordpress在后台写blog时，wordpress会自动保存草稿，当你发表后再次编辑时，wordpress继续为你保存草稿——所有这些草稿会保留在数据库中，如果你写了几百篇blog却从来没有意识到这个问题的话，可能有一千篇文章正躺在你臃肿的数据库中，使用Delete-revision Manager删除它们，放心，绝对安全。</p>
<p>第四、使用<span class='wp_keywordlink'><a href="http://www.maxblogpress.com/plugins/mpo/" rel="external nofollow">MaxBlogPress Ping Optimizer</a></span>插件。即使在2.7版本的wordpress中（2.8版本未知），关于ping的重大bug仍然没有修复——当你发表blog后再次编辑时，wordpress会错误地认为你正在发表新的文章，于是它就会反复ping网络上的ping server，通知它们你的blog正在更新。这会产生不必要的带宽消耗。我使用MaxBlogPress Ping Optimizer还有一个重要原因是wpmu自身不允许普通用户自定义ping server list.我的list如下,贵在精，不在多，每一个都有效：</p>
<p>http://rpc.pingomatic.com/<br />
http://blogsearch.google.com/ping/RPC2<br />
http://ping.feedburner.com<br />
http://www.zhuaxia.com/rpc/server.php<br />
http://blog.youdao.com/ping/RPC2<br />
http://www.feedsky.com/api/RPC2<br />
http://rpc.icerocket.com:10080/<br />
http://blog.iask.com/RPC2</p>
<p>第五、合并js库。简单解释一下，通常浏览器读取页面时会加载所需的js库，现在很多浏览器如<span class='wp_keywordlink'><a href="http://www.google.com/chrome/?hl=zh-CN" rel="external nofollow">Chrome</a></span>和<span class='wp_keywordlink'><a href="http://zh.wikipedia.org/wiki/Mozilla_Firefox" rel="external nofollow">Firefox</a></span>运行java脚本的速度较之两年前快了很多——所以你可以认为Chrome和Firefox不断地推出新的版本“并非浪得虚名”——要命的是所有的js库只会一个跟着一个依次读取，这意味着如果你的wordpress启用较多的java脚本——你可以查看blog页面的源代码，搜索“javascript”，通常都在7-13个左右，甚至更多。每一个javascript都会发出一个http请求，每一个请求都会耗取相当长的时间。如果你的blog速度像乌龟，数据库和js通常是两大根源。解决方法是把所有的js文件，<strong>按照它们依次加载的顺序</strong>合并为一个文件，然后使用<a rel="external nofollow" href="http://www.bcbbs.net/OnLineTools/jsmin.htm">js压缩工具</a>压缩成尽可能小的文件，然后在header.php中去掉</p>
<div class="source" style="font-family: '[object HTMLOptionElement]', 'Lucida Console', 'Courier New', Verdana;color: #000000"><span style="color: #008080">&lt;?php</span> <span style="color: #000000">wp_head</span>(); <span style="color: #008080">?&gt;</span></div>
<p>在footer.php中插入类似的代码:</p>
<div class="source" style="font-family: '[object HTMLOptionElement]', 'Lucida Console', 'Courier New', Verdana;color: #000000"><span style="color: #000080;font-weight: bold">&lt;script </span><span style="color: #ff0000">type=</span><span style="color: #0000ff">&#8216;text/javascript&#8217;</span> <span style="color: #ff0000">src=</span><span style="color: #0000ff">&#8216;http://blog.frompku.com/wp-includes/js/all.js&#8217;</span><span style="color: #000080;font-weight: bold">&gt;&lt;/script&gt;</span></div>
<p>代码中的链接地址是我根据上述步骤合并的js文件。</p>
<p>在这篇校友所写的<a rel="external nofollow" href="http://blog.znsunimage.com/2007/03/504">优化Wordpress-wp终极优化手册</a>中，提供了另一种方法，在要求加载js的插件中找到类似语句：</p>
<div class="source" style="font-family: '[object HTMLOptionElement]', 'Lucida Console', 'Courier New', Verdana;color: #000000"><span style="color: #000000">add_action(&#8217;wp_head&#8217;,'fun&#8217; );</span></div>
<p>注释或删除之，从而阻止插件在head中加载js库。这种方法对wpmu不适合，因为这会导致插件对没有修改过的主题失效；另一方面，可操作性较差。</p>
<p>第六、合并CSS。这个原理和js类似，但风险小很多，可使用<a rel="external nofollow" href="http://css.znsunimage.com/">CSS优化工具</a>。</p>
<p>第七 ……</p>
<p>展开说还有很多，下次……再讲，最近折腾太多。</p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li><a href="http://blog.frompku.com/2009/09/%e5%8d%9a%e5%ae%a2%e6%8d%a2%e6%96%b0%e8%a3%85.html" title="博客换新装">博客换新装</a></li><li><a href="http://blog.frompku.com/2009/08/%e5%9c%a8%e6%81%af%e5%a3%a4%e4%b8%bb%e6%9c%ba%e4%b8%8a%e5%ae%89%e8%a3%85wpmu.html" title="在息壤主机上安装WPMU">在息壤主机上安装WPMU</a></li><li><a href="http://blog.frompku.com/2007/05/%e8%81%9a%e5%90%88rss%e7%9a%84wordpress%e6%8f%92%e4%bb%b6.html" title="聚合rss的wordpress插件">聚合rss的wordpress插件</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.frompku.com/2009/08/%e5%af%b9wordpresswpmu%e8%bf%9b%e8%a1%8cseo%e5%92%8c%e6%80%a7%e8%83%bd%e4%bc%98%e5%8c%96.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

