如何处理网站照片、视频和ajax方便搜索引擎
Java、照片、音频和视频。 Flash 文件、Java 嵌入、音频和视频(无论格式如何)提供的大多数内容都无法被搜索引擎抓取,但我们稍后会讨论一些例外情况。搜索引擎只能读取HTML 格式。图片或Java控制台中包含的文本、关键字或段落对爬虫不可见。同样,搜索引擎很难读取音频或视频文件中的句子。然而,为了“抓取”音频内容并阅读其含义,Google 尝试使用诸如Google 语音搜索之类的工具(这首先在Steven Levy [Simon and Schuster] 的著作In Plex 中发现)。百度现在有MP3 搜索功能,Shazam 和Jsaikoz 应用程序也可以识别歌曲表达。
以前作为标签元数据使用,alt 属性是为视障人士创建的访问权限标签,现在可以显示图片或嵌入雨的一部分作为文本内容的呈现方式。当文本内容在搜索引擎中显示时显示文本内容。 lt 属性不是一个非常有效的信号,不能替代在图像链接中使用简单的文本链接,因为文本链接包含描述性锚文本。更好的替代方法是为HTML 内容使用标题和文本描述。
在过去的几年里,许多提供转录服务的公司涌现并推出了自动文本生成功能,将句子从音频或视频转录成文本。记录您的富媒体页面,以便搜索引擎可以搜索您的内容,甚至关键字搜索访问者也可以找到它。您还可以使用Dragon Naturally speak 等软件将“转录文本”口述给您的计算机。 AJAX 和JavaScript。 JavaScript 为您的网站启用了许多动态功能,其中大部分功能不会干扰搜索引擎爬虫的运行。例外情况是页面必须使用JavaScript 密码才能访问另一个页面或获取爬虫无法以HTML 形式查看的内容。在某些情况下,搜索引擎爬虫无法查看此类内容。但是,Google 想要运行JavaScript 来访问这些内容。随着时间的推移,谷歌读取JavaScript 的能力已经提高,并将继续提高。
从Google 读取JavaScript 的一个例子是Facebook 启动。 Facebook Launch 是Facebook 提供的一个系统,允许网站发布者收集网站用户的意见。图6-13 显示了TechCrunch 网站页面上的Facebook 评论。
如果你查看这篇博文的源代码,你可能在页面的HTML 中看不到这些评论的文本字符串。这是因为这些评论存储在Facebook 上,并在页面之后由Web 服务器动态检索。建议.
此示例中包含的文本类型以前无法被搜索引擎索引。如果你使用类似的JavaScript 系统工具,目前还不清楚Google 或Bing 是否会使用这种类型。 Facebook 评论是一种流行的系统,可帮助搜索引擎找到阅读此内容的方法,但直到2012 年3 月,Google 才能够将这些内容编入索引。
然而,自2015 年6 月以来情况发生了变化,截至2015 年6 月,此类内容可以被谷歌索引并链接到Facebook 评论所属的网站。您可以对此进行测试(测试内容是否已编入索引)。具体任务包括:选择句子的行,在Google 上进行搜索,然后将句子括在双引号中,以便Google 仅搜索完全相同顺序的句子。如图
Google 最近指出它可以运行大多数JavaScript,但这并不意味着它可以运行所有JavaScript。在网页的HTML 中显示的格式。
AJAX 可能会导致搜索引擎无法抓取的内容出现一些问题。因为AJAX 使用数据库调用来检索数据而不更新页面或更改URL,搜索引擎永远不会看到这些技术背后的内容。
其实早在2015 年初,Google 就建议可以放弃AJAX 页面抓取。 EricEnge 在2015 年6 月晚些时候的一篇文章中进一步强调了这一点,谷歌的Gary Illyes 在文章中写道“有一个URL,该URL 下的用户必须点击该材料才能看到相同的内容。经过评审过程后,通常只显示主要内容。”
因此,如果您正在使用现有的AJAX 启用程序,您可能需要考虑更改为用于搜索引擎跟踪的爬网系统。很多发布者觉得很难放弃,因为AJAX 应用非常符合用户的使用习惯,很容易吸引用户的注意力。对于这些传统的激活程序,更好的解决方案是创建一个搜索引擎可跟踪链接和页面的目录。
在创建链接和页面的二级结构时,您必须向用户提供访问权限的这些页面的权限。在您的AJAX 应用程序中,您为访问者设置“直接链接到此页面”选项,并将URL 与您通过链接结构提供给搜索爬虫的URL 相关联。 AJAX 应用程序面临着无法抓取内容的问题,以及因为URL 没有改变而无法从用户那里接收到正确链接的问题。
某些版本的AJAX 使用# 分隔符作为AJAX 应用程序中的搜索字符串。这允许您直接链接到应用程序中的其他页面。 # 用于标记HTML 书签。通常,搜索引擎会忽略以下内容:
这主要是因为网页浏览器只能使用#后面的内容跳转到页面上的锚点,浏览器才能完成这个任务。这意味着浏览器不会发送所有URL,因此永远不会将参数信息(例如# 之后的文本)发送回服务器。
2009 年,Google 提出了一种在搜索引擎中显示AJAX 页面的方法,稍后在Google Developers 网站上的一个提案中对此进行了解释。
Google 提出的解决方案涉及调整AJAX URL 的构建方式,以便爬虫可以在它们被视为静态页面时识别它们(静态页面始终返回相同的内容)。在这种情况下,Google bot 还会读取页面,以与其他静态页面类似的方式对该页面进行索引和排名,并为其提供与使用简单HTML 编码的页面竞争排名的相同机会。
其他类型的单页应用程序框架,例如Angular.js、Backbone.js 或Ember.js 可能会面临同样的问题。