2014-01-24 87 views
0

我的客戶知道一些關於搜索引擎優化,但我不知道。據他說,我們的網址不好,因爲它們是重複的。以下是正在發生的事例: 我們的網站銷售炊具,所以我們有以下類別,例如:鑄鐵和格柵。爐排類別是鑄鐵的一個子類別。 知道了,我們有一個方格,它在主頁上。從主頁訪問產品,鏈接就像「/square-grate.html」。 如果啓用分類鏈接(進入設置>目錄>插入URL中產品的類別),我會得到以下鏈接: 「/square-grate.html」 - 通過從主頁訪問 「鑄鐵/ square-grate.html「 - 通過訪問類別頁面鑄鐵 」cast-iron/grates/square-grate.html「 - 通過訪問鑄鐵類別,然後子類別格柵 正是我的客戶需要的是所有上面的例子網址是「/cast-iron/square-grate.html」有人有任何提示,我該怎麼做?Magento SEO鏈接

也許更改.htacess或一些PHP腳本,但我不知道該怎麼做。

+1

這不是關於堆棧溢出的主題。但http://www.magentocommerce.com/knowledge-base/entry/canonical-meta-tag應該可以解決您的問題。 –

+0

這將是在主題:http://magento.stackexchange.com/ –

+0

我不知道有magento stackexchange。也許有些管理員可以將此主題移至此處。 –

回答

1

使用Magento的典型特徵將是解決這一問題的最簡單的方法。唯一的缺點是它不會包含類別名稱,並可能錯過UR​​L中的其他關鍵字。如果您擁有編程技能或預算來開發或購買模塊,那麼下一個最好的方法就是開發或購買模塊。如果您的預算有限,如果您願意進行一些修改和數據輸入/數據庫導入,您可能無需花費任何金錢即可離開。

我不是一個非常好的程序員,但我解決了這個問題,添加了一個新屬性,比如說canonical_category。在Magento 1.8之前,我可以用基於類別ID的新值覆蓋$ categoryid。例如,無論我想設置爲規範鏈接,我只需在新的屬性字段中輸入一個數字,它就會生成與該類別的鏈接。

Magento 1.8略有不同,因爲他們看起來像他們更新該部分。不幸的是,我現在無法看到它,並告訴你如何獲得相同的功能,但我很快通過了新代碼,並提出了一個解決方法,以防止它可以幫助你。

需要修改的文件是/app/code/core/Mage/Catalog/Model/Product/Url.php。在第267行,我們將找到處理規範鏈接的代碼,函數_getProductUrl。基本上我們打算使用canonical_category值(如果可用的話),並且如果沒有輸入任何內容,只需對原始代碼進行回退。

因此,我們將改變這一行代碼:

if (!empty($requestPath)) { 
    return $this->getUrlInstance()->getDirectUrl($requestPath, $routeParams); 
} 

if (!empty($requestPath)) {   
     if($product->getCanonicalCategory()) { 
      return $this->getUrlInstance()->getDirectUrl($product->getCanonicalCategory()); 
     } else { 
      return $this->getUrlInstance()->getDirectUrl($requestPath, $routeParams); 
     } 
    } 

只是要清楚,這一切都將做的是讓你指定你希望你的規範鏈接是什麼,在你的情況下,你想包括類別名稱。您的產品頁面鏈接仍然會顯示爲相同(square-grate.html,/cast-iron/square-grate.html),但根據我的理解,搜索引擎仍會將此視爲同一頁面,只要指定了一個規範鏈接。這應該解決搜索引擎優化問題,但現在有更多的工作,如果你想要使用特定的鏈接。我可以告訴你,任何沒有動態完成的方法都不是最好的方法,但它可以工作,並且可以通過電子表格和數據庫導入輕鬆地更新/生成鏈接。您也可以在需要包含其他[類別]關鍵字的產品上使用它。請注意,爲屬性輸入的URL應該是相對的(即「cast-iron/square-grate.html」)。希望這有助於。

+0

我會嘗試一下,讓你知道它是怎麼回事。謝謝! –

+0

它的工作原理,但我發現它不是我的客戶所需要的:(我對此感到難過,但無論如何,非常感謝! –

0

SEO的東西是一個已知的問題與magento。由於體系結構和行爲,只有兩種可能的方法可以實現這種叩擊或至少減輕症狀。第一個是Magento內置設置,它使用規範標籤來保存主要網址,因此Google不會將子類別產品詳細信息頁作爲dublicate內容進行計數。您可以在「系統 - >配置 - >目錄 - >搜索引擎優化」中進行設置。您可以打開Canonical Link Meta Tag for Categories和Products。唯一的好處是,它將使用上層鏈接作爲規範。在你的情況下,這些類別不會出現在規範的url中......只有「/square-grate.html」。

第二個是花一些錢,並得到一個模塊,爲您做所有需要重寫。 (我編程,其工作方式上http://www.zoobox.de

魅力模塊通過的.htaccess做這些事情是一項艱鉅的任務,你必須在類別和productnames任何變化作出反應......,甚至在任何時候改變一個產品被列在另一個類別中......當你達到10個類別和300個產品時,你會自殺;).htaccess的另一個缺點是,apache將不得不在任何呼叫中通過.htaccess中的所有重寫服務器...如果你有很多重寫,它可以很容易地0.5至2MB大小,這將影響性能somewhen ...特別是在重負載階段...

如果您需要進一步的幫助或感興趣在重寫模塊中,讓我知道;)

乾杯 本

+0

我試圖訪問您的網站http://www.zoobox.de,但沒有奏效。 –