我需要控制哪些網址可以建立索引。要做到這一點,我想允許谷歌只索引我的站點地圖中列出的網址,並禁止谷歌索引其他任何東西。robots.txt如何禁止除站點地圖中的網址以外的所有網址
解決這個最簡單的方法是,如果沒有配置robots.txt來禁止一切方式:
用戶代理:*
不允許:/
而在同時允許列出的每個網址:
Sitemaps:sitemap1.xml
個網站地圖:sitemap2.xml
可以在robots.txt的配置做到這一點?或者還有其他解決方法嗎?
我需要控制哪些網址可以建立索引。要做到這一點,我想允許谷歌只索引我的站點地圖中列出的網址,並禁止谷歌索引其他任何東西。robots.txt如何禁止除站點地圖中的網址以外的所有網址
解決這個最簡單的方法是,如果沒有配置robots.txt來禁止一切方式:
用戶代理:*
不允許:/
而在同時允許列出的每個網址:
Sitemaps:sitemap1.xml
個網站地圖:sitemap2.xml
可以在robots.txt的配置做到這一點?或者還有其他解決方法嗎?
這不是一個robots.txt相關的答案,它與機器人協議作爲一個整體有關,我過去經常使用這種技術,它的工作原理就像一個魅力。
據我瞭解您的網站是動態的,那麼爲什麼不使用robots meta tag?正如x0n所說,一個30MB的文件可能會爲您和抓取工具創建問題,並將新行添加到30MB文件是一個I/O頭痛。 你最好的選擇,反正在我看來,是注入到網頁,你不想要索引類似:
<META NAME="ROBOTS" CONTENT="NOINDEX" />
該網頁將仍然被抓取,但它不會被索引。您仍然可以通過robots.txt中的站點地圖參考提交站點地圖,您不必注意不要包含在使用元標記自動生成的站點地圖頁面中,並且所有主要搜索引擎都支持該頁面,據我所知,百度也是如此。
通過登錄到http://www.google.com/webmasters/,您可以直接向Google搜索引擎提交站點地圖。
您必須爲站點地圖中的每個元素添加一個Allow
條目。這很麻煩,但用代碼讀取站點地圖的代碼編寫代碼很容易,或者如果站點地圖本身是以編程方式創建的,然後將它基於相同的代碼。
請注意,Allow
是robots.txt協議的擴展,並且不受所有搜索引擎的支持,儘管它受谷歌支持。
我有一個動態的robots.txt文件,可以從數據庫中打印它的內容,所以這是我想到的一種可能的解決方案。但是,如果這個允許(或不允許)列表是100,000條目,或者對於這個問題,則是1,000,000條。如果robots.txt文件非常龐大,會導致任何問題嗎? – Joakim 2010-10-02 11:08:15
我真的不知道。不管它是否做到了,我會考慮構造URI關聯,以便在robots.txt中使用一些Disallow語句。或者只是允許它們被索引(如果由於某種原因被索引的索引不是很差,那麼它通常是好的,即使它對你來說不是優先事項)。 – 2010-10-02 11:14:53
很難在這樣的評論欄中詳細解釋這個問題。這裏有幾句話的速成課程;在我的情況下,我們爲每個客戶分享相同網站的域名。屬於域A的內容在域A的站點地圖中分離。但谷歌並不關心這一點,並發現屬於域B的頁面/內容,並將其「附着」到域A.所以...這樣做的結果是,在谷歌搜索結果中,我們得到的結果是多個頁面域。這是我們需要預防的。 – Joakim 2010-10-02 11:24:51
不錯,簡單。非常感謝,這將花費我很多小時來實現我想要的方式,儘管如此,我最好還是開始:)) – Joakim 2010-10-05 14:11:30