我正在阅读此规范,该规范是Web服务器与搜索引擎搜寻器之间的协议,该协议允许动态创建的内容对搜寻器可见。在那里声明,为了使搜寻器能够索引html5应用程序,必须#!
在URL中使用来实现路由。在角度上,html5mode(true)
我们摆脱了URL的此哈希部分。我想知道这是否会阻止爬虫将我的网站编入索引。
简短答案-不,html5mode不会破坏您的索引编制,但请继续阅读。
重要说明:Google和Bing都可以在没有HTML快照的情况下抓取基于AJAX的内容
我知道,您链接到的文档另有说明,但是大约在一两年前,他们正式宣布只要使用pushstates,它们就不需要HTML快照 即可
处理AJAX内容,但是很多文档很旧,但不幸的是没有更新。
使用推状态的SEO
开箱即用地进行AJAX抓取的要求是,您正在使用pushstates更改URL。这就是Angular中的html5mode所做的(以及许多其他框架所做的)。当pushstates处于启用状态时,爬网程序将等待ajax调用完成并等待javascript更新页面,然后再对其进行索引。您甚至可以在路由器中更新诸如页面标题甚至元标记之类的内容,它将正确索引。从本质上讲,您无需执行任何操作,在这种情况下,服务器端和客户端呈现的站点之间没有区别。
需要明确的是,许多SEO分析工具(例如Moz)会使用pushstate在页面上发出警告。这是因为这些工具(以及与他们交谈的代表)在撰写本文时尚未更新,因此请忽略它们。
最后,请确保执行此操作时 未 使用下方的片段元标记。如果您具有该标签,则爬网程序会认为您要使用non-pushstates方法,可能会导致混乱。
没有推送状态的SEO
没有理由在Angular中不使用pushstates,但是如果您不这样做,则需要遵循问题中链接的准则。简而言之,您可以在服务器上创建html的快照,然后使用fragment
meta标签将url片段更改为“#!”。代替 ”#”。
<meta name="fragment" content="!" />
搜寻器找到这样的页面时,它将删除url的片段部分,而是使用_escaped_fragment_参数请求url,然后您可以提供快照页面作为响应。给搜寻器一个正常的静态页面进行索引。
请注意,仅在您要触发此行为时才应使用片段元标记。如果您使用的是pushstate,并希望页面以这种方式编制索引,请不要使用此标记。
另外,在Angular中使用快照时, 可以
启用html5mode。在html5mode中,该片段是隐藏的,但从技术上讲它仍然存在,并且假设设置了片段元标记,该片段仍会触发相同的行为。
警告-Facebook搜寻器
尽管Google和Bing都将毫无问题地检索您的AJAX页面(如果您使用的是pushstates),但Facebook不会。Facebook不了解ajax内容,但仍需要特殊的解决方案,例如专门为facebook机器人(用户代理facebookexternalhit
/ 1.1)提供的html快照。
编辑 -我可能应该提到我已经用所有这些版本部署了站点。两者都带有html5mode,片段元标记和快照,并且没有任何快照,仅依赖于pushstate-
crawling。除了上面提到的pushstates和Facebook之外,一切都正常。
问题内容: 最近我一直在学习很多python,以便在工作中的某些项目上工作。 目前,我需要对Google搜索结果进行一些网页抓取。我发现了几个站点,这些站点演示了如何使用ajax google api进行搜索,但是在尝试使用它之后,似乎不再受支持。有什么建议? 我一直在寻找一种方法,但似乎找不到当前有效的解决方案。 问题答案: 您随时可以直接抓取Google搜索结果。为此,您可以使用将返回前10个
此外,如果我可以动态地改变它,那么我需要这样做的迹象是什么?任何特定的异常或场景指出需要或? 谢了!
我使用JCIFS SMB上传SMB文件时遇到性能问题。问题与属性并使用修复了该问题。 现在的问题是,在这种情况下,我将在使用因为它对我来说必须是静态属性?我有许多使用相同配置的不同环境。 属性文档(链接)说: 如果此属性为true,则将禁用基于域的DFS引用。默认值为false。此属性在非域环境中可能很重要,在非域环境中,通常在JCIFS首次尝试解析路径时运行的基于域的DFS引用将超时,从而导致长
问题内容: 我想知道AJAX动态加载的内容是否会影响SEO /搜索引擎对页面进行索引的能力? 我正在考虑做一个不断加载的页面,例如Tumblr仪表板,当用户向下滚动时会自动加载内容。 问题答案: 简短的回答:这取决于。 这就是为什么-假设您要索引一些内容,在这种情况下,使用ajax加载该内容将确保不会。因此,该内容应正常加载。 另一方面,假设您要索引一些内容,但是出于某种原因,您不希望显示它(我知
null 这个范围在Google API控制台的“OAuth同意屏幕”选项卡中被命名为“OpenID”,URL中有“plus.me”。openid范围是默认设置。 https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email endpoint: https://acco
问题内容: 我试图用谷歌搜索,但是没有运气。 我的开关很大,有些情况 显然 比其他情况 更常见 。 因此,我想知道订单是否真正保持原状,并且在“下”之前先测试“上”案例,因此可以更快地进行评估。 我想保留订单,但是如果它影响速度,那么重新排序分支将是一个好主意。 例如: 问题答案: 对switch语句重新排序没有任何效果。 查看Java字节码规范,可以将a编译为a 或一条指令,然后打开a 。A 总