joomla 2.5上的元机器人标签,全局设置

时间:2014-02-25 00:42:18

标签: javascript php jquery joomla

我在使用joomla 2.5和Meta robots标签时遇到了这个问题。

基本上joomla中有这个黑洞,无论URL是什么,只要你有一个有效的文章ID就会生成一个页面。

示例:

http://www.clet.edu.au/dasfjahsd/sajfhas/61-afssfas

61是一个有效的ID,因此它将显示一个页面,但它是一个错误的页面呈现。

这将是该文章的正确呈现

http://www.clet.edu.au/online-study/whs-courses/diploma-of-work-health-and-safety

我想到的是,我们的网站上没有任何带有数字的网址,所以几乎任何有数字的网址就错了...所以我已经完成了这个代码:< / p>

$(document).ready(function(){
var pathname = $(location).attr('href');
var NO_NUMB = new RegExp("[0-9]");
if (NO_NUMB.test(pathname)) {
$('meta[name=robots]').attr("content", "noindex, nofollow");
} 
}); 

它做什么,它会检查网址上的数字,并将元机器人更改为noindex nofollow。这部分工作,它改变了元机器人,但只在浏览器DOM上进行,而不是直接在源文件上。

因此,当您继续浏览器并单击inspect元素时,您可以选择noindex nofollow标记,但是当您单击查看源时,您将看到索引跟随...

根据谷歌支持,谷歌查看页面源而不是浏览器上的DOM ...所以它永远不会看到noindex nofollow标签......

我想知道有没有办法在PHP上这样做,所以它改变了源代码上的meta关键字而不是浏览器DOM?

欢呼声, 担

1 个答案:

答案 0 :(得分:2)

试试这个,

而不是从Javascript更改元数据,而不是从PHP尝试。 Joomla有一个文档类用于此目的。

$document = JFactory::getDocument();
$document->setMetaData('keywords', "keyword1,keyword2, etc.");
$document->setMetaData('robots', "index,follow");
$document->setMetaData('author', "Jobin Jose");
$document->setMetaData('title', "Your meta title");
$document->setDescription( "Your meta description" );
$document->setTitle("This is my page title");

有关详细信息,请参阅文章How to set meta info of Joomla page

希望它的帮助..