使用动态内容搜索单个页面

标签 search seo concrete5

我有一个小问题,我一直试图为我一直与之合作的客户解决。我们有 4 组单页,它们根据提供的获取字符串使用 PHP 从数据库加载内容。这些生成的页面针对 SEO 进行了很好的优化,并具有我们需要能够使用搜索功能进行搜索的图像和内容的 alt 标签。

现在我假设(每个人都知道假设得到了什么)这些页面默认情况下可以通过具体的 5 内置搜索功能进行搜索。但它不起作用。如果我搜索一个我知道肯定在这些页面之一上的词,即使多次搜索也找不到结果。

如何让 Concrete5 搜索这些页面。如果默认情况下或插件无法解决问题,那么有人可以就如何解决此问题提供一些建议。这是一项重要的功能,必须完成。

编辑:请参阅下面我的评论。我在这里仍然需要一些帮助或指导,因为 CSE 是一个很大的选择。 EDIT2:安装爬虫和自定义搜索引擎来解决我的问题对我来说可能是可行的。我在想蜘蛛。非常感谢关于该选项或其他选项的任何其他建议!

最佳答案

不幸的是,C5 没有提供执行此操作的方法——进入搜索索引的唯一方法是使用 block 。即使您创建了一个虚假 block 只是为了将 single_page 中的内容传递到搜索索引,也没有办法说某些内容来自一个 URL 而其他内容来自另一个 URL(您需要这样做,因为您的single_page Controller 正在处理许多不同的 URL。

除了构建您自己的内部搜索引擎之外,我不知道有什么方法可以实现您想要做的事情(而且似乎没有其他人这样做 -- http://www.concrete5.org/community/forums/customizing_c5/make-content-in-single-pages-searchable/)。

编辑:我只是做了一些挖掘,并认为也许您可以手动将记录插入 PageSearchIndex 表并在那里指定可搜索的内容和所需的路径——但这行不通,因为它依赖于每个条目的一个 cID(集合 ID,也称为页面 ID)——因此您只能为顶级 single_page 路径插入一条记录。

我认为这里最简单的解决方案是为您的 single_pages 创建您自己的搜索基础结构(就像 Controller 中的某种函数,它将返回一组页面路径和每个页面的可搜索内容),然后覆盖搜索 block 并对您的 single_page 执行额外的搜索 - 然后将结果合并到那里的搜索结果页面上。或者只是使用谷歌网站搜索您的网站,它实际上会抓取页面并因此找到您的各种单页网址:https://www.google.com/cse/

祝你好运。

关于使用动态内容搜索单个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18794748/

相关文章:

php - 在 Elasticsearch php API 中使用多种类型或索引

vue.js - Nuxt 的 Vuex 中的项目是否正在被抓取?

jquery - 如果默认关闭,jQuery ui 选项卡中的内容是否会被编入索引?

php - 在不影响搜索结果的情况下使 $_GET 搜索 URL(包含术语)SEO 安全?

drupal - Concrete5 是否有类似于 Drupal 的 CCK 和 Views 的东西?

Concrete5 - 如何强制自定义 block 模板?

javascript - Ajax 复选框功能

search - 使用 Lucene 处理数据库数据

java - Elasticsearch 特殊字符问题

java - 在java中实现随机搜索算法