【问题标题】:How do Google and Bing index a blazor siteGoogle 和 Bing 如何为 Blazor 网站编制索引
【发布时间】:2021-08-24 08:47:00
【问题描述】:

Google、Bing 和其他网站如何索引 Blazor 网站?

当我查看 Blazor 应用程序的页面源时,无论是服务器还是 WebAssembly (WASM),我看到的只是一个加载应用程序的 HTML 包装器。要查看生成的源代码,我需要使用 DOM 检查器。本文讨论了放置 robots.txt (Where is the best place to put Robots.txt in a Blazor Web Assembly project?),但是当我创建站点索引时,它将指向的每个详细信息页面都将由 .razor 文件动态生成。

我是否需要做任何特别的事情来确保 Google、Bing 和其他人可以按照我的意愿索引我的网站?

【问题讨论】:

    标签: web-crawler blazor blazor-webassembly


    【解决方案1】:

    这不是严格意义上的 Blazor 问题。 Googlebot(Google 的爬虫)和 Bing 等搜索引擎爬虫不执行 WASM 代码,因此它们无法像 Blazor 那样索引静态生成的网站。虽然,查看 Blazor 的发行说明,您似乎可以在服务器上启用预呈现和托管 Blazor,从而允许在服务器上呈现 HTML 内容并将其发送回用户。这种类型的服务器端渲染 (SSR) 允许搜索引擎索引并增加 SEO。看一个例子:https://andrewlock.net/enabling-prerendering-for-blazor-webassembly-apps/

    【讨论】:

      【解决方案2】:

      MrMikimn 上面的回答解决了问题的两端。

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

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

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

      【讨论】:

      • 如果有帮助,请考虑接受我的回答 :)
      猜你喜欢
      • 2011-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-04
      • 2011-02-18
      相关资源
      最近更新 更多