① 减少HTTP请求数 Js代码混编 合并css图片制作精灵图
② 合理设置 HTTP缓存
③ 启用压缩 apache缓存压缩配置(1-9级),级数越高,cpu消耗越高
后端优化:
① 页面静态化:页面全部生成html静态页面,使用PHP文件读写功能(file_put_contents)与ob缓存机制生成静态页面,用户访问时直接访问的静态页面,而不会去走php服务器解析,从而减少服务器压力体提高页面响应速度;
② SEO优化:开启Apache(httpd.conf)重写模式实现伪静态(.htaccess);
③ 实现图片防盗链,控制大文件下载:对图片进行添加水印;使用Apache的重写机制(.htaccess)实现防盗链功能;
④ 服务器配置负载均衡: 在负载均衡器服务器(Nginx)上面,添加一个连接池,给负载均衡器配置一个域名,指向连接池;⑤ mysql优化:
1.架构上实现主从复制,主服务器写,从服务器读(备份),从服务器去主服务器复制/同步,实现读写分离
主从复制,首先需要开启mysql服务器的二进制日志文件(my.ini中配置),主从复制会根据日志记录的位置来进行同步;2.配置缓存服务器:使用redis和memcache分布式的内存对象缓存系统;
3.存储引擎的合理选择:myisam: 写入数据非常快,插入快(不用排序),适合使用场合dedecms/phpcms/discuz/微博系统等写入、读取操作多的系统。innodb: 适合业务逻辑比较强的系统,修改操作较多的,例如ecshop、crm、办公系统、商城系统,Innodb聚簇索引以主键查询快,缓存优化好;
4.分区分表:不常用字段和常用字段分表,数据量大的表分表;Sql语句的合理书写
5.使用简单高效的sql语句;
6.建立索引,开启慢查询日志(测试阶段),记录查询慢的sql语句进行优化,合理的添加索引;
7.表的设计要规范,符合三范式;
8.尽量避免出现 select *;
9.尽量避免在 where 子句中对字段进行 null 值判断,最好不要给数据库留NULL,尽可能的使用 NOT NULL填充数据库;
10.对数量进行统计用count(1)代替count(*);
11.使用join(连接查询)代替子查询;
12.选取合适字段,尽可能减少定义字段长度;
13.尽量避免大事务操作,提高系统并发能力;
14.字段的合理选择:能用char的地方就不要用varchar
seo优化:
① 代码优化:尽量缩减代码,对CSS 和 JS文件采用调用方式,尽量避免使用TABLE;
② 图片优化:对图片ALT属性添加说明,说明中包含关键词;SEO优化
③ 内文优化:文章标题包含关键词,文中自然的出现关键词,结尾处出现关键词;
④ 链接优化:合理利用内链接,争取和排名好的相关网站进行友情链接;
⑤ 导航优化:清晰的导航让搜索引擎认识网站结构,从而收录更多的页面。
⑥ 空间优化:选择性能稳定且未被搜索引擎惩罚的网站空间;
⑦ 域名优化:选择与网站内容或关键词相关性较高的域名;
⑧ 静态优化:使用重要的网站转为静态页面,因为搜索引擎更容易收录静态页面;
⑨ 标准优化:代码符合W3C标准,在IE、360、firefox等主流的浏览器显示时不变形、不出现乱码;
⑩ 其他优化:包括网站title优化、关键词优化、URL优化、keywords优化、description优化等等。
对于有的网页本身不适合做真静态。例如商品详情页面。数据经常变换。为了更加符合搜索引擎优化,因此使用伪静态的方式。通过Apache重写模式,实现伪静态。