Kentico - 仅内容页面和智能搜索结果
Kentico - Content Only page & smart search result
我有位置的自定义页面类型(仅限内容)。然后我有一个登陆页面 (/company/locations/),带有转发器以列出所有位置及其详细信息。到目前为止一切正常。现在,在添加智能搜索后,我注意到如果我搜索像 "san francisco" 这样的位置名称,着陆页不会显示在搜索结果中,但纯内容页面会显示 URL像这样 /company/locations/旧金山。问题是,此 URL 结果为 404,因为该页面实际上并不存在。我应该怎么办?我是否应该在为时已晚之前重新创建页面类型并将其更改为常规页面而不是内容?或者有没有办法让个别位置 url (/company/locations/san-francisco) 工作 - 考虑到我们不能指定一个页面模板来配合纯内容页面类型?谢谢!
如果您不希望 URL 显示,则只需从该搜索索引中排除这些页面类型。但是,如果您希望它们专门显示,则为该 /company/locations
中继器创建一个细节或选定的转换,以便在有人从搜索导航到它时显示。如果您计划为每个位置提供具体信息,这对 google 和其他搜索索引也有好处。
Kentico 中有多种类型的搜索索引。
"Pages" 扫描文档的数据,例如任何 webparts+properties、可编辑文本、表单数据等。它们不扫描页面上的渲染,但它不捕获任何 Repeater (您正在使用什么)。
"Page Crawler" 将逐字加载页面,并扫描页面中的所有内容。这将捕捉中继器和动态内容。
知道这一点后,您有几个选择。
- 使用页面,然后修改智能搜索结果并添加一些转换逻辑,如下所示
<a href="<% IfCompare(GetSearchValue("ClassName"), "custom.Location", "/company/locations", SearchResultUrl())%>">The Link</a>
- 使用Page Crawler,专门告诉它只索引/company/locations。
- 使用 Page Crawler,以及自定义智能搜索索引器,这样您就可以从内容中排除 header/footer 或其他区域(更高级一点)
我有位置的自定义页面类型(仅限内容)。然后我有一个登陆页面 (/company/locations/),带有转发器以列出所有位置及其详细信息。到目前为止一切正常。现在,在添加智能搜索后,我注意到如果我搜索像 "san francisco" 这样的位置名称,着陆页不会显示在搜索结果中,但纯内容页面会显示 URL像这样 /company/locations/旧金山。问题是,此 URL 结果为 404,因为该页面实际上并不存在。我应该怎么办?我是否应该在为时已晚之前重新创建页面类型并将其更改为常规页面而不是内容?或者有没有办法让个别位置 url (/company/locations/san-francisco) 工作 - 考虑到我们不能指定一个页面模板来配合纯内容页面类型?谢谢!
如果您不希望 URL 显示,则只需从该搜索索引中排除这些页面类型。但是,如果您希望它们专门显示,则为该 /company/locations
中继器创建一个细节或选定的转换,以便在有人从搜索导航到它时显示。如果您计划为每个位置提供具体信息,这对 google 和其他搜索索引也有好处。
Kentico 中有多种类型的搜索索引。
"Pages" 扫描文档的数据,例如任何 webparts+properties、可编辑文本、表单数据等。它们不扫描页面上的渲染,但它不捕获任何 Repeater (您正在使用什么)。
"Page Crawler" 将逐字加载页面,并扫描页面中的所有内容。这将捕捉中继器和动态内容。
知道这一点后,您有几个选择。
- 使用页面,然后修改智能搜索结果并添加一些转换逻辑,如下所示
<a href="<% IfCompare(GetSearchValue("ClassName"), "custom.Location", "/company/locations", SearchResultUrl())%>">The Link</a>
- 使用Page Crawler,专门告诉它只索引/company/locations。
- 使用 Page Crawler,以及自定义智能搜索索引器,这样您就可以从内容中排除 header/footer 或其他区域(更高级一点)