2012-03-30 86 views
0

基本上我不想被搜索引擎「重複內容」處罰。我擔心,在某些情況下,webapp服務器可能會在可能正常顯示的頁面上生成異常。當我的webapp服務器有bug時應該怎麼辦?

例如,用戶可以張貼鏈接到互聯網上的以下兩頁:

www.example.org/nice-article 

www.example.org/even-nicer-article 

現在我的web應用程序通常將返回兩個不同的網頁,它們應包含豐富的內容這將是由谷歌等進行索引精細

我擔心的是,在某些情況下,我的web應用程序的服務器可能會遇到試圖爲這些異常時頁面:可能有一個錯誤,我們沒有抓住以前的版本,servlet可能會拋出異常,因爲它依賴的資源已關閉等。

在這種情況下,據我瞭解,一些異常捕捉正在進行,但我不確定我在做什麼是正確的。

在我的web.xml,我有這樣的事情:

<error-page> 
    <exception-type>java.lang.Throwable</exception-type> 
    <location>/WEB-INF/jsp/error.jsp</location> 
</error-page> 

<error-page> 
    <error-code>404</error-code> 
    <location>/WEB-INF/jsp/error.jsp</location> 
</error-page> 

我不知道我的web.xml是正確的在這裏。

我擔心的是,在例外的情況下被抓到,我從error.jsp文件顯示一條消息,告訴像「發生內部錯誤,請稍後再試」不過這對於我是什麼原因d是發送此作爲一個正常的頁面,而不是作爲一個錯誤頁面(以及因此所有損毀頁會得到引用的「重複內容」,因爲他們會全部顯示或多或少相同的消息)。

基本上我想知道兩件事情:

  • 我應該拋出什麼狀態代碼,如果一個資源通常能夠獲得是下來的時候爬行的機器人(和客戶端的瀏覽器)嘗試訪問它(這是一個500嗎?)

  • 我怎麼配置Tomcat來產生這樣的狀態碼

此外這將是巨大的,如果你能解釋的方式,我可以測試這種工作:比如我可以的telnet,看看如果我得到正確的錯誤代碼?

+1

我不能相信爬蟲明顯的重複內容將不檢查HTTP響應代碼。他們肯定會認出500,這是每個Web服務器返回一個未捕獲的異常(至少默認)。 – biziclop 2012-03-30 15:00:03

+0

@biziclop:yup我知道......我擔心的是我想確保我確實服務於500.不知怎的,我擔心我可以捕獲異常併發送所有*寫入*的常規頁面作爲內容:*「錯誤500:內部服務器錯誤等」*,但不會與500/503一起提供。 – 2012-03-30 15:25:15

回答

1

您可能需要使用503錯誤臨時不可用的網頁。這將告訴任何公平的機器人,不可用性是暫時的,他們需要稍後再回來抓取頁面。

web.xml中的你的錯誤部分似乎確定我 - 你怎麼選中你要發送該消息爲「正常的頁面」?(我認爲 - 糾正我,如果我錯了 - 意味着你得到HTTP 200,而不是HTTP 404)

+0

+1 ...我意識到用telnet我可以檢查所有的狀態碼。我確實拿到了500美元。我會看看我是否應該將其改爲503。 – 2012-03-30 15:23:44

1

http://support.google.com/webmasters/bin/answer.py?hl=en&answer=181708&topic=1724951&ctx=topic

返回超過404或410不存在的頁面以外的代碼(或將用戶重定向到其他頁面,例如主頁,而不是返回404)可能會產生問題。首先,它告訴搜索引擎該網址上有一個真實網頁。結果,該URL可能被抓取並且其內容被索引。由於Googlebot在不存在的網頁上花費的時間,因此您的唯一網址可能無法快速發現或經常訪問,並且您的網站的抓取範圍可能會受到影響(另外,您可能不希望自己的網站在搜索時排名良好查詢[File not found])。

我敢肯定的任何錯誤響應代碼的內容是不會被編入索引,因此不應該懲罰你對通用的錯誤頁面

+0

請參閱此主題 - http://groups.google.com/a/googleproductforums.com/forum/#!category-topic/webmasters/crawling-indexing-ranking/ESzKAjTq4Ec – 2012-03-30 15:41:56

相關問題