2010-10-02 51 views
2

我需要控制哪些網址可以建立索引。要做到這一點,我想允許谷歌只索引我的站點地圖中列出的網址,並禁止谷歌索引其他任何東西。robots.txt如何禁止除站點地圖中的網址以外的所有網址

解決這個

最簡單的方法是,如果沒有配置robots.txt來禁止一切方式:

用戶代理:*

不允許:/

而在同時允許列出的每個網址:

Sitemaps:sitemap1.xml

網站地圖:sitemap2.xml

可以在robots.txt的配置做到這一點?或者還有其他解決方法嗎?

回答

2

這不是一個robots.txt相關的答案,它與機器人協議作爲一個整體有關,我過去經常使用這種技術,它的工作原理就像一個魅力。

據我瞭解您的網站是動態的,那麼爲什麼不使用robots meta tag?正如x0n所說,一個30MB的文件可能會爲您和抓取工具創建問題,並將新行添加到30MB文件是一個I/O頭痛。 你最好的選擇,反正在我看來,是注入到網頁,你不想要索引類似:

<META NAME="ROBOTS" CONTENT="NOINDEX" /> 

該網頁將仍然被抓取,但它不會被索引。您仍然可以通過robots.txt中的站點地圖參考提交站點地圖,您不必注意不要包含在使用元標記自動生成的站點地圖頁面中,並且所有主要搜索引擎都支持該頁面,據我所知,百度也是如此。

+0

不錯,簡單。非常感謝,這將花費我很多小時來實現我想要的方式,儘管如此,我最好還是開始:)) – Joakim 2010-10-05 14:11:30

0

通過登錄到http://www.google.com/webmasters/,您可以直接向Google搜索引擎提交站點地圖。

+0

谷歌仍會索引不在網站地圖中的網頁。這是我想要防止的。此外(作爲一個附註),對於像百度這樣的搜索引擎來說,沒有地方可以提交你的站點地圖。他們只能找到robots.txt文件 – Joakim 2010-10-02 10:59:14

+1

中列出的站點地圖,然後您需要從站點地圖自動生成robots.txt文件。這兩種技術之間沒有關係。 – x0n 2010-10-02 11:06:23

+0

如果我的robots.txt有1,000,000個條目,會導致什麼問題? – Joakim 2010-10-02 11:16:09

1

您必須爲站點地圖中的每個元素添加一個Allow條目。這很麻煩,但用代碼讀取站點地圖的代碼編寫代碼很容易,或者如果站點地圖本身是以編程方式創建的,然後將它基於相同的代碼。

請注意,Allow是robots.txt協議的擴展,並且不受所有搜索引擎的支持,儘管它受谷歌支持。

+0

我有一個動態的robots.txt文件,可以從數據庫中打印它的內容,所以這是我想到的一種可能的解決方案。但是,如果這個允許(或不允許)列表是100,000條目,或者對於這個問題,則是1,000,000條。如果robots.txt文件非常龐大,會導致任何問題嗎? – Joakim 2010-10-02 11:08:15

+1

我真的不知道。不管它是否做到了,我會考慮構造URI關聯,以便在robots.txt中使用一些Disallow語句。或者只是允許它們被索引(如果由於某種原因被索引的索引不是很差,那麼它通常是好的,即使它對你來說不是優先事項)。 – 2010-10-02 11:14:53

+0

很難在這樣的評論欄中詳細解釋這個問題。這裏有幾句話的速成課程;在我的情況下,我們爲每個客戶分享相同網站的域名。屬於域A的內容在域A的站點地圖中分離。但谷歌並不關心這一點,並發現屬於域B的頁面/內容,並將其「附着」到域A.所以...這樣做的結果是,在谷歌搜索結果中,我們得到的結果是多個頁面域。這是我們需要預防的。 – Joakim 2010-10-02 11:24:51