分类 性能优化 下的文章

现在只要新一点的HTML页面都会支持响应式,但是在移动端百度会把本来整齐的页面强行转码成他所需要的格式来呈现,简直是丑爆了!而且URL也会变的很长,简直对不起我的伪静态!!最近UC(也可以说是阿里,更可以说是马大帅)也开始搞这个事儿了

阅读剩余部分

工作需要必须使用mstsc(Microsoft terminal services client)连接生产服务器,之前因为不知什么原因,mstsc开始很卡,所以用了teamviewer一段时间,感觉还是不如mstsc稳定

但是win7的mstsc问题多多,一个一个说吧

总是新建进程

每次使用保存好的密码登陆后总是和上一次显示的桌面环境不一样,就好像注销了一样,每次都要在任务管理器里切换一回,很是麻烦,原因是mstsc新建了一个进程,导致了操作环境的初始化,按照老高的方法试试:

  1. 运行mstsc时在后面加上 /admin,原理是直接接管控制台

     mstsc /admin
    
  2. 在目标机器上设置一下 这是由于远程桌面允许一个用户可以有多个远程会话,如果不想有这个效果,可以在目标机器运行gpedit.msc,然后进入组策略-计算机设置-管理模板-终端服务,设置限制终端服务用户到一个远程会话为启用即可。

3.开始-管理工具-终端服务配制-设置

连接 - RDP-TCP - 网卡 - 2个链接 服务器设置 - 限制用户使用一个会话 开始---控制面板---授权---选择“每设备或每用户”---否---确定

连接后操作很卡

原因在于从vista开始,微软在TCP/IP协议栈里新加了一个叫做Window Auto-Tuning的功能。这个功能本身的目的是为了让操作系统根据网络的实时性能(比如响应时间)来动态调整网络上传输的数据窗口的大小,从而达到实时优化网络性能的目的。但是,在某种情况下,这个功能反而会使远程桌面的响应变的非常的慢。解决办法如下:

开始-运行-输入

netsh interface tcp set global autotuninglevel=disabled

端口修改

端口3389表示亚历山大!换一个自己喜欢的数字吧,嫌麻烦的TX可以直接百度 mstsc端口修改工具

  1. 打开“开始→运行”,输入"regedit",打开注册表,进入以下路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp, 修改PortNamber值3389为3390。
  2. 打开[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro1Set\Control\Tenninal Server\WinStations\RDP\Tcp, 将PortNumber值3389为3390。
  3. 修改完毕,重启以下服务(控制面板中的服务中): Microsoft Remote Desktop Connection 和 Remote Desktop Services UserMode Port Redirector
  4. 登陆方式[IP:3390] 部分转自网络!

转自http://www.cnblogs.com/see7di/p/3560329.html

此代码片段的功能是在做均衡负载的时候将session的维护工作交给Memcached,这样不仅性能上来了,session不同步的问题也解决了!

但是要求做Memcache的计算机内存要足够大!

$_ENV=array(
    'SYS'=>array(
        'Memip'=>'127.0.0.1',            //MEMCACHE的ip
        'Mempt'=>11211,              //MEMCACHE的port
        'Memtim'=>10,                    //MEMCACHE的超时时间
    )
);
 
//托管SESSION到MEMCACHE,如果开启失败,则说明MEMCACHE没有配置正确
final class S{
    public static function open(){
    //禁止session自动开启
        session_write_close();
    ini_set('session.auto_start',0);
 
    //使用五十分之一的概率启动GC清理会话
    ini_set('session.gc_probability',1);
    ini_set('session.gc_divisor',50);
    ini_set('session.use_cookies',1);
 
    //session的寿命
    //ini_set('session.gc_maxlifetime',$_ENV['SYS']['Memtim']);
    //ini_set('session.cookie_lifetime',$_ENV['SYS']['Memtim']);
    //ini_set('session.save_handler','files');
    //ini_set('session.save_path',Run.'_tmp');
    //ini_set('session.save_handler','memcache');
    //ini_set('session.save_path','tcp://127.0.0.1:11211');
        //$_ENV['S_tim'] = ini_get('session.gc_maxlifetime');
 
    //建立memcache对象
    $_ENV['S_mem']=new Memcache;
    $_ENV['S_mem']->connect($_ENV['SYS']['Memip'],$_ENV['SYS']['Mempt']) or die('Memcache连接失败!');
        return TRUE;
    }
 
    /**
        读取
        返回:读到的内容
    /**/
    public static function read($id){
        return $_ENV['S_mem']->get('s_'.$id);
    }
 
    /**
        写入
        返回:bool
    /**/
    public static function write($id,$data){
        return $_ENV['S_mem']->set('s_'.$id,$data,MEMCACHE_COMPRESSED,$_ENV['SYS']['Memtim']);
    }
 
    /**
        关闭
        返回:bool
    /**/
    public static function close(){
        $_ENV['S_mem']->close();
        unset($_ENV['S_mem'],$_ENV['SYS']['Memtim']);
        return TRUE;
    }
 
    /**
        删除
        返回:bool
    /**/
    public static function destroy($id){
        return $_ENV['S_mem']->delete('s_'.$id);
    }
 
    /**
        清理
        返回:bool
    /**/
    public static function gc(){
        return TRUE;
    }
}
session_set_save_handler('S::open','S::close','S::read','S::write','S::destroy','S::gc');
$_ENV['sessionid']=(isset($_REQUEST['sessionid'])) ? trim($_REQUEST["sessionid"]) : session_id();
if($_ENV['sessionid']!=''){session_id($_ENV['sessionid']);}
session_start();

本文适合新手老手,有不对的地方欢迎指正! 如果有什么问题或者建议,请务必留言, :-)

老高很高兴与大家交流! 同时欢迎关注我的微博

写在前面:搜索引擎是个很神奇的东西,脾气捉摸不定,动不动就学个新算法让你不得安居乐业。许多新手都会觉得想让搜索引擎收录真难啊! 那么对于刚刚建成的新站和收录有问题的旧站,如何才能让搜索引擎顺利的收录你的网站呢? 花点时间看完本文,我相信你对SEO的理解一定会更加透彻。 预先约定几个说法(不分大小写)

  • wordpress ->wp
  • Search Engine Optimization->SEO
  • Uniform Resource Locator ->URL 下面老高就针对wordpress的SEO优化讲讲具体的步骤:

浅谈URL的优化

说到SEO,最先想到的应该是URL了,什么!你不知道URL是啥? 8-O 简单地说,URL就是

统一资源定位符(Uniform Resource Locator,缩写为URL)是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。https://blog.phpgao.com/ 就是一个URL,访客和搜索引擎就是靠他找到你的资源。URL的优化其实很简单,做到以下几点就OK!

伪静态

美化你的URL显示格式,即做好伪静态,打个例子,本文的URL默认为www.phpgao.com/?p=***|的形式,\*|为文章的数字ID,但是实际上他显示为www.phpgao.com/seo.html,如果这两个URL都指向同一篇文章,哪一个更能勾起你的欲望呢?同样的,搜索引擎也会试着理解你的URL ,然后抓取你的内容,分以适当的权重 ---|- 那么如何设置成这样的形式呢?首先需要了解伪静态、404错误、linux、win主机等概念,后面章节有讲。

网站地图

URL格式确定以后下面就要把你的URL告诉搜索引擎了,所以你需要一个**网站地图**,他可以告诉搜索引擎网站是什么结构,哪些页面比较重要,哪些可以忽略,有利于搜索引擎抓取。

robots.txt

robots的作用是控制爬虫的抓取范围,举个比方,你可以禁止爬虫收录你的wp-admin文件夹下所有文件,这样可以保证安全性。你需要明确的是,爬虫来到你的网站,就像吃货进了一个自助餐馆一样,只要能吃的他都不放过,如果你放任不管,那么可能他会把你和你太太盘子里的饭菜都会吃掉。所以你必须告诉他:“爬虫兄啊,你不能吃这个,这个是桌子!”。简单的介绍一下用法:

  • 请将robots.txt放到网站的根目录下,你可以参考一下www.taobao.com/robots.txt(百度中枪)
  • 编码无所谓,一般不会出现中文
  • 第一行写User-agent: * 意思只针对所有搜索引擎的爬虫
  • 紧接着Disallow: /wp-* 意思是不允许看wp-开头的所有文件
  • 你可以写很多个Disallow规则,记得首字母要大写
  • 你还可以在文件中指明sitemap路径 Sitemap: https://blog.phpgao.com/sitemap
  • robots.txt不要过于复杂 robots文件真的很重要,老高之前写过一个爬网页的程序放到了某个二级目录下,并在首页加了链接,但是忘记了屏蔽搜索引擎,导致谷歌收录了本站的9000多个垃圾内容页 :-( ,悲剧啊!话说百度还是很谨慎的,就是不收录!

提交入口--来我家玩吧!

提供几个提交网站的入口,此步是通知搜索引擎来收录你的网站

  1. 百度网站登录入口
  2. Google网站登录入口
  3. 360网站登录入口
  4. Bing网站登录入口
  5. 搜狗网站收录提交入口 这步最简单了!不要偷懒哦! 8-)

站长工具--查询收录的利器

站长工具就站长管理网站收录,转化率等信息的瑞士军刀

  1. 百度站长工具
  2. 谷歌站长工具
  3. seo工具

老高要在这里赞一下百度的抓取诊断功能,通过使用发现百度没有更新我站的DNS信息,于是换了DNSPOD解析,立马解决问题!

由于网络错误导致抓取失败

网站统计分析

网站统计,顾名思义就是统计网站浏览量,分析受众群体。原理是通过放脚本或者图片链接在你的网站里,每次访问的时候都会将此次请求信息发送给统计服务器,然后就可以在统计后台查看到实时访问信息了。与基于访问日志分析的办法不同,这种统计方法不是很准确,但是对付一般需求足够了!使用此插件必须在wp主题文件footer.php加入系统提供给你的统计代码,老高的经验是把统计代码加入一个

包裹的div中,因为可能一不小心,这条统计代码会带出来一个很丑的图片,影响网站美观!所以最终的代码会是这样的,其中script标签才是真正的统计代码,div的工作是让他不要影响网站的呈现。

主流工具如下:

  • 百度统计
  • 谷歌分析
  • 老高推荐百度统计(基于速度考虑)

直到这一步!你的网站才算是真正投入到了互联网这个茫茫大海之中,你要意识到的是搜索引擎只是索引到了互联网信息的一小部分而已,而这个数字已足够庞大,所以逛光光完成到这一步是不够的,下面就是提高篇!

##优化访问速度

###选择主机系统

这里你有两种选择

  • windows+iis
  • linux+apache

一般来说,linux主机是比win贵的,原因是:

更安全,windows面对黑客只能说雅蠛蝶了 更快,不是网速快,而是同等硬件下linux+apache跑PHP性能更好 更强大,其实最主要还是说伪静态的问题,linux天然支持,IIS就悲剧了,先哭着 :-( ,后面说原因 更稳定,linux一般很少死机的,windows我只能说呵呵了 总之,钱多就上linux;苦逼的话win还是能接受的。

###服务器地址

内地?香港?美国?韩国?到底搬哪儿好呢?

这还用问?当然是离得越近,速度越快了!下面简单说说利弊吧:

内地主机速度一定不会太慢,但是需要网站已备案 香港主机速度不一定,我在XX购买的空间电信打不开,网通倒是挺快。。。很郁闷 美国主机速度可能不如香港,快也快不到哪儿去 韩国速度和以上两地差不多

再此还是要罗嗦几句:

一般购买一年的空间,商家都会承诺一个月内退款的,没有声明的话请勿使用,或者提出试用要求,并且使用超级PING工具测速 一定要看看空间服务商的备案号,很多都是假的

★★网站开始运行后一定要定时备份,不论是空间还是数据库!★★

###GZIP–压缩html

GZIP一看就知道是压缩用的,能开就开吧。一般的panel都是提供这个功能的,如果没有也不影响。

查询是否压缩请使用Gzip检测工具检测,至于压缩率嘛,自己看吧!

是否压缩 是 压缩类型 gzip 原始文件大小 89103 字节 压缩后文件大小 13896 字节

###伪静态

伪静态就是为了让url美观一些,本文的网址为默认为

https://blog.phpgao.com/?p=238

但我修改固定连接格式是之变成了

https://blog.phpgao.com/seo.html

看到这个URL你会不会觉得根目录下就有一个seo.html吧?

其实不然,当你的浏览器访问了此网址https://blog.phpgao.com/seo.html,服务器在解析这个URL时会参考你的伪静态规则,隐性的将url变为https://blog.phpgao.com/index.php/seo.html,然后剩下工作就交给index.php,他会帮你找到对应的文章显示给读者!

####IIS

IIS悲剧的伪静态ISAPI_Rewrite分版本不说,不同版本伪静态的写法还有差别。。。设置参考我的文章

IIS下wordpress伪静态的配置

####APACHE

这里风景一片大好,htaccess教IIS学做人

####404补救

404也可以伪静态,但是设置很麻烦,一般不推荐。 原理就是当访问一个不存在的地址,服务器会找一个叫类似404.php的文件,在这个文件中分析URL并导航至相应页面去。

有兴趣自己实现的请百度之!

###静态内容加速

原理就是CDN服务商将你的网页文件缓存之,然后你的服务器就不用提供诸如jpg,css,js等不常更新的文件,减小了自己服务器的压力,好用的加速主要有七牛。

##网站结构优化

一个网站可能有很多栏目,栏目下会有许多文章,就像大树上结的果子。文章之间可能也会有相互关联,这种关系叫做叫内链。相对的,文章或栏目等指向他人网站的链接就叫外链。 每篇文章有自己的标题、关键字、描述和内容。

以上几个概念就是组成一个网站的基本结构。

###文章的结构

标题、关键字、摘要和内容分别对应英文中的title,keywords,desciption、content。 这些词语在几乎每一个网页中都有体现,搜索引擎就是根据以上几个属性来了解一个网站的所有内容。 其重要性按大小排序:content>title>desciption>keywords 所以在优化策略中,如果你的内容和别人的一样(比如使用火车头采集),那么如果你的标题设置的好,或者描述提取的好,那么你的排名就相对靠前一点。 (未完待续)

参考:

http://www.chinaz.com/web/2011/0727/201918.shtml

http://www.xmlas.com/robots-google-txt.html

一般wordpress主题都会在head标签之间使用wp_head()函数,因为这是个很重要的头部函数,很多功能插件都会用到它。 不过,如果你的wordpress主题用到了该函数,则会在head头部显示许多冗余的代码。

如果希望移除wordpress头部的多余代码,可以使用以下方法解决: 在主题文件夹下的functions.php文件中加入以下代码:

remove_action( 'wp_head', 'wp_generator' );//WordPress版本信息。
remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 );//最后文章的url
remove_action( 'wp_head', 'start_post_rel_link', 10, 0 );//最前文章的url
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );//上下文章的url
remove_action( 'wp_head', 'feed_links_extra', 3 );//去除评论feed
remove_action( 'wp_head', 'feed_links', 2 );//去除文章的feed
remove_action( 'wp_head', 'rsd_link' );//针对Blog的离线编辑器开放接口所使用
remove_action( 'wp_head', 'wlwmanifest_link' );//如上
remove_action( 'wp_head', 'index_rel_link' );//当前页面的url
remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );//短地址

来源: http://www.daxiawp.com/remove-wordpress-head-code.html

博客用的国外的主题,对中文处理不是太好。尤其是首页会把文章的全部内容都输出,使首页变得很长,对于我这种爱贴代码的程序猿来说,这个病,必须治!

解决办法有三种:

  1. more标签
  2. 自己写方法截取文字
  3. the_excerpt()

more标签

以下引用sumile_ting 的话:

这种方法是在每次写文章时在文章中插入一个More标签。

添加More标签的方法:

写文章时,在需要作为摘要的地方点击编辑器中的More标签,或在HTML编辑状态加加入,或者直接按Alt+Shift+T,3种方法任选其一。

这种方法使用起来太麻烦,要求每一篇文章都得手动加,一不小心可能就忘记了。还不如修改主题模板来的方便快捷。

自造方法

自己写方法必须对function.php和content.php做改写,先找到


the_content()方法返回了文章的内容,处理一下就可以限制字数了,具体方法请自查。

但是对于我还是不合适,因为此时文章还没有被插件渲染,文章内的代码会被直接以纯文本的形式展示,很不和谐。 所以这个方案,pass

the_excerpt()

此方法是wordpress显示文章摘要的API,效果与the_content() 一样,只是这个函数对中文支持不好,需要处理一下

以下是步骤:

方法2的the_content()修改为the_excerpt() 在function下加入以下代码

function custom_excerpt_length( $length ) {
    return 200;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );

给readmore加个链接,同样在functions.php中添加:

function new_excerpt_more( $more ) {
    return '阅读全文';
}
add_filter('excerpt_more', 'new_excerpt_more');

完美解决

参考:

http://sumile.blog.hexun.com/63924812_d.html

http://www.gemshe.com/fashion/suneyeglass/wordpress%E7%9A%84%E6%96%87%E7%AB%A0%E5%BD%A2%E5%BC%8Fget_post_format/

http://www.seanstudio.com/archives/2558

http://www.daxiawp.com/change-to-excerpt.html