2013年6月29日星期六

QQ邮箱的POP3与SMTP服务器的使用必须设置开通才能使用

大家都知道,QQ邮箱的POP3与SMTP服务器是什么。但是配置到程序中就是不给力(不行)。我还以为程序出错了,配置成网易的邮箱就正常。最后发现,原来未开启QQ邮箱的开启POP3/SMTP服务。
QQ邮箱 POP3 和 SMTP 服务器地址设置如下:

邮箱 POP3服务器(端口110) SMTP服务器(端口25)

如果是设置POP3和SMTP的SSL加密方式,则端口如下:
POP3服务器(端口995)
SMTP服务器(端口465或587)。
如何打开POP3/SMTP/IMAP功能?

描述:打开邮箱的设置--账户--POP3/IMAP/SMTP服务,打开相应的选项即可。

图解:首先,登录邮箱,进入设置-帐户;

QQ邮箱POP3与SMTP服务器的使用
 
然后,在“帐户”设置中,找到设置项,进行设置,如下:
QQ邮箱的POP3与SMTP服务器的使用
IMAP和POP有什么区别?
POP允许电子邮件客户端下载服务器上的邮件,但是您在电子邮件客户端的操作(如:移动邮件、标记已读等),这是不会反馈到服务器上的,比如:您通过电子邮件客户端收取了QQ邮箱中的3封邮件并移动到了其他文件夹,这些移动动作是不会反馈到服务器上的,也就是说,QQ邮箱服务器上的这些邮件是没有同时被移动的 。但是IMAP就不同了,电子邮件客户端的操作都会反馈到服务器上,您对邮件进行的操作(如:移动邮件、标记已读等),服务器上的邮件也会做相应的动作。也就是说,IMAP是“双向”的。
同时,IMAP可以只下载邮件的主题,只有当您真正需要的时候,才会下载邮件的所有内容。

2013年6月27日星期四

连接sqlexpress数据库的一些技巧

sqlexpress连接ip:  192.168.1.2\SQLEXPRESS  或者 localhost\SQLEXPRESS 或者 local\SQLEXPRESS 或者 .\SQLEXPRESS

数据库名称:首先打开SQL server Management Studio附加数据库文件,F:\库存管理\APP_DATA\DATABASE.MDF 名称就填写这个路径


由于检索用户的本地应用程序数据路径时出错,导致无法生成 SQL Server 的用户

IIS-》你的本地服务器-》应用程序进程池-》选择一个,我选的是默认那个DefaultAppPool,然后右键选择高级设置-》进程模型-》加载用户配置文件设置为TRUE  


sql express操作系统错误 5:"5(拒绝访问。)
解决方法:目录(即文件夹)权限不够,将everyone用户加入,改为完全控制即可.

2013年6月26日星期三

跳出率50%

跳出率,简单来说,就是游客来到你的网站没有浏览第二个页面就离开了。当然跳出率越低越好,跳出率是肯定有的,我们要做的就是做好用户体验,把跳出率降到最低,永远不自满。

要知道一个网站的跳出率是多少很容易,使用跟踪工具就可以。如谷歌分析。这些工具都可以清楚的告诉你你的网站每个页面的跳出率是多少,游客是从哪里来到你的网站的(竞价排名,横幅广告,seo等),什么时候网站跳出率出现变化,了解这些,有利于你对网站进行调整。

一般来说,50%的跳出率是平均水平。如果你超过了60%,那你就要注意了。如果超过80%,很抱歉,你的网站面临一个大问题。
如何降低网站的跳出率

2013年6月23日星期日

PHP破解防盗链的图片,Asp破解反盗链系统

新建PHP文件,pic.php
<?php 
$p=$_GET['p']; //取参数
$pics=file($p); //远程抓取图片
//以二进制流输到浏览器,
//注意:在Ie下直接就解析成图片,但是在谷歌浏览器被解析成代码
for($i=0;$i< count($pics);$i++) 
{
echo $pics[$i];
}
?>
使用方法 就是 pic.php?p=图片地址
例子:

高级引申:
但是有些地方引用的图片不能带有参数.那么下面就开始使其不带参数的代码.

<?php
error_reporting(0);  //防错,这句可以不要.
$imgurl= 'http://' . substr($_SERVER["REQUEST_URI"],1); //参数不带"http://"
//这里不补去.后面的语句是取地址栏地址
pics=file($imgurl);
for($i=0;$i< count($pics);$i++)
{
echo $pics[$i];
}
?>
然后要使用URL重定向,不然就无法输出
增加或者另外写一个重定向的文件.htaccess

RewriteRule (?{1,})\.jpg$ img.php?p=$1
RewriteRule (?{1,})\.png$ img.php?p=$1
RewriteRule (?{1,})\.gif$ img.php?p=$1

最后就可以这样使用图片

这看起来就像你自己网站上的图片一样.
如果有心的话,还可以把 www.baidu.com/ 修改下,然后在代码替换下.

这样更加难以分辨..

下面是Asp的代码
<%
Dim url, body, myCache
url = Request.QueryString("url")
  Set myCache = new cache
  myCache.name = "picindex"&url
  If myCache.valid Then
          body = myCache.value
  Else
          body = GetWebData(url)
          myCache.add body,dateadd("d",1,now)
  End If
  If Err.Number = 0 Then
        Response.CharSet = "UTF-8"
        Response.ContentType = "application/octet-stream"
        Response.BinaryWrite body
        Response.Flush
  Else
        Wscript.Echo Err.Description
  End if
'取得数据
Public Function GetWebData(ByVal strUrl)
Dim curlpath
curlpath = Mid(strUrl,1,Instr(8,strUrl,"/"))
Dim Retrieval
Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP")
With Retrieval
.Open "Get", strUrl, False,"",""
.setRequestHeader "Referer", curlpath
.Send
GetWebData =.ResponseBody
End With
Set Retrieval = Nothing
End Function
'cache类
class Cache
        private obj                                'cache内容
        private expireTime                '过期时间
        private expireTimeName        '过期时间application名
        private cacheName                'cache内容application名
        private path                        'url
        private sub class_initialize()
                path=request.servervariables("url")
                path=left(path,instrRev(path,"/"))
        end sub
        private sub class_terminate()
        end sub
        public property get blEmpty
                '是否为空
                if isempty(obj) then
                        blEmpty=true
                else
                        blEmpty=false
                end if
        end property
        public property get valid
                '是否可用(过期)
                if isempty(obj) or not isDate(expireTime) then
                        valid=false
                elseif CDate(expireTime)<now then
                                valid=false
                else
                        valid=true
                end if
        end property
        public property let name(str)
                '设置cache名
                cacheName=str & path
                obj=application(cacheName)
                expireTimeName=str & "expires" & path
                expireTime=application(expireTimeName)
        end property
        public property let expires(tm)
                '重设置过期时间
                expireTime=tm
                application.lock
                application(expireTimeName)=expireTime
                application.unlock
        end property
        public sub add(var,expire)
                '赋值
                if isempty(var) or not isDate(expire) then
                        exit sub
                end if
                obj=var
                expireTime=expire
                application.lock
                application(cacheName)=obj
                application(expireTimeName)=expireTime
                application.unlock
        end sub
        public property get value
                '取值
                if isempty(obj) or not isDate(expireTime) then
                        value=null
                elseif CDate(expireTime)<now then
                        value=null
                else
                        value=obj
                end if
        end property
        public sub makeEmpty()
                '释放application
                application.lock
                application(cacheName)=empty
                application(expireTimeName)=empty
                application.unlock
                obj=empty
                expireTime=empty
        end sub
        public function equal(var2)
                '比较
                if typename(obj)<>typename(var2) then
                        equal=false
                elseif typename(obj)="Object" then
                        if obj is var2 then
                                equal=true
                        else
                                equal=false
                        end if
                elseif typename(obj)="Variant()" then
                        if join(obj,"^")=join(var2,"^") then
                                equal=true
                        else
                                equal=false
                        end if
                else
                        if obj=var2 then
                                equal=true
                        else
                                equal=false
                        end if
                end if
        end function
end class
%>

2013年6月15日星期六

修改模版使phpwid9帖子页中将楼主头像显示在右侧

需要修改的文件为安装目录下面 \template\bbs\read_floor.htm 文件。
打开后发现页面是用Table布局的,如下所示
<table>
<tr>
    <td>
    ........
   第一列内容
     </td>
     <td>
     ........
     第二列内容
    </td>
</tr></table>

将两个<td>和</td>调整一下顺序即可实现位置互换,
修改模版后,要登录到后台 - 工具 更新模版缓存。

2013年6月10日星期一

使用PHP采集远程图片保存到服务器

本文将使用PHP实现采集远程图片功能。基本流程:

1、获取目标网站图片地址。

2、读取图片内容。

3、创建要保存图片的路径并命名图片名称。

4、写入图片内容。

5、完成。

我们通过写几个函数来实现这一过程。

函数make_dir()建立目录。判断要保存的图片文件目录是否存在,如果不存在则创建目录,并且将目录设置为可写权限。

 
function make_dir($path){ 
    if(!file_exists($path)){//不存在则建立 
        $mk=@mkdir($path,0777); //权限 
        @chmod($path,0777); 
    } 
    return true

函数read_filetext()取得图片内容。使用fopen打开图片文件,然后fread读取图片文件内容。

     
function read_filetext($filepath){ 
    $filepath=trim($filepath); 
    $htmlfp=@fopen($filepath,"r"); 
    //远程 
    if(strstr($filepath,"://")){ 
        while($data=@fread($htmlfp,500000)){ 
            $string.=$data
        } 
    } 
    //本地 
    else
        $string=@fread($htmlfp,@filesize($filepath)); 
    } 
    @fclose($htmlfp); 
    return $string

函数write_filetext()写文件,将图片内容fputs写入文件中,即保存图片文件。

     
function write_filetext($filepath,$string){ 
    //$string=stripSlashes($string); 
    $fp=@fopen($filepath,"w"); 
    @fputs($fp,$string); 
    @fclose($fp); 

函数get_filename()获取图片名称,也可以自定义要保存的文件名。

     
function get_filename($filepath){ 
    $fr=explode("/",$filepath); 
    $count=count($fr)-1
    return $fr[$count]; 

然后将几个函数组合,在函数save_pic()中调用,最后返回保存后的图片路径。

     
function save_pic($url,$savepath=''){ 
    //处理地址 
    $url=trim($url); 
    $url=str_replace(" ","%20",$url); 
    //读文件 
    $string=read_filetext($url); 
    if(empty($string)){ 
        echo '读取不了文件';exit
    } 
    //文件名 
    $filename = get_filename($url); 
    //存放目录 
    make_dir($savepath); //建立存放目录 
    //文件地址 
    $filepath = $savepath.$filename
    //写文件 
    write_filetext($filepath,$string); 
    return $filepath

最后一步就是调用save_pic()函数保存图片,我们使用以下代码做测试。

     
//目标图片地址 
$pic = "http://img0.pconline.com.cn/pconline/1205/06/2776119_end1_thumb.jpg"
//保存目录 
$savepath = "images/"
echo save_pic($pic,$savepath); 

实际应用中,我们可能会采集某个站点的内容,比如产品信息,包括采集防盗链的图片保存到网站上服务器上。这时我们可以使用正则匹配页面内容,将页面中相匹配的图片都找出来,然后分别下载到网站服务器上,完成图片的采集。以下代码仅供测试:

     
function get_pic($cont,$path){ 
    $pattern_src = '/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg]))[\'|\"].*?[\/]?>/'; 
    $num = preg_match_all($pattern_src, $cont, $match_src); 
    $pic_arr = $match_src[1]; //获得图片数组 
    foreach ($pic_arr as $pic_item) { //循环取出每幅图的地址 
        save_pic($pic_item,$path); //下载并保存图片 
        echo "[OK]..!"; 
    } 

然后我们通过分析页面内容,将主体内容找出来,调用get_pic()实现图片的保存。

     
//我们采集太平洋电脑网上一篇关于手机报道内容页的图片 
$url = "http://gz.pconline.com.cn/321/3215791.html"
 
$content = file_get_contents($url);//获取网页内容 
$preg = '#<div class="art_con">(.*)<div class="ivy620 ivy620Ex"></div>#iUs'; 
preg_match_all($preg$content$arr); 
$cont = $arr[1][0];  
get_pic($cont,'img/'); 

以上代码笔者亲测,可以采集图片,但是还有些场景没考虑进去,比如目标网站做了302多次跳转的,目标网站做了多种防采集的

原文地址:http://www.helloweba.com/view-blog-210.html

2013年6月9日星期日

为何要把不带WWW的域名转向到带WWW的域名下

什么是301跳转,301永久重定向,网站为什么要做301跳转

之前我发现成都地区一个比较知名的社区门户网站,因为他们以前的域名太长不太好记因此换上了一个比较好记的新域名。让我感到奇怪的是这个新域名在短占的时间百度收录了上网页,GOOGLE PR也到了5,当时不太明白,其实正是他们利用了301跳转把老域名相应权重转移到新域名。

通过上例,首先我们了解一下什么是301跳转?301跳转,也叫301重定向,301转向。指的是当用户点击一个网址时,通过技术手段,跳转到指定的另一个网站。

301跳转,一般用于二个域名指向同一个网站,一般来说,利用跳转,对网站的排名不会有影响(但最好还是一站一域名)。

不过这里要说明一下,并不是通过301跳转就能使权重完全转移的,这个还有很多因素决定。301只能说可以让损失减少到最低。

下面给大家减少一下301的具体设置方式

1、IIS下301设置

Internet信息服务管理器 -> 虚拟目录 -> 重定向到URL,输入需要转向的目标URL,并选择“资源的永久重定向”。

2、ASP下的301转向代码

<%@ Language=VBScript %>

<%

Response.Status=”301 Moved Permanently”

Response.AddHeader “Location”, “http://www.tefee.net/html/301/

%>

3、ASP.Net下的301转向代码

<script runat=”server”>

private void Page_Load(object sender, System.EventArgs e)

{

Response.Status = “301 Moved Permanently”;

Response.AddHeader(”Location”,”http://www.tefee.net/html/301/“);

}

</script>

4、PHP下的301转向代码

header(”HTTP/1.1 301 Moved Permanently”);

header(”Location: http://www.tefee.net/html/301/”);

exit();

5、CGI Perl下的301转向代码

$q = new CGI;

print $q->redirect(”http://www.tefee.net”);

6、JSP下的301转向代码

<%

response.setStatus(301);

response.setHeader( “Location”, “http://www.tefee.net” );

response.setHeader( “Connection”, “close” );

%>

7、Apache下301转向代码

新建.htaccess文件,输入下列内容(需要开启mod_rewrite):

1)将不带WWW的域名转向到带WWW的域名下

Options +FollowSymLinks

RewriteEngine on

RewriteCond %{HTTP_HOST} ^lesishu.cn [NC]

RewriteRule ^(.*)$ http://www.tefee.net/$1 [L,R=301]

2)重定向到新域名

Options +FollowSymLinks

RewriteEngine on

RewriteRule ^(.*)$ http://www.tefee.net/html$1 [L,R=301]

3)使用正则进行301转向,实现伪静态

Options +FollowSymLinks

RewriteEngine on

RewriteRule ^news-(.+)\.html$ news.php?id=$1

将news.php?id=123这样的地址转向到news-123.html

8、Apache下vhosts.conf中配置301转向

为实现URL规范化,SEO通常将不带WWW的域名转向到带WWW域名,vhosts.conf中配置为:

<VirtualHost *:80>

ServerName www.tefee.net

DocumentRoot /home/lesishu

</VirtualHost>

<VirtualHost *:80>

ServerName acctc.com

RedirectMatch permanent ^/(.*) http://www.tefee.net/$1

</VirtualHost>

经常会碰到这样的情况,其他网站链接你的站点时,会用下面的链接:

而这样导致:你站点主域名的pr值分散到其他几个URLs了。

如果你用301重定向把其他三个URL转到
PR也就集中在主域名:www.acctc.com 了。

301重定向具体办法:

设置.htaccess文件(只适用于linux系统,并需要虚拟主机支持。)

使访问acctc.com/的时候就会自动转到www.acctc.com 
在.htaccess文件里写上以下代码即可。

RewriteEngine on
RewriteCond %{http_host} ^acctc.com [NC]
RewriteRule ^(.*)$ http://www.acctc.com/$1 [L,R=301]

2013年6月8日星期六

转一段js代码,可以用来在百度贴吧自动回复无限盖楼

//--------------Information----------------------------------
//1.只适用于无验证码贴吧百度帖吧。
//2.使用期间,请勿关闭标签页或窗口。
//3.火狐浏览器,自行修改使用
//GUI
var insert=document.querySelector(".new_tiezi_tip");

var qrDiv=document.createElement("div");
var newDiv=document.createElement("div");

qrDiv.innerHTML='<div><b>快捷回复</b> <select id="caonima" style="width:530px" name="fuck">\
<option value="0" selected="selected"></option><option value="1"></option><option value="2" ></option>\
<option value="3"></option><option value="4"></option></option><option value="5"></option></option>\
<option value="6"></option></option><option value="7"></option></option><option value="8"></option></option>\
<option value="9"></option></select>\
<button id="qrBtn" style="float:right;margin-right:35px" type="button" >快捷回复</button></div>';
newDiv.innerHTML='<b>自动回复 </b><input id="reTxt" type="text" value="人工置顶" style="width:430px">\
  频率:<input id="rate" value="60" type="text" name="firstname" style="width:32px">秒\
  <button id="stBtn" style="color:red;display:none;float:right;margin-right:35px">停止回复</button>\
  <button id="reBtn" style="float:right;margin-right:35px" type="button" >自动回复</button>';
insert.insertBefore(qrDiv,insert.firstChild);
insert.insertBefore(newDiv,insert.firstChild);

//addEventListener
var the_reBtn=document.querySelector("#reBtn");
the_reBtn.addEventListener("click",start);
var the_qrBtn=document.querySelector("#qrBtn");
the_qrBtn.addEventListener("click",qr_Post);
var the_stBtn=document.querySelector("#stBtn");
the_stBtn.addEventListener("click",stop);
var the_fuck=document.querySelector("#caonima");
the_fuck.addEventListener("change",qr_Post);

//--------------------缺省值-------------------------------------

GM_getValue("gmSwitch",0);

var the_reTxt=document.getElementById("reTxt");
the_reTxt.setAttribute("value",GM_getValue("replayTxt","人工置顶"));
var the_pinLv=document.getElementById("rate");
the_pinLv.setAttribute("value",GM_getValue("timeOut",60000)/1000);
//alert(the_pinLv.value);

var the_fuck=document.getElementById("caonima");

var quickRe = new Array()
quickRe[0] = "顶"
quickRe[1] = "挽"
quickRe[2] = "Mark"
quickRe[3] = "火前留名"
quickRe[4] = "笑而不语"
quickRe[5] = "瞎了我的狗眼"
quickRe[7] = "神马都是浮云"
quickRe[8] = "你知道得太多了"
quickRe[6] = "虽不明,但觉厉"
quickRe[9] = "楼主好人,http://tefee.net/"

for(var i=0;i<=9;i++){
the_fuck.options[i].text=GM_getValue("quickR_"+i,quickRe[i]);
}

function post(post_Data){
var the_Content=unsafeWindow.rich_postor._getData();
the_Content.content=post_Data;
unsafeWindow.PostHandler.post(unsafeWindow.rich_postor._option.url,the_Content,function(to_Post){unsafeWindow.rich_postor.showAddResult(to_Post)},function(to_Post){});
}
//Start
function start(){
the_reBtn.style.display="none";
the_stBtn.style.display="";
GM_setValue("gmSwitch",1);
    
var post_Vlue=the_reTxt.value;
GM_setValue("replayTxt",post_Vlue);
var theTime=document.getElementById("rate");
var time_Vlue=theTime.value*1000;
GM_setValue("timeOut",time_Vlue);
post(post_Vlue);
}
//Stop
function stop(){
GM_setValue("gmSwitch",0)
the_reBtn.style.display="";
the_stBtn.style.display="none";
window.location.reload(); 
}
//Quick
function qr_Post(){
var quick_Vlue=the_fuck.options[the_fuck.selectedIndex].text;
post(quick_Vlue);
}
//缺省60s
if(GM_getValue("gmSwitch")){
the_reBtn.style.display="none";
the_stBtn.style.display="";
window.setTimeout(function(){start()},GM_getValue("timeOut",60000));
}

2013年6月2日星期日

PHP匹配出文本中全部的标签,然后更换路径

 <?php
//有时候可能需要要将HTML代码中的全部图片路径匹配出来然后更改路径。网上的一些方法,搜了那么多,都感觉不是那么靠谱与精准,不是我想要的。
//1.先假如有一段HTML的代码:
      $content = '<img alt="" src="http://www.tefee.net/js/fckeditor/UserFiles/image/F201005201210502415831196.jpg" width="600" height="366">
 <br><br><br><br><img alt="" src="js/fckeditor/UserFiles/image/33_avatar_middle.jpg" width="120" height="120">';

       //当然也可以用file_get_content()方法去获取一个HTML的文件,这个方法不理解的话,可以去查手册,就是将文件读入一个字符串中去。

       //2.将全部的<img>标签都匹配出来。

       preg_match_all("/<img(.*)src=\"([^\"]+)\"[^>]+>/isU",$content,$matches);

       //这个匹配很详细,大家不妨将$matched用print_r()打印出来看看效果,记住前后用上<pre>标签更形象哦。完整的<img>标签是在$matches[2]这个第二维数组中的。
 
      // 3.得到全部的<img>完整标签。

       if(!empty($matches)){
                $img = $matches[2];
      }else{
                $img = "";
      }
      print_r($img);
 
      // 4.得到图片路径并更换。
       foreach($img as $val){
               preg_match("/^.*\//",$val,$res);                     //先匹配出来图片存储的路径
               echo "<br/>";
               echo str_replace($res[0],"images/",$val);          //将路径全部改成"images/"
        }
?>

2013年6月1日星期六

自己用的div滚动到顶部停止的Jquery代码

自己用的div滚动到顶部停止的Jquery代码, 把dv = $('#right')里面的right 替换成自己需要固定的div。
自己改进吧,
<div id="right">http://www.tefee.net/</div>

<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
    $(function () {
        var ie6 = /msie 6/i.test(navigator.userAgent)
        , dv = $('#right'), st;
        dv.attr('otop', dv.offset().top); //存储原来的距离顶部的距离
//dv.attr('oleft', dv.offset().left); //存储原来的距离左部的距离
var _defautlLeft = dv.offset().left;//存储原来的距离左部的距离
        $(window).scroll(function () {
            st = Math.max(document.body.scrollTop || document.documentElement.scrollTop);
            if (st >= parseInt(dv.attr('otop'))) {
                if (ie6) {//IE6不支持fixed属性,所以只能靠设置position为absolute和top实现此效果
                    dv.css({ position: 'absolute', top: st });
                }
               else if (dv.css('position') != 'fixed') dv.css({ 'position': 'fixed', top: 0 ,'left':_defautlLeft});
            } else if (dv.css('position') != 'static') dv.css({ 'position': 'static' });
        });
    });
</script>

seo最重要的基本知识总结

1.百度URL优化建议 
2.网站改版与降权分析  
3.百度蜘蛛喜欢什么样的网站 
4.外链的累积与百度排名的矛
 5. 如何稳定网站长尾词的排名 
6.新站老站如何提高收录      

 一.百度URL优化建议  
    1.一个Url对应一个页面。    ・整个网站使用了伪静态要用robots屏蔽掉所有的动态路径  ・URL路径规范化    
    2. rel="canonical"加上这个属性可以让这个分页的权重转到首页上 
    3.url尽量短  
    4.静态或者伪静态路径可以使用全拼,这样是利于排名的。  路径中出现下划线——下划线和空格在百度被视为无字符,直接被去掉。 
    5.二级域名:
         a.内容关联度不高(比如做手机啊,图书啊,关联低)的时候开二级域名不会被 惩罚.            
         b.频道下积累了足够的内容。也可以互相链接。如果内容不够的话,会被判断 为作弊。      
             1.一个页面只对应一个URL   rel="canonical"加上这个属性可以让这个分页的权重转到首页上 ・URL路径尽量短  比较短可以让用户更适应,用户也喜欢点击短的简洁的URL路径 太长影响用户的点击  
・静态或者伪静态路径可以使用全拼  在路径上面假如加上了peixun这样的路径可以在搜索时更好的匹配。 缩写的对关键词排名是没作用的全拼的才能起到关键词排名的作用 ・在路径之中出现下划线有没有用  seopeixun,seo_peixun这两个路径是没有区别的下划线和空格是无意义的搜   索引擎是认为就是一个空格 ・

二级域名 
如果开通了很多二级域名进行互相链接这样会不会被搜索引擎认为是作弊呢? (1).内容差异度较大、关联度  
   url路径优化对排名的影响:  静态URL :http://www.tefee.net 伪静态(动态重写)URL :消耗服务器资源  动态URL:(含有?的)http://www.tefee.net/Q_main.php?qq=30652805   静态URL跟伪静态URL表现形式是一样的 一个页面只对应一个URL  url路径规范化 
 静态或者伪静态路径可以使用全拼 

中文拼音对排名有影响 
 静态或者伪静态路径可以使用全拼 下划线和 空格是无字符  

二.网站改版与降权分析:  1.网站改版与网站降权网站降权 ,分三类: 
 a.更改内容(更改内容是否会导致降权,要看更改的内容是否是用户需求 用户需求:     
1.主要需求,主要需求是指满足搜索关键词进来的用户需求的. 
 2.次要需求,有名拓展需求,例如我们在淘宝买衣服,而店主推荐搭配的裤子,这种相关的需求。) 

 更改网站内容在短时间内无论和网站关键词相关与否,都对网站排名有不好的影响。原因是蜘蛛去抓取网站内容的时候,发现变化了,而蜘蛛不知道用户对内容喜好与否,短时间内蜘蛛是看不出是主要需求或者次要需求,所以不能知道用户体验如何。需要一段长期实践来检验用户体验的。 所以,我们必须需要数据需求统计来更改内容,否则很可能导致我们网站页面权重降低。 

改内容成功:PV增加,文章跳出率减少,页面停留时间变长。  b.更改模块:比如增加版块,若果对页面打开速度慢了,网站会降权。(谷歌和百度在2010年都将页面打开速度作为页面关键词排名的重要因素)  若要增加模块:我们要通过数据分析(通过百度统计的百度热力图)充分考虑能不能解决用户主要需求,解决的这些用户占这个页面访问比例多少?  c.更改路径:是否更改得好都会必然导致网站降权,原因分析如下:  百度对网站内链系统权重的统计时间为1—3个月左右。(无论站内还是站外权重链接统计都需要这个时间)  
网站的URL被收录后再修改,相当于新改的链接是没有权重的,所以又需要很长时间去从零开始统计。
而且原来的链接都变成死链接了,所以以前被收录的内容也就完全消失了,以前的路径是死链接了,而现在的路径又被收录了,出现了双重路径内容,导致内容重复,自然百度会K掉此站。   
对于URL地址:一定要在收录前规划好。  优化过度的影响因素  1.标题的优化过度问题:经常换标题(title)会导致网站降权,原因是会导致网 站的信用度降低。
老站改会导致信用度扣分,可能会降低排名。新站无法扣分,降权,就会导致放慢快照速度。 
 2.标题放很多关键词:蛋糕原理。中小型企业(3—4个关键词),分蛋糕好比关键词分权重。  
3.样板文字过多的问题:样板文字是在网站的每个页面(首页,内页)都要显示出来的内容。样板文字内容过多的话,内页的文章字数会受到影响了(可不可以理解为信噪比?)。
样板文字,能减少就减少。  样板文字位置:顶部,底部(copyright啊,联系方式什么的啊。。),内链,列表。 
 4.规避友情链接降权风险:友情链接做得越多,降权危险越大。要承担其他坏邻居的链接带来的影响,最好每天检查友情链接。  
5.内容的采集问题:要考虑采集的内容是否满足用户的主要需求还是次要需求,或者根本是无效需求。要通过数据支持,百度统计来判断采集内容是否是用户需要的。否则很有可能还会导致网站的方向错误。  

三.百度蜘蛛喜欢什么样的网站: 
    一. 搜索引擎蜘蛛抓取网站的条件:  
         1. 网站的打开速度,流畅性。蜘蛛是模拟用户的习惯来抓取的,决定因素: 1).程序的问题,网页的图片优化程度,分三方面:     a.控制图片的大小,可用ps等工具对图片的像素压缩。控制图片的大小和 图片轮展的张数,中小型网站轮展图片尽量不操作3张,尽量不要用背景图片了,影响加载速度。    b.图片定位的优化,用Css排版里面定义图片的高和宽,不然会重复渲染, 加载两次,影响打开速度。     c.如果小型图片很多,用css位置截取去整合在大型图片上面,一次性加 载。(很多小图片分别加载,这样也会降低网站的打开速度)。火狐插件Firebug可以来检测网站的源代码,更方便。 2).关于CSS和JS的问题,  对css的要求:a)要是有多个css调用,尽量放在一个文件夹下调用,降 低加载速度  b).css文件放在head标签里面,而不要放在body里面。        对js的要求:1)js调用放在代码底部,因为网站加载顺序是从上面往下 面加载。广告的js最好也放在下面。                    2).尽量少调用外部时间,日历,天气什么的小功能,减少 打开时间。网站统计也放一个就ok了。 
        2.页面缓存的要求:论坛一天,谷歌建议一个星期。page speed可以建议,检测。 
        3.网站有大量20064的出现,是由于百度不同的服务器造成的。(电信服务器,网通服务器)可能是由不同服务器蜘蛛抓取(可以通过查蜘蛛的ip,确定来源),造成抓取速度慢,相当于用户体验差,因此网站降权是很正常的了。CDN加速适用于静态页面。   

四.外链的累积与百度排名的矛盾:  我们认为做站时,网站在做到中后期时,做长尾就需要更多的外链。 为什么越来越累?    
    一、资源不容易累积,主要表现在:  1.容易获得的资源容易丢失。百度收录原则:网站首页权重越高,收录的层次和等级就越高(中小型网站不会收录3层以下的页面)。保持排名考的是点击,考的是受众群体多余其他网站。 2.建设思路,前期考外链推上去,中后期内容。  A).防止常见的作弊隐患。外链占被K因数的大部分,(友情链接的牵连,垃圾链接,群发垃圾链接) 采集,模板也是隐患。因此我们首先该去掉这些因数:  1)友情链接的数量定死  2)建议模板的不仿制(若已近仿,目录一定要改)内容规划方案(如果为产品类:产品展示+常见问题解答) 3)防止内容的采集.          B).做内容需求分析。          C)内链系统的构架和站内常见问题的解决:                    1)避免回链。                     2)内链过多,权重分散                    3)重要内容不突出。                       常见问题解决:不建议对站内的页面用nofollew,而用 robot.站外被不信用的链接用nofollew.   rel="canonical"的应用,去除网站内重复的标签,比如列表页,搜索引擎可以根据该标签的页面计算权重,其他重复的会收录,但是不给权重。         D)关于站内内容的处理方案。         E)分析竞争对手的外链结构比例,制定自己网站的外链计划方案。 

 五. 如何稳定网站长尾词的排名  第二、稳定长尾词需要从哪些方面着手       内容、外链  怎么布局长尾词?长尾词用内页来做,但是内页的权重很低,可以在首页做链接 1.企业站如何布局长尾词,在首页设置一个版块部分做为长尾关键词的链接,同时也要开辟带动全站更新的模块。  2.如果做的是技术文章,有很多长尾词的操作方式:把重要长尾词的文章放在重要的位置(打开浏览器就能看到的位置)  用户很容易看得到,文章标题吸引人,稳定长尾词排名。后期多回帖,少发帖,因为回帖的成本低。发帖的成本高。 
 回帖:对于热门帖子,把关键词挑选出来,然后返回到杂谈里面看那些包含这些 关键词的帖子(因为它们很有可能成为热门帖子的潜质)这些文章的收录时间会更长,因此在这些文章下面做个性签名,在这下面做的签名的保存时间会更长,因此会更有效。  
发帖:寻找热门关键词,查看他们包含哪些关键词,然后围绕这些关键词做文章。 
养博客:主关键词带长尾词的方法  
做软文:网站中期时候,寻找高权重的平台,一天或者两天一篇文章

  六.新站老站如何提高收录  老站:  
1.网站空间的速度。(net域名为商业域名),首页没参加排名,内页排名一般是因为网站首页被K掉了。IIS 
2.原创内容  3.网站标题 1)标题涵盖的关键词过多的时候,参与关键词的页面竞争排名越大 
3.路径的优化 (比如带www的和不带www的路径,带www的收录的,不带www的绝对不会收录,这样页面的权重分散了) 
5.内容的重复度过高 1)代码的重复       2)样本文字和关键词列表过于集中照成网站重复度过高  
6.网站结构      1)内容页面的设计    2)  有些网站只收录了首页,而排名还是不错的。  原因:1.关键词竞争度低。2.首页的外链。在网站降权了,内容页被K了,我们此时更新文章的时候就少加内链,不要把权重集中在单页面了。 新站不收录的原因: 1. 空间必须保持稳定性  2. 内容的原创度(内容集成的时候因该把多篇文章的内容充分编辑) 3. 页面的重复度(新站不参加广告投放,也不要在网上随便找一个)  4. 标题(对于在搜索量在上千万的时候,很难被收录,此时就应该多找相关性,比如是做seo的,就去seo相关网站上做外链,增加搜索引擎相关的路口)     内链建设:  1. 在内链建设的时候我们要明白添加什么关键词不是怎么添加关键词。  2. 第二个内链建设,怎么布置选择的关键词,小站内链回链的混乱,导致关键词排名不稳定