prerender.io 并使用 _escaped_fragment_= 和 angularJs



我有一个使用 prerender.io 的网站。去年一切进展顺利。今年我不得不更改站点,并将其从.net项目移动到纯AngularJs应用程序(使用yeo angular(。

这是几个月前完成的。我最近发现,prerender.io 不再缓存我的页面。 我发现我的 web.config 已更改。我添加了这个规则:

<rule name="SEO" stopProcessing="true">
<match url="^(?!.*?(.js|.css|.xml|.html|.less|.png|.jpg|.jpeg|.gif|.pdf|.doc|.txt|.ico|.rss|.zip|.mp3|.rar|.exe|.wmv|.doc|.avi|.ppt|.mpg|.mpeg|.tif|.wav|.mov|.psd|.ai|.xls|.mp4|.m4a|.swf|.dat|.dmg|.iso|.flv|.woff|.ttf|.m4v|.svg|.torrent))(.*)" ignoreCase="false" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_USER_AGENT}" pattern="baiduspider|facebookexternalhit|Facebot|twitterbot|googlebot" />
<add input="{QUERY_STRING}" pattern="(.*)_escaped_fragment_=(.*)" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="http://service.prerender.io/http://www.kudos-sports.com/{R:0}" appendQueryString="false" />
<serverVariables>
<set name="HTTP_X_PRERENDER_TOKEN" value="****" />
</serverVariables>
</rule>

现在允许预渲染缓存我的网站,但它不能正确缓存它。 如果你去 https://www.kudos-sports.com/?_escaped_fragment_=看一看,你可以看到它只是拉入索引页上的文本。 它不会加载 UI 视图内容:(

有谁知道为什么?

谷歌已经弃用了_escaped_fragment_支持。

参考:

  1. https://webmasters.googleblog.com/2015/10/deprecating-our-ajax-crawling-scheme.html
  2. https://medium.com/finnovate-io/googlebot-no-longer-picking-up-content-in-prerender-io-pages-ae21d9710459

最新更新