2007年8月18日,seo
搜索引擎优化(英文叫做Search Engine Optimization,简称为SEO)是指通过优化网站结构、网页代码和内容,使网站对全文搜索引擎友好,从而帮助全文搜索引擎的蜘蛛程序找到含有最好内容的网页,从而提高网站在搜索结果中的自然排名。

值得指出的是,搜索引擎优化服务中针对的搜索引擎仅限于以蜘蛛程序为基础的全文搜索引擎,这种搜索引擎才是真正的搜索引擎,它们通过复杂的算法将最相关的自然搜索结果返回给用户。客户通过搜索引擎优化服务在搜索结果中达到理想排名后,全文搜索引擎是不会对搜索结果收费的,即客户不需要为点击付出额外的费用,客户所要支付的费用是给网络营销公司的搜索引擎优化服务费。而在搜索结果中按点击收费(国内称之为竞价排名)的收费搜索引擎(Pay Per Click Search Engine)并不是搜索引擎优化服务的对象,这种收费搜索引擎采用竞价方式来提高网站在有关竞价关键词搜索结果中的排名位置,金钱是决定排名的唯一因素,它们的搜索结果实质上是一种出现在搜索结果中的关键字广告,广告主根据用户的点击来付费,每个点击的价格由排名位置决定,排名越高,广告主支付给付费搜索引擎的钱也就越高。由于付费收费搜索引擎的搜索结果并不是由相关度算法计算出来的自然搜索结果,返回给用户并不是最相关的搜索结果,也就是说,搜索结果并不是由网站的内容质量和相关度来决定,而是由金钱来决定的搜索结果。

通过搜索引擎优化服务得到的访问流量是免费的,从而可以源源不断地获得新的客户而不需要为点击付出额外的费用,这是一种作为长期目标来进行的搜索引擎营销方式,但要达到理想排名的时间比较长,一般为2到12个月;采用竞价排名的好处是马上可以得到流量,但要为每个点击来付费,排名越高,价格越贵,长期做的话,费用会很大,所以只能是一种作为短期目标来进行的搜索引擎营销方式。我们建议用户根据网站的实际情况来选择搜索引擎营销方式,如果是新网站的话,建议同时选择搜索引擎优化和竞价排名来做搜索引擎营销;如果网站已有一定的流量,可以只选择搜索引擎优化来提高网站的流量,以达到最好的投资回报率。

2007年8月18日,seo
嵌入在你的web页面中的导航元素能够降低你的搜索引擎评价排名并且降低你的网站的响应性能。本文作者想同你一起探讨如何使用AJAX技术来解决这两个问题。

许多设计良好的web站点都包含大量的与实际内容相联系的可导航信息。用于导航的HTML标记能影响你的搜索引擎评价,而且能够改进访问者的页面下载体验感。在本文中,你会看到如何使用AJAX来创建更为集中的更快速加载的web页面。

一、 分离导航与内容

让我们使用一个例子作为开始。请考虑你现在阅读的文章,它有下列一些内容:

· 一个其上有一些预定义的到Informit的各个部分的链接的页眉。

· 在页眉下有一行,把本文放到Informit的目录结构之中(实际上,这是唯一的与目录相关的可导航元素)。

· 一个位于右首的侧栏,其中有一些连接到流行文章和推荐内容的链接。

· 一个页脚,还有一些永远不会改变的链接。

上面的"混合"很可能会影响搜索引擎索引你的数据的方式:

· 因为搜索引擎不能区别内容与导航文本,所以它们会把它们在你的页面中找到的一切进行索引。既然目录中的关键字与不相关的可导航关键字混合在一起,那么内容之间的关联大大减少。一些搜索引擎宣称,它们能够在被搜索到的页面(例如,固定的页眉和页脚)中发现重复的文本并且删除它们。但是,不要依赖这种可能性;即使它们实现了这种技术,也很可能不会一直可靠。

· web页面中的外向链接影响你的内容的页面评价。尽管这可能提高流行的文章的评价排名(因为许多页面都链接到它们),但是所有的页面都链接到的内容(例如,隐私策略)通常得到最高的页面评价-这可能不是你一直关心的问题。在我的一个web站点中,最高的评价页面是用于把消息发送到web管理员的表单-而不是你想让用户首先在Google上找到的内容。

注意

即使你不使用站点地图,你也可以通过Google的站点地图用户接口来了解一下你的页面的页面排名情况。

添加到一个web页面的可导航元素还可能影响使用低速互联网存取的用户,而如果web页面不使用DIV元素(Informit使用之)而使用表格时更是如此。在这种情况中,在把它显示给用户之前,整个表格必须被加载到一些web浏览器中。

传统地,web设计者一般都使用框架集或通过构建整套的导航架构(广泛使用JavaScript代码)来实现导航与内容的分离。这两条途径都存在其缺点;因此,许多大型网站避免使用框架集就不足为奇了。

借助于在AJAX框架中使用的技术,你可以为这一问题提供一种方案:

· 每一个web页面仅包含可导航元素和实际内容的占位符。

· 在web页面通过嵌入式框架(IFRAME)或使用XmlHttpRequest对象加载后,再装载这些可导航元素。

· 然后,可导航元素的内容被合并到web页面内容中,从而产生一个不嵌入任何帧的干净的页面。

在使用这种方法重新设计你的web页面之前,你需要考虑下列问题:

· 搜索引擎仅将看到初始的web页面。你必须确保,该页面中包含到相关页面或到一个网站地图的链接。Informit网站中文章页眉上方的导航线和在页面的文章信息部分中的链接正好可以较好地实现这一目的。

· 在他们的浏览器中禁止调用JavaScript的访问者将具有与搜索引擎相同的页面视图。你必须确保他们有受限的视图不会给你的网站的功能造成较大影响。

· 你可能想在你的页面上保留一些静态内容。例如,Informit标识和版权信息必须一直显示给所有的访问者。

当你确定好应该把你的导航结构哪些部分依附到页面上以及哪些部分应该与之分开之后,你就可以开始下一步骤了。

二、 设计你的Web页面

实现分离内容和导航的第一步是,在web页面上创建将插入可导航元素的占位符。对于每一个可导航元素的连续区域,你应该创建一个具有唯一id的独立DIV元素;这样以来,以后你可以在你的JavaScript代码中标识它。为了防止过度晃动,在创作页面期间,目录上方或右边的DIV元素的尺寸应该调整到非常接近你的可导航元素的实际大小;这样,当你使用希望的HTML代码来代替它们时内容就不会移动位置。为此,一种最巧妙的方法是把一个空的适当大小的DIV元素插入到该占位符处。

对于Informit网站来说,其页面结构已经是良好设计的,且DIV元素已经非常到位,如图1所示。


图1一篇Informit文章的页面结构
你仅需要从可导航DIV元素中删除内容并且插入一个空框,页眉将会出现在这里(为了简短起见,我们将忽略把公司标识和版权信息嵌入到每一个页面中的讨论)。下面是相应的代码:

<div id="header">
<div style="height: 100px; width: 100%"></div>
</div>
<div id="contentArticle">
<div id="firstCol">
... article content ....
</div>
<div id="secondCol" ></div>
</div>
<div id="footer"></div>
注意

如果你的web页面使用表格来实现所希望的页面布局,那么请不要把表格单元格重用作占位符;而把DIV元素放到表格单元格内比较好一些。

已经被从web页面中删除的可导航的元素必须被重新创建为独立的页面。你应该使用静态HTML文件来表达静态内容(这将允许缓冲内容,不管你使用什么样的web服务器)和在加载它们的web页面上创建显示基于动态元素的服务器端脚本。对于Informit来说,每一个web页面都有唯一一个文章标识符(在URL中的"p="参数);因此,你需要创建一个能够接受文章标识符并创建右边的栏目的服务器端脚本。在大多数情况中,你可以重用创建嵌入的可导航元素的服务器端代码。

在重新设计这些web页面后,接下来,你就可以实现本方案中的AJAX部分了。与通常一样,你可以使用嵌入式框架(IFRAME元素)工作,也可以选用一个XmlHttpRequest对象。
Tags:
2007年8月18日,Computer
Linux(X86_64)+Apache2.2.4+PHP5.2.3+Mysql5.0.45+GD2+Zend配置方案

由于我全是用源代码安装,大多适用于其它的操作系统
由于CentOS与redhat的关系,基本是适用于redhat linux as 5

 


下载相关软件
wget http://www.zlib.net/zlib-1...
wget ftp://ftp.uu.net/graphics/...
wget http://download.savannah.g...
wget ftp://ftp.simplesystems.or...
wget http://www.libgd.org/relea...


我全部是下载源代码编译方式进行安装的
一、先安装Mysql
groupadd mysql
useradd -g mysql mysql
tar zxvf  mysql-5.0.45.tar.gz
cd mysql-5.0.45
./configure --prefix=/usr/local/mysql
make
make install clean
cp support-files/my-medium.cnf /etc/my.cnf
cd /usr/local/mysql
chown -R mysql .    //后面有个点号,要注意了!
chgrp -R mysql .     //后面有个点号,要注意了!
bin/mysql_install_db --user=mysql
chown -R root .
chown -R mysql var
bin/mysqld_safe --user=mysql &
如果没有出错的话,这里Mysql应该可以正常启动了。

如果编译时出现了以下错误:
checking for tgetent in -ltermcap... no
checking for termcap functions library... configure: error: No curses/termcap library found
说明 curses/termcap 库没有安装
去下载一个ncurses-5.6.tar.gz,
wget http://ftp.gnu.org/pub/gnu...
tar zxvf  ncurses-5.6.tar.gz
cd ncurses-5.6
./configure --prefix=/usr --with-shared --without-debug
make
make install clean
然后再重新编译Mysql进行安装。

二、安装GD库和GD库所需的环境
tar zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make
make install clean

如果编译的时候出现
/usr/bin/ld: /usr/local/lib/libz.a(crc32.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libz.a: could not read symbols: Bad value
错误,解决办法请点击查看

tar zxvf libpng-1.2.18.tar.gz
cd libpng-1.2.18
./configure
make
make install clean

tar zxvf freetype-2.3.5.tar.gz
cd freetype-2.3.5
./configure
make
make install clean

tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
./configure
make
make install-lib
如果在编译的时候出现
/usr/bin/ld: /usr/local/lib/libjpeg.a(jcapimin.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
错误,解决办法请点击查看

如果以上软件都安装成功了,就可以开始安装GD了
tar zxvf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure --with-png --with-freetype --with-jpeg

编译的时候,最后结果那里可以看到
** Configuration summary for gd 2.0.35:
  Support for PNG library:          yes
  Support for JPEG library:         yes
  Support for Freetype 2.x library: yes
  Support for Fontconfig library:   no
  Support for Xpm library:          no
  Support for pthreads:             yes
  可以看到png 、 jpeg 、 freetype都已经安装上了

三、安装Apache2.2.4
tar zxvf httpd-2.2.4.tar.gz
cd httpd-2.2.4
./configure --prefix=/usr/local/apache22 --enable-rewrite=shared --enable-speling=shared --enable-track-vars --enable-cgi --enable-so --enable-mods-shared=all
make
make install clean
安装完后使用/usr/local/apache22/bin/apachectl -k start可以启动

四、安装PHP5.2.3
tar zxvf php-5.2.3.tar.gz
cd php-5.2.3
./configure --prefix=/usr/local/php5 --with-mysql-dir=/usr/local/mysql  --with-apxs2=/usr/local/apache22/bin/apxs --with-jpeg  --with-freetype --enable-trace-vars --with-zlib --with-gd --enable-ftp --enable-sockets
make
make install
make clean
cp php.ini-dist /usr/local/php5/lib/php.ini
配置 httpd.conf 让apache支持PHP
vi /usr/local/apache/conf/httpd.conf
找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
重启Apache
/usr/local/apache22/bin/apachectl -k restart

编辑一个PHP页面进行测试一下phpinfo.php
phpinfo();
?>

五、安装Zend
去官方网站下载ZendOptimizer-3.3.0a-linux-glibc23-x86_64.tar.gz
tar zxvf ZendOptimizer-3.3.0a-linux-glibc23-x86_64.tar.gz
cd ZendOptimizer-3.3.0a-linux-glibc23-x86_64
./install.sh
根据提示安装
注意配置好PHP.ini文件的路径和Apache的Apachectl文件的路径

完成安装!!


Tags: ,
2007年8月18日,Computer
场景:Vista用户由于工作需要,需再装一个XP以实现双启动

故障:在计算机上先装Vista再装WinXP后,无法实现双启动,无法进入Vista。

原因:在之前基于NT的Windows系统中,Windows使用Ntldr作为Boot Loader来启动系统。在Windows Vista中,微软引入了一种全新的boot loader架构, Windows Boot Manager (Bootmgr.exe)。也就是说原先XP使用的Ntldr和Boot.ini文件在Vista中不再使用,取而代之的是Bootmgr文件,而且Bootmgr文件要用bcdedit.exe 来修改。
解决方案:
  步骤:
  1, 进入XP系统,以administrator身份运行cmd;
  2, 插入Vista安装盘,运行: (CD-ROM):\boot\bootsect -nt60 all ;
  3, 进入X:\windows\system32\目录(X为Vista的系统盘);
  4, 备份BCD文件,运行bcdedit /export "e:\BCD_Backup\BCD" ;
  5, 运行bcdedit -create {ntldr} -d "Windows XP" ;
  6, 运行bcdedit -set {ntldr} device partition=x: (x: 为ntldr文件所在的盘);
  7, 运行bcdedit -set {ntldr} path \ntldr ;
  8, 运行bcdedit -displayorder {ntldr} -addlast ;
  9, 重启计算机,出现双启动菜单。故障排除.

Tags: ,