让文字
绕过心间越过指间融于笔下

搜索引擎如何收录

顾 志慧阅读(4881)

对SEO(搜索引擎优化)而言,让网站内的页面能够及时、全面地被搜索引擎索引、收录应该说是首要的任务,这是实施其他SEO策略的最基本保证。——不过,这也是往往易被高估的一个环节,比如说我们时常可以看到某些人宣称自己的网站被Google收录了多少页面如几K甚至几十K等以证明SEO工作的成功。但客观地说,网页仅仅被搜索引擎索引、收录是没有太大的实际意义,往往只能沦为浩如烟海的Internet世界中的殉葬品,更重要的是如何让网页出现在针对特定搜索项的SERP(搜索结果页面)前几页。——许多人相信,让网站内尽可能多的页面被收录进搜索引擎索引数据库终归不是一件坏事,网页越多,暴光的机会也便越大,虽然最终效果如何存在疑问。

Anyway,如果在对网站实施SEO时将重点放在网页被索引、收录的速度与效率,当然也无可厚非,而要想实现这一点,需要我们对搜索引擎如何收录、索引网页的机制有所了解。下面我们以Google为例,介绍搜索引擎收录、索引网页的过程,希望能对朋友们有后助益。——对其他搜索引擎如Yahoo!、Live搜索及百度而言,尽管可能在具体细节上存在差别,不过,基本策略应该是类似的。

1、收集待索引网页的url

Internet上存在的网页数量绝对是个天文数字,每天新增的网页也不计其数,搜索引擎需要首先找到要索引收录的对象。

具体到Google而言,虽然对GoogleBot是否存在DeepBot与FreshBot的区别存在争议——至于是否叫这么两个名字更是众说纷耘,当然,名字本身并不重要——至少到目前为止,主流的看法是,在Google的robots中,的确存在着相当部分专门为真正的索引收录页页准备“素材”的robots——在这里我们姑且仍称之为FreshBot吧——它们的任务便是每天不停地扫描Internet,以发现并维护一个庞大的url列表供DeepBot使用,换言之,当其访问、读取其一个网页时,目的并不在于索引这个网页,而是找出这个网页中的所有链接。——当然,这样似乎在效率上存在矛盾,有点不太可信。不过,我们可以简单地通过以下方式判断:FreshBot在扫描网页时不具备“排它性”,也即是说,位于Google不同的数据中心的多个robots可能在某个很短的时间周期,比如说一天甚至一小时,访问同一个页面,而DeepBot在索引、缓存页面时则不会出现类似的情况,即Google会限制由某个数据中心的robots来完成这项工作的,而不会出现两个数据中心同时索引网页同一个版本的情况,如果这种说法没有破绽的话,则似乎可以从服务器访问日志中时常可以看到源自不同IP的GoogleBot在很短的时间内多次访问同一个网页证明FreshBot的存在。因此,有时候发现GoogleBot频繁访问网站也不要高兴得太早,也许其根本不是在索引网页而只是在扫描url。

FreshBot记录的信息包括网页的url、Time Stamp(网页创建或更新的时间戳),以及网页的Head信息(注:这一点存在争议,也有不少人相信FreshBot不会去读取目标网页信息的,而是将这部分工作交由DeepBot完成。不过,笔者倾向于前一种说法,因为在FreshBot向DeepBot提交的url列表中,会将网站设置禁止索引、收录的页面排除在外,以提高效率,而网站进行此类设置时除使用robots.txt外还有相当部分是通过mata标签中的“noindex”实现的,不读取目标网页的head似乎是无法实现这一点的),如果网页不可访问,比如说网络中断或服务器故障,FreshBot则会记下该url并择机重试,但在该url可访问之前,不会将其加入向DeepBot提交的url列表。

总的来说,FreshBot对服务器带宽、资源的占用还是比较小的。最后,FreshBot对记录信息按不同的优先级进行分类,向DeepBot提交,根据优先级不同,主要有以下几种:

  • A:新建网页;
  • B:旧网页/新的Time Stamp,即存在更新的网页;
  • C:使用301/302重定向的网页;
  • D:复杂的动态url,如使用多个参数的动态url,Google可能需要附加的工作才能正确分析其内容。——随着Google对动态网页支持能力的提高,这一分类可能已经取消;
  • E:其他类型的文件,如指向PDF、DOC文件的链接,对这些文件的索引,也可能需要附加的工作;
  • F:旧网页/旧的Time Stamp,即未更新的网页,注意,这里的时间戳不是以Google搜索结果中显示的日期为准,而是与Google索引数据库中的日期比对;
  • G:错误的url,即访问时返回404回应的页面;

优先级按由A至G的顺序排列,依次降低。需要强调的是,这里所言之优先级是相对的,比如说同样是新建网页,根据指向其的链接质量、数量的不同,优先级也有着很大的区别,具有源自相关的权威网站链接的网页具有较高的优先级。此外,这里所指的优先级仅针对同一网站内部的页面,事实上,不同网站也有有着不同的优先级,换言之,对权威网站中的网页而言,即使其最低优先级的404 url,也可能比许多其他网站优先级最高的新建网页更具优势。

2、网页的索引与收录

接下来才进入真正的索引与收录网页过程。从上面的介绍可以看出,FreshBot提交的url列表是相当庞大的,根据语言、网站位置等不同,对特定网站的索引工作将分配至不同的数据中心完成。整个索引过程,由于庞大的数据量,可能需要几周甚至更长时间才能完成。

正如上文所言,DeepBot会首先索引优先级较高的网站/网页,优先级越高,出现在Google索引数据库及至最终出现在Google搜索结果页面中的速度便越快。对新建网页而言,只要进入到这个阶段,即使整个索引过程没有完成,相应的网页便已具备出现在Google索引库中的可能,相信许多朋友在Google中使用“site:somedomain.com”搜索时常常看到标注为补充结果只显示网页url或只显示网页标题与url但没有描述的页面,此即是处于这一阶段网页的正常结果。当Google真正读取、分析、缓存了这个页面后,其便会从补充结果中逃出而显示正常的信息。——当然,前提是该网页具有足够的链接,特别是来自权威网站的链接,并且,索引库中没有与该网页内容相同或近似的记录(Duplicate Content过滤)。

对动态url而言,虽然如今Google宣称在对其处理方面已不存在障碍,不过,可以观察到的事实仍然显示动态url出现在补充结果中的几率远大于使用静态url的网页,往往需要更多、更有价值的链接才能从补充结果中逸出。

而对于上文中之“F”类,即未更新的网页,DeepBot会将其时间戳与Google索引数据库中的日期比对,确认尽管可能搜索结果中相应页面信息未来得及更新但只要索引了最新版本即可——考虑网页多次更新、修改的情况——;至于“G”类即404 url,则会查找索引库中是否存在相应的记录,如果有,将其删除。

3、数据中心间的同步

前文我们提到过,DeepBot索引某个网页时会由特定的数据中心完成,而不会出现多个数据中心同时读取该网页,分别获得网页最近版本的情况,这样,在索引过程完成后,便需要一个数据同步过程,将网页的最新版本在多个数据中心得到更新。

这就是之前著名的Google Dance。不过,在BigDaddy更新后,数据中心间的同步不再象那样集中在特定的时间段,而是以一种连续的、时效性更强的方式进行。尽管不同数据中心间仍存在一定的差异,但差异已经不大,而且,维持的时间也很短。

提高搜索引擎索引收录网页的效率

根据上面的介绍,可以看出,要想让您的网页尽可能快、尽可能多地被搜索引擎收录,至少应从如下几方面进行优化:

  • 提高网站反相链接的数量与质量,源自权威网站的链接可以让您的网站/网页在第一时间内被搜索引擎“看到”。当然,这也是老生常谈了。从上面的介绍可以看出,要提高网页被搜索引擎收录的效率,首先要让搜索引擎找到您的网页,链接是搜索引擎找到网页的唯一途径——“唯一”一词存在些许争议,见下面的SiteMaps部分——从这个角度看,向搜索引擎提交网站之类的作法没有必要且没有意义,相对而言,要想让您的网站被收录,获得外部网站的链接才是根本,同时,高质量的链接也是让网页步出补充结果的关键因素。
  • 网页设计要秉持“搜索引擎友好”的原则,从搜索引擎spider的视角设计与优化网页,确保网站的内部链接对搜索引擎“可见”,相对于获得外部网站链接的难度,合理规划的内部链接是提高搜索引擎索引与收录效率更经济、有效的途径——除非网站根本未被搜索引擎收录。
    如果您的网站使用动态url,或者导航菜单使用JavaScript,那么,当在网页收录方面遇到障碍时,应首先从这里着手。
  • 使用SiteMaps。事实上,许多人认为Google取消了FreshBot的一个主要原因便是SiteMaps(xml)协议的广泛应用,认为这样只需读取网站提供的SiteMaps便可得到网页更新信息,而不需FreshBot耗时费力地扫描。这种说法还是有一定道理的,虽然目前不能确定Google究竟直接使用SiteMaps作为DeepBot的索引列表还是用做FreshBot的扫描路标,但SiteMaps能够提高网站索引收录的效率则是不争的事实。比如说,SEO探索曾做过如下的测试:
    • 两个网页,获得的链接情况相同,一个加入SiteMaps而另一未加入,出现在SiteMaps中的网页很快被收录,而另一个页面则在过了很长时间后才被收录;
    • 某个孤岛页面,没有任何指向其的链接,但将其加入SiteMaps一段时间后,同样被Google索引,只不过,出现在补充结果中。

    当然,从尽管网页未出现在SiteMaps中但仍能被Google索引也可以看出,Google仍然使用FreshBot或类似FreshBot的机制,当然这也容易理解,毕竟仍然有那么多未使用SiteMaps的网站,Google不可能将其拒之门外。

    有关SiteMaps的详细介绍,请参考Google SiteMaps:Google的“后门”。需要指出的是,如今Sitemaps协议已成为行业标准,不独对Google有效,其他主流搜索引擎包括Yahoo!、Live搜索及Ask均已提供支持。

声明:本文中的信息部分来自公开文献,部分纯属个人揣测,可能有谬误之处,请您姑妄听之。

wordpress手动添加侧栏

顾 志慧阅读(4172)

倘若自己把一些需要的widget直接写进WordPress侧边栏sidebar.php里,在打开网页时,会比在后台添加的widget速度要快一些。道理很简单,如果在后台添加那些widget,  相当于dynamic_sidebar,然后去get一些option之类的函数,会比直接写进sidebar.php里多一些查询和调用的过程。

而且,大家也发现了,在后台的提供的widget里并非都是你想要的。所以有时候自己写一些widget,还是蛮有趣的。

好比说,我现在想加一个友情链接(Blogroll)在侧边栏里,该怎么去写呢? 很简单,在模板的sidebar.php里加上:

1 <div class="widget">
2 <h3>友情链接</h3>
3 </div>

是不是很简单,当然,如果为了让这个显示的更美观一些,就要配合模板的CSS做一些调整了。在这段代码里,主要是调用了wp_list_bookmarks,后面的括号里相当于我们在后台设置的一些option,只是这里我们就可以把它写成固定形式,以方便快速的调用。

要找到这些option的设置并不难,在安装Wordpress的目录下,有一个wp-includes的文件夹,里面就有一个widget.php, 打开一看,立马就有一种豁然开朗的感觉了。^_^

接下来就可以随心所欲的添加里面所提供的所有widget了,把一些option写成你想要的,再打开页面来,加载的时间会有减少的。

试着添加个文件分类(categories)吧:在function wp_widget_categories,它可以用下拉菜单的形式wp_dropdown_categories($cat_args); 也可以用列表的形式wp_list_categories($cat_args);,如果是做成列表的话,添加下面的代码就可以了:

1 <div class="widget">
2 <h3>文章分类</h3>
3 </div>

如果有什么不会设置的widget呢,可以看看那些已经在sidebar里写了widget的模板,可以学到很多哦。

可是有些想实现的东西在widget.php里没有,那该怎么添加呢? 比如说随机文章啊,最多阅读之类的。

添加随机文章,可以用到: get_posts(‘numberposts=10&orderby=rand’); 主要就是这个orderby=rand, 从数据库里拿出来的文章就会做一个随机的排序,具体代码如下:

1 <div class="widget">
2 <h3>随机文章</h3>
3 foreach($posts as $post) {
4 setup_postdata($post);
5 echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
6 }
7 </div>

至于最多阅读呢,会用到一个WP-PostViews的插件,启用后,在侧边栏里添加:

1 <div class="widget">
2 <h3>最多阅读</h3>
3 </div>

如果想看到每天,每周,每月的最多浏览数,用一个WP-PostViews Plus的插件就行了,主函数改成:<?php get_timespan_most_viewed(‘post’, 10, 30, true, false); ?> 30 就是所查询的天数。这样你就可以做一个文章阅读量的排行榜了。周冠军,月冠军和年度总冠军将相继产生。 :)

当然我这里只是给一个思路,你可以写的更好。比如不同页面上用到的侧边栏也不尽相同,这样更好不是吗,当然你也一定能打造的更加完美的。

本文转载非原创!

wordpress中标签的颜色和大小

顾 志慧阅读(2901)

调节wordpress中标签的颜色和大小

不用代码的
插件装多了慧导致页面打开过慢
下面是我摸索的方法
希望对你有帮助
复制下面的代码
function colorCloud($text) {
$text = preg_replace_callback('||i', 'colorCloudCallback', $text);
return $text;
}
function colorCloudCallback($matches) {
$text = $matches[1];
$color = dechex(rand(0,16777215));
$pattern = '/style=(\'|\")(.*)(\'|\")/i';
$text = preg_replace($pattern, "style=\"color:#{$color};$2;\"", $text);
return "
";
}
add_filter('wp_tag_cloud', 'colorCloud', 1);

将代码放入当前theme的 functions.php 文件中,要放在中间。
一般放在第二行就ok
默认情况下,Wordpress的标签云的字体大小是随着标签使用频率而改变,使用的标签越多,该标签显示就会越大,相反会越小,而最小的8pt,最大的是22pt,注意pt和px是不同的。有时候为了页面美观,特别是侧边拦的标签云,有不知情的朋友还以为是网站有问题呢。所以我们有时候需要统一字体大小。
要修改也很简单,在/wp-includes/category-template.php,搜索找到wp_tag_cloud,
默认的是
‘smallest’ => 8, ‘largest’ => 22, ‘unit’ => ‘pt’, ‘number’ => 45,
你可以改成下面这样,其中12是字体大小,单位是px
‘smallest’ => 12, ‘largest’ => 12, ‘unit’ => ‘px’, ‘number’ => 45,

谷歌为什么收录慢,gzh.com实测。-志慧

顾 志慧阅读(2383)

一般的网站在百度和谷歌提交都是很快的被收录。而当换过域名之后呢?

亲自体验发现关键。

1.旧的域名是否已经做了转向。

2网站是否大幅修改过。

3域名解析问题

我做的cname解析发现如果只解析带有www的域名谷歌收藏很慢,起码我是基本不收录。看来谷歌对于原域名的解析还是比较看重的。

说已解析后我发现谷歌几乎是过了一会儿就收录了而且在半天之内还收录了好几篇文章。

对于其他搜索引擎我看是没有影响的。百度估计还在考察期。建站还不到一周只收录主页就很ok了

至于有道的收录则是很快的,只要你做好网站地图几乎是每天都收录60%的文章效率很高。

其他的搜索引擎还在提交中按经验来说一般在5,6天左右回收录主页。

新域名百度,谷歌终收录!

顾 志慧阅读(3115)

脑袋一热两百块买了个新域名,呵呵昏头了。还是在过年买的。没优惠不说还没人帮着备案(初七才办公)!国内主机要备过案的域名才让绑定!这不是扯淡么!
新网域名解析一等就23.9999个小时,才可以访问。解析后发现不带www还不可以访问。cname解析到免费主机上后发现添加不带www的还是不行于是我就百度了下原来解析不带www的要在前面填写noprefix而不是什么都不填!
然后各大搜索引擎拼命的提交可是好像效果不大!
令我郁闷的是谷歌一直为零,于是我猜是不是以前的域名和现在的要做301,ok做就做吧。做完第二天毫无反应。一搜一哥们告诉我说这个域名以前可能进过黑名单。黑名单,一想就觉得恐怖。而且还不知道,到谷歌申请恢复一看,说什么恢复就是承认用了什么seo过年服务什么的。吓得又回头了。
怎么办呢?
解决:
制作谷歌地图,然后死命的提交!(通过谷歌站长工具)
给以前的域名转向到现在的域名。
删除没用的外链。
简化博客的程序,现在我的博客可能简化过头了。
装了n多百度地图啊什么的插件,seo的也装了一大堆反正不收录也不怕!
最后:
4小时候有道猛增12页面的收录,
百度还是死样子收录了但只显示首页!
谷歌用站长工具一看已经收录1.
帅气啊~凭经验谷歌只要已收录主页只要定期更新坚持原创就会不停的收录!
呵呵现在只剩下备案的问题 了~!

WordPress更换域名后所要注意的十件事【转】

顾 志慧阅读(2894)

WordPress更换域名可能大家都经历过,在新旧域名更换的过程中,如何才能使损失减到最少,这对于注重SEO的站长们却是至关重要的了。一面我就自己的经历谈一谈WordPress更换域名后注意的十件事。

  一、修改数据库配置文件

  如果你在同一主机同一空间上更改域名,这步可以省掉,如果数据库不同,还得要打开wp-config.php将数据库配置正确才可以正常访问新域名。

  二、更改博客的安装地址和博客地址

  首先用phpmyadmin打开你的数据库,然后找到wp-options这个数据表,找到第一条记录也就是siteurl这条,还有第39条home,这两条将地址改成你更换后的最域名即可。只有完成这一步后,才可以顺利进入后台,否则即使你输入密码,也会自动跳转到原来的老域名。

  三、修改文章内部所有的链接为新域名

  相信大家在以前发表的文章中一定加了不少内链吧,域名更换了,老的内链也就没有意义了。此时得要将文章内链的旧域名修改为新域名。如果从后台文章编辑里一个一个找那是不现实的,方法有一个,通用phpmyadmin进入你所在的数据库,执行以下语句就可以把文章内的所有内链旧域名批量改为新域名:

  UPDATE wp_posts SET post_content = replace(post_content, ‘http://www.old.com’, ‘http://www.new.com’);

  四、重新到各搜索引擎网站登陆

  因为更换域名,一切从头开始,所以要是到各个搜索引擎站上重新提交一次新域名,提交的过程中,一定要注意我文章中所提及的几个注意点。提交之后,那是一个漫长的等待的过程,不要急,因为重新开始,那这个等待的过程中,你只有把精力都放在原创文章上了。

  五、旧域名301重定向到新域名

  不要想着把新旧域名都指向同一站,这样会造成“域名轰炸”。这样做的结果不仅不能给你的网站带来更多的流量,反而搜索引擎认为你的作弊,降了你的权重是小事,把你的站K了也不是不可能的事。如果想要留住旧域名的网友,那就要做个301重定向。301重定向对SEO的还是友好的,具体的方法还有很多,具体操作就不在此一一详解了

  六、重新修改统计代码

  这个应该是很简单的一件事了,重新到统计站点申请新域名的统计代码后,将旧域名的统计代码覆盖即可。

  七、重新更改Feed 订阅地址

  RSS feed订阅是保持一个站流量的一个重要的因素,当你的域名都更换了,别人还怎么订阅。所以应重新设置订阅地址,并想办法通知已订阅旧域名的网友更改。同时在主页的相应位置修改RSS feed订阅地址。

  八、通知你的友情链接

  在你的301重定向还在生效之前,一定要通知你的友情链接,把旧域名改为新域名。如果301失效了而你的友情链接还没有通知修改,那你的链接也就毫无意义了。

  九、检查插件是否正常工作

  虽然插件设置有一部分是和域名无关的,但是大家都知道WordPress功能更是依靠插件的,所以更换域名后,最好还是检查一次插件是否否都正常工作。如Baidu Sitemap Generator和Google XML Sitemaps两个插件,必须禁用后再启用才可以正常工作。

  十、到你常互访的博客留言通知换米

  我的互访也有几十个,基本上是每天都去看看的,在给博主评论的时候随便说说你的博客换域名了。起到了百半功倍的效果。

WordPress SEO优化技巧

顾 志慧阅读(2614)

Google Sitemap Generator插件可以自动生成sitemap.xml文件,以便搜索引擎更快地找到网站里的所有页面,从而使搜索引擎更快速地收录网站的页面。
如果根目录是可写的,sitemap.xml文件会生成在Blog的根目录下;如果不可写,那么需要手工上传个 sitemap.xml文件,空的就可以了,然后把权限设置成可写。
设置好后,进入后台设置页面,插件会提示进行首次创建sitemap.xml工作的。

下载地址:

Download for WordPress 2.1 and better
Download for WordPress older than 2.1
简体中文包-Fs2You网盘下载
常规设置:

Sitemap文件:可以选择是否写入sitemap.xml文件和sitemap.xml.gz文件。如果你的页面很多的话,可以选择gzip压缩文件,这样可以节约一点带宽。
建立方式:第一项应该选上,在发布或修改文章时自动重建sitemap.xml文件,这样插件就可以保证及时更新sitemap.xml文件,不用我们手工重建了。第二项则是用于使用第三方工具修改WordPress数据库时,可以让第三方工具修改数据库后直接访问插件给出的地址,则插件会在这个地址被方式时开始更新sitemap.xml文件。
更新通知:重建时通知Google和Yahoo,这个功能可以在sitemap.xml文件被重建后向Google或者Yahoo发送通知,它们收到通知后就会马上赶来读取新的sitemap.xml文件了。
高级选项:可以设置让插件尝试在重建sitemap.xml文件时临时提高内存限制和运行时间限制。如果建立sitemap.xml时没有提示错误,那么就不需要用这一项。而XSLT样式,则是使用XSLT样式表来修改xml文件的显示样式。使用插件自带的样式表,然后在浏览器里直接浏览 sitemap.xml文件就可以看到效果了。

优先级部分,可以设置文章优先级的计算方式。

不计算,所有文章用同一个优先级。
根据文章的评论数计算,直接用当前文章评论数除以总评论数得出一个数值。这样算出来的值可能很低,毕竟没有那篇文章的评论能占到总评论的百分之几十吧,而没有评论的文章,算出 来的自然是0咯。
也是根据文章的评论数计算,但是它是用当前文章评论数除以所有文章评论数的平均值,我觉得这种方法比较好一些。
通过Popularity Content插件计算,要安装了这个插件才会显示这个选项。
Sitemap文件位置部分,默认是当前Blog安装目录下,你可以改一下文件名。当然你也可以使用自定义,那么需要填写文件的绝对路径和访问的网址。

Sitemap内容部分,可以设置sitemap.xml文件包含哪些页面。可以选择首页、文章页、独立页、分类页、存档页、作者页。

更新频率部分,可以设置每类页面的更新频率值。定义上,这个值是要求搜索引擎隔多长时间访问某类网址,但是这个值只是个搜索引擎提供参考,只要按实际的更新频率进行设置就好了。
优先级部分,可以设置每类页面的优先级。定义上,这个值是要求搜索引擎优先访问哪些页面。但是,它也和上一条一样,仅供搜索引擎参考。你可以单独设置每类页面的优先级,但是文章页被分成两类,一个是在没打开自动计算时文章页的固定优先级,一个是打开自动计算是文章页的最小优先级。把最小优先级设到0.5或者其他,这样就可以保证没有评论的文章不至于优先级为0了。

设置好了以后就不用管了,插件会自动在发布新文章时更新sitemap.xml文件,而Google也会定期来读取sitemap.xml文件。插件作者在readme文件里也建议用户不用过多的调整选项,默认的设置就可以工作的很好,当有错误或者有特定的需要时才需要来修改某些设置。