日志分类:SEO技术
先插个图!近来SNS圈子比较热、SNS成熟了?叹!
引:URL是Web UI的一部分,应当像对待网站Logo和公司品牌一样对待它,URL是网站和普通用户之间的重要接口,Web项目中,这些都是URI:链接地址(a标签的 href属性);图片的源(img标签的src属性);多媒体文件的源(object标签的src属性);CSS,JavaScript地址(link标 签的href 属性,script标签的src属性)。
网址URL伪静态,Url Rewrite,网址规范化与SEO:
在国内,很多“SEO专家”给客户网站的第一诊断结果就是要页面静态化。这倒不是因为动态页面就做不了SEO,而是相对静态页面而言,动态页面的SEO更加难做,受“SEO专家”的技术能力所限而已。
对于搜索引擎而言,在主观上对静态页面和动态页面并没有特殊的好恶,只是很多动态页面的参数机制不利于搜索引擎收录,而静态页面更容易收录而已。此外,页面静态化在一定程度上也提高了页面访问速度和系统性能及稳定性----这使得在搜索引擎优化上面,为使得效果更加明显,问题简单快速解决,大家对站点的静态化趋之若骛。
然而对于一些大型网站,静态化带来的问题和后续成本也是不容忽视的:
由于生成的文件数量较多,存储需要考虑文件、文件夹的数量问题和磁盘空间容量的问题—--需要大量的服务器设备;
程序将频繁地读写站点中较大区域内容,考虑磁盘损伤问题及其带来的事故防范与恢复----硬件损耗要更新、站点备份要到位;
页面维护的复杂性和大工作量,及带来的页面维护及时性问题----需要一整套站点更新制度和专业的站点维护人员;
站点静态化,增加了更新维护难度和网站管理人员工作强度,增加了硬件设备需求和损耗速度,增加了站点潜在的访问冲突和故障概率。对于一个大型网站而言,这都是必须考虑的问题。
对于SEO优化,我们不需要真正静态化,只需要假装就可以了。动态页面也一样能够做好SEO优化。
目前大多数搜索引擎基本都能收录动态页面,使用动态页面的站点数也远远大于静态页面的站点数。
许多大型网站虽然网址的后缀为.htm,但其实还是动态页面,只是用了URL Rewrite的方式“欺骗”搜索引擎,真正完全静态的没有发现几个。
目前对于一个动态网站,实施相对静态化的做法基本有如下几种:
1. 伪静态,URL Rewrite方式。
2. 类似蜘蛛的方法,动态站点也存在,只是通过一个程序去抓取整个站点并保存发布为需要访问的静态站点。
不论是真静态页面还是伪静态页面,在方便搜索引擎收录这一点上,效果都是一样的。既然如此,为什么不使用效率更高的“相对静态化”的方法,以避免真正静态化所产生的诸多问题呢?
在页面更新维护问题上,即使是伪静态,也带来了不少维护的复杂性和工作量。目前较为可取的更新方式有:
触发式更新:当维护人员在后台更改某些信息后,系统自动或提供手动更新相应显示页面。
独立、分片式更新:更新与维护分开,页面划分为不同的区,根据一定的规则对于区进行更新。区之间的整合与分离,有的是采用活动域,有的是采用SSI(Server Side Include)。
对于独立、分片式更新,应当是大型网站相对静态化后较为理想的更新维护模式:
1. 将各页面定义分区、编号,给定存储规则和更新规则,更新规则分为“依据数据变更更新”和“周期更新”。
2. 对于各区采用优先级的方式,并提供手工触发的即时更新,以保证部分信息的更新时间需要。
3. 静态页面替换动态页面,同时保留动态页面,并在静态页面未生成完毕时采用动态页面代替。
静态化对于网站SEO来说,应当只是一个信号,告诉搜索引擎我的站点很好收录,然后带领搜索引擎尽可能多的“浏览”站点内的内容。只要能够方便浏览和收录,不论是静态页面还是动态页面,搜索引擎都会一视同仁的去收录。
对于小网站而言,站点静态化或许是解决网站收录量的一个简便的办法,而对于大网站来说,则要认真考虑了,是不是真的有必要去做静态化,还是做一下“伪静态”就够了。
网址规范化、标准化设计的宗旨:
URL是Web UI的一部分,应当像对待网站Logo和公司品牌一样对待它,URL是网站和普通用户之间的重要接口,Web项目中,这些都是URI:链接地址(a标签的href属性);图片的源(img标签的src属性);多媒体文件的源(object标签的src属性);CSS,JavaScript地址(link标签的href 属性,script标签的src属性)。
URL应当是用户友好的;
URL应当是可读的;
URL应当是可预测的;
URL应当是统一的;
URL面向搜索引擎是友好的;
URL设计规则:
1.动态网址静态化——面向搜索引擎友好。动态URL中不超过两个动态参数,不包含区段标识符;
2.频道或栏目名称采用英文或全拼形式,推荐采用中文全拼;全拼形式过长采用英文。涉及多个词使用连字符“-”,而不采用下划线“_”;
3.简短(short)的URI,避免不必要的冗长(一个URI的长度最好不要超过80个字节/W3C);
4.一律采用小写字母,不采用大写形式;
5.不采用纸介质打印后难以辨认的字符;
6.简单;
7.能够反映站点结构;
8.管理员可以重新组织服务器上的文件系统结构,而无需改动Url;
9.URI不暴露服务器端使用的脚本语言,平台引擎;
10.使用标准的Session机制,而不是把Session ID放在URI中;
11.删除的URL资源,采用HTTP410重定向;URL变更采用http301重定向;
12.目录结构最好用一级到二级。不要超过三级,实现URL简短,合理使用URL资源;
13.频道、栏目首页命名:栏目的全拼或英文.html;
14.全站内到统一页面的URL形式需要保持统一;
15.全站单个页面url保持唯一,杜绝url拼写和语义上的错误;
发表评论 »
近期把"Google索引结果出现恶意软件警告"的网上处理解决办法相关文章进行了整理,集思广益,与大家分享!
关于恶意软件警告:“该网站可能会损害您的计算机”
2007年6月5日 下午 07:27:00
发表者:Google(谷歌)技术支持
在现今资讯科技发达的时代,我们几乎做什么事都离不开网络了,网站的安全性显得日益重要。那些含有恶意软件的网站,常常导致用户的电脑发生问题、信用卡或是银行账户号码被泄漏、甚至身份被盗窃,造成无数的金钱损失。Google(谷歌)一直致力于保护用户不被连结至传播恶意软件的网站,希望将用户受到恶意软件危害的几率降至最低。因此,谷歌与 StopBadware.org 合作,于搜索结果中对那些在 StopBadware 公布的指南下被判定为发布恶意软件的网站标示警告:该网站可能会损害您的计算机。身为网站管理员,您可能很关切自己的网站被加注该警告的可能性;但我们要向您保证,我们很认真看待您的疑虑,并且非常小心以避免错误的标示。
其实,向用户提出警告只能解决部分的问题。我们更重要的目的是帮助网站管理员们保护自己的用户,与他们一起努力来消除威胁。多数被标示警告的网站,并非有意散布恶意软件,而是因为被黑客入侵了。我们发现,许多网站管理员不知道他们的网站遭到入侵;当他们看到自己努力耕耘的网站竟然在搜索结果中被标示了这个警告,都感到非常意外。在此,我们要推荐您使用谷歌网站管理员工具,以便您能及早发现您的网站被标示了警告。我们将恶意软件通知与网站管理员工具结合,并通过电子邮件发送给部分网站被标示警告的网站管理员。如果您的网站被判定为散布恶意软件,您会在网站管理员工具的“诊断” 标签下看到相关的警告,以及找到帮助您纠正这个问题的信息。此外,该页也显示了您网站上被判定为危险网址的范例。当您因为找不到恶意软件的藏身之处而头疼的时候,这个提示便可助您一臂之力。例如,受到入侵网站的常见情形是被插入一个像素的 iframe,而造成了自动从其他网站下载恶意软件。通过提供网址的示例,网站管理员可以进一步查找问题的来源,并作出修正来加强网站的安全。
如果您清除了您网站上所有的恶意软件,或是您认为您的网站被误判了,请访问http://stopbadware.org/home/review要求复审。一旦复审成功,您的网站将不再被标示该警告,而您的用户也会因为您的努力而受到更多的保障。然而我们还是要提醒您,即使您的网站没有恶意软件的警告标示,并不代表您的网站一定是安全无虞的。您可以参考 StopBadware 所提供的一些小技巧来加强您网站的安全;持续不断的保护及监控您的网站才是避免恶意软件入侵的不二选择。
网络安全:论木马事件对SEO的影响
网络安全对于SEO影响,似乎已经是一个老生常谈的话题,不过,我还是想来谈谈我的个人体验,试图能给陈旧的话题带来一缕新鲜的气息。
现在网络安全对SEO的影响越来越大,最近的紫田事件就是一个典型案例。且不说服务器关掉或者网速慢会影响巨大,单单就网站挂马这样的事情,就对网站伤害很大。我这些天很认真的体验了一把。前些天,一个网站疏于管理,由于被挂马而导致google对网站进行了屏蔽。
该网站的管理员在8.11早晨查看流量统计系统时,告诉google流量完全没有了,我觉得很纳闷。如果google流量突然消失,那可能有以下几种原因:
1)网站作弊被google降权或者直接被删除;
2)网站中了木马,被google屏蔽;
3)网站或者流量系统出了错误和故障,无法访问和统计;
等我从海边游玩回来进行处理,日期已经是8.13了。我按照1、2、3的顺序挨个检查了一遍。发现网站关键词的收录和排名没有什么变化,但看到检索结果中有这样的提示:“该网站可能会损害您的计算机”,当我点击网址进去时,发现被google给拦截了,无法达到网站。说明该网站挂马了。通过google管理员后台,我发现google爬虫在8.9这一天的凌晨4点钟过来抓取了该网站页面,此时正好碰巧该网站刚刚被放了木马。不过真正拦截流量是在8.11才开始的。
于是,大致整理了一下解除屏蔽的思路:
首先,删除网站页面的木马;然后通过一系列的方法让google尽可能快的知道,重新更新该网站检索页面,以便能尽快解除屏蔽。思路确定了。接下来就要进行具体的实施。
具体操作步骤如下:
1)清除网页中的木马
删除现有的网页中的木马,主要有这样类似的代码:
出现上面这些特征的代码,如果里面包含的网址不是自己网站的,那基本上就是中了木马了。我们比较常见的木马是< p="" />
2)刺激google快速更新
木马被清除了,google上还是被屏蔽着。这时就想办法让google爬虫重新检索网站,更新检索结果。这样,网站的屏蔽才能被解除。刺激google更新的的手段有如下一些:
1)持续更新网站首页的文章;
2)重新给google提交网站地图;
3)为网站去找一些高质量的外链;
4)申请审核。当网站有病毒后,在google网站管理员工具内的“诊断”页面会有一个提示,就是说网站含有恶意代码,然后会提示你可以“申请审核”填写相关信息提交。
上面的一些手段可以让刺激google爬虫能”快速抵达现场”,快速更新网站的检索结果。
我整理好以上思路后,在8.14这一天让该网站的管理员按照相关的细节要求去处理这件事情。直到8.21,google解除了对该网站的屏蔽。进入google的后台发现,google在8.14那日过来重新抓取了一次网页。可能正赶上网站页面的更新。从8.14开始执行解除的工作操作到8.21被解除,正好经历了1个星期。
这里推荐几篇有关解除google病毒提示的精彩文章,供大家参考:
1)Charles@网站优化博客:http://www.kseo.cn/post/108.html
2)点石的robin:http://www.dunsh.org/2007/06/07/google-stopbadware/
3)Google 黑板报:http://googlechinablog.com/2007/06/blog-post_05.html
如何防御网页木马?
最好的办法就是设置好网站的权限,对于使用动态语言编写的网站,一般对网页文件是不需要改动的,所有的数据都存储在数据库中。因此我们可以只对数据库所在的文件夹设置写权限,而对整个网站文件夹设置只读权限,这样即使网站存在漏洞,黑客也就不容易通过脚本漏洞入侵网站,增加了在主页上挂马的难度。自己有服务器的朋友,可以自己操作。如果是托管的虚拟主机,那请致电您的网站托管商,请求协助来解决。【作者: 曹继忠】【访问统计: 70】【2007年08月26日
"该网站可能会损害您的计算机"解除步骤
相信很多站长为Google搜索结果中的"该网站可能会损害您的计算机"的提醒烦恼,今天分享一下我解除其提示的一些经验,在这之前有必要了解一下这个提示警告是怎么回事?Google黑板报的答案:为了保护用户不被连结至传播恶意软件的网站,Google与 StopBadware.org 合作,于搜索结果中对那些在 StopBadware 公布的指南下被判定为发布恶意软件的网站标示警告:该网站可能会损害您的计算机。
那么哪些因素会导致StopBadware 评定为该网站可能会损害您的计算机?
在StopBadware 的安全指南中有详细的说明,总而言之就是传播或链接恶意软件(代码)的网站,都需要将其清除。一般来说很多都是被人为地装了病毒木马,直接在网页中将其代码删除就行了。当然,如果你确认你的网站是安全的,Google并不能立即将其警告删除,还需要正式向StopBadware网站进行解除申请。以下是Charles总结的简要步骤,并已经成功为某站进行解除"该网站可能会损害您的计算机"的声明。
作者:Charles@网站优化博客
网址:http://www.kseo.cn/post/108.html
把好三关,预防“恶意软件”标记
2007年12月26日 by 樂思蜀
年初Google与StopBadware.org合作,对包含恶意软件的网站加上“该网站可能含有恶意软件,有可能会危害您的电脑”标记以来,很多网站深受其害。当然这里所指的受害,不包括刻意放置恶意软件或代码者,而是被“陷害”的无辜网站。在搜索结果中出现这样的标记,不但排名没有任何价值,还会丢失大量用户。
当网站在搜索结果中已经出现标记时,可以参考Google黑板报上的提示,使用管理员工具要求谷歌重新评估。这里乐思蜀从三个方面,说一下如何预防出现这样的标记。
一、做好服务器安全
对于使用独立服务器的站长,服务器安全是一个非常重要因素,利用空闲时间多留意官方安全文档,如Apache的安全配置技巧、IIS技术资源中心等,对服务器系统进行适当的调整,提高安全性能。另外,下面两方面是目前攻击者利用率最高的,应特别留意。
1、文件“写”权限
很多时候,攻击者会利用“写”的权限,对网站文件注入恶意代码,导致出现“恶意软件”标记。使用IIS,应给每一个站点建立独立的用户,并利用NTFS权限设置,控制网站文件的写入权;使用UNIX系统,应利用好分组和用户设置,并谨慎设置“666”或“777”。
2、预防ARP攻击
ARP攻击目前已经很泛滥,受到攻击时访问网站会包含恶意软件,而你的服务器上并没有恶意软件或代码,攻击者利用ARP欺骗,将自己伪装成网关,截取服务器数据,并在发送出去的数据中插入恶意代码。
预防ARP攻击,可以安装ARP防火墙。但有个最简单的方法,在服务器系统中,将网关的IP与MAC地址绑定,这样服务器在发送数据时,会检查路由的MAC地址。可以联系服务提供商,咨询所在网段网关的MAC地址,而不要相信‘arp -a’取得的MAC地址,可能你用命令查到的就是欺骗者的MAC。
Windows系统:使用arp命令,绑定网关IP和MAC;将命令制作成批处理文件,让系统开机时运行。
arp -s 0.0.0.0 FF:FF:FF:FF:FF:FF
0.0.0.0 网关IP地址,FF:FF:FF:FF:FF:FF 网关MAC地址
UNIX系统:找到两种IP绑定MAC方法,根据需要选择一种绑定,推荐使用iptables。
二、从读写着手做好网站安全(UNIX环境)
对于使用虚拟主机的朋友来说,服务器环境是已经设定好的,一般来说不能更改,但服务提供商一般会处理好服务器的安全问题,我们能做的、要做的也就是网站部分的安全。
1、设置文件权限:使用UNIX环境空间的朋友,对文件的读写权限一定要注意。很多程序安装的时候需要对系统的文件可写,但是安装完成后,最好将这些文件设置为只读。一般情况下安装要求可写的文件是系统的设置文件,如果被攻击者利用,注入恶意代码后,整站都会包含恶意代码。
2、利用好.htaccess文件:.htaccess文件我们最熟悉的是利用它来使用rewrite、做301转向,但这只是它的功能之一,最强大的是能对Web很多参数进行设置,例如访问权限。
对于网站的敏感位置(如管理目录),可以使用.htaccess来限制访问来源位置为localhost,限制访问来源类型为.php等等……详细的说明可以参考这篇中文帮助手册,充分利用,保证网站安全。
3、注意目录的默认文件:一般情况下,Apache在访问目录没有默认首页的情况下,显示文件列表。那么,如果这个目录是数据备份目录,或网站备份、网站功能文件夹、资料夹,访问者轻易就能下载文件并获取到网站的管理信息,所有管理者帐号密码就可以任意修改网站,危险性是极高的。我们可以做一个空白的文件(如index.php、index.htm等)放到没有默认首页的文件夹中。
就先写这么多吧,有什么新的想法再补充。
作者:樂思蜀
原文:把好三关,预防“恶意软件”标记
发表评论 »
1、 什么是robots.txt?
robots.txt是一个纯文本文件,通过在这个文件中声明该网站中不想被robots访问的部分,这样,该网站的部分或全部内容就可以不被搜索引擎收录了,或者指定搜索引擎只收录指定的内容。当一个搜索机器人访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果找到,搜索机器人就会按照该文件中的内容来确定访问的范围,如果该文件不存在,那么搜索机器人就沿着链接抓取。
robots.txt必须放置在一个站点的根目录下,而且文件名必须全部小写。
2、 robots.txt的语法
"robots.txt"文件包含一条或更多的记录,这些记录通过空行分开(以CR,CR/NL, or NL作为结束符),每一条记录的格式如下所示:
"<field>:<optionalspace><value><optionalspace>"。
在该文件中可以使用#进行注解,具体使用方法和UNIX中的惯例一样。该文件中的记录通常以一行或多行User-agent开始,后面加上若干Disallow行,详细情况如下:
User-agent:
该项的值用于描述搜索引擎robot的名字,在"robots.txt"文件中,如果有多条User-agent记录说明有多个robot会受到该协议的限制,对该文件来说,至少要有一条User-agent记录。如果该项的值设为*,则该协议对任何机器人均有效,在"robots.txt"文件中, "User-agent:*"这样的记录只能有一条。
Disallow :
该项的值用于描述不希望被访问到的一个URL,这个URL可以是一条完整的路径,也可以是部分的,任何以Disallow 开头的URL均不会被robot访问到。例如"Disallow: /help"对/help.html 和/help/index.html都不允许搜索引擎访问,而"Disallow: /help/"则允许robot访问/help.html,而不能访问/help/index.html。
任何一条Disallow记录为空,说明该网站的所有部分都允许被访问,在"/robots.txt"文件中,至少要有一条Disallow记录。如果 "/robots.txt"是一个空文件,则对于所有的搜索引擎robot,该网站都是开放的。
下面是一些robots.txt基本的用法:
禁止所有搜索引擎访问网站的任何部分:
User-agent: *
Disallow: /
允许所有的robot访问
User-agent: *
Disallow:
或者也可以建一个空文件 "/robots.txt" file
禁止所有搜索引擎访问网站的几个部分(下例中的cgi-bin、tmp、private目录)
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /private/
禁止某个搜索引擎的访问(下例中的BadBot)
User-agent: BadBot
Disallow: /
只允许某个搜索引擎的访问(下例中的WebCrawler)
User-agent: WebCrawler
Disallow:
User-agent: *
Disallow: /
常见搜索引擎机器人Robots名字
名称 搜索引擎
Baiduspider http://www.baidu.com
Scooter http://www.altavista.com
ia_archiver http://www.alexa.com
Googlebot http://www.google.com
FAST-WebCrawler http://www.alltheweb.com
Slurp http://www.inktomi.com
MSNBOT http://search.msn.com
robots.txt举例
下面是一些著名站点的robots.txt:
http://www.cnn.com/robots.txt
http://www.google.com/robots.txt
http://www.ibm.com/robots.txt
http://www.sun.com/robots.txt
http://www.eachnet.com/robots.txt
常见robots.txt错误
颠倒了顺序:
错误写成
User-agent: *
Disallow: GoogleBot
正确的应该是:
User-agent: GoogleBot
Disallow: *
把多个禁止命令放在一行中:
例如,错误地写成
Disallow: /css/ /cgi-bin/ /images/
正确的应该是
Disallow: /css/
Disallow: /cgi-bin/
Disallow: /images/
行前有大量空格
例如写成
Disallow: /cgi-bin/
尽管在标准没有谈到这个,但是这种方式很容易出问题。
404重定向到另外一个页面:
当Robot访问很多没有设置robots.txt文件的站点时,会被自动404重定向到另外一个Html页面。这时Robot常常会以处理robots.txt文件的方式处理这个Html页面文件。虽然一般这样没有什么问题,但是最好能放一个空白的robots.txt文件在站点根目录下。
采用大写。例如
USER-AGENT: EXCITE
DISALLOW:
虽然标准是没有大小写的,但是目录和文件名应该小写:
user-agent:GoogleBot
disallow:
语法中只有Disallow,没有Allow!
错误的写法是:
User-agent: Baiduspider
Disallow: /john/
allow: /jane/
忘记了斜杠/
错误的写做:
User-agent: ...
发表评论 »