iLeichun

当前位置:首页

别担心,有HTML5,CSS3在

分类:网站建设  来源:网络  时间:2012-4-11 21:01:35

HTML5和CSS3热潮正横扫网络,从事互联网行业,特别是前端工作者,大家或多或少都有了解、学习和使用,HTML5和CSS3包含丰富的技术内容,在每周的技术分享交流会中,页面构建工程师@Sunshine珍兒 同学,从三个特别的角度出发,配合丰富的实例,概括了HTML5与CSS3对页面工作带来的息息相关的变化和精彩。

一、我们担心苦恼的那么事儿

1.1 对于页面构建者来说:
表现层会遇到一些难题,欣赏绚丽的UI设计稿的同时,也在苦恼怎样用现用的技术力量去实现圆角,阴影,高光,渐变,透明等各种表现效果。为了精准UI还原度,我们会不惜花费更多字节数切大图或者添加一些多余的空标签。
结构层同样也会遇到麻烦。首先看页面首行代码doctype,包含了,冗长而复杂,从事多年开发的你能记住这段话吗?
接着看满屏几乎都是毫无语义的div标签,为了实现复杂的设计效果,我们不得不使用多个层级嵌套,造成代码冗余。
再看看页面中一些交互动画效果,基本都是JS和flash开发人员所实现,页面构建在现有技术上只能有心而无力。

1.2 对于js开发人员来说:
一个简单的交互效果,一个又一个表单验证,需要使用一大段JS代码去实现,为了兼容各个浏览器,不得不多写数行代码。

1.3 对于flash开发人员来说:
Flash开发人员担心的是用户没有安装必要的插件,担心插件被禁用或者屏蔽,像现在apple的ipad就已经不支持flash插件了。

以上的担心与苦恼你曾有过吗?如果有,别怕,HTML5和CSS3来了,已经来了!

二、我们开心盼来的那么事儿

HTML5和CSS3的到来,让我们网页开发者可以做的更多,更好!
CSS3带来了圆角,半透明,阴影,渐变,多背景图等新的特征,轻松实现了设计稿中常见的图层样式,用简洁的代码替代图片,代替了多余的空标签。CSS3带来的媒体查询可以为不同的显示设备定义相匹配的样式,灵活实现了智能的流体布局,CSS3还为我们带来了强大的选择器以及变形动画。下面让我们一起来看看实际工作中的具体应用吧~


(实例一)

类似实例一的设计稿,我们常见的做法是在无序列表li里为不同小图标识写上不同的class类名,或者单独为每个小图标写上空标签定义样式,这样带来的问题之一是html结构不干净简洁,二是使后续的开发工程师多了一层判断。
而利用CSS3强大的选择器就能轻松解决这个问题,E[foo^=”bar”]表示的是选择匹配E的元素,且该元素定义了foo属性,foo属性值包含前缀为 bar的子字符串.
以下是片段代码。

CSS3包含了很多新的属性特征,动画效果尤为受大家喜爱。实例二是为这次分享做的一个学习转动盘。用JS和CSS3去控制转盘的指针转动效果。


(实例二)

该实例重点在于animation-play-state属性,paused表示的是暂停。
Animation属性包含了动画名称Animation-name, 动画时间Animation-duration, 动画播放方式Animation-timing-function,动画开始播放时间Animation-delay,动画播放次数Animation-iteration-count,动画播放方向Animation-direction等等,实例详细代码请见PPT。

领阅了CSS3带来的价值,那么HTML5给我们带来了哪些盼来的事儿呢?
HTML5的口号是简单至上,尽可能地简化:简化了doctype,如;简化了字符集声明;新增了更多语义化标记header、footer、section、article、aside、nav;新增了很多标识元素如canvas、audio、video,配合简单而又强大的HTML5 API,让浏览器发挥它原生的能力,来替代复杂的javascript代码。


(实例三)

实例三是用canvas画的一个weibo logo图标。这里用到了两个知识重点:
其一,context.lineCap=[value],线帽风格有三种:对接(butt)默认值,圆形(round)方形(square);
其二,arc(x, y, radius,startAngle, endAngle, anticlockwise), x,y指定绘制的圆弧的圆心下xy轴坐标,radius是圆的半径,startAngle和endAngle指定了起始弧和结束弧,anticlockwise指定是否使用逆时针方向绘图,逆时针方向(TRUE),顺时针方向(FALSE)。


(实例四)

实例四是用audio标签做的一个音乐播放器,用HTML5 API提供的属性去控制该控件的播放play(),暂停pause(),进度条,当前时间currentTime,音量volume,歌曲选择且封面和曲名相应变化等效果。
介绍audio标签常用的几个可脚本控制的特性:
Autoplay:控制音频在就绪后自动播放,或者查询是否已设置为autoplay。
Controls:向用户显示或隐藏默认控件界面,比如播放按钮。
loop:用来设置媒体文件是否循环播放。
currenTime:返回从开始播放到现在所用的时间(以S为单位)。
Muted:设置静音或者消除静音。


(实例五)

实例五是演示强大的表单,它的强大不仅体现在更多的type类型tel,email,url,search,range,number,color,datetime等更强的体现在它对应的HTML5 forms API.
讲三个工作中常见的交互效果所用到的特性:
1、autofocus指定某个表单元素自动获得焦点,但需要注意每个页面仅只允许一个autofocus特性。
2、placeholder 表单输入型控件的默认文案,当获得焦点或者输入值时,默认文案自动消失。
3、list特性和datalist元素,使用该组合,可以实现常见的联想输入浮层。

三、我们正满怀期待的那些事儿

理想总是美好的,然而不管是浏览器的历史遗留问题,还是互联网用户的习惯,都或多或少的限制着HTML5和CSS3的推广,我们期待规范制定者们能够尽快推出统一的标准,各个浏览器厂商能够更好更多地支持新特性。
期待我们不再为了兼容各种浏览器,而写上大量的私有特性,不再因为某些浏览器的限制,而采取不必要的冗余措施。
期待更多的互联网使用者尽快和老顽固IE6说拜拜。
期待在实际工作中让我们参与更多,做的更多。
因为HTML5和CSS3,一切不用担心。
Ppt地址: http://momolovei.sinaapp.com

10个关于视差滚动效果的教程和插件

分类:网站建设  来源:网络  时间:2012-4-11 20:56:03
 

近些年来,用户对视觉体验的要求不断提高,而设计师们也开始在网页设计中加入各种特效元素以满足用户的需求。其中有一种特效的效果很具有吸引力,它就是视差滚动效果。视差滚动(Parallax Scrolling)是指让多层背景以不同的速度移动,形成立体的运动效果,可以带来非常出色的视觉体验。

随着这种炫酷的效果首次在Nike 2011年的 Nike Better World 项目中完美展现,如今这种视差滚动效果被越来越多的国外网站所应用,成为Web设计的热点趋势。因此,本文整理了十种关于此效果的教程和插件和大家分享,希望为你的网站设计提供一些灵感。

不过有两个方面需要读者注意:

  1. 以大量图片为特色的网站应该考虑图像的预加载问题,以便为用户提供更好更流畅的视觉体验;
  2. 某些网站页面在移动设备上的效果可能较之在PC上有所不同,一些功能也可能无法正常使用。

1、Parallax Slider

一个超级棒的插件,为你的网站提供纵深和滑动效果。

2、Javascript视差效果

一份帮助你增加网页立体层次感的教程。

3、Nike Better World场景的背后

一份为那些急切想重现NIKE网站滚动效果的设计师准备的教程。

4、用jQuery和CSS构建一个具有视差滚动效果的网站界面

一份为那些想在此领域了解的更深的设计师准备的例子和教程。

5、用JQuery创建一个时尚的具有视差背景的效果

一份教程,在背景上帮你添加一些滚动的云彩。

6、动画背景式的网页头部

用一个动画式的网页头部来让你的访问者为你欢呼吧!

7、视差滚动教程

一份视差效果和内容同时出现的有趣的教程。

8、JQuery Image Prallax

一个通过重复和动画运动产生立体错觉的插件。

9、Stellar.js

一个为任何滚动元素提供视差滚动效果的JQuery插件。

10、Curtain.js

允许你嵌入一个类似于幕布升起的效果到你的网页中。

10款实用的CSS开发助手推荐

分类:CSS  来源:网络  时间:2012-4-11 20:52:56

本文整理了10款非常实用的CSS工具,这些工具可以帮你处理一些单调重复性的工作,大大提高了Web开发工作效率,简化了工作流程。

1. Animatable

该工具用于创建CSS3动画,创建的动画可以在任何平台或设备(包括Android、BlackBerry、iOS 和WebOS等)中的现代浏览器中运行。即便你不熟悉CSS,该工具也能帮助你创建多场景的CSS3动画。

2. CSS3 Buttonize Framework

这是一个轻量级、灵活、即时按钮框架。只需简单选择按钮样式示例,然后根据提供的链接下载CSS代码即可。该框架还会告诉你如何使用这些代码。

3. Patternify

这是一个简单的CSS图案生成器。你可以在基于Web的图形化界面中绘制你想要的图案,然后该工具将自动生成CSS代码。

4. CSS3 Patterns Gallery

正如该工具的名字,这是一个CSS图案画廊,网页中显示了每个图案的预览,单击你需要的图案,即可显示该图案的CSS代码。

5. Columnal

这是一个CSS网格系统,整合了两套自定义CSS代码。Elastic网格系统来自cssgrid.net,另外一些来自960.gs。

6. Spritemapper

该工具可以将多个图片合并成一个,并生成相应切片的CSS配置代码。这样,既节省了你写代码的时间,又提高了网页加载时间。

7. The Web Font Combinator

该工具通过示例,让你直观地试验、预览页面中各部分(标题、副标题、正文)字体的效果。

8. Layer Styles

这是一个基于浏览器的图形编辑器,你可以在一个对话框(类似于Photoshop图层样式对话框)中设置图形的样式,然后该工具会自动生成CSS代码。

9. Sencha Animator

这是一个桌面应用,允许你创建可在现代浏览器和触屏移动设备中运行的CSS3动画。

10. Holmes

这是一个CSS样式诊断工具,通过添加一个类,即可在页面中高亮显示一些错误或无效的HTML/HTML5标记,如使用红色边框显示错误信息、黄色边框显示警告信息、灰色边框显示不赞成使用的样式,还可以突出显示可改进的标记、非W3C元素和属性等。

用不同语言实现脸部辨识

分类:编程开发  来源:网络  时间:2012-4-11 20:50:49

脸部辨识是通过图像算法来判断人脸位置和大小的计算机技术。它指认面部特征,忽略其他图像噪音,譬如建筑物,树木和身体。现在大多数社交网络平台的相册都有这个功能,在你上载了一张照片后,它自动跑算法,在照片上标识出你的朋友。此文向你介绍用不同的插件和库来实现这个功能。

jQuery 脸部辨识

jQuery的插件在照片上标识脸部并给出他们的坐标和大小。这个插件是由六六(音译:Liuliu)结合HTML5 canvas开发的,所以只能在支持HTML5的客户端跑。有兴趣的话可以参见这个样例(见下图,不过要翻墙),整套算法代码可以在git hub下载。

 

用不同语言实现面部辨识
(jQuery 脸部辨识样例)

 

PHP 脸部辨识扩展

提供了用PHP实现的OpenCV (Open Source Computer Vision) 。它包含两个函数face_count() 和face_detect(). 第一个给了在一张图像上所标识的面部数量。第二个给了一个他们的坐标数列和总数量。你可以在XARG’s page.找到安装程序和使用手册,还有Demo。

脸部辨识API

这个API是由一个罗马尼亚人开发。这个使用还是很方便的。你的程序发给它API认证和要分析的图像URL,它返给你一个XML数据包含在图像上发现的所有脸部数据。这个包特别方便,是因为它可以直接分析URL而不是图像数据,所以你可以直接在服务器上抓链接然后进行分析。

Ruby

这个是跟使用OpenCV的Ruby包,和PHP的那段程序很像。你们可以在Ruby页面下载程序。

OpenCVDotNet

这个是为.NET framework开发的程序管理,通过他可以直接从C#里面叫OpenCV的函数。 它包括一个DLL (C++写的) 把OpenCV包在.NET的类里面,这样VB.NET, C++和C#都可以用。

关于译(作)者:
潘文佳:软件工程师。从事iPhone/iPad、Android手机应用开发。关注移动应用产品设计和市场展望

让你创建更好的jQuery插件的10条建议

分类:JQuery  来源:网络  时间:2012-4-11 20:48:15

使用相同的设计模式和架构也让修复bug或者二次开发更容易。一套经过验证的架构可以保证我的插件不出大的问题,不论插件简单还是复杂。我在这里分享10条我总结的经验。

1. 把你的代码全部放在闭包里面

这是我用的最多的一条。但是有时候在闭包外面的方法会不能调用。不过你的插件的代码只为你自己的插件服务,所以不存在这个问题,你可以把所有的代码都放在闭包里面。而方法可能应该放在Prototype方法内部,我们后面会讲到这一点。

1
2
3
4
(function($)
 {
 //code here
 })(jQuery);

2. 提供插件的默认选项

你的插件应该会有一些选项是可以让开发者设置的,所以提供恢复默认选项是以有必要的。你可以通过jQuery的extend功能来设置这些选项:

1
2
3
4
5
6
7
8
var defaultSettings = {
   mode            : ¹Pencil¹,
   lineWidthMin    : ¹0¹,
   lineWidthMax    : ¹10¹,
   lineWidth       : ¹2¹
};
  
settings = $.extend({}, defaultSettings, settings || {});

3. 使用返回一个元素

JavaScript/jQuery有一个很好的特点就是可以进行方法级联,所以我们不应该破坏这个特性,始终在方法中返回一个元素。我在我的每一个jQuery插件中都遵守这一条。

1
2
3
4
5
6
7
8
9
 $.fn.wPaint = function(settings)
  {
    return this.each(function()
    {
        var elem = $(this);
  
        //run some code here
    }
}

4. 一次性代码放在主循环以外

这一条很重要,但是常常被忽略。简单的讲,如果你有一段代码是一堆默认值,只需要被实例化一次,而不是每次调用你插件功能的时候都实例化,你应该把这段代码放在插件方法的外面。这样可以让你的插件运行的更高效,节省内存。我们将会在后面讨论prototype的时候,看这个方法在实际中的运用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 var defaultSettings = {
    mode            : ¹Pencil¹,
    lineWidthMin    : ¹0¹,
    lineWidthMax    : ¹10¹,
    lineWidth       : ¹2¹
};
  
$.fn.wPaint = function(settings)
{
    settings = $.extend({}, defaultSettings, settings || {});
  
    return this.each(function()
    {
        var elem = $(this);
  
        //run some code here
     }
}

你可以注意到,上面代码中的“defaultSettings”是完全在插件方法外面的,由于这些代码是在闭包里面,我们不用担心这些变量被重写。

5. 为什么要设置 Class Prototyping

作为你代码的血与肉,方法和函数应该放在prototype函数内。有两个原因:

▲它可以节省很多内存,因为可以不用重复创建这些方法。

▲引用一个现成的方法比重新创建一个好快很多。

简单的说,prototype就是扩展了一个对象,为它提供方法,而不用在每一个对象中实例化这些方法。这也让你的代码更有条理和高效。一旦你习惯这种开发方式,你会发现它在你将来的项目中为你节省了很多时间。

6. 如何设置 Class Prototyping

设置一个 prototype 方法有两个部分。首先我们需要创建我们最初的类定义,在多数情况下这就意味着创建一个对象。这个定义包含了每一个对象实例都不同的部分。在我的 Paint jQuery Plugin 插件中,我是这么写的:

1
2
3
4
5
6
7
8
9
 function Canvas(settings)
{
    this.settings = settings;
    this.draw = false;
    this.canvas = null;      
    this.ctx = null;
  
    return this;
}

下面来添加全局的方法:

1
2
3
4
5
6
7
Canvas.prototype =
{
  generate: function()
 {
        //generate code
  }
}

这里的关键是要让prototype的方法是通用的,但是数据是每个实例自己的,可以用“this”引用。

7. 使用 “this” 对象

通过使用“$this”,我们可以向别的闭包传递正确的引用。我们也可能需要向别的方法传入 $this 引用。需要注意的是, $this 这个名字是可以改的,任意的变量名都可以。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 Canvas.prototype =
{
    generate: function()
    {
        //some code
  
        var $this = this;
  
        var buton = //...some code
  
       button.click(function(){
            //using this will not be found since it has it¹s own this
  
            //use $this instead.
  
           $this.someFunc($this);
        });
    },
  
    someFunc: function($this)
    {
        //won¹t know what "this" is.
        //use $this instead passed from the click event
    }
}

8. 在每一个对象中保存设置

我一直在每一个对象中保存自己的设置,然后操作它自己的设置。这样你就不用在不同的方法中传递很多参数。把这些变量放在对象中,也方便你在其他地方调用这些变量。

1
2
3
4
5
6
 function Canvas(settings)
{
    this.settings = settings;
  
    return this;
}

9. 分离你的Prototype方法逻辑

这可能是一个基本的原则。当你在犹豫是否需要提供一个方法的时候,你可以问你自己 “如果其他人要重写这个方法的话,你的代码是否能满足他的需求?”或者“别人来写这个方法有多困难?”。当然这是一个灵活性拿捏的问题。这里列出了我的 Color Picker jQuery Plugin  的方法,你可以参考一下:

1
2
3
4
5
6
7
8
 generate()
appendColors()
colorSelect()
colorHoverOn()
colorHoverOff()
appendToElement()
showPalette()
hidePalette()

10. 提供 Setter/Getter 选项

这一条不是必须的,但是我发现我所有的插件都包用到了这一条。因为它只需要一点点代码,就能为别人提供一个他可能需要的功能。

基本上,我们只要让开发者能够设置或者获取元素已经存在的值:

1
2
 var lineWidth = $("#container").wPaint("lineWidth");
$("#container").wPaint("lineWidth", "5");

首先我们要把元素和对象关联起来,然后我们就可以引用它。我们在返回元素之前做如下操作:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 return this.each(function()
{
    var elem = $(this);
  
   var canvas = new Canvas(settings);
  
    //run some code here
  
   elem.data("_wPaint_canvas", canvas);
}
下面的代码明确了我们究竟要做什么:
$.fn.wPaint = function(option, settings)
{
   if(typeof option === ¹object¹)
    {
        settings = option;
    }
    else if(typeof option === ¹string¹)
    {
        if(
            this.data(¹_wPaint_canvas¹) &&
            defaultSettings[option] !== undefined
        ){
            var canvas = this.data(¹_wPaint_canvas¹);
  
            if(settings)
            {
                canvas.settings[option] = settings;
              return true;
            }
            else
            {
                return canvas.settings[option];
           }
        }
        else
            return false;
    }
  
    return this.each(function()
    {
        //run some code here
    }
}

以上十条基本上覆盖了jQuery插件开发的核心,并且可以作为开发的模板。有一套基本的代码可以极大的缩短你的开发时间,并且能够让你设计插件架构的时候更自信。

什么情况下可以不写PHP的结束标签“?>”

分类:个人日志  来源:网络  时间:2012-4-9 21:18:33

我们经常看到有些PHP文件中的代码是只有开始标签,而没有结束标签的,那么什么情况下可以不写这个结束标签,而什么情况下必须写?先来看2个例子:

下面的代码正常运行:

<?php

    echo 123456;

 

下面的代码报错:

<?php

    echo 123456;

    <p>abc</p>

 

原因分析:

前者是纯php代码,可以不写结束标签,也不推荐写结束标签;后者除了php代码,还有html代码,必须要写结束标签。

 

为什么不推荐前者写结束标签?

在不写php结束标签时,默认从开始标签往后都是php代码,如果有其他代码,那就会报错。php只能运行在php标签里面的脚本,在脚本之外的所有字符,包括你看不见的空格或者回车,制表符号,都是作为输出内容会response到客户端的,这样就有可能会产生意想不到的事情。例如文件里面使用了header函数,这个文件同时又包含了另外一个文件,并且被包含的文件的php标签外有空字符,这个时候会报header already send的错误。我们查看一些网页的源代码看到的开头部分有很多空格和换行,就是因为这个原因导致的。

解决方案建议:

库文件、或者一些class文件等只有纯php代码的文件不推荐加结束标签。
 

CPU使用率高导致电脑突然关机的问题分析与解决

分类:个人日志  来源:网络  时间:2012-4-8 23:56:35

CPU使用率高了,导致散热不行,致使CPU温度过高,是主板自动保护关机的。本文将做个简单的原因分析并提供相应的解决办法。

CPU使用率高导致电脑突然关机的问题分析,可能的原因:

1. CPU风扇灰尘太多,导致散热不良,可以考虑清理一下CPU风扇和散热片的灰尘。

2. 如果风扇有问题,可以换一个好一点的风扇。

3. 机箱散热不良,可以打开机盖保持空气流通。

4. 修改BOIS中的CPU警戒温度,步骤如下:

一般来说,BIOS有2种
分别是AWARD BIOS和AMI BIOS
(1)AWARD BIOS

选择Power Management Setup(电源管理设定)
中的
CPU THRM-Throttling(CPU温控)


(2)AMI BIOS
选择Power Management Features(电源管理设定)
中的
CPU Critical Temperature (CPU警戒温度)

最后按F10保存退出,重启就好了。

怎样挑选好域名

分类:互联网  来源:网络  时间:2012-4-7 12:35:06

一个好的域名是成功的开始,当您要注册一个新的域名时,请记住下列域名命名原则:

a) 容易记这是最重要的原则
网易现在已在品牌宣传上放弃域名nease.com和netease.com,而改用163.com,因为后者比前者更好记。

b) 要同你的商业有直接关系
虽然有好多域名很容易记,但如果同你所开展的商业活动没有任何关系,用户就不能将你的域名同你的商业活动联系起来,这就意味着你还要花钱宣传你的域名。例如,一看到DrugStore.com马上知道是网上药店。

c) 长度要短
长度短的域名不但容易记,而且用户花费更少的时间来输入你的域名。例如美国最大的传统连锁书店 Barnes & Noble开设了网上书店,原来用的域名为barnesandnoble.com,自从改为bn.com后,访问量和销量有了很大的增长。

d) 正确拼写英文单词或拼音
如果你以英文单词或拼音作为域名,一定要拼写正确。

e) 用你的商标或企业名称
如果你已注册了商标,请将商标名称作为域名。如果你面对的是本地市场,请将企业名称作为域名;如果要面向国际市场,请遵守上面的原则2。

f) 注册.com下的域名
.com是首选的顶级域名,可显示企业的全球化理念。

g) 便于品头传播
注册的域名最好朗朗上口,在日常的交谈中好说好记,特别是我们国人的英语水平基本都是很中国特色的,诸如“J”和“G”就常常会混淆不清。

h) 不要侵犯人家的商标
新的全球域名政策规定所注册的域名不能包含商标或名人的名字,如果你的域名违反了这条原则,不但会失去所注册域名的拥有权,而且将被罚款和起诉。

 

来源:http://www.11586.com/point_html/point_id=470.html

网站建设中防止灌水机恶意攻击的解决

分类:网站建设  来源:网络  时间:2012-4-7 12:01:37

网站建设中彻底和灌水机说再见,我们有哪些常用方法可以阻止灌水机的恶意攻击?

1、两次数据入库间隔时间判断

正常情况下用户两次表单提交的时间间隔一般不会在3秒以内,也就是说3秒以内提交的多个表单数据都有可能出问题,根据墨匪定律的那种说法:只要事情有可能出错,那它一定会出错。所以三秒以内录入的数据它就有问题,在这里只要对两次入库时间进行保护即可,如果两次表单提交时间相隔3秒以内,就禁止再录入即可。

2、验证码判断法

目前整个互联网都在使用的一种方法,缺点就是影响客户体验,严重折磨用户。

3、数据手动审核

如果是内部系统可以考虑,但如果是公开服务的应用,审核的数据量是一个问题。

4、来源判断检查

同一个来源(ip)允许发布的最大数量范围

5、黑名单策略

电话黑名单、(ip)黑名单

 

来源:http://blog.ja168.net/submit-repeat-216.html

说说百度和谷歌搜索引擎优化之间的区别

分类:SEO  来源:网络  时间:2012-4-7 1:09:32
  众所周知,google和百度对相同中文搜索词的排序有着明显的不同,当然英文就更不用说了,这里我们主要讨论中文领域的异同。今天,我们从搜索引擎优化的角度讨论google和百度的具体差别。他们对关键词的算法排序是有区别的,但我个人认为在关键因素上,他们共同认可的正面因素应该是不小的,比较显而易见的区别是,google显然更重视第三方对你的网站的评价,而百度,我认为正在一步一步向google靠近,尽管现在在互联网的很多方面,百度表现出来的是唯利是图的嘴脸,但我的观点是要么像google一样做一个不作恶的专业的搜索引擎,要么做一个大型门户,而作为搜索引擎的“百度”沉没。接来下进入正题。
  很多人说,做百度的排名比做google容易很多,我个人对这个观点持保留意见,为什么呢?百度不客观的因素在他的排序算法里面体现的非常淋漓尽致,一一说明:
  1、“业务因素”,比如你的站对百度来说,存在影响他们业务的因素,有可能妨碍他们的收益,比如我们在做的工作:seo,百度其实对seo是非常仇视的,它认为我们试图去抢它创造出来的蛋糕,这跟google一直强调与seo从业人员一起创造双赢局面的态度全然不同。很多百度认为“影响业务”的网站,无论从抓取率还是排序上都是被分配了特殊的权重的,导致这些网站的SEO流量怎么也做不起来。这样被区别对待的网站有很多,但我们没有办法,因为目前的中文搜索领域几乎是百度说了算数,所以我非常希望能出来另一家中文搜索可以跟百度抗衡的,这样站长的生存环境才不会越来越恶劣。
  2、“尺度因素”,百度对站的节奏要求比较严格,比如一个站上来就同时使用了很多追求效果的强调标签,或者在title、keywords、description多次重复相同的关键词,这样是很容易被百度处理的,怎么应对呢,比如www.1836.com这个游戏站,处于初级阶段,那么我们一律抛弃keywords标签,本来description也要放弃的,但考虑搜索结果的用户体验,就暂时保留了;相反的,google除非刻意的作弊,比如隐藏的重复关键词等,一般是不会被处罚的;所以,知道了这个因素,我们在做百度的排名更要求注意目前的站在百度的眼里大致处于什么样的位置和阶段,然后做出相应的调整。
  3、“人工因素”,百度对热门词往往会有人工出面审核进行干预排名,google也有人工审核,但是是奔着处理作弊网站而来的,而且尺度还很宽松的。百度的人工干预会让你在做一些热门词语的时候非常麻烦,这点就不多说,大家都经历过。
  4、“数据因素”,google咖啡因的更新,揭示了数据中心的处理效率是搜索引擎的命脉,为什么呢?有人说是每隔9个月互联网上的信息量就翻倍,搜索引擎要保证一个基本的信息查全率,就需要能跟上这种信息暴增的速度。理论上来说,有越来越多的信息是搜索引擎找不到了的。如:现在百度在收录速度上落后于google,所以google上能找到比百度更多更新的结果。一个大型的服务器集群,管理起来是非常考验一个公司的数据处理能力的,比如百度有时候会出现的那种突然大量收录消失了的状况,我们在google上是很难见到的,这也说明了,很多时候我们的收录掉了,我们的排名掉了,是百度的问题,不是我们的问题。
  5“竞价因素”,百度搜索很多商业词,用户要看搜索结果必须拖动滑块,因为前10名是广告,这个因素也不多说了,大家都心知肚明。
  以上5个是比较客观的因素,我们主要从百度出发讨论两者的一些客观区别。当然,还有很多因素上两者也是有区别的,比如外链、关键词密度、词频、页面布局等,这些就比较主观了,这些做好了对百度和google来说肯定都是正面因素,但是比例或者侧重点是有区别,具体区别多少,那就见仁见智了。

来源:http://www.wangzhanbaojia.com/new/a1470.html

  • 60
  • |<
  • <<
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • >>
  • >|