▍搜索引擎运作原理
如果你有时间,可以阅读一下谷歌的框架:
infolab.stanford.edu/~backrub/go…
这是一篇古老但非常平易近人的文章,对于搜索引擎优化和其基本概念的解释非常详细。我只简要提及一些要点。
搜索过程的步骤:
用户输入查询内容。
查询处理以及分词技术。
确定搜索意图并返回相关、新鲜的内容。
▍为什么需要SEO?
这是一个有趣的问题,答案通常涵盖网站获得更多流量的目的。
爬虫与索引
我们首先来看看谷歌的爬虫是如何工作的:
抓取是 Googlebot 发现新网页并更新这些网页以将网页添加到 Google 索引中的过程。
我们使用许多计算机来获取(或"抓取")网站上的大量网页。执行获取任务的程序叫做 Googlebot(也被称为漫游器或信息采集软件)。Googlebot 使用算法来进行抓取:计算机程序会确定要抓取的网站、抓取频率以及从每个网站中获取的网页数量。
Google 的抓取过程是根据网页网址的列表进行的,该列表是在之前进行的抓取过程中形成的,且随着网站管理员所提供的站点地图数据不断进行扩充。Googlebot 在访问每个网站时,会检测每个网页上的链接,并将这些链接添加到它要抓取的网页列表中。新建立的网站、对现有网站所进行的更改以及无效链接都会被记录下来,并用于更新 Google 索引。
换句话说,谷歌的爬虫(也称为蜘蛛)能够抓取你网站索引的所有页面。
为什么谷歌能够搜索整个互联网的内容?因为他解析并存储了。而更有趣的是,他会为相同的内容建立一个索引或者分类,按照一定的相关性,针对某个关键词的内容。
对于一个网站来说,PageRank相当重要,但相对复杂。它包括其他网站链接向你的网站,以及流量、域名等等。
▍哪些网站需要SEO?
下图显示了我的博客的流量来源:
通常情况下,除了像腾讯QQ空间这样自我封闭的网站,其他网站都需要SEO,或者不希望泄露用户隐私的网站如Facebook、人人等。
如果你希望通过搜索引擎获取流量。
如果你有大量内容但访问用户数量有限。
如果你为一家公司或企业工作,为其带来业务。
...
▍SEO与编程的不同之处
SEO与编程最大的区别在于:
编程侧重于技术,而SEO的核心在于内容。
内容是SEO最重要的组成部分,这也是腾讯等公司无法复制的要素。
SEO基础知识:
确保网站可以被搜索引擎索引。
常见页面不能访问的原因包括:
链接隐藏在需要提交的表单中。
JavaScript脚本中的链接无法解析。
Flash、Java和其他插件中的链接。
PowerPoint和PDF文件中的链接。
指向被meta Robtots标签、rel="NoFollow"和robots.txt屏蔽的页面的链接。
页面上包含过多链接。
框架结构(frame)和内联框架(iframe)中的链接。
对于动态生成内容的网站:
确保页面可以在没有JavaScript的情况下渲染。
在用户禁用JavaScript的情况下,保证所有链接和页面可访问。
确保爬虫可以看到所有内容,对于爬虫来说,通过JavaScript动态加载的内容并不友好。
在正确的位置使用正确的关键词:
将关键词放入URL中。
将关键词作为页面标签。
使用H1标签标记关键信息。
图片文件名和ALT属性应包含关键词。
页面文字中包括加粗的关键词。
使用Description标签提供关键信息。
内容:
对于技术博客,内容是最重要的考虑因素。用户体验和网站内容密不可分,没有高质量的内容,任何SEO都是徒劳的。
避免复制内容问题:
避免复制其他网站的内容,除非你对其进行了大量的改编,使其与众不同。
如果必须使用重复内容,使用相对规范标明哪个URL应被视为权威。
保持持续更新:
谷歌喜欢持续更新的博客,对于技术博客作者来说,持续更新不仅可以学习更多内容,也可以保持一个良好的写作习惯。
网站速度:
谷歌关注网页加载速度,确保网站遵循最佳实践以提高加载速度。
保持耐心:
SEO是一个持续的过程,不可能在短期内取得好的排名,需要耐心等待搜索引擎对网站进行收录和排名。
链接建设:
链接建设是SEO的基础部分,除非你有一个强大的品牌,否则需要不断努力吸引链接。
关于链接,有太多可以探讨的内容,但目前还没有一个好的获取链接的方法。寻找合适的链接伙伴、交换链接等都是有效的方式。
总的来说,SEO是一个需要长期坚持的过程,同时也需要技术和内容相结合,不可忽视任何一个方面。