2012-09-26 126 views
8

讓我們假設我使用一些onload事件動畫,我的網頁,例如:加載動畫會影響SEO嗎?

$(document).ready(function() { 
    $('html.myhtml').css('overflow', 'auto').fadeTo(0, 0, function() { 
     $(this).css('visibility', 'visible').animate({ 
      opacity: 1 
     }, 200); 
    }); 
})​ 

,並開始與內聯樣式,使其隱藏在首位:

<html class="myhtml" style="visibility:hidden; overflow:hidden"> 

最初的頁面會作爲空白,然後用fadein動畫。我想知道: -

  • 這會影響SEO以任何方式嗎?
  • 這種做法是否正確,或者是否有一些重要的理由不這樣做?
+0

你在衰落?我們是在談論一篇精美的文章,或者是像可愛的小貓騎在獨角獸上的眼睛糖果圖形,或者是什麼?搜索引擎最終要爲用戶帶來最好的結果,所以你應該如此。所以,如果你首先想要找到的信息漸漸消失,無論是文章還是小貓,那麼你應該沒問題。 –

回答

2

它會影響SEO嗎?

如果我有一個是或否的答案來回答這個話,我會說:NO

,這種做法精細,還是有一些重要的理由不這樣做?

我們可以整天討論動畫,但仍然沒有肯定的答案。動畫淡入搜索引擎的目的是什麼?沒有。那麼它應該是爲了用戶的享受嗎?動畫對用戶淡出的目的是什麼?沒有。因此,如果我們按照「爲用戶設計不爲搜索引擎設計」模型,我可能會刪除動畫。這是我的意見。

回到SEO問題,它會影響SEO嗎?並不是真的,但取決於搜索引擎和觀衆。如果我是使用屏幕閱讀器的人,我的屏幕閱讀器可能會失敗,所以我可能無法從您的頁面中受益。如果我禁用JavaScript,它會傷害我的用戶體驗(我個人使用FF NoScript插件瀏覽)。

我知道你說沒有javascript的用戶在你的網站上沒有業務,但是你應該考慮到這一點並以某種方式處理它。此外,Googlebot在抓取時沒有啓用JavaScript或會話Cookie。其次,如果你的某個js失敗了,你可能希望它適度地回到對用戶有用的東西,或者至少讓他們知道像'歡迎!我們有fancypants動畫發生在這裏,您的瀏覽器不支持!請啓用JavaScript'。

強制動畫通常對用戶來說很煩,特別是當他們重複每一次頁面加載時。加入頁面加載對Google搜索引擎優化不利,因爲速度現在成爲排名的一個因素。

就像我剛纔提到的那樣,主要的Googlebot不會使用javascript或會話cookie進行抓取。他們有不同的抓取工具,用於不同的目的,比如一些僅用於移動設備,一些用於js,一些用於flash。值得注意的是,有一個動畫/彈出/或任何負載將被'谷歌即時預覽'捕獲並顯示給用戶的結果(在你的情況下,它可能看起來像一個空白頁)。就像WDever提到的那樣,通常情況下,使用文本縮進或負邊距作爲初始狀態更安全,而不是像這樣的可見性/顯示/溢出。

這是我會怎麼做(here's a live preview with 4 second animation delay to test with and without js enabled):

<html> 
<head> 
<style> 
.myhtml {visibility:hidden; overflow:hidden;} 
</style> 
<script>document.documentElement.className='myhtml'</script> 
</head> 
<body> 

1. html is not hidden initially and no class 
2. css styles register .myhtml class with the hidden stuff you want 
3. the script tag just before the BODY tag will fire and add the class to html thus hiding things for those with javascript enabled. Everyone else who has JS disabled sees the page properly. 
4. at the bottom of the page your jquery fires animating the page 

<script> 
$(document).ready(function() { 
    $('html.myhtml').css('overflow', 'auto').fadeTo(0, 0, function() { 
     $(this).css('visibility', 'visible').animate({ 
      opacity: 1 
     }, 200); 
    }); 
})​ 
</script> 
</body> 
</html> 
+0

嗯,實際上我認爲你是對的,說這不重要......如果是這樣的話,那麼爲什麼還要麻煩實施呢。在做了一些重新測試之後,我注意到那些隱藏和顯示的技巧經常會使它看起來不穩定,並且確實延遲了頁面加載。除非我們正在討論非常簡單的佈局/文本頁面,就像在您的發佈示例中那樣,我們可能確定不會超載性能。 – Anonymous

+0

爲什麼不使用自己的樣式表設置.myhtml以顯示:無,然後添加。似乎更容易。 – adnan

7

它不會影響它。由於相同的問題,我親自測試了通過微數據讀取的谷歌機器人。 Google現在實際上已經在一定程度上了解了JavaScript的交互,甚至是swf文件。所以你應該清楚。

+0

謝謝,有趣的知道。如果你有一個,鏈接將有助於理解谷歌看到/看不到的JS交互類型。 – davesnitty

+0

我沒有這樣的鏈接,爲什麼我必須自己手動測試這一部分。但據我所知,谷歌有權訪問網頁上的任何內容,然後是一些內容。谷歌似乎真的沒有看到的唯一的東西是用Ajax加載的內容。 – Fresheyeball

+0

國際海事組織,谷歌機器人不會太在意CSS樣式(知名度:隱藏)...他們仍然會爬過你的頁面。另一方面,如果你的內容是通過ajax加載的,那麼這個機器人將什麼也看不到,你會留在寒冷的... –

1

據我所知,Google只能識別頁面的初始狀態。這包括CSS渲染,例如,如果您添加display:none;visibility:hidden;,我不認爲Google會將其編入索引。

爲了安全起見,我會將內容隱藏起來,然後淡入。我沒有真正測試過它,但我從未見過Google的漫遊器與JavaScript交互得很好。使用hashbang方法時看起來異常。

這種方法的另一個好處將是JavaScript停用的用戶(我知道,杜),仍然能夠看到您的內容,因爲它不會被隱藏在第一位。

+0

如果用戶已禁用javascript,那麼他們在我的網站上無事可做。也許谷歌曾經用你說的方式去做,但這個問題是時間敏感的,而且你知道這是2012年。你也沒有帶任何證據,所以我不相信。 – Anonymous

+0

我可以給你一個例子,我用這個在我的優勢SEO明智。我有一個重定向頁面,它顯示了一些非常簡單的html標記,沒有佈局。這是針對搜索引擎優化的,每一個環節都指向它。然後,我使用Javascript將用戶重定向到通過javascript和url哈希動態生成的頁面。雖然這並非最佳實踐,但情況要求我以這種方式繞過它。谷歌無法索引我的哈希網址。它也無法讀取JavaScript重定向,因此停留在SEO優化頁面上。該頁面仍然有效。 –

+0

但是,不能,因爲javascript,我無法給出一個根本沒有索引的網站的模型。正如我所說,似乎有一個關於hashbang網址的特別計劃。無論如何,我認爲這是不好的做法。如果你需要證據,我很抱歉我沒有。但是當你詢問最佳做法時,你會得到意見,而不是僅僅證明事實。 –

0

我黯然沒有SEO回答你的問題,而是一個解決方案是使用負利潤率隱藏元素關閉屏幕。然後,當JavaScript踢你設置正確的位置並隱藏,然後你淡入或做你想做的事情。

2

我認爲你應該註冊Google網站管理員工具。然後找到一個名爲「Fetch as googlebot」的函數,現在讓谷歌去獲取你想要的頁面,看看它是否發現任何錯誤或不尋常的行爲,或者它沒有顯示你的預期。如果是這種情況,您可以確定頁面出現問題,Google會告訴您在抓取您的頁面時遇到了什麼問題。那麼這是糾正你的問題。

編輯: JavaScript的搜索引擎的主要問題是,js在獲取和閱讀頁面內容時產生障礙。具體來說,這個問題主要出現在實際頁面上沒有內容的情況下,並且您使用js從其他地方獲取內容(因此ajax seo問題)。所以人們應該關注將內容放在頁面上而不是從其他地方抓取內容。

因此,人們還應該測試他們的頁面,關閉js和css,看看他們的頁面在Google和其他搜索引擎看到您的頁面時的樣子。所以,如果谷歌仍然能夠閱讀,抓取和索引你的網頁,那麼所有那些奇特的動畫,抓取和其他東西,比我不會擔心一秒鐘,你也不應該。畢竟,如果谷歌是好的,我們是很好的。

+0

它完全按照它應該看起來的方式讀取它,並且沒有錯誤報告。可能它確實很好 - 這種做法肯定有意義,謝謝。 – Anonymous

+0

還有一件事,你也應該通過谷歌搜索緩存頁面(谷歌搜索結果)。它會告訴您,Google抓取您網站時發現和存儲的內容。如果所有內容都與您的預期完全相同,沒有什麼不妥之處,並且記住大部分與顯示相關的處理將在用戶的瀏覽器中發生。所以,如果谷歌對你的內容沒有問題,那麼你就可以走了。 – metadice

+0

我編輯了我的答案,並附上了一些說明,也許它會幫助你更多。 – metadice

相關問題