性能

  1、只要有机会,使用缓存机制,了解并合理地使用 HTTP caching 以及 HTML5 Manifest。

  2、优化图片使用 ,不要把一个20KB的图片文件,作为重复出现的网页背景图案。 不要使用20KB图片来平铺网页背景。

  3、学习如何用gzip/deflate压缩内容(deflate方式更可取)。

  4、将多个样式表文件或脚本文件,合为一个文件,这样可以减少浏览器的http网络连接数,以及减小gzip压缩后的文件总体积。

  5、学习一下 Yahoo Exceptional Performance 这个网站上的东西,上面有很多非常不错的改善前端性能的指导,以及 YSlow 这个工具。 Google page speed 是另一个用来做性能采样的工具。这两个工具都需要安装 Firebug 。

  6、如果你的网页用到大量的小体积图片(比如工具栏),应该使用CSS Image Sprite,目的是减少http请求数。

  7、大流量的网站应该考虑将网页对象分散在多个域名。(比如有专门的图片服务器——图片相当耗带宽,或是专门的Ajax服务器)

  8、静态内容(比如图片、CSS、JavaScript、以及其他cookie无关的网页内容)都应该放在一个不需要使用cookie的独立域名之上。因为域名之下如果有cookie,那么客户端向该域名发出的每次http请求,都会附上cookie内容。这里的一个好方法是使用”内容分发网络”(Content Delivery Network,CDN)。

  9、使用单个页面的HTTP请求数小化。

  10、使用Google的Closure Compiler压缩JavaScript文件,YUI Compressor亦可。或是 其它压缩工具。(Google的这个工具甚至还可以帮你优化你的代码)

  11、确保网站根目录下有favicon.ico文件,因为即使网页中根本不包括这个文件,浏览器也会自动发出对它的请求。所以如果这个文件不存在,会产生大量的404错误,消耗光你的服务器的带宽。(服务器返回404页面会比这个ico文件可能还大)

  性能(搜索引擎优化)

  1、使用 “搜索引擎喜欢的” URL,如:使用 example.com/pages/45-article-title 而不是 example.com/index.php?page=45

  2、如果你的动态页面要使用 # ,那么请把其改成 #! ,而在服务端,你需要处理$_REQUEST["_escaped_fragment_"] 这是Google搜索引擎需要的。换句话说,./#!page=1 会被Google搜索引擎转成 ./?_escaped_fragments_=page=1。 (陈皓注:通常来说URL中的#后的东西都不会被传到服务器上,所以,为了要让Google可以抓取AJAX的东西,你需要使用#!,而Google会把“#!”转成“_escaped_fragment_”来向服务器发请求,Twitter的大量的链接者是#!的,比如:https://twitter.com/#!/your_activity)。另外,用户也许会使用Firefox 或 Chromium, history.pushState({"foo":"bar"}, "About", "./?page=1"); 是一个很不错的命令。所以,算是我们的地址栏上的地址改变了,页面也不会重新装载。这可以让你使用 ? 而不是 #! 也能无刷地保住当前的动态的页面,这可以让AJAX的请求被浏览器记住。

  3、不要使用”点击这里”之类的超级链接,因为这样等于浪费了一个SEO机会,而且降低了”屏幕朗读器”(screen reader)的使用效果。

  4、创建一个XML sitemap文件,它的缺省位置一般是/sitemap.xml(即放在网站根目录下)。(这个文件可以让搜索引擎了解你的网站地图)

  5、当你有多个URL指向同一个内容时,在网页代码中使用<link rel=”canonical” … />。可以使用 Google Webmaster Tools 来查看相关的问题。

  6、使用Google的Webmaster Tools和Yahoo的Site Explorer。

  7、从一开始使用Google Analytics(或者开源的访问量分析工具Piwik)。

  8、了解 robots.txt 和搜索引擎爬虫是如何工作的。

  9、重定向请求 (使用 301 重定向网站) ,如果你要把 www.example.com 定向到 example.com(或是其它的变更) 这样可以防止Google的rank因为域名的变化发生改变。

  10、知道并不是所有的爬虫都是好的,有些爬虫的行为并不好。(比如向你的网站发大量的请求导致服务器性能低下)

  11、如果你的网站有非文本的内容(比如视频、音频等等),你应该参考Google的sitemap扩展协议。Tim Farley的答案,可以让你看到很多有价值的东西。