2010-10-12 37 views
0

我正在建立一個站點,頁面之間有很多類似的CSS。我已經決定,一個好的方法是將css通過php函數(帶參數)生成爲字符串,並在我服務的每個頁面中輸出爲內部樣式表。好處:很長的內部樣式表是否影響SEO?

  • 這樣,如果我做出改變它將反映整個網站,而無需維護重複
  • 我只能發送必要的CSS的某個頁面
  • 它比其小的更好css文件和包容
  • 加載的樣式表使用的參數了
  • 我可以計算尺寸前的內容可能會顯示的可能性發送大量的CSS頭
  • 我可以創建將運行如下從這些函數接收的結果或服務緩存精縮CSS

我還沒有看到這種情況在其他地方很遺憾,所以我在想,這可能是因爲搜索引擎優化的層。生成的內部樣式表將最大大約15kb(在縮小樣式表之前)。

我需要您對此方法的看法以及您對長內部樣式表對SEO有何影響的想法。

非常感謝。

+2

爲什麼你不能只有一個大的縮小的外部樣式錶鏈接? – 2010-10-12 22:45:39

+0

雖然我懷疑它,但我不能對SEO說話。但是你知道CSS'import()',對吧?雖然我瞭解您的方法的好處,但混合服務器端和客戶端技術可能會讓IMO變得混亂。只要將它們縮小到一個,特別是現在只有15K。 – 2010-10-12 22:47:55

+0

@ Max Shawabkeh添加所有頁面所需的不同css會導致一個大的樣式表,即使縮小,仍然會產生一個無格式的內容問題來解決,另外還有80%以上的樣式不需要一些頁面 – 2010-10-12 22:50:56

回答

4

不是你的問題的答案(這很有趣!),但你的大多數內聯CSS的論點是錯誤的。外部樣式表總是更好更快的解決方案。

  • 您可以通過添加一個版本號的樣式表的文件名

  • 第二點處理的第一點是沒有實際意義,因爲外部文件被緩存,因此不需要額外的請求

  • 第三點是由於同樣的原因m 012

  • 一旦樣式表被緩存,第四點並不重要

  • 整個CSS代碼庫

  • 第六點我不明白的,通常一小部分 -

  • 第五點可以使用內聯CSS只需要進行 動態更新的屬性進行排序。

轉到外部樣式表。只要確保它獲得正確的緩存頭!

+0

謝謝你的回答。第五和第六點是關於讓可能需要不時更改維度的開發人員更輕鬆的生活。外部樣式表被緩存的事實讓我浮想聯翩,現在改變了整個圖片。 – 2010-10-12 23:27:38

2

像嵌入式JavaScript的長塊一樣,它們被忽略。

機器人看內容,而不是佈局。如果您想要更好地表達他們所看到的內容,請嘗試Lynx browser

不幸的是,它們不會被緩存在用戶的瀏覽器上,因爲外部CSS和JS都會使每個頁面加載速度變慢。實際上,與每個頁面相關的服務器相關的「css snippets」相比,擁有大型外部樣式表會更高效。

1

就我所知,您的CSS表格在SEO中起着最小的作用,更重要的是您的HTML標記和執行。

以下的順序「< H1> - < H5>」爲您的標題標籤,伴隨「< P>」的標籤,而不是'< font>的或類似的方法是什麼將影響一個網絡爬蟲識別能力並優先處理您網頁中的內容。

雖然您可以使用CSS來隱藏您只希望出現在搜索引擎和類似技術中的段落,但與HTML結構相比,它沒有什麼重要性。

2

假設'內部樣式表'表示使用<style>標籤包含的內聯CSS,我建議不要這樣做。如果您使用外部樣式表,則訪問者會在第一次請求時下載一次,然後將其緩存。通過內嵌所有CSS,您可以爲每個HTML請求添加頁面權重。

儘管爲當前頁面提供CSS或將CSS分割成許多不同的頁面特定樣式表似乎更有效,在實踐中,通常只有一個樣式表更好。提供這個壓縮的和適當的expires頭文件幾乎總是比替代文件更快。

關於SEO,機器人忽略CSS,所以這不會有任何影響。如果你有太多的CSS,會大大減慢你的頁面加載速度,理論上你可能會開始出現問題,但是在這可能是一個問題之前,你需要一個非人的數量的內聯CSS。

1

你說的所有好處都適用。搜索引擎不會太在意CSS和javascript(當然,如果你的頁面需要太長的時間來包裝和發送,這會影響,但我不認爲是這種情況)。

我以前見過這種解決方案,但人們傾向於避免使用腳本來提供服務,一旦您可以使用媒體查詢,而不是隻寫一個外部樣式表。我想你應該看看這個。

但是,我看到你正試圖優化發送的CSS。這很好,但是談論所有工作表的80k,讓我覺得如果你沒有過度複雜的規則。

那麼,作爲最後的意見,你可以緩存許多不同的迴應,並使用頁面頭上的「規範」的東西。