百度、谷歌搜索引擎高级指令

搜索引擎除了搜索普通关键词外,还能使用一些特殊的搜索引擎高级指令。普通用户一般不会用到这些搜索引擎指令,但是从网站seo优化从业者的角度来说,这些搜索引擎命令对于了解己方网站seo优化效果、研究竞争对手以及找寻网站外链优化资源是非常有用的。这里为大家总结一下我们常用的SEO查询命令。

高级搜索命令

1、双引号

把搜索词放在双引号中,表示完全匹配搜索,也就是说搜索结果返回的页面包含双引号中出现的所有的词,连顺序也必须完全匹配。百度和谷歌都支持这个指令。

比如搜索:SEO方法图片
可以看出,返回的结果中不少页面出现关键词并不是完整的”SEO方法图片”,有的页面中“SEO”、“方法”、“图片”这三个词出现在不同的地方,中间有间隔,顺序也不相同。
把“SEO方法图片”放在双引号中再搜索:
可以看到,返回结果只都是完整而且按顺序出现的”SEO方法图片”。
使用双引号扫完可以更准确地找到特定关键词的竟争对手。

2、减号

减号(-)表示搜索结果不包含减号后面词的页面。使用这个指令时减号前面必须是空格,减号后面没有空格,紧跟着要排除的词,谷歌和百度都支持这个词。
例如:搜索 “苹果 –电影”,返回结果页面就排除了《苹果》这部电影的结果,而不影响苹果手机电脑和苹果作为水果的内容。

3、星号

星号常用作通配符,百度不支持*号搜索指令,谷歌支持。
例如:在Google中搜索 “搜索*擎”,其中的*号代表任何文字。返回的结果就不仅包含“搜索引擎”,还包含“搜索收擎”,“搜索巨擎”等内容。

4、inurl:

inurl:指令用于搜索查询词出现在URL中的页面。谷歌和百度都支持inurl:指令。inurl:支持中文和英文。简单来说就是url中包含“你要搜索词”的页面。
例如:搜索 “inurl:搜索引擎优化”,返回的结果多是网址url中包含“搜索引擎优化”的页面。
由于关键词出现在 URL中对排名有一定影响,因此使用inurl:搜索可以更准确地找到竟争对手。

5、inanchor:

inanchor:指令返回的结果是导入链接锚文字中包含搜索词的页面。(百度不支持)
比如在谷歌搜索 “inanchor:点击这里”,返回结果页面本身并不一定包含 “点击这里” 这4个字,而是指向这些页面的链接锚文字中出现了“点击这里” 这4个字。

6、intitle:

intitle:指返回的页面title中包含关键词的页面。Google和百度都支持intitle:指令。
例如:搜索 “intitle:搜索引擎优化”,就会返回页面Title包含 “搜索引擎优化” 的页面。
title是目前页面优化的最重要因素。做SEO的人无论要做哪个词的排名,都会把关键词放进title中。使用intitle: 指令找到的文件才是更准确的竟争页面。如果关键词只出现在页面可见文字中,而没有出现在title中,大部分情况是并没有针对关键词进行优化,也不是有力的竟争对手。

7、intext:

intext: 指返回的页面正文中包含关键词的页面。(百度不支持)
例如:在google中搜索 “intext:SEO方法”。就会返回页面正文中包含 “SEO方法” 的页面。

8、allintitle:

allintitle:搜索返回的是页面标题中包含多组关键词的文件。(百度不支持)
例如:allintitle:SEO 搜索引擎优化
就相当于:
intitle:SEO intitle:搜索引擎优化
返回的是标题中既包含“SEO”,也包含 “搜索引擎优化” 的页面。

9、allintext:

allintext:搜索返回的是页面正文中包含多组关键词的页面。(百度不支持)
例如:allintext:SEO 搜索引擎优化
就相当于:
intext:SEO intext:搜索引擎优化
返回的是正文中既包含“SEO”,也包含 “搜索引擎优化” 的页面。

10、allinurl:

与allintitle类似。(百度不支持)
allinurl:SEO 搜索引擎优化
就相当于:
inurl:SEO inurl:搜索引擎优化

11、filetype:

filetype: 用于搜索特定文件格式,Google和百度都支持filetype:指令。
例如:搜索 “filetype:pdf SEO” 返回的就是包含SEO这个关键词的所有 PDF文件。
百度支持的文件格式有:pdf,doc,xls,ppt,rtf,all。其中“all” 表示所有百度支持的文件类型。 Google则支持所有能索引的文件格式,包括HTML,PHP等。
filetype:指令用来搜索特定的资源,比如PDF电子书、Word文件等非常有用。

12、site:

site:是用来搜索某个域名下的所有文件。查询网站收录页面数最直接方法。
例如: site:sina.com.cn
site指令也可用于子域名。
例如:site:blog.sina.com.cn

13、link:

link:用来搜索某个url的反向链接,既包含内部链接,也包含外部链接。
比如:link:sina.com.cn
返回的就是sina.com.cn的反向链接。
不过可惜的是,Google的link:指令返回的链接只是google索引库中的一部分,而且是近乎随机的一部分,所以用link:指令查反向链接几乎没有用。
百度则不支持link:指令。

14、related:

仅Google适用,返回结果是与某个网站有关联的页面。
例如搜索:related:dunsh.org
这种关联到到底指的是什么,Google并没有明确说明,一般认为指的是有共同外部链接的网站。

综合使用高级搜索命令

上面介绍的这几个高级搜索指令,单独使用可以找到不少资源,或者可以更精确地定位竞争对手。把这些指令混合起来使用则更强大。下面是命令应用的几个例子,仅供参考:

1、inurl:gov 减肥

返回的就是URL中包含“gov”,页面中有“减肥”这个词的页面。很多SEO人员认为政府和学校网站有比较高的权重,找到相关的政府和学校网站,就找到了最好的链接资源。

2、inurl:.edu.cn 交换链接

返回的是来自.edu.cn,也就是学校域名上的包含 “交换链接” 这个词的页面。从中SEO人员可以找到愿意交换链接的学校网站。
或者使用一个更精确的搜索:inurl:.edu.cn intitle:交换链接
返回的则是来自.edu.cn域名,标题中包含“交换链接”这四个字的页面,返回的结果大部分应该是愿意交换链接的学校网站。

3、减肥 inurl:links

很多站长把交换链接的页面命名为 links.html等,所以这个指令返回的就是与减肥主题相关的交换链接页面。

4、allinurl:gov.cn+links

返回的是url中包含“gov.cn” 以及“links” 的页面,也就是政府域名上的交换链接页面。


搜索命令不是万能的,不要以为掌握了这些你的SEO工作就会很简单。恰恰相反,对于SEO来说,你掌握得越多,可能想的东西会越复杂。不过,没有这些命令也不行,这会使你的SEO工作寸步难行。相信大家看完这篇文章之后,能对搜索引擎有更好的了解。

18
Jul 2012
AUTHOR WiFeng
CATEGORY Jotting
COMMENTS 3 Comments

我能抽象出整个世界

我能抽象出整个世界...
但是我不能抽象出你...
因为你在我心中是那么的具体...
所以我的世界并不完整...
我可以重载甚至覆盖这个世界里的任何一种方法...
但是我却不能重载对你的思念...
也许命中注定了你在我的世界里永远的烙上了

静态的属性...
而我不慎调用了爱你这个方法...
当我义无返顾的把自己作为参数传进这个方法时...
我才发现爱上你是一个死循环...
它不停的返回对你的思念压入我心里的堆栈...
在这无尽的黑夜中...
我的内存里已经再也装不下别人...
我不停的向系统申请空间...
但却捕获一个异常---我爱的人不爱我...
为了解决这个异常...
我愿意虚拟出最后一点内存...
把所有我能实现的方法地址压入堆栈...
并且在栈尾压入最后一个方法---将字符串

"我爱你,你爱我吗?"传递给你...
如果返回值为真--我将用尽一生去爱你...
否则--我将释放掉所有系统资源...
给你更多的空间去追求幸福.......

15
Jul 2012
AUTHOR WiFeng
CATEGORY Jotting
COMMENTS 1 Comment

不知为何,变化如此大?

还记得10年前,可以说是乳臭未干,根本不知什么是志向,什么是人生。骑自行车上学,大概骑车也要走30分钟吧,每周回一次家,每次回家总是看到慈祥的母亲皱纹又深了,又变多了。每回一次家,姐姐就给我做好吃的,说我在学校吃不上好吃的,这个时期正好是长身体的阶段。或许是....,或许是....,那会很傻,不知道自己这么幸福。

在北京,有几个年头了。在工作中,争强好胜,喜欢有挑战性的项目。一个人的时候,偶尔就会有伤感的泪水涌现而出,不知为什么。10年中,身边的人来也匆匆,去也匆匆,让我更加懂得人生来之不易,人生之短暂。在好友的日志中看到“灰色的QQ头像,再也不会跳动”,此刻发现眼角的泪水早已经形成了两条永不相交的平行线,通向远方。

未来我们不可预测,生命的长短我们无法衡量,也许上天注定。珍惜现在,珍惜现在拥有的一切。

8
Jul 2012
AUTHOR WiFeng
CATEGORY Jotting
COMMENTS 1 Comment

chm文档打开后出现乱码

如果chm文档打开出现乱码,有两种情况:
第一、
文档本身来路不正,就是乱码文件,或者是被病毒感染。不过在360杀毒横行霸道的时代,被病毒感染的可能性还是很小的。
第二、
打开chm时,使用的编码不正确。这种情况请您先打开IE浏览器,页面 -> 编码 -> 自动选择,把这个自动选择勾上。然后重新打开此chm,你会发现内容正常了。


4
Jul 2012
AUTHOR WiFeng
CATEGORY Web
COMMENTS No Comments

php中的filesize

filesize — 取得文件大小
int filesize ( string $filename )

注意事项:
1> 对于路径中使用了“\”分隔上级目录与子目录的文件,或者是路径中包含中文字符都将会出现如下:

<?php
var_dump(filesize("E:\123.txt"));
?>

Warning: filesize() [function.filesize]: stat failed for........
2> $filename参数可以是绝对路径,也可是相对路径
3> 对于官方手册中提到的:
Note: 因为 PHP 的整数类型是有符号的,并且大多数平台使用 32 位整数,filesize() 函数在碰到大于 2GB 的文件时可能会返回非预期的结果。对于 2GB 到 4GB 之间的文件通常可以使用 sprintf("%u", filesize($file)) 来克服此问题。
ps : 这点初步测试结果是不会出错


28
Jun 2012
AUTHOR WiFeng
CATEGORY Web
COMMENTS No Comments

htmlentities与htmlspecialchars的区别

php官方手册的解释:
htmlentities() 函数把字符转换为 HTML 实体。
htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。

下面是作者的理解,如有差错,请您指明。
htmlentities 与 htmlspecialchars 在处理英文字符的时候完全一样,在处理中文字符的时候就有区别啦。
htmlentities 将会对几个特殊字符进行转换,但是遇到中文的时候,如果文件的编码与第三个参数不同就会出现乱码。
而htmlspecialchars 却只可能转换如下几个特殊字符:
& (和号) 成为 &amp;
" (双引号) 成为 &quot;
' (单引号) 成为 &#039;
< (小于) 成为 &lt;
> (大于) 成为 &gt;
因此,对于中文不会出现乱码。请看以下代码对比:

<?php
$str='<a href="test.html">测试页面</a>';
$str1 = htmlentities($str);
echo $str1;   //出现乱码
$str2 = htmlspecialchars($str);
echo $str2;   //显示正常
$str3 = htmlentities($str, ENT_COMPAT, 'utf-8');
echo $str3;   //显示正常
?>
以上文件编码是:utf-8

在大多数情况下,我们都不需要对中文进行处理,所以在转换html代码的时候还是建议使用htmlspecialchars(),这样可以少些两个参数,呵呵!

15
Jun 2012
AUTHOR WiFeng
CATEGORY Web
COMMENTS 2 Comments

PHP设计模式:单例模式

简单的说,一个对象(在学习设计模式之前,需要比较了解面向对象思想)只负责一个特定的任务;

使用类(class)来实现:
1、构造函数需要标记为private(访问控制:防止外部代码使用new操作符创建对象),单例类不能在其他类中实例化,只能被其自身实例化;
2、拥有一个保存类的实例的静态成员变量。
3、拥有一个访问这个实例的公共的静态方法(常用getInstance()方法进行实例化单例类,通过instanceof操作符可以检测到类是否已经被实例化)。
另外,需要创建__clone()方法防止对象被复制(克隆)。在其他语言比如Java中是没有这种方法,所以这时php的特别之处。

为什么要使用PHP单例模式?
1、一般情况下,php应用中会存在大量的数据库操作, 使用单例模式, 则可以避免大量的new 操作消耗的资源。
2、如果系统中需要有一个类来全局控制某些配置信息, 那么使用单例模式可以很方便的实现。

示例如下:

<?php
/**
 * 服务器请求处理类
 *
 * TODO getSiteUrl
 * @package Request
 */
class Typecho_Request
{

	/**
	 * 单例句柄
	 *
	 * @access private
	 * @var Typecho_Request
	 */
	private static $_instance = NULL;

	/**
	* 构造方法
	*
	* @access private
	*/
	private function __construct() {
		
	}

	/**
	* 构造方法
	*
	* @access private
	*/
	private function Typecho_Request() {

	}

	/**
	 * 获取单例句柄
	 *
	 * @access public
	 * @return Typecho_Request
	 */
	public static function getInstance()
	{
		if (NULL === self::$_instance) {
			self::$_instance = new Typecho_Request();
		}

		return self::$_instance;
	}

	/**
	 * 在克隆方法中进行提示
	 *
	 * @access public
	 * @return void
	 */
	public function __clone() {
		//这个根据需要进行
		trigger_error("The class does't allows clone.", E_USER_ERROR); 
	}  
}

$request = Typecho_Request::getInstance();
var_dump($request); //echo object(Typecho_Request)[1]

$request_new = new Typecho_Request();
var_dump($request_new); //error

$request_clone = clone $request;
var_dump($request_bak);  //error 

?>
12
Jun 2012
AUTHOR WiFeng
CATEGORY Web
COMMENTS No Comments

Discuz! 链接提示插件

第一个插件终于开发完成了。
下载地址:http://addon.discuz.com/?@linktips.plugin
功能:论坛、微博中的链接,当鼠标滑过时进行提示:打开、复制、举报。后台可以看到举报信息哦,管理员可以根据用户举报的地址进行核对,如果是违法地址,既可以放入黑名单,如果确定是合理的地址,即可放入白名单。

31
May 2012
AUTHOR WiFeng
CATEGORY Web,Asset
COMMENTS 1 Comment

javascript 事件绑定(兼容各种浏览器)

IE中的 attachEvent 函数在添加事件绑定的时候不传递this对象。这让开发者很纠结,不过有政策就有对策。使用如下方法代替事件绑定函数,兼容各种浏览器。

<script type="text/javascript">
function addEvent(o,e,f) {
	if(o.addEventListener) {
		o.addEventListener(e,f,false)
	} else {
		var ctype="_"+e,a,i;
		if(!o[ctype]){
			a=o[ctype]=[];
			o.attachEvent("on"+e,function(evt){
			evt=event;
			evt.target=event.srcElement;
			for(var i=0,l=a.length;i<l;i++)
				a[i].call(o,evt);
			});
		}
		a=o[ctype];
		i=a.length;
		while(i--)if(a[i]==f)return;
		a.push(f);
	}
}

function delEvent(o,e,f) {
	if(o.removeEventListener) {
		o.removeEventListener(e,f,false);
	} else {
		var ctype="_"+e;
		if(o[ctype]) {
			var a=o[ctype],i=a.length;
			while(i--)
			if(a[i]==f) {
			 a.splice(i,1);break;
			}
		}
	}
}
</script>

addEventListener-事件流(小插曲,只是提醒注意这个知识点)
说到 addEventListener 不得不说到事件流,先说事件流对后面的解释比较方便。
当一个事件发生时,分为三个阶段:
捕获阶段 从根节点开始顺序而下,检测每个节点是否注册了事件处理程序。如果注册了事件处理程序,并且 useCapture 为 true,则调用该事件处理程序。(IE 中无此阶段。)
目标阶段 触发在目标对象本身注册的事件处理程序,也称正常事件派发阶段。
冒泡阶段 从目标节点到根节点,检测每个节点是否注册了事件处理程序,如果注册了事件处理程序,并且 useCapture 为 false,则调用该事件处理程序。
上面提到的 useCapture 也就是 addEventListener 的第三个参数了。

还要谢谢Ander的帮助:http://user.qzone.qq.com/81839603/infocenter#!app=2&pos=1319529117

31
May 2012
AUTHOR WiFeng
CATEGORY Web
COMMENTS 1 Comment

js中document.body.scrollTop始终为0

代码改成 document.documentElement.scrollTop这样就没有问题了。
造成这个的原因是html页面声明了:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
当然这一条还是不能删除的。

27
May 2012
AUTHOR WiFeng
CATEGORY Web
COMMENTS 2 Comments