2013-02-05 64 views
0

所以我使用mod_rewrite併爲我的網頁(待售產品)每天製作網站地圖。 Google會讀取並編制該網址的索引。但是,如果我更改了該項目的標題,網址將會在站點地圖中更改並更新,因此搜索引擎將對帶有更新標題的重複內容編制索引。例如:避免使用動態網址重複的內容

example.com/green-dress/54325

(域/標題/ ID)

如果我決定更新標題諸如example.com/green-dress-with-small -rip/54325

正如您所見,它在結尾處具有相同的項目標識。它是相同的項目,除了現在更新。但谷歌,不像我,不知道它是假設更新項目,因爲它顯然不知道url的最後一部分是項目ID。

所以問題是......我該如何解決這個問題?一種方法是不用mod重寫,但如果可能,我寧願避免。

感謝, DAV

+0

您生成的網站地圖不包含欺騙對不對?你想從谷歌的索引中清除東西?不知道我跟着。也許這個? https://developers.google.com/custom-search/docs/indexing#removal – ficuscr

+0

網站地圖始終只更新爲可用,我的腳本不添加到站點地圖,除非它是一個新項目。它總是每天更新項目。有道理我希望... –

+0

是的。標題可以是任何東西!只要斜線後面有項目ID,就會根據ID調出項目。 –

回答

1

第一種可能性是存儲舊的URI和執行301 Moved Permanently重定向到新的URI。但是我們在我們的項目中做的是,我們將地址中的標題與控制器中的實際標題進行了比較,如果不匹配,則將301重定向到具有正確標題的地址。過了一段時間谷歌不會掃描舊頁面。我們的解決方案更具普遍性,因爲我認爲

+0

帖木兒,感謝您的答案,但什麼是最好的方式?我試圖把它放入.htaccess(301重定向),但它似乎與我的重寫代碼相沖突。它重定向到新的URL,但是.....它添加了「?id = itemnumber」變量重定向URL的末尾(我從.htaccess中的重寫規則猜測) –

+0

@DaveFes正如我寫的,在我看來,最好比較控制器PHP代碼中的標題和使用'header'函數重定向的標題:header(「HTTP/1.1 301永久移動\ r \ n位置:http://example.com/」。$ correctTitle。 「/".$ id);' – Timur

+0

我終於搞定了!!!!!你說的是對的,但問題是你說的控制器,我直到今天才知道。我自己想出了這個想法,然後我重新讀了你的答案,這也是一樣的東西哈哈。如果你告訴我「比較URI和數據庫中包含所有產品的標題,然後在當前URI不匹配的情況下重定向到數據庫URI」,那麼我會理解它。你說的是控制器,所以我很困惑。不是你的錯,而是我的!非常感謝! SOOO現在快樂! –