Php 将Joomla 3组件url重定向到相关菜单

Php 将Joomla 3组件url重定向到相关菜单,php,redirect,joomla,Php,Redirect,Joomla,我和Joomla有这个SEO问题,Google网站管理员工具捕捉到重复的内容、标题、描述 我有一篇id为1的狒狒文章,与父类动物的子类猴子有关。此父类别和子类别与菜单项相关联 因此,通常这篇文章的链接应该是www.site.com/anives/monkeys/1-baboons 问题是:如果您试图通过以下方式访问此链接组件: www.site.com/component/content/article/1-baboons 链接仍然有效,它将打开本文,但没有关联的itemid!而且,由于它的标题

我和Joomla有这个SEO问题,Google网站管理员工具捕捉到重复的内容、标题、描述

我有一篇id为1的狒狒文章,与父类动物的子类猴子有关。此父类别和子类别与菜单项相关联

因此,通常这篇文章的链接应该是www.site.com/anives/monkeys/1-baboons

问题是:如果您试图通过以下方式访问此链接组件:

www.site.com/component/content/article/1-baboons

链接仍然有效,它将打开本文,但没有关联的itemid!而且,由于它的标题、描述、关键字和内容相同,但URL不同,谷歌称这是重复内容

我已经尝试了许多用于SEF url处理的组件,但最好的情况是返回404

我已尝试添加rel=canonical:

<link href="http://'.$_SERVER['SERVER_NAME'].JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)).'" rel="canonical" />

但是没有运气,因为它显示当前的url


我的问题是,是否有任何重定向技术或代码和平将组件/内容/文章/1-baboons重定向到其父项ID/动物/猴子/实际上与之关联?

您是否尝试使用内置重定向组件?这不是理想的解决方案,但如果只是一个,它会很好地工作。您显示的链接基本上是永久链接,保证无论发生什么情况都是唯一的。问题是,是什么让谷歌的蜘蛛找到了这个链接?通常,当模块或插件没有路由url(即,在JRoute()中包装)时,会发生这种情况。核心版本在这方面通常都很好(虽然不知道是否会发现错误),但是如果您有任何生成链接的东西,您已经安装了,那么这可能就是问题所在。您可以查看任何核心文章模块,看看代码应该是什么样子。

不,这不是一篇文章,您可以通过这种方式访问每篇文章,只需添加组件/内容/文章,而不是菜单项路径。我试过找到任何这样的链接,但是没有。所有的链接看起来都不错。当然你可以用这种方式访问每一篇文章,这就是永久链接。但谷歌找到的不止一个吗?谷歌只会找到实际链接的东西。例如,如果有一个类别链接指向一个布局,该布局在页面中有一些未路由的其他链接。我会从您添加的任何第三方模块开始,检查每个模块的布局。还要检查布局覆盖。好吧,这就是问题所在,有多个永久链接可以访问文章。我已经在robots.txt/component/中否认了阻止谷歌索引这些内容。如果有任何包含组件/内容/文章的链接,但没有运气,请在源代码中搜索。所以,这就是为什么我在寻找一种方法,将文章的路径重定向到菜单关联的路径。谢谢你的建议,我将继续在第三方扩展中搜索。没有,只有1个永久链接。任何依赖于菜单结构的东西都不是永久链接。只能有一篇id为1的文章。您是否尝试过joomla核心的重定向组件?顺便说一句,这不是一个编程问题,你真的应该在joomla SE网站。你仍然没有回答谷歌是找到了很多还是只有1个这样的问题。当然,在一个动态系统中,你的思维方式没有“源头”。