17Tech 消息: 如果你是Google AdSense用户,并且一直以来都在网站上投放AdSense推介广告,那么你最近很可能会在AdSense的收入结果里看到AdSense推介广告为 你带来5美元或10美元等新收入。一直以来,AdSense推介广告的规定都是当一个新用户点击了你的AdSense推介广告后注册了AdSense帐 号,然后他也开始投放AdSense广告,当他在180天内赚到了100美元广告费,你就可以得到100美元奖励。这是Google用来激励用户推广 AdSense网络的一种方法。但到底为什么最近又会出现5美元、10美元这种AdSense推介广告收入呢?
【赛迪网讯】3月9日消息,如果连苹果公司甚至意大利时装设计公司Prada SpA都能设计出一款手机,Google为什么不能?或许它会。
据IDG新闻社报道,有关美国这家互联网搜索巨擘正在考虑设计一款自己的电话的传闻,早在互联网的博客上流传开了。而Google网站上日前张贴的招聘启示,似乎证实该公司开发手机已不仅仅只是一个想法,而是已在其实验室里付诸行动,开发出一些实实在在的硬件来了。
“Google 正在开发一些无线通讯系统,其中包括一些完全新颖的概念。”Google在其最近发布的招聘启示中写道。“我们正在组建一只小小的团队,其成员将由顶尖设 Logic计师和Analog逻辑设计师组成,该小组的目标是让全球的信息无论从什么地方都可以免费接入。”
其它的资格要求包括“广博的电路建模和分析经验,优秀的编程技术,在转换电力供应设计领域的经验”及一个业余无线电爱好者证书。
据一些分析师称,由于手机不久将成为浏览互联网的最流行设备,Google想参与进来分一杯羹并不是完全道理。
Strategy Analytics分析师Phil Taylor说:“苹果和其它一些知名大公司都进军手机领域了,Google为什么不会?”
据Taylor称,Google和其主要竞争对手雅虎公司,最近都在忙着和那些急欲为客户提供网络搜索服务的运营商及希望直接在自己的产品上内嵌搜索功能的手机制造商签合约。
去年底,有传言称Google正与法国手机运营商Orange谈判,考虑合伙设计一个联合品牌,内置Google服务的手机。
“如果Google进入手机市场,它可能会和苹果一样,选择一家运营商进行合作。”Taylor说。“而且Google会像苹果只注重设计,而把生产外包出去。”
不过Taylor同时指出,Google要想在这个早已拥挤不堪的手机市场有所做为,它需要设计出一款出类拔萃的产品,就像苹果推出了一个大尺寸触摸显示屏一样。
“琢磨出一个真正新颖的设计并不会太容易。”他说。
Google一位发言人拒绝发表评论,说该公司对传闻或猜测无可奉告。
PageRank
PR 代表PageRank(网页评级)。Google这样解释到:
PageRank 技术:通过对由超过 50,000 万个变量和 20 亿个词汇组成的方程进行计算,PageRank 能够对网页的重要性做出客观的评价。PageRank 并不计算直接链接的数量,而是将从网页 A 指向网页 B 的链接解释为由网页 A 对网页 B 所投的一票。这样,PageRank 会根据网页 B 所收到的投票数量来评估该页的重要性。
今天写上一篇日志的时候顺便看了以下百度和GOOGLE的产品对比,发现有一个产品 - 百度指数和GOOGLE趋势有许多类似的地方,于是就想把两者的使用做一下对比,搜索其他人做的对比评测,感觉不太详实,自己亲自做了一下非常的有趣!
本文是在百度指数和GOOGLE趋势中以“百度”(BAIDU)和“GOOGLE”(谷歌)为关键字进行功能使用和搜索趋势对比,利用两者的产品为两者本 身作对比,得到的结果是两者在功能和使用上的差异,以及两个搜索引擎在不同时间和地区的发展趋势。按照中文和英文的使用情况,应该将其进行两两比较,但是 这样将会比较麻烦,因此这里以“百度+baidu”和“google+谷歌”为搜索关键字。
Kitchen Sink Example Project
An application that includes every UI widget GWT supports.
From:
http://code.google.com/webtoolkit/documentation/examples/kitchensink/
Download Source Code:
http://code.google.com/webtoolkit/documentation/examples/kitchensink/kitchensink.tar.gz
See Demo:
http://code.google.com/webtoolkit/documentation/examples/kitchensink/demo.html
// Copyright 2006 Google Inc. All Rights Reserved.
// This startup script should be included in host pages.
//
//////////////////////////////////////////////////////////////////
// Common
//
var __GWT_JS_INCLUDED;
if (!__GWT_JS_INCLUDED) {
__GWT_JS_INCLUDED = true;
var __gwt_retryWaitMs = 50;
var __gwt_moduleNames = [];
var __gwt_isHostPageLoaded = false;
var __gwt_metaProps = {};
var __gwt_onPropertyError = null;
var __gwt_onLoadError = null;
function __gwt_isHosted() {
if (window.external && window.external.gwtOnLoad) {
if (document.location.href.indexOf("gwt.hybrid") == -1) {
return true;
}
}
return false;
}
function __gwt_processMetas() {
var metas = document.getElementsByTagName("meta");
for (var i = 0, n = metas.length; i < n; ++i) {
var meta = metas[i];
var name = meta.getAttribute("name");
if (name) {
if (name == "gwt:module") {
var content = meta.getAttribute("content");
if (content) {
__gwt_moduleNames = __gwt_moduleNames.concat(content);
}
} else if (name == "gwt:property") {
var content = meta.getAttribute("content");
if (content) {
var name = content, value = "";
var eq = content.indexOf("=");
if (eq != -1) {
name = content.substring(0, eq);
value = content.substring(eq+1);
}
__gwt_metaProps[name] = value;
}
} else if (name == "gwt:onPropertyErrorFn") {
var content = meta.getAttribute("content");
if (content) {
try {
__gwt_onPropertyError = eval(content);
} catch (e) {
window.alert("Bad handler \"" + content + "\" for \"gwt:onPropertyErrorFn\"");
}
}
} else if (name == "gwt:onLoadErrorFn") {
var content = meta.getAttribute("content");
if (content) {
try {
__gwt_onLoadError = eval(content);
} catch (e) {
window.alert("Bad handler \"" + content + "\" for \"gwt:onLoadErrorFn\"");
}
}
}
}
}
}
function __gwt_getMetaProperty(name) {
var value = __gwt_metaProps[name];
if (value) {
return value;
} else {
return null;
}
}
function __gwt_forEachModule(lambda) {
for (var i = 0; i < __gwt_moduleNames.length; ++i) {
lambda(__gwt_moduleNames[i]);
}
}
// Called by the selection script when a property has a bad value or is missing.
// 'allowedValues' is an array of strings.
// Can be hooked in the host page.
//
function __gwt_onBadProperty(moduleName, propName, allowedValues, badValue) {
if (__gwt_onPropertyError) {
__gwt_onPropertyError(moduleName, propName, allowedValues, badValue);
return;
} else {
var msg = "While attempting to load module \"" + moduleName + "\", ";
if (badValue != null) {
msg += "property \"" + propName + "\" was set to the unexpected value \"" + badValue + "\"";
} else {
msg += "property \"" + propName + "\" was not specified";
}
msg += "\n\nAllowed values: " + allowedValues;
window.alert(msg);
}
}
// Returns an array that splits the module name from the meta content into
// [0] the prefix url, if any, guaranteed to end with a slash
// [1] the dotted module name
//
function __gwt_splitModuleNameRef(moduleName) {
var parts = ['', moduleName];
var i = moduleName.lastIndexOf("=");
if (i != -1) {
parts[0] = moduleName.substring(0, i) + '/';
parts[1] = moduleName.substring(i+1);
}
return parts;
}
//////////////////////////////////////////////////////////////////
// Called directly from compiled code
//
function __gwt_initHandlers(resize, beforeunload, unload) {
var oldOnResize = window.onresize;
window.onresize = function() {
resize();
if (oldOnResize)
oldOnResize();
};
var oldOnBeforeUnload = window.onbeforeunload;
window.onbeforeunload = function() {
var ret = beforeunload();
var oldRet;
if (oldOnBeforeUnload)
oldRet = oldOnBeforeUnload();
if (ret !== null)
return ret;
return oldRet;
};
var oldOnUnload = window.onunload;
window.onunload = function() {
unload();
if (oldOnUnload)
oldOnUnload();
};
}
//////////////////////////////////////////////////////////////////
// Web Mode
//
function __gwt_injectWebModeFrame(name) {
if (document.body) {
var parts = __gwt_splitModuleNameRef(name);
// Insert an IFRAME
var iframe = document.createElement("iframe");
var selectorURL = parts[0] + parts[1] + ".nocache.html";
iframe.src = selectorURL;
iframe.style.border = '0px';
iframe.style.width = '0px';
iframe.style.height = '0px';
if (document.body.firstChild) {
document.body.insertBefore(iframe, document.body.firstChild);
} else {
document.body.appendChild(iframe);
}
} else {
// Try again in a moment.
//
window.setTimeout(function() { __gwt_injectWebModeFrame(name); }, __gwt_retryWaitMs);
}
}
// When nested IFRAMEs load, they reach up into the parent page to announce that
// they are ready to run. Because IFRAMEs load asynchronously relative to the
// host page, one of two things can happen when they reach up:
// (1) The host page's onload handler has not yet been called, in which case we
// retry until it has been called.
// (2) The host page's onload handler has already been called, in which case the
// nested IFRAME should be initialized immediately.
//
function __gwt_webModeFrameOnLoad(iframeWindow, name) {
var moduleInitFn = iframeWindow.gwtOnLoad;
if (__gwt_isHostPageLoaded && moduleInitFn) {
var old = window.status;
window.status = "Initializing module '" + name + "'";
try {
moduleInitFn(__gwt_onLoadError, name);
} finally {
window.status = old;
}
} else {
setTimeout(function() { __gwt_webModeFrameOnLoad(iframeWindow, name); }, __gwt_retryWaitMs);
}
}
function __gwt_hookOnLoad() {
var oldHandler = window.onload;
window.onload = function() {
__gwt_isHostPageLoaded = true;
if (oldHandler) {
oldHandler();
}
};
}
//////////////////////////////////////////////////////////////////
// Hosted Mode
//
function __gwt_injectHostedModeFrame(name) {
if (document.body) {
// Insert an empty IFRAME
var iframe = document.createElement("iframe");
iframe.style.display = "none";
document.body.insertBefore(iframe, document.body.firstChild);
iframe.src = "gwt-hosted.html?" + name;
} else {
// Try again in a moment.
//
window.setTimeout(function() { __gwt_injectHostedModeFrame(name); }, __gwt_retryWaitMs);
}
}
function __gwt_initHostedModeModule(moduleFrame, moduleName) {
if (!window.external.gwtOnLoad(moduleFrame, moduleName)) {
// Module failed to load.
//
if (__gwt_onLoadError) {
__gwt_onLoadError(moduleName);
} else {
window.alert("Failed to load module '" + moduleName + "'.\nPlease see the log in the development shell for details.");
}
}
}
function __gwt_onUnload() {
window.external.gwtOnLoad(null, null);
if (__gwt_onUnload.oldUnloadHandler) {
__gwt_onUnload.oldUnloadHandler();
}
}
//////////////////////////////////////////////////////////////////
// Set it up
//
__gwt_processMetas();
if (__gwt_isHosted()) {
__gwt_onUnload.oldUnloadHandler = window.onunload;
window.onunload = __gwt_onUnload;
__gwt_forEachModule(__gwt_injectHostedModeFrame);
}
else {
__gwt_hookOnLoad();
__gwt_forEachModule(__gwt_injectWebModeFrame);
}
} // __GWT_JS_INCLUDED
Google Analytics(Google分析)是Google的一款免费的网站分析服务,自从其诞生以来, 即广受好评。Google Analytics功能非常强大,只要在网站的页面上加入一段代码,就可以提供的丰富详尽的图表式报告。今天,我将总结一下加入代码的一些技巧,使用不同 格式的urchinTracker代码,可以跟踪网站上一些特殊事件(例如不会产生综合浏览量的事件、JavaScript事件、文件下载、出站链接 等),还可以跟踪制定属性的事件(例如Adsense、完整反向链接等)。当然,阅读这些技巧前请先阅读“Google分析师帮助中心”的主要内容。
基本提示
遵守 Google Adsense 条款和协议,这是Google的游戏,遵守他们的规则,有疑问就问Google。
高访问量最重要,可以适当进行SEO
内容为王,经常更新你的网站。
为你的访客提供价值。
使用一些技巧可以使你的收入翻倍。
摘要:Google向网站站长提供的建议——遵循以下指南将有助于 Google 查找、检索您的网站并对其进行排名,这是确保在 Google 搜索结果中列出您的网址的最佳途径。
网站管理员指南
遵循以下指南将有助于 Google 查找、检索您的网站并对其进行排名,这是确保在 Google 搜索结果中列出您的网址的最佳途径。即使您选择不采纳这些建议,我们也强烈建议您密切关注"质量指南",该指南对可导致网站从 Google 索引中彻底删除的一些违禁行为做了简要说明。一旦网站删除之后,Google.com 或 Google 所有合作伙伴网站的搜索结果中都不会再显示该网站。
网站设计与内容指南:
网站应具有清晰的层次结构和文本链接。每个网页应至少可以通过一个静态文本链接打开。
为用户提供一个网站地图,并列出指向网站重要位置的链接。如果网站地图上的链接超过大约 100 个,则最好将网站地图拆成多个网页。
网站应具有实用性且信息丰富,网页文字应清晰、准确地表述要传达的内容。
要考虑到用户会使用哪些关键词来查找您的网页,确保网站上包含了这些文字。
尽量使用文字而不是图像来显示重要的名称、内容或链接。因为 Google Crawler 无法识别图像中所包含的文字。
确保 TITLE 和 ALT 标记文字简单明了并与网页内容相关。
检查链接是否损坏,HTML 格式是否正确。
如果采用动态网页(即网址中包含"?"字符),请注意并非每一个搜索引擎 Spider 收录动态网页都能像收录静态网页一样容易。缩短参数的长度并减少参数数目将有助于收录动态网页。
将每一网页上的链接数量限制在合理的范围内(少于 100)。
技术指南:
由于大部分搜索引擎 Spider 查看网站的方式与文本浏览器一样,所以可使用诸如 Lynx 的文本浏览器来检查您的网站。如果因采用了 Javascript、Cookie、Session ID's、frames (框架)、DHTML 或 Flash 等复杂技术,而导致在文本浏览器中无法看到网站的所有网页,则搜索引擎 Spider 在收录您的网站时可能会遇到麻烦。
允许搜索漫游器 (search bots) 收录您的网站,同时不采用 Session ID 或其它参数来追踪它的浏览路径。这些跟踪技术对了解个别用户的行为很有用,但由于漫游器的访问模式完全不同,采用这些技术则可能会导致对网站的检索不完 整,因为漫游器可能无法排除那些看上去不同但实际却指向同一个网页的网址。
确保您的网络服务器支持 If-Modified-Since HTTP 标题。通过该功能 Google 可以知道自上次收录以来您的网站内容是否有变化,这样可以节省您的带宽和开销。
使用网络服务器上的 robots.txt 文件。该文件会告诉 Crawler 可以收取哪些目录。请确保该文件内容的更新,以免 Googlebot Crawler 的收录意外中断。有关来访漫游器和如何控制它们的常见问题解答,请访问 http://www.robotstxt.org/wc/faq.html。
如果贵公司购买了内容管理系统,请确保该系统能导出您的内容,以便搜索引擎 Spider 可以收录您的网站。
当您的网站一切准备就绪时:
一旦您的网站在线后,请将其提交给 Google,具体网址为:http://www.google.com/addurl.html。
确保应了解您网页的所有网站都知道您的网站已处于在线状态。
将您的网站提交给相关的目录,例如,Open Directory Project 和 Yahoo!。
有关详细信息,请定期查阅 Google 的网站管理员部分。
质量指南 - 基本原则:
网页应面向用户,而不是面向搜索引擎。对用户应保持诚实无欺的态度,提交给搜索引擎的内容应与显示给用户的内容一致。
请不要为了提高搜索引擎排名而弄虚作假。根据我们的经验,一个比较好的评定方法是:您是否可以坦然地向竞争对手解释您对网站所做的一切。另一个有用的测试方法则是扪心自问:"我这样做能否帮助我的用户?如果不存在搜索引擎,我是否还会这样做?"
请不要采用旨在提高您的网站排名或 PageRank(网页评级)的链接手段。尤其要避免链接到垃圾/作弊网站或"网上恶邻",因为您自身的排名可受到这些链接的负面影响。
请不要用未授权的计算机程序提交网页、检查排名等。这些程序会耗用计算机资源并违反我们的服务条款。Google 不建议使用 WebPosition Gold? 这类产品向 Google 发送自动或用程序编写的查询。
质量指南 - 具体建议:
请不要使用隐藏文本或隐藏链接。
请不要采用隐藏真实内容或欺骗性重定向的手段。
请不要向 Google 发送自动查询。
请不要大量使用与网页内容无关的关键词。
请不要创建包含大量重复内容的多个网页、子域或域。
请不要采用专门针对搜索引擎制作的"桥页 (doorway page)",也不要采用如联属计划 (affliate programs) 这类原创内容很少或几乎没有原创内容的"饼干模子 (cookie cutter)"方式。
上述质量指南涵盖了最常见的作弊形式或操纵行为,对于此处未列出的其他误导行为(例如,通过注册知名网站的错误拼写形式来欺骗用户), Google 仍可予以拒绝。不要抱有侥幸心理,认为某种欺骗手段未在本页中列出,Google 就会认可该手段。作为网站管理员,与其花费大量时间寻找漏洞加以利用,不如尽其所能维护上述基本精神,以便为用户带来更好的体验,从而使网站获得更高的排 名。
如果您认为有网站违背了 Google 质量指南,请告诉我们,网址为:http://www.google.com/contact/spamreport.html。对于网络作弊行为, Google 希望能开发出易于推广的自动解决方案,而尽量减少人为的干预。我们将利用收到的作弊行为报告来创建广泛适用的算法,从而识别并阻止未来的作弊行为。

这是今天的一则爆炸性的新闻。首先我们要知道"自然语言"即"natural language",把自然语言处理技术应用于搜索引擎里,那么理论上,搜索引擎即可拥有理解人类所使用的自然语言的含义的能力。Powerset是 美国旧金山的一家搜索引擎公司,它的搜索引擎所使用的核心技术正是基自然语言处理技术。这使得Powerset与Google从本质上有区别。 Google依靠的是PageRank技术,即通过一定的统计学方法计算用户所搜索的关键词在网页中出现的频率,从而把相关的结果返回给用户。尽管 Google一直以来都在苦苦研究自然语言处理技术,但至今为止,我们还没看到这种技术被应用于Google的搜索引擎里(拼写纠正及搜索建议不算,因为 它们属于基于统计学的一些延伸方法)。而这一次,Powerset走出了重要的一步,也是领先于Google的一步。