使用动态内容搜索单页

时间:2013-09-13 20:30:59

标签: search seo concrete5

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

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

如何让Concrete5搜索这些页面。如果它不能通过默认或插件执行,那么有人可以就如何解决此问题提供一些建议。这是一项重要功能,必须完成。

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

2 个答案:

答案 0 :(得分:0)

不幸的是,C5没有提供这样做的方法 - 进入搜索索引的唯一方法是使用块。即使您创建了一个虚假块来将内容从single_page传递到搜索索引,也无法说某些内容来自一个URL,而其他内容来自另一个URL(您需要这样做) single_page控制器处理许多不同的URL)。

除了构建自己的内部搜索引擎之外,我不知道如何实现您想要做的事情(看起来没有其他人可以做到 - http://www.concrete5.org/community/forums/customizing_c5/make-content-in-single-pages-searchable/)。

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

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

祝你好运。

答案 1 :(得分:-1)

我还没有对此进行过测试,但也许您可以在单页控制器中放置function getSearchableContent(),就像对块进行操作一样。这将返回要搜索的字符串。看起来像这样:

function getSearchableContent() {
    // ... compose searchstring depending on the queried content.
    return $searchstring;
}

但我不知道这是否适用于动态内容。如果没有,我会查看C5的搜索索引核心类,并尝试为您的项目扩展它们。