我使用的是opencart 1.5.6。
主页上的产品(或其他类别的产品)链接到/产品,而当它从类别页面/产品/类别/产品中获取时。
这意味着谷歌认为有重复的内容,我不喜欢这样,所以如何解决这个问题(所以网址是allways / categorie(/ subcat)/ product?
我希望所有其他页面也有一个干净的seo url但是当我安装以下扩展时却没有发生任何事情:
www.opencart.com/index.php?route=extension/extension/info&extension_id=15557&filter_search=seo%20url&filter_license=0&sort=e.downloaded&order=DESC&page=3 www.opencart.com/index.php?route=extension/extension/info&extension_id=15516
网站的网址: http://publiekgeheim.com
答案 0 :(得分:2)
您不必担心重复的内容。我可以看到您的产品<head>
中有“规范”链接标记,所以您没问题。这个标签告诉搜索引擎哪个url是“正确的”,而其他url只是由插件,分类等产生的。所以没有重复的内容。
在opencart中,除非您想编写和制作场景并更改工作流,否则生成规范标记的最佳方法就像现在一样。也就是www.example.com/product
。原因是opencart生成诸如http://publiekgeheim.com/lingerie/Esprit/Esprit-Feel-Sexy-String
之类的URL,其中包含类别路径,实际上是不可靠的。例如,以下网址http://publiekgeheim.com/stackoverflow/Goerge/wtf/Esprit-Feel-Sexy-String will also lead you to the product page
!
如果您仍然希望按照自己的方式进行操作,则必须在catalog/product/product.php
更改此行:
$this->document->addLink($this->url->link('product/product', 'product_id=' . $this->request->get['product_id']), 'canonical');
这就是疼痛开始的地方。您可以使用getCategories
中的catalog/model/catalog/product.php
方法获取产品所属的类别。但是你要显示哪一个?如果您只为产品分配一个类别,那么您很幸运。但如果没有?在我的商店中,我甚至经常分配两个基本相同但属于不同父类别的产品,以帮助用户更容易地找到产品(因为opencart不允许将链接(到类别)作为菜单顶部菜单中的项目)。如果我想按照你的方法,我需要使用一些扩展,允许我在顶部菜单中放置链接,但在我的站点地图中创建空的,重复的类别或使用一些完全取代默认顶级菜单的大型菜单。然后会出现新的问题。因此,您会发现根据您的使用情况,它会变得越来越复杂。
即使你设法通过这个(例如选择一个随机或返回的第一个类别,或者从现在开始只将产品分配到一个类别),你将如何找到父类别为了显示网址中的完整路径? opencart和编码中没有这样的方法,这真的很难看,并且会在产品页面上添加至少3个数据库查询(我试图计算需要多少个数据库查询才能生成默认的opencart页面而且我至少计算过10)。
总而言之,除非你对如何上传和展示产品以及一些聪明的代码提出严格的政策,否则避免让棘手的情况坚持默认规范。这些扩展应该有效。检查您的vqmod错误和兼容性。
答案 1 :(得分:0)
我已经和这个问题坐了好几天了,终于弄明白了。 1.5.6.4 从HOME和相关产品链接时的类别/产品而不是/产品。
<强> 1。在/catalog/controller/module/showintabs.php
<强> AFTER:强>
if ($this->config->get('config_review_status')) {
$rating = $result['rating'];
} else {
$rating = false;
}
添加强>
$categories = $this->model_catalog_product->getCategories($result['product_id']);
if(isset($categories[0]) && !empty($categories[0])){
$path = $categories[0]['category_id'];
}else{
$path = '';
}
AND $ products [] =数组正下方
更改:强> &#39; HREF&#39; =&GT; $ this-&gt; url-&gt;链接(&#39;产品/产品&#39;,&#39; product_id =&#39;。$ result [&#39; product_id&#39;]),
以强> &#39; HREF&#39; =&GT; $ this-&gt; url-&gt;链接(&#39;产品/产品&#39;,&#39;路径=&#39;。$ path。&#39;&amp; product_id =&#39;。$结果[&#39; PRODUCT_ID&#39;]),
<强> 2。在/catalog/controller/product/product.php
<强> AFTER 强> if($ this-&gt; config-&gt; get(&#39; config_review_status&#39;)){ $ rating =(int)$ result [&#39; rating&#39;]; } else { $ rating = false; }
添加强> $ categories = $ this-&gt; model_catalog_product-&gt; getCategories($ result [&#39; product_id&#39;]); if(isset($ categories [0])&amp;&amp;!empty($ categories [0])){ $ path = $ categories [0] [&#39; category_id&#39;]; }其他{ $ path =&#39;&#39 ;; }
和$ this-&gt;数据[&#39;产品&#39;] [] =数组(正下方
更改:强> &#39; HREF&#39; =&GT; $ this-&gt; url-&gt;链接(&#39;产品/产品&#39;,&#39; product_id =&#39;。$ result [&#39; product_id&#39;]),
以强> &#39; HREF&#39; =&GT; $ this-&gt; url-&gt;链接(&#39;产品/产品&#39;,&#39;路径=&#39;。$ path。&#39;&amp; product_id =&#39;。$结果[&#39; PRODUCT_ID&#39;]),