[英]Searchengine bots and meta refresh for disabled Javascript
我有一個必須打開javascript的網站,所以它可以工作
有一個<noscript>標簽有一個meta來將用戶重定向到一個頁面,提醒他有關禁用的javascript ...
我想知道,這對搜索引擎抓取工具來說是件壞事嗎?
因為當有人沒有js時我發送電子郵件給自己,所以我可以分析是否有必要為這些人重建網站,但是它的100%js被激活,而且只有沒有JS的是搜索引擎...我猜谷歌,雅虎等在<noscript>內部時不會認真對待元刷新?
我應該做些什么來檢查它們是否是機器人並且不使用meta重定向它們?
謝謝,
喬
而不是強行發送用戶/機器人為什么不只是讓文本出現在頁面的頂部,說明啟用javascript以使用該網站?
這將允許機器人仍然讀取頁面並遵循非JavaScript鏈接。 這將結束重定向的問題,並且不需要為不同的頁面提供機器人服務。 哪個會讓你更新多個頁面。
您可能還想查看Google網站管理員工具 ,了解所有Google目前正在閱讀和改進的內容。
示例:在SO上禁用javascript會在頂部創建一個紅色橫幅,表示“Stack Overflow在啟用JavaScript時效果最佳”,如果您感覺不夠,可以將其鏈接到包含更多信息的頁面。
你試過<!--googleoff: all--> <noscript><meta redirect... /></noscript><!--googleon: all-->
? 它不是一個完整的解決方案,但值得一試......
這是我會做的:
您的網站在爬行能力和搜索引擎優化方面可能非常糟糕 。
編輯 :好的,我看到你的問題。 看到noscript中的內容后,爬蟲會被重定向。
那么這個解決方案怎么樣:
如果您只有一個包含noscript的頁面,那么您可以在apache配置中添加一些重寫規則,這些規則將向機器人顯示不同版本的頁面,並且此版本將沒有noscript標記。 例如:
RewriteCond %{HTTP_USER_AGENT} Googlebot [OR]
RewriteCond %{HTTP_USER_AGENT} msnbot [OR]
RewriteCond %{HTTP_USER_AGENT} Slurp
RewriteRule ^.*$ nometa.html [L]
另外,您使用的是哪些技術? 你使用任何服務器端語言,你甚至使用Apache? 我假設你有apache + html但沒有服務器端語言。 如果你確實有運行服務器端的東西,那么這更容易。
由於<meta>不允許在頁面的<body>中,並且<noscript>在<head>部分中不合法,因此機器人可能只是放棄了他們遇到錯誤HTML的頁面。
我建議您只使用<noscript>標記來封裝警告消息和用戶可以單擊的鏈接,如果他們沒有打開Javascript。
可以阻止搜索引擎使用/robots.txt文件關注此鏈接,或者放置一個
<meta name="ROBOTS" content="NOINDEX,NOFOLLOW" />
鏈接到的頁面上的標記。
你可以有一個頁面上寫着“你需要javascript”。 然后添加該頁面
<script>
window.location.href='/thejspage.html';
</script>
這樣,具有javascript支持的人將很容易被發送到有效頁面,並且蜘蛛將保留在該頁面上,而不是保存沒有javascript的頁面。
這也應該有助於你的搜索引擎優化(因為搜索引擎會找到一個普通用戶可以看到的頁面)。
也許你可以使用無頭瀏覽器,並為那些沒有啟用javascript的用戶提供頁面的HTML快照,包括抓取工具。
http://code.google.com/web/ajaxcrawling/docs/getting-started.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.