谷歌和必应如何索引 Blazor 网站?

4
Google、Bing和其他网站如何索引Blazor网站?
当我查看Blazor应用程序的页面源代码(无论是服务器还是WebAssembly(WASM))时,我只能看到加载应用程序的HTML包装器。要查看生成的源代码,我需要使用DOM检查器。本文讨论了在Blazor Web Assembly项目中放置robots.txt的位置(Where is the best place to put Robots.txt in a Blazor Web Assembly project?),但是当我创建我的站点索引时,它将指向由.razor文件动态生成的每个详细页面。
我需要做些特别的事情来确保Google、Bing和其他搜索引擎可以按照我想要的方式索引我的网站吗?
3个回答

5

这不仅仅是一个Blazor问题。像Googlebot(Google的爬虫)和Bing这样的搜索引擎爬虫不会执行WASM代码,因此无法像Blazor一样索引静态生成网站的内容。然而,查看Blazor的发布说明,似乎可以启用预渲染并在服务器上托管Blazor,从而允许在服务器上呈现HTML内容并将其发送回用户。这种服务器端渲染(SSR)允许搜索引擎索引并提高SEO。请参考以下示例:https://andrewlock.net/enabling-prerendering-for-blazor-webassembly-apps/


1

MrMikimn的上面的答案解决了问题的两个方面。

配置Blazor使用预渲染有两个作用:首先,它允许我使html源代码可见于股票标准HttpClient GET调用,这允许索引器调用和索引页面,但现在它也允许我使用API控制器来生成站点地图.xml文件,我需要使用它来指导机器人到正确的位置。

这只需添加一个API控制器并将其设置为响应对Robots.txt和sitemap.xml的调用即可完成:

[Route("/robots.txt")] 
public string robots()...

[Route("/siteindex.xml")] 
public string sitemap()...

如果我的回答有帮助的话,请考虑接受它 :) - MrMikimn

1

SPA SEO:最佳替代方案

由于 SSR 的身份验证问题,我们实际上正在使用 Cloudflare worker 为爬虫提供不同的页面,用于我们的库存图像网站:photosnepal.com,您可以检查此网站的 SEO,我们对结果感到满意。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接