2011-12-21 36 views
0

在我重新設計我的網站以提供更多有用的內容和教程之後,Google殺死了我的排名。我想我發現的原因之一...我該如何讓htaccess忽略或者404這樣的URL像這樣/ 27 /?p = yvwasetgrnv

不知何故,這樣的網址正在被索引。我應該只可能1-2K索引的網頁,但我有5000人,其中許多人是這樣的:

site.com * /頁/ 27/P = yvwasetgrnv *

我查了一下WordPress的搜索引擎插件告訴谷歌是規範的網址,並且消息不好: site.com/business/why-is-your-prospective-customer-not-buying* /page/27/ * ...

這甚至不是我網站上的真實網頁。您在那裏看到的標題是用於博客文章的,但由於url中的參數,wordpress正在列出一個目錄頁面,以及更多相同內容的頁面。

我需要從索引中刪除這些重複項,並將它們全部放在我的網站上。

我該如何使用.htaccess來實現它?

+0

你有查詢字符串參數是無效的,或者一些其他的方式,以確定哪些ULRs有效/無效如清單示例網址或其他規則? – 2011-12-21 16:36:53

+0

我會嘗試修復根本問題,即html中的不正確的規範鏈接元素。 – Gerben 2011-12-21 16:55:26

+0

Ulrich:我想全部?p =重定向到實際的頁面永久鏈接(規範網址)。對於/ page/27 /問題,我有點難以理解,因爲告訴服務器任何有關/ page /的內容都是錯誤的,不是要走的路,因爲我會失去分頁。 Gerben:我希望我可以,但規範是由Yoast的Wordpress SEO插件自動生成的。 – 2011-12-21 16:58:39

回答

0

我也同意,找到根本原因是理想的方法。

但是,如果您不能這樣做,您可以嘗試將以下內容添加到.htaccess文件中,最好在頂部(如果有其他規則)。

如果存在p查詢字符串參數,它將刪除所有查詢字符串參數。我假設規範網址是沒有查詢字符串中的網址參數

RewriteEngine on 
RewriteBase/

#if a request has a p query string parameter 
RewriteCond %{QUERY_STRING} (^|&)p= [NC] 
#then 301 redirect to URL without any query string parameters 
RewriteRule (.*) http://%{HTTP_HOST}/$1? [L,R=301] 
+0

實際上看起來查詢字符串不是真正的問題。 由WordPress的搜索引擎優化生成的規範網址不包括查詢字符串,所以這很好。但規範的URL包括/ page/29 /或任何頁面......在這種情況下,該分頁不應該存在。 你可以在這裏看到:http://www.webhostingbreak.com/page/20/?p=abufgcxtxxijn p =正在調用一個實際的帖子,但由於url中的分頁,它試圖顯示一個存檔。所以,我們有一個無限分頁的帖子。 我不應該有任何網站從我的網站分頁從根ie ie /頁/ 1/ – 2011-12-21 17:58:03

+0

所以,似乎解決方案(對不起,我沒有看到這一點)是使用htaccess刪除/ page/1 /(分頁),如果它是在.com之後發佈的,但不在其他地方 – 2011-12-21 18:13:26

相關問題