IndexNow并不完美,但它很直接
对SEO来说,面对的首要问题是索引问题,而索引问题中的首要问题是URL的发现问题。因此让页面的产生、更改、删除被搜索引擎发现是SEO的重中之重。让网页被高效率地发现和索引也是搜索引擎的基本追求。
但是,搜索引擎并不是什么都吃的。所有的搜索引擎,包括百度,都对页面的质量有所判断,只收录它们所认为的高质量内容的页面。一些我们认为不怎么样的搜索引擎只不过在判断质量上能力不足罢了。
我们今天要讨论的不是内容质量,而是内容的发现问题。单这个问题,搜索引擎就需要花很多资源来解决。为了发现大型网站上新发布的页面,搜索引擎往往需要爬行并渲染上万个页面。这种低效的工作方式还不如将资源用作挖矿来得实在。为了解决这个问题,Bing以及Yandex搞出一套通知搜索引擎页面变动的解决方案——IndexNow。
什么是IndexNow?
IndexNow 是一种协议,允许网站所有者将其网站上的新内容或修改内容通知多个搜索引擎。目前有Bing和Yandex加入。你只需要在网站页面发生变更时去通过这个协议Ping一下搜索引擎,搜索引擎就会被成功通知到。
如果你是搜索引擎,你也可以参与到IndexNow协议中。只要满足
采用 IndexNow 协议的搜索引擎同意提交的 URL 将自动与所有其他参与的搜索引擎共享。要参与其中,搜索引擎必须至少在一个市场中占有一席之地。
IndexNow.org
如何使用IndexNow?
第一步是鉴权。你可以自定义一个密钥,16进制长度为8到128个字符之间。比如:a4a4a-4a4a4。接下来以它命名一个txt文件,并把它放到你的网站的根目录下。这样就会有https://maxket.com/a4a4a-4a4a4.txt。这个txt文件的内容也必须包含这个密钥。这里你也可以不放在根目录,但是以后每次都必须指出密钥文件地址,这太麻烦了。
第二步是推送。推送一条URL很容易,直接GET https://www.bing.com/indexnow?url=[新链接或更改链接的URL]&key=[密钥]。由于协议是共享的,因此推送到yandex.com也一样。通知一家,其他家就都知道了。在这里呢,你可以尝试我不久前教你的Excel公式WebService()来完成几条URL的手动提交。但如果你请求过多,你会收到429状态码。
要想一次提交多条URL或者提交一个XML Sitemap包含多条URL的,你可以使用POST方法。在此不再详述,看官方文档即可。想偷懒也可以使用indexnow.com的工具批量提交URL。
对于每个域,我们都需要建立一个密钥文件。这个文件中的密钥可以相同。也就是说如果有blog.maxket.com,那么也必须有 https://blog.maxket.com/a4a4a-4a4a4.txt。
IndexNow有效吗?
讲到这里,你或许已经觉得这个协议和百度的链接提交API很相似了。的确是这样,而且提交后也不保证被爬行或收录,只不过引擎会“被通知到”这个变化,并且这些URL的爬行优先级会更高一些。
最近谷歌新闻发言人已经确认将会测试IndexNow协议。这意味着IndexNow的效能将大幅上升。也正因为这点,它更值得我们关注。而且据称,占全球最大市场份额的CMS WordPress也会加入到支持IndexNow的队伍中。
IndexNow除了可以提醒新页面也可以提醒旧页面的更改。如果你正在上新的301跳转,你可以用源页面作为提交URL,搜索引擎会发现跳转后的新页面从而更新索引。
相对于Sitemap,IndexNow有它的优势。有了 IndexNow,你就“不必”等待引擎来发现和爬取网站地图,而是可以直接通知搜索引擎新的内容。
值得注意的是IndexNow带来的爬取会占用你的爬取配额。你要是用IndexNow提交URL把搜索引擎的任务塞满了,可能它们就无法再爬其他它们发现的新页面了。
最后,你可能问,需要在开始用IndexNow之后重新把所有的URL提交上去吗?其实是没必要的,不单这会占用你的爬取配额,还会让真正需要被关注的URL淹没其中。