【搜寻引擎最佳化】
搜寻引擎最佳化（search engine optimization，缩写为SEO）是透过了解搜寻引擎的运作规则来调整网站，以及提高目的网站在有关搜寻引擎内排名的方式。由于不少研究发现，搜寻引擎的用户往往只会留意搜寻结果最前面的几个条目，所以不少网站都希望透过各种形式来影响搜寻引擎的排序，让自己的网站可以有优秀的搜寻排名。当中尤以各种依靠广告维生的网站为甚。
所谓「针对搜寻引擎作最佳化的处理」，是指为了要让网站更容易被搜寻引擎接受。搜寻引擎会将网站彼此间的内容做一些相关性的资料比对，然后再由浏览器将这些内容以最快速且接近最完整的方式，呈现给搜寻者。搜寻引擎优化就是通过搜寻引擎的规则进行优化，为用户打造更好的用户体验，最终的目的就是做好用户体验。
对于任何一个网站来说，要想在网站推广中取得成功，搜寻引擎优化都是至为关键的一项任务。同时，随着搜寻引擎不断变换它们的搜寻排名演算法规则，每次演算法上的改变都会让一些排名很好的网站在一夜之间名落孙山，而失去排名的直接后果就是失去了网站固有的可观访问流量。所以每次搜寻引擎算演法的改变都会在网站之中引起不小的骚动和焦虑。可以说，搜寻引擎优化是一个愈来愈复杂的任务。
经过许多专业的SEO研究机构调查后发现，当使用者利用搜寻引擎寻找资料、产品或服务时，大部分人通常只会点击搜寻结果当中，最前面出现的几个连结，因此，大部分的网站都希望能透过各种方式或手法来试图影响网站页面在搜寻引击的排名。不过，搜寻引擎的演算法会不断的更新，网站的排名也会因此会有动荡，所以如果没有持续做好SEO，很快地排名就很有可能会掉下来。
== 历史 ==
=== 早期搜寻引擎 ===
网站管理员以及网路内容提供者在90年代中期开始使用搜寻引擎来优化网站。此时第一代搜寻引擎开始对网际网路分门别类。一开始，所有网站管理员能做的事只有提交所属网站到各家搜寻引擎。这些引擎运行一些蜘蛛机器人（spider）──t他们会在网页程式中找到连至其他网页的超链接──并且储存所找到的资料。过程中同时包含了将网页下载并储存至搜寻引擎拥有者的伺服器中，这时有另外一个软体称为Indexer来撷取页面中不同的资讯——页面中的文字、文字的位置、文字的重要性以及页面所包含的任何连结，之后将页面置入清单中等待过些时日后，再来撷取一次。随著线上文件数目日积月累，越来越多网站员意识到自然搜寻 （有机搜寻） 条目的重要性，所以较普及的搜寻引擎公司开始整理他们的列表，以显示最恰当适合的网页为优先。搜寻引擎与网站管理员的战争就此开始，并延续至今。
一开始搜寻引擎是被网站管理员本身牵著走的。早期版本的搜寻演算法有赖于网站员提供资讯，如关键字的基本定义标签（meta tag）。当某些网站员开始滥用标签，造成该网页排名与连结无关时，搜寻引擎开始舍弃标签并发展更复杂的排名演算法。这些算法将网页的内容特征作为分析目标，由于数繁不及备载，仅列举数个分析目标如下：
* 在标题签里的文字，如 引擎
* 域名，如 wikipedia.org
* 统一资源定位符（URL）下属的目录与档名，如 http://zh.wikipedia.org/wiki/Seo date=20200807044620
* 关键字密度
* 关键字接近度，如 '软-{}-盘、软-{}-碟'  '硬-{}-盘、硬-{}-碟'
* 图形连结的 Alt 属性，如
但是经过多年的搜寻引擎演算法的调整，现在较重要的影响标签为：
* 中的 alt属性
由于这些都还在网站人员的眼皮下打滚，搜寻引擎陆陆续续碰到诸多滥用与操纵排名等难题。为了要提供较好的结果给使用者，搜寻引擎必须被调整到能够产生真正有价值的搜索结果，而非某些不道德的网站站主产生的、只有塞满关键字的无用网页。由此，新种类的搜寻引擎应运而生。
=== 当代搜寻引擎 ===
Google的两名创始者拉里·佩奇（Larry Page） 和谢尔盖·布林（Sergey Brin）带来了一个给网页评估的新概念，称为「网页级别」 （PageRank），是Google搜寻引擎演算法重要的开端。网页级别十分倚赖导入连结（incoming link），并利用“每个导入某网页的连结相当于给该网页价值投一票”的理论建立起逻辑系统。越多导入连结意味著该网页越有“价值”。而每个导入连结本身价值直接根据该连结从何而来的网页级别，以及相反的该页导出连结 （outgoing link） 。而在2009年的10月，Google网站管理工具正式移除了PageRank，而紧接著 Google 在2011年移除了 Firefox 的 Google Toolbar，并在2016年正式除 Google PageRank。
Google 在服务相关的结果上证明网页级别相当优异。Google 成为了最普遍和最成功的搜索引擎。由于网页级别纳入站点外因子，Google认为它们会比页内因子难以动手脚。
然而网站员们已经开发出对付Inktomi搜索引擎的连结操作工具和计划。这些方法证明对Google 算法一样管用。许多站集中于交换、买卖大量连结。随著网站员寻求获取连结只单单要影响Google送更多流量给该站，而不管对站点访客是否有用，这种行为的增加，让网页级别对原始算法的信赖度渐渐被破坏了。
此时，是Google 和其它查寻引擎对广大范围的站外因子仔细检视的时候。开发更加聪明的算法有其他原因。网际网路已经扩大到拥有并无相关技术的广大用户。他们经常无法使用先进的提问技巧来取得资讯；而且他们得面对网际网路比起发展早期更庞大资料、更复杂的索引。搜寻引擎必须开发具备预测性、语义性、语言性和启发性演算法。
目前，网页级别的缩小版仍然被显示在Google 工具条上，不过网页级别只不过是Google考虑在网页分级时超过100个因素里中的一个。
今天，大多数搜寻引擎对它们的如何评等的演算法保密。搜索引擎也许使用上百因素在排列目录；每个因素本身和因素所占比重可能不断地在改变。
大部分当代搜寻引擎优化的思路──哪些有效、哪些没效──这些很大部分在于观察与根据内线消息来的猜测。某些优化员得在执行控制下的实验中取得不同最佳化方法的结果。
尽管如此，以下是搜寻引擎发展它们演算法时的一些参考，一份Google的专利清单也许可以让读者猜出他们会走哪条路线：
* 站点的年龄
* 自该网域注册后过多久
* 内容的年龄
* 新内容增加的规律性
* 连结的年龄，连接站点的名誉和其相关程度
* 一般站内因素
* 负面站内因素 （例如，太多关键字汇标（meta tag），很显然被优化过，会对站点造成伤害）
* 内容的独特性
* 使用于内容的相关术语 （搜寻引擎关联到的术语的方式视同如何关联到网页的主要内容）
* Google网页级别 （只被使用在Google 的算法）
* 外在连结、外部连结的连结文字、在那些和在站点/网页包含的那些连结
* 引证和研究来源（表明内容是研究性质）
* 在搜索引擎资料库里列举的词根与其相关的术语（如 finance/financing）
* 导入的逆向连结，以及该连结的文字
* 一些导入连结的负面计分 （或许那些来自低价值页、被交换的逆向连结等）
* 逆向连结取得速率：太多太快意味著“不自然”的连结购买活动
* 围绕在导出连结、导入的逆向连结周围的文字。例如一个连结如果被 "Sponsored Links" （赞助商连结）包围，该连结可能会被忽略。
* 用 "rel=nofollow" 建议搜寻引擎忽略该连结
* 在站点该文件的结构深度
* 从其他资源收集的网格表，譬如监视当搜寻结果导引用户到某页后，用户有多频繁按浏览器的返回
* 从来源像：Google AdWords/AdSense、Google 工具条等程序收集的网格表
* 从第三方资料分享协议收集的网格资料 （譬如监测站点流量的统计程式提供商）
* 删除导入连结的速率
* 使用子网域、在子网使用关键字和内容品质等等，以及从这些活动来的负面计分
* 和主文件语意上的连结
* 文件增加或改动的速率
* 主机服务商 IP 和该 IP 旗下其它站点的数量/品质
* 其他连结站会员 （link farm / link affiliation） 与被连结的站 （他们分享IP吗? 有一个共同的邮递地址在"联络我们 （Contact Us）" 页吗?）
* 技术细节像利用301重定向被移除的网页、对不存在网页显示404伺服器标头而非200伺服器标头、适当的利用 robots.txt
* 主机服务商正常运行时间
* 是否站点对不同类的用户显示不同的内容（称为「掩饰」（cloaking））
* 未及时矫正、无效的导出的连结
* 不安全或非法内容
* HTML代码品质，以及错误出现数
* 由搜寻引擎自他们搜寻结果观察到的实际点击通过率评等
* 由最常存取搜寻结果的人手动评等
== 搜寻引擎优化和搜寻引擎之间关系 ==
于1997年，搜寻引擎公司意识到，网站管理员们会不余遗力地让自己的网站拥有较好的搜寻排名，甚至于会将不相关的关键字塞在网页中，用来欺骗搜寻引擎以得到较好的搜寻排名。早期搜寻引擎， 譬如Altavista与INFOSEEK，就开始调整搜寻演算法以避免受到人为的操弄。于2005年召开的AirWeb年会，就希望把实务与研究者聚集起来，共同讨论关于搜寻引擎优化等相关议题。
如果过度地操作搜寻引擎优化，可能会导致操作的网站被搜寻引擎封锁。在2005年，华尔街日报就曾经报导Traffic Power公司，据说使用高风险的方式，并且没有让客户了解这些操作的风险。Wired网站则报导了这家公司对部落客提起告诉，只因为提及该公司被取缔的事件。Google 的克特斯 （Matt Cutts） 稍后确认Google 确实取缔了Traffic Power以其他们的客户群。
某些搜寻引擎对搜寻引擎优化产业提供了援助，而且是常常是优化会议和研讨会的赞助商和来访贵宾。所有主要搜寻引擎都提供资讯/指南以协助站点优化: Google 、Yahoo ， 和MSN。Google提供了Sitemaps 程序帮助网站员学习如果Google有任何问题检索他们的网站时该如何做，并且提供Google流量与你的网站关系间无价的丰富资料。雅虎的Ambassador Program 与Google的Advertising Professionals 提供专家级的认证。
== 搜寻引擎入手 ==
新站点不需要"提交"到搜寻引擎才能登记上市。一个来自于已建立好的、其他站点的简单链结就会让搜寻引擎拜访新站点，并且开始『爬』过该站内容。它可能得花几天甚或几周从这样一个已建立站点取得连结，并使所有主要搜索引擎开始拜访并索引新站点。社交媒体及新闻发布网站是较容易吸引搜索引擎建立站点的方法。
一旦搜索引擎发现了新站点，它一般将拜访和开始索引该站，直到所有标准的  超连结被链结的页索引到为止。只能透过Flash或JavaScript拜访的链结可能不会被蜘蛛机器人找到。
当搜索引擎的蜘蛛机器人爬过一个站点时会取决相当数量的不同因子，并且该站的许多页可能不会被索引到除非它们网页级别、连结、或流量增加到一个程度。从站点的根目录到该页的距离，以及其它比重考量，也许也是决定是否该页得到检索的因素。Cho et al.（Cho et al. 1998） 描述了哪些页会被拜访、哪些会收入搜寻引擎索引的决定标准。
网站员可透过在网域根目录里标准robots.txt档案指示蜘蛛机器人不索引某些文件或目录。标准的实现要求是搜索引擎在拜访这个网域时参考这个文件，虽然搜索引擎的蜘蛛机器人当它拜访某站点网页时将保留这个文件的快取拷贝，并且更新速度没像网站员那么快。网站发展人员可能使用这个特性防止某些页，譬如购物车或其它动态、特定使用者的内容出现在搜索引擎结果中，并且防止机器人进入死循环和其它机器人陷阱。
对于某些有偿提交的查寻引擎（像雅虎），支付象征性费用提交也许会节省一些时间，虽然雅虎有偿提交方案不保证提交人/公司包括在他们的查寻结果中。中文的搜狐和新浪ask等需要支付一定费用，但免费的非商业网站可以提供，当然搜索引擎方并不保证一定收录相应的网站。
== 白帽方法 ==
搜寻引擎优化的白帽法包括遵循搜寻引擎哪些可接受哪些不能接受的指导方针。他们的建议一般是为用户创造内容，而非搜寻引擎、是让这些内容易于被蜘蛛机器人索引、并且不尝试对搜寻引擎系统耍花招。网站员经常于设计或构建他们的网站时，犯下致命错误、疏忽“毒害”该站以致排名不会很好。白帽法优化员企图发现并纠正错误，譬如机器无法读取的选单、无效链接、临时改变导向、或粗劣的导引结构。
因为搜寻引擎是以文本为中心，许多有助于网页亲和力的同样手段同样便利于搜寻引擎优化。这些方法包括最佳化图形内容、包括ALT 属性、和增加文本说明。甚至Flash动画可于设计该页时包括替代性内容──这本来用来给访客无法阅读Flash的环境用的──来帮助优化。
白帽是正确的优化方式，是根据搜寻引擎所提出的优化方针规范而执行的优化方法。采用白帽可以避免掉任何被搜寻引擎惩罚的风险，从网站框架、关键字、网站内容、外连等各方面使用合乎搜寻引擎规律的手段，做到合理优化网站，提高使用者体验，合理与其他网站互联。同时对网站内容持续不断地更新。同时白帽所投入的时间较长，必须按部就班一步一步实现的。但其所投入的时间并不会白白浪费，反而会在日后反馈更多效益。
这里是一些搜寻引擎认为适当的方法：
* 在每页使用一个短、独特和相关的标题。
* 编辑网页，用与该页的主题。有关的具体术语替换隐晦的字眼。这有助于该站诉求的观众群，在搜寻引擎上搜寻而被正确导引至该站。
* 在该站点增加相当数量的原创内容。
* 使用合理大小、准确描述的汇标，而不过度使用关键字、惊叹号、或不相关标题术语。
* 注意网址字眼，有助于搜寻引擎优化。
* 确认所有页可透过正常的链结来访问，而非只能透过Java 、JavaScript或Adobe Flash应用程序访问。这可透过使用一个专属列出该站所有内容的网页达成（网站地图）
* 透过自然方式开发链结：Google不花功夫在这有点混淆不清的指南上。写封电子邮件给网站员，告诉他：您刚刚贴了一篇挺好的文章，并且请求链接，这种做法很可能为搜寻引擎所认可。
* 参与其他网站的网路集团（译按：web ring 指的是有相同主题的结盟站群）──只要其它网站是独立的、分享同样题目和可比较的品质。
== On-Page 页面优化 ==
On-Page SEO指的是站内优化或称页面优化，On-Page SEO 能够让你自由的控制所有SEO的因素，透过SEO观念与技巧，使得页面能够有更佳的使用者体验与更高的排名。
On-Page SEO就是结合了白帽SEO观念与撰写技巧而成的，透过提高网站内文质量来获取更好的排名就是On-Page SEO的目标，想要做好 On-Page SEO主要有三个因素：
# 高质量内容
# 网站架构
# 外观设计与使用者体验
== 黑帽方法 ==
垃圾索引（Spamdexing）意指透过欺骗技术和滥用搜索演算法来推销毫不相关、主要以商业为著眼的网页。许多搜索引擎管理员认为任何搜索引擎优化的形式，其目的用来改进网站的页排名者，都是垃圾索引。然而，随时间流逝，业界内公众舆论发展出哪些是哪些不是可接受的、促进某站的搜索引擎排名与流量结果的手段。
因为搜寻引擎以高度自动化的方式运作，网站员通常可以利用某些未被搜寻引擎认可的手段、方法来促进排名。这些方法经常未被注意，除非搜索引擎雇员亲临该站点并注意到不寻常活动、或在排名算法上的某个小变化导致站点丢失以过去方式取得的高排名。有时某些公司雇用优化顾问评估竞争者的站点、和"不道德的" 优化方法向搜寻引擎报告。
当这些垃圾索引被发现时，搜寻引擎可能会对那些被发现使用不道德的优化手段者采取行动。2006年2月，Google拿掉了BMW德国站和Ricoh德国站，因为他们用了这些方法。
斗蓬法（cloaking）通常指的是网站站长用了两版不同的网页来达到最佳化的效果。一个版本只供给搜索引擎，另一个版本供给普通用户。搜索引擎认为此种做法是正规，如发现，该网站会永远从搜索引擎名单中被剔除。但是对于如AJAX所撰写的动态网页，Google也有提出名为HTML Snapshot的作法，以方便搜索引擎进行收录
关键字隐密字 （hidden text with keyword stuffing）是另外一欺骗搜索引擎的做法。通常是指设定关键字的颜色和网页背景颜色一样，或透过 css hidden attribute （隐密特性） 来达到优化效果。这种做法一旦被Google发现，遭遇也会是该网站从Google的资料库中除名。
桥页（doorway pages）也叫门页，是通常是用软件自动生成大量包含关键词的网页，然后从这些网页做自动转向到主页。目的是希望这些以不同关键词为目标的桥页在搜索引擎中得到好的排名。当用户点击搜索结果的时候，会自动转到主页。有的时候是在桥页上放上一个通往主页的链接，而不自动转向主页。
付费连结（paid link）是利用支付费用方式要求其他网站提供连结至自身网站，借此伪装高信任网站来欺骗搜寻引擎，付费连结类型多为锚点文字（Anchor Text）类型，Google的品质方针也明确指出以金钱交换的连结将可能对网站造成负面影响。
连结农场（link farm）　是故意在一些低质素，内容跟自己内容无关的网站上取得大量连结，借以提高排名。
=== 法律案例 ===
2002 年， 搜索引擎操作者SearchKing在俄克拉何马法院提出了诉讼，反对搜索引擎Google。SearchKing的要求是， Google防止垃圾索引的手段形成了一条不公正的商业惯例。这也许可想像为垃圾电子邮件营销者控告反垃圾电子邮件者，如同许多反对地图以及其他DNS黑洞表（DNSBL）的案例。2003年1月，法院发布了一个Google胜诉的判决摘要。
== 高品质网站通常可以获得优秀的搜寻排名 ==
对许多有心于最大化网站附加价值的网站管理员们，可阅读由搜寻引擎出版的、以及W3C发行的编码指南。如果遵循该指南，站点经常地更新，有用、原创的内容，和建立几个实用、有意义的导入链接，获得相当可观数目的基本搜寻流量不是甚么难事。
当站点拥有有用的内容，其它站点员自然而然会连结至该站，进而增加访客它的网页级别和访客流。当访客发现一个有用的网站，他们倾向于利用电子邮件或者及时讯息连结介绍给其它访客。
总括来说，增进网站品质的搜寻引擎优化实现很可能比直接寻找操控搜寻排名手段的短期实现要活得长久。顶尖的搜寻引擎优化员们找寻的目标与搜寻引擎追求发扬光大的东西二者不约而同。他们是：相关性、对他们用户有用的内容。换句话说，即向用户提供优质有用，而且独特的资料，以内容行销的方法，软性地吸引潜在的客户，自自然然地找到你的网页。
== Google针对盖版广告进行演算法打击 ==
在2017年1月10日，Google正式加入新的演算法变化，将盖版广告(Pop-up, 又称侵入性插页式广告)纳入演算法因素之一。举例来说，当网站使用了大篇幅的侵入性插页式广告，导致使用者在手机的使用者体验非常不佳时，就会受到此演算法的影响，从而影响排名。
但 Google 也表示，并非所有的侵入性插页式广告都会遭到演算法的影响，只要合理的正当使用，就不会受到此演算法的惩罚。举例来说，要求 Cookie 存取权限与年龄验证的画面就不会受到此演算法的影响。
Google 这次会针对侵入性插页式广告进行排名的打击，主要是为了针对行动装置的使用者体验提升，促使采用大量侵入性插页式广告的网站从而调整广告篇幅与方式，进而达到提升使用者体验的目的。