如何防止Joomla在搜索结果和latestnews模块链接的文章中添加h1标签?

时间:2011-04-14 14:03:26

标签: joomla seo joomla-extensions

在我的新Joomla 1.6网站中,Joomla在搜索模块搜索结果中的链接访问的所有文章中添加了带有文章“文章”的h1标签。从Latestnews模块链接的文章也是如此,但在这种情况下,添加的h1中的文本是“Home”。

我不想要这些h1标头!请问,有什么建议吗?

2 个答案:

答案 0 :(得分:1)

您可以通过修改组件的模板覆盖来执行此操作。

模板覆盖存在于模板的/html/子文件夹下。 例如如果您想更改搜索项目(com_search)的标题并且您正在使用rhuk_milkyway模板,请调整此处的文件:

templates/rhuk_milkyway/html/com_search/

打开php文件(default.php),然后通过用自己的标签替换H1标签来修改标题。

如果您的模板不包含任何覆盖文件或文件夹,则可以从此文件夹中复制默认搜索覆盖:

components/com_search/view/search/tmpl

并将它们粘贴到模板html文件夹中:

rhuk_milkyway/html/com_search/search/

然后按上述方法进行修改。

你可以在这里阅读有关覆盖的更多信息,虽然这些文章是为1.5写的,但这些概念仍然适用于1.6:

  1. http://docs.joomla.org/Understanding_Output_Overrides
  2. http://docs.joomla.org/How_to_override_the_output_from_the_Joomla!_core

答案 1 :(得分:0)

我使用JavaScript删除了这些标头,只是检查所有h1标头并在其内容中搜索不需要的单词,而不是将其display属性设置为none。

window.onload = function() {
    var h1s = document.getElementsByTagName('h1');
    for(var i=0; i<h1s.length; i++) {
        var home = h1s[i].innerHTML.substr(2, 4);
        var articles = h1s[i].innerHTML.substr(2, 8);
        if( home == "Home" || articles =="Articles")
            h1s[i].style.display = "none";
    }
}

虽然它似乎不是一个非常优雅的解决方案,但在实践中非常有效且高效。此外,如果我们认为这些h1确实与页面内容有关并且没有显示的决定只是一个模板问题,这个解决方案是非常合理的。 JavaScript代码如下:

我希望它对其他人有用。确实我无法理解为什么没有成千上万的其他Joomla!用户拼命想要摆脱这些标题。