整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          5分鐘學會創建對SEO優化有益的URL(網頁地址)?

          5分鐘學會創建對SEO優化有益的URL(網頁地址)?

          會創建一個 SEO 友好的 URL 只需要幾分鐘,但學會之后的好處,遠不只有一個。

          一個 SEO 友好的 URL 要易于理解和記憶,能提高用戶點擊或分享的機會,也能提高網站的可見性;當你在 URL 中添加了關鍵詞,還能幫助搜索引擎去了解該頁面的主題,有利于搜索排名。

          在《外貿獨立站域名挑選指南【2023】 | 慢慢來數字營銷》一文中,我們提到了 URL(uniform resource locator)與域名之間的關系,域名是URL的組成部分。在《外貿谷歌SEO入門:長文+思維導圖 | 慢慢來數字營銷》這篇文章里也簡單介紹了站內SEO的 On-Page SEO 包含很多要素,其中一個就是 URL 。

          來源:SERanking

          SEO 友好的 URL 能幫助網頁獲得一個良好的排名。什么樣算 SEO 友好的 URL 呢?其實很簡單,就是對用戶友好的,能提高用戶體驗的 URL 。

          URL 真能有這么大的幫助嗎?谷歌真的看重 URL 嗎?

          谷歌還是很在乎的,畢竟 SEO入門指南還專門給了 URL 一個板塊:

          既然這么重要,對用戶友好的,能提高用戶體驗的 URL 怎么創建呢?

          一、URL 的組成

          URL(uniform resource locator,統一資源定位符),是用于在互聯網上定位資源的唯一標識符,指向特定網站、網頁或文檔,就是我們俗稱的網頁地址。

          URL 由很多部分組成,一個簡單的示例 URL 拆解如圖:

          來源:ahrefs

          • Protocol :協議,如 https:// ,用于在客戶端和服務器之間傳輸數據的協議。
          • Subdomain :是由 URL 第一個 . 之前的任何單詞或短語組成。每個子域名通常被認為是一個單獨的網站,位于主域名(如 example.com )之外。
          • Domain :域名,這個就不多說了,詳情可看《外貿獨立站域名挑選指南【2023】 | 慢慢來數字營銷》
          • Top-LevelDomain(TLD) :頂級域名,就是咱們之前提到的域名后綴,如 .com
          • Subfolder :子文件夾,也被稱為子目錄(Subdirectory),是主域名(如 example.com )里的一個文件夾,相當于網站里的一個頁面,可用于按主題組織內容。
          • Slug :URL 最后的部分,用作頁面的唯一標識符,是包含該個網頁內容關鍵詞的地方,也是我們創建 SEO 友好的 URL 中最重要的部分。

          二、如何創建 SEO 友好的 URL ?

          雖然創建 SEO 友好的 URL 很有必要,但不建議大家去對現有的 URL 進行大幅度的改動,我們應該專注于接下來每一個新的博客、新的網頁的 URL。

          1、slug 部分的優化

          前文提到了 Slug 的重要性,作為 URL 里關鍵的一部分,也是包含該個網頁內容關鍵詞的地方。

          雖然近幾年也有一種說法:在 URL 里包含關鍵詞對排名的影響并不大。谷歌的 John Mueller 多次對此進行聲明:

          • 2016年,他分享到:“I believe that’s a very small ranking factor, so it’s not something I’d really try to force. And it’s not something where I’d say it’s even worth your effort to kind of restructure your site just so you can include keywords in the URL.”(我相信這只是一個很小的排名因素,所以我不會強求。我也不會說,為了在 URL 中包含關鍵詞而調整網站結構是值得的。)
          • 2017年,他在解答“關于 URL 中包含關鍵詞”的問題時,也再次強調:URL 包含關鍵詞對排名的影響只是一個很小的因素。

          • 2018 年,他繼續淡化 URL 中的關鍵詞作為排名因素的影響。

          那是不是在“URL 中包含關鍵詞”是一個沒必要去優化的因素呢?

          首先,谷歌官方肯定了做好 URL 的優化是有用的,雖然是一個很小的因素,但是我們要做好這個細節只需要花幾秒鐘,畢竟 SEO 就是由無數個優秀的小細節組成的。

          這點,谷歌的 Matt Cutts 在一個視頻中也有提到:

          在視頻中,Matt Cutts 也提到了一個清晰簡潔的 URL 對提高用戶體驗的重要性,視頻里著重強調了用戶體驗。

          其實,這也提醒我們,在優化 URL 的 Slug 部分時,簡潔有重點(關鍵詞)才是我們應該做的。

          優化 Slug 可以從這幾方面入手:

          • 提取關鍵詞。以我們寫一篇博客為例,在設置這篇博客的 URL 時,可以先從標題入手,一般標題都是對內容的高度概括。比如有一篇博客,標題是:10 Best Robot Mops of 2023, According to Cleaning Experts 那么 URL 的 Slug 可以設置為:/best-robot-mops
          • 選擇簡單的描述性詞語,不需要太長。以 10 Best Robot Mops of 2023, According to Cleaning Experts 為例,有朋友可能會說,為了更好被抓取,我把整個標題都放上去:/10-best-robot-mops-of-2023-according-to-cleaning-experts 首先,還是要強調一個用戶體驗,太長的 Slug 給用戶的觀感并不好,而且在谷歌搜索結果界面也不會顯示完整。

          Slug 不要太長,其實也等同于 URL 不要設置得太長,越短的 URL ,谷歌搜索引擎更容易索引到網頁的主題。Backlinko 做過一個實驗發現, URL 越長,在谷歌上的排名越下降

          來源:Backlinko

          • 字母要小寫。雖然現在大部分的服務器對 URL 中的大小寫都是一樣的處理方式,但并不是所有服務器都是這樣的,在有些服務器上,如果你的 URL 使用了大寫字母,可能會導致重定向或 404 錯誤。如果你的網站是使用 WordPress ,那就不用擔心,它會自動變成小寫。
          • 不要使用特殊的字符或表情符號。比如 () [] 。谷歌搜索中心提到了,不要使用非 ASCII(American Standard Code for Information Interchange ,美國信息交換標準代碼)標準的字符。

          • 用連字符 - 而不是下劃線 _ 。連字符是用于分隔 URL 中單詞的標準方式,也是谷歌官方推薦的方式:

          • 盡量避免使用數字。例如 10 Best Robot Mops ,當你在 URL 中加入數字,比如 10 ,一旦你要修改文章里面的數字,將 10 改為 7 ,那你也相應要調整 URL ,這當然也沒什么問題,但如果忘記修改 URL 上的數字,確實也會出現一個尷尬的場面。再者,URL 也沒必要因為這個原因而經常調整,頻繁修改,谷歌也需要再次重新適應的。
          • 不建議使用 SEO stop words 。SEO stop words 可以理解為那些能幫助我們將關鍵詞形成連貫句子的詞語,基本上都是一些代詞、冠詞、介詞和連詞。這些詞雖然對于我們形成一句連貫的句子很有幫助,但并不適合放在 URL 上,因為它們本身并沒有什么特別的意義,反而容易讓 URL 變得更長。常見的 SEO stop words 有:

          來源:hubspot

          • 保證可讀性。這一點還是我們一直強調的用戶體驗,可讀性高的 URL ,用戶理解起來更容易。

          2、選擇一個好的域名和頂級域名(后綴)

          域名、頂級域名(后綴)對于SEO的影響這一點我們在《外貿獨立站域名挑選指南【2023】 | 慢慢來數字營銷》一文中已經講解的很詳細,這里也不再贅述。

          谷歌表示:如果你的網站是多區域網站,建議考慮使用一種便于對網站進行地理位置定位的網址結構。

          3、HTTPS 協議

          HTTP 和 HTTPS 的區別咱們之前也聊到過,這點可以著重看看這篇文章:《5分鐘教你搞定HTTPS!(附免費SSL證書申請流程) | 慢慢來數字營銷》:

          • HTTP 是一種無加密的協議,在整個數據傳輸過程中是不提供數據的加密和安全性,網站容易被攻擊,數據也更容易被竊取。
          • HTTPS 是基于HTTP的安全協議,它使用了 SSL 或 TLS 協議來對數據進行加密和認證,提供了更高的安全性和隱私保護。

          來源:neilpatel 博客

          而作為 URL 的一部分,HTTPS 也是谷歌衡量排名的一個因素:

          4、子文件夾 > 子域名

          外貿獨立站不要使用子域名!

          外貿獨立站不要使用子域名!!

          外貿獨立站不要使用子域名!!!

          重要的事情應該多說幾遍。開頭咱們就提到,子域名是位于主域名之外的,被認為是一個單獨的網站;而子文件夾(相當于子目錄)其實就等于是網站里的一個頁面,是網站的一部分。舉個例子:

          子文件夾:mmldigi.com/blog/

          子域名:blog.mmldigi.com

          mmldigi.com/blog/是mmldigi.com 的一部分,但 blog.mmldigi.com 是獨立于 mmldigi.com 之外的。這就意味著谷歌在對 mmldigi.com 這個主域進行排名的時候,是不會考慮 blog.mmldigi.com 上面的內容的,但 mmldigi.com/blog/ 就不會有這樣的情況。

          谷歌官方有個對外說法:

          但現實的情況是,有很多從事 SEO 方面工作的人表示:呵呵!

          GetCredo 的創始人 Jonn Doherty 曾在社交媒體上表示:

          從事相關工作的 Craig Emerson 也專門做過研究,表示:

          我只需將子域名改為子目錄,就能從前列 100 名開外的某處(我知道我甚至沒有進入前 200 名)躍升至 SERP 排名第 57 位。與我的網站相關的其他一切都保持不變。

          當然,子文件夾(子目錄)也并非是絕對的選擇,比如一些大型的電子商務網站,也有因為技術原因而無法選擇子文件夾的情況。

          不過對于做外貿獨立站的朋友們來講,我們上千個獨立站項目的切身經歷得出來的結論就是:外貿獨立站不要使用子域名!

          我們曾經有個項目,客戶因為考慮到公司的目標市場情況,堅持選擇子域名,但結果就是,同等的資源傾斜上去,表現真的還不如 .www 。雖然后面網站問題順利解決了,但是這期間的損失還是很可惜的。

          還有一點是,選擇子文件夾的話,大家要注意子文件夾的關鍵詞不要跟 Slug 重復。重復的關鍵詞沒有必要且影響用戶觀感。

          5、避免使用日期

          這跟前面提到不要有數字很相似。避免使用日期有兩個原因:

          • 一個是選擇日期會讓整個 URL 更長
          • 一點是選擇日期對于更新不利,谷歌更喜歡新鮮、持續更新的內容。例如你在2022年更新了一篇文章:10 Best Robot Mops of 2022,但是你今年對這篇內容進行調整,甚至標題都進行了修改:10 Best Robot Mops of 2023 ,但如果你當初已經在 URL 中加入了日期且沒修改,很容易使人混亂,而且相對于舊的內容,新鮮、持續更新的內容更受谷歌青睞。再說了想全面對此進行修改,也會把整個網站的 URL 弄得更加混亂,改起來也很麻煩。

          6、不要輕易修改 URL

          這個其實很好解釋:

          URL 對于 SEO 很有幫助,但這并不代表我們只要搞定了 URL 就是做好了 SEO 的優化,SEO 優化涉及的內容很多,只有方方面面都做到細致,才能讓網站有更好的排名。

          明:原文版權屬于 Google,原文以 CC BY 3.0 協議發布,原文中的代碼部分以 Apache 2.0 協議發布。中文翻譯部分并非官方文檔,僅供參考。

          PageSpeed Insights analyzes a page to see if it follows our recommendations for making a page render in under a second on a mobile network. Research has shown that any delay longer than a second will cause the user to interrupt their flow of thought, creating a poor experience. Our goal is to keep the user engaged with the page and deliver the optimal experience, regardless of device or type of network.

          一個網頁是否可以在移動環境下用不到一秒的時間完成渲染,是一項非常重要的性能指標。研究顯示,任何超過一秒鐘的延遲都將打斷用戶的思維順流狀態,帶來較差的體驗。我們的目標是不論在任何設備或網絡條件下,都要維持用戶在網頁中的沉浸狀態,提供更好的體驗。

          It is not easy to meet the one second time budget. Luckily for us, the whole page doesn’t have to render within this budget, instead, we must deliver and render the above the fold (ATF) content in under one second, which allows the user to begin interacting with the page as soon as possible. Then, while the user is interpreting the first page of content, the rest of the page can be delivered progressively in the background.

          想要達到這個標準并不是那么容易。不過幸運的是,我們并不需要在這個時間指標內渲染出整個頁面,而是要在一秒以內傳輸并渲染出“首屏內容”(ATF),讓用戶盡快與頁面交互。接下來,當用戶與首屏內容進行交互的同時,頁面的剩余部分可以在后臺持續加載完成。

          (譯注:原文中的“ATF”一詞源自傳統出版業,指的是報紙頭版的中折線以上區域,這塊黃金區域往往用來刊登最有吸引力的新聞。延伸到互聯網領域,ATF 指的是頁面中不需要滾動就可以看到的首屏內容。)

          Adapting to high latency mobile networks

          適應高延遲的移動網絡

          Meeting the one second ATF criteria on mobile devices poses unique challenges which are not present on other networks. Users may be accessing your site through a variety of different 2G, 3G, and 4G networks. Network latencies are significantly higher than a wired connection, and consume a significant portion of our 1000 ms budget to render the ATF content:

          在移動設備上達到“首屏秒開”的準則,需要面對其它網絡所遇不到的獨特挑戰。用戶可能正通過 2G、3G 或 4G 等各種各樣的網絡來訪問你的網站。移動網絡的延遲要明顯高于有線連接,并且將消耗我們“首屏秒開”預算中的一大部分:

          • 200-300 ms roundtrip times for 3G networks
          • 50-100 ms roundtrip times for 4G networks
          • 3G 網絡的往返時間將消耗 200-300 ms
          • 4G 網絡的往返時間將消耗 50-100 ms

          3G is the dominant network type around the world, and while 4G deployments are in progress around the world, you should still expect that the majority of users will be accessing your page on a 3G network. For this reason, we have to assume that each network request will take, on average, 200 milliseconds.

          3G 是全球范圍內占據統治地位的移動網絡,而 4G 網絡正在普及之中,你需要明白你的主流用戶仍然在使用 3G 網絡來訪問你的頁面。基于這個原因,我們不得不假設平均每次網絡請求將消耗 200 ms。

          With that in mind, let’s now work backwards. If we look at a typical sequence of communication between a browser and a server, 600 ms of that time has already been used up by network overhead: a DNS lookup to resolve the hostname (e.g. google.com) to an IP address, a network roundtrip to perform the TCP handshake, and finally a full network roundtrip to send the HTTP request. This leaves us with just 400 ms!

          明白了這一點之后,我們來倒推一下時間。如果我們來分析一下瀏覽器與服務器之間一次典型的通信過程,會發現 600 ms 的時間就已經被網絡本身消耗掉了:一次 DNS 查詢用于將主機名(比如 google.com)解析為 IP 地址,一次網絡往返用于發起 TCP 握手,以及最后一次完整的網絡往返用于發送 HTTP 請求。我們就只剩下 400 ms 了!

          [Figure 1] Render a mobile page in 1 second

          [圖 1] 一秒渲染一個移動頁面

          • DNS Lookup (200 ms)
          • TCP Connection (200 ms)
          • HTTP Request and Response (200 ms)
          • DNS 查詢 (200 ms)
          • TCP 連接 (200 ms)
          • HTTP 請求與響應 (200 ms)

          600 ms mandatory 3G network overhead which you cannot do anything about

          這 600 ms 是不可避免的 3G 網絡消耗,你對此無能為力。

          • Server Response Time (200 ms)
          • Client-Side Rendering (200 ms)
          • 服務器響應時間 (200 ms)
          • 客戶端渲染 (200 ms)

          400 ms which you can optimize by updating your server and structuring your page appropriately (what the tool tries to help you with)

          這 400 ms 是你可以優化的,只要你合理地更新你的服務器,并以適當的方式構建你的頁面(這正是 PageSpeed Insights 這個工具可以幫到你的)。

          Delivering the sub one second rendering experience

          實現半秒渲染的體驗

          After subtracting the network latency, we are left with just 400 milliseconds in our budget, and there is still a lot of work to do: server must render the response, client-side application code must execute, and the browser must layout and render the content. With that in mind, the following criteria should help us stay within the budget:

          在除去網絡延遲之后,我們的預算只剩下區區 400 ms 了,但我們仍然還有大量的工作要做:服務器必須渲染出響應內容,客戶端應用程序代碼必須執行,而且瀏覽器必須完成內容的布局和渲染。了解了這些之后,下面這些準則將幫助我們控制住預算:

          (1) Server must render the response (< 200 ms)

          (1) 服務器必須在 200 ms 以內渲染出響應內容

          Server response time is the time it takes for a server to return the initial HTML, factoring out the network transport time. Because we only have so little time, this time should be kept at a minimum - ideally within 200 milliseconds, and preferably even less!

          服務器響應時間就是在除去網絡傳輸時間之后,一臺服務器首先返回 HTML 所花費的時間。因為我們剩下的時間實在太少了,這個時間應該控制在最低限度——理想情況下應該低于 200 ms,而且越少越好!

          (2) Number of redirects should be minimized

          (2) 重定向的次數應該減至最少

          Additional HTTP redirects can add one or two extra network roundtrips (two if an extra DNS lookup is required), incurring hundreds of milliseconds of extra latency on 3G networks. For this reason, we strongly encourage webmasters to minimize the number, and ideally eliminate redirects entirely - this is especially important for the HTML document (avoid “m dot” redirects when possible).

          額外的 HTTP 重定向會增加一次或兩次額外的網絡往返(如果需要再次查詢 DNS 的話就是兩次),這在 3G 網絡上將導致幾百毫秒的額外延遲。因此,我們強烈建議網站管理員們減少重定向的次數,而且最好完全消除重定向——這對 HTML 文檔來說尤其重要(盡可能避免重定向到 “m.” 二級域名的行為)。

          (3) Number of roundtrips to first render should be minimized

          (3) 首次渲染所需的網絡往返次數應該減至最少

          Due to how TCP estimates the capacity of a connection (i.e. TCP Slow Start), a new TCP connection cannot immediately use the full available bandwidth between the client and the server. Because of this, the server can send up to 10 TCP packets on a new connection (~14KB) in first roundtrip, and then it must wait for client to acknowledge this data before it can grow its congestion window and proceed to deliver more data.

          由于 TCP 在評估連接狀況方面采用了一套特殊機制(參見 TCP 慢啟動),一次全新的 TCP 連接無法立即用滿客戶端和服務器之間的全部有效帶寬。在這種情況下,服務器在首次網絡往返中,通過一個新連接(約 14kB)只能發送最多 10 個 TCP 包,接下來它必須等待客戶端應答這些數據,然后才能增加它的擁塞窗口并繼續發送更多數據。

          Due to this TCP behavior, it is important to optimize your content to minimize the number of roundtrips required to deliver the necessary data to perform the first render of the page. Ideally, the ATF content should fit under 14KB - this allows the browser to paint the page after just one roundtrip. Also, it is important to note that the 10 packet (IW10) limit is a recent update to the TCP standard: you should ensure that your server is upgraded to latest version to take advantage of this change. Otherwise, the limit will likely be 3-4 packets!

          考慮到 TCP 的這種行為,優化你的內容就顯得十分重要。傳輸必要數據、完成頁面首次渲染所需的網絡往返次數應該減至最少。理想情況下,首屏內容應該小于 14KB——這樣瀏覽器才能在一次網絡往返之后就可以繪制頁面。同時,還有一個關鍵點需要留意,10 個數據包上限(IW10)源自 TCP 標準的最近一次更新:你應該確保你的服務器軟件已經升級到最新版本,以便從這次更新中獲益。否則,這個上限將可能降到 3~4 個數據包。

          (4) Avoid external blocking JavaScript and CSS in above-the-fold content

          (4) 避免在首屏內容中出現外鏈的阻塞式 JavaScript 和 CSS

          Before a browser can render a page to the user, it has to parse the page. If it encounters a non-async or blocking external script during parsing, it has to stop and download that resource. Each time it does that, it is adding a network round trip, which will delay the time to first render of the page.

          瀏覽器必須先解析頁面,然后才能向用戶渲染這個頁面。如果它在解析期間遇到一個非異步的或具有阻塞作用的外部腳本的話,它就不得不停下來,然后去下載這個資源。每次遇到這種情況,都會增加一次網絡往返,這將延后頁面的首次渲染時間。

          As a result, the JavaScript and CSS needed to render the above the fold region should be inlined, and JavaScript or CSS needed to add additional functionality to the page should be loaded after the ATF content has been delivered.

          結論就是,首屏渲染所需的 JavaScript 和 CSS 應該內嵌到頁面中,而用于提供附加功能的 JavaScript 和 CSS 應該在首屏內容已經傳輸完成之后再加載。

          (5) Reserve time for browser layout and rendering (200 ms)

          (5) 為瀏覽器的布局和渲染工作預留時間 (200 ms)

          The process of parsing the HTML, CSS, and executing JavaScript takes time and client resources! Depending on the speed of the mobile device, and the complexity of the page, this process can take hundreds of milliseconds. Our recommendation is to reserve 200 milliseconds for browser overhead.

          解析 HTML 和 CSS、執行 JavaScript 的過程也將消耗時間和客戶端資源!取決于移動設備的速度和頁面的復雜度,這個過程將占用幾百毫秒。我們的建議是預留 200 ms 作為瀏覽器的時間消耗。

          (6) Optimize JavaScript execution and rendering time

          (6) 優化 JavaScript 執行和渲染耗時

          Complicated scripts and inefficient code can take tens and hundreds of milliseconds to execute - use built-in developer tools in the browser to profile and optimize your code. For a great introduction, take a look at our interactive course for Chrome Developer Tools.

          執行復雜的腳本和低效的代碼可能會耗費幾十或上百毫秒——可以使用瀏覽器內建的開發者工具來收集概況、優化代碼。如果你想深入這個話題,不妨看看我們的《Chrome 開發者工具交互教程》。

          Note: The above is also not the complete list of all possible optimizations - it is a list of top mobile criteria to deliver a sub one second rendering time - and all other web performance best practicesshould be applied. Check out PageSpeed Insights for further advice and recommendations.

          請注意:以上并未列舉出所有可能的優化方案——只列出了一些移動端達成半秒渲染時間的基本準則——其它所有的網頁性能最佳實踐也應該運用起來。到 PageSpeed Insights 來看看,獲取進一步的建議和推薦方案。

          For a deep-dive on the above mobile criteria, also check out

          如果需要深入探索上述移動端準則,請參閱:

          • Optimizing the Critical Rendering Path for Instant Mobile Websites (slides, video).
          • Instant Mobile Websites: Techniques and Best Practices (slides, video)
          • 為極速移動網站優化渲染的關鍵路徑 (幻燈片、視頻).
          • 極速移動網站:技巧與最佳實踐 (幻燈片, 視頻)

          FAQ

          常見問題

          How do 4G networks impact above mobile criteria?

          4G 網絡對上述移動端準則有何影響?

          Lower roundtrip latencies are one of the key improvements in 4G networks. This will help enormously, by reducing the total network overhead time, which is currently over 50% of our one second budget on 3G networks. However, 3G is the dominant network type around the world, and will be for years to come - you have to optimize pages with 3G users in mind.

          較低的網絡往返延遲是 4G 網絡的一處關鍵改良。減少所有的網絡損耗時間對網頁性能將有巨大幫助,而目前在 3G 網絡上這些損耗就占用了我們一秒預算中的大半時間。不管怎樣,3G 仍然是全球最主流的移動網絡,并且在今后幾年都將如此——我們在優化網頁時不得不把 3G 用戶放在心上。

          I am using a JavaScript library, such as JQuery, any advice?

          我正在使用一個 JavaScript 類庫,比如 jQuery,有什么建議嗎?

          Many JavaScript libraries, such as JQuery, are used to enhance the page to add additional interactivity, animations, and other effects. However, many of these behaviors can be safely added after the ATF content is rendered. Investigate moving the execution and loading of such JavaScript until after the page is loaded.

          大多數 JavaScript 類庫,比如 jQuery,通常用來增強頁面、提供附加的交互、動畫和其它效果。但是,大多數這些行為可以安全地在首屏渲染之后再加入進來。研究一下是否可以把這些 JavaScript 的加載和執行推遲到頁面加載之后。

          I am using a JavaScript framework, to construct the page, any advice?

          我在正使用一個 JavaScript 框架來渲染整個頁面,有什么建議嗎?

          If the content of the page is constructed by client-side JavaScript, then you should investigate inlining the relevant JavaScript modules to avoid extra network roundtrips. Similarly, leveraging server-side rendering can significantly improve first page load performance: render JS templates on the server, inline the results into HTML, and then use client-side templating once the application is loaded.

          如果頁面內容是由客戶端 JavaScript 來渲染的,那么你應該研究一下是否可以把相關的 JavaScript 模塊都內嵌進來,以免產生額外的網絡往返開銷。同樣,利用服務器端渲染可以顯著地改善首次頁面加載的性能:在服務器端渲染 JS 模板,并內嵌到 HTML 中,然后一旦應用程序加載完成就立即在客戶端渲染模板。

          How will SPDY and HTTP 2.0 help?

          SPDY 和 HTTP 2.0 協議會有什么幫助?

          SPDY and HTTP 2.0 both aim to reduce latency of page loads by making more efficient use of the underlying TCP connection (multiplexing, header compression, prioritization). Further, server push can further help improve performance by eliminating extra network latency. We encourage you to investigate adding SPDY support on your servers, and switching to HTTP 2.0 once the standard is ready.

          SPDY 和 HTTP 2.0 協議的目標都是通過更有效地利用底層的 TCP 連接(多路復用、頭壓縮、優先化處理),來減少頁面的加載延遲。而且服務器 push 通過消除額外的網絡延遲,可以進一步促進性能的改善。我們建議你為服務器增加對 SPDY 協議的支持,并且當 HTTP 2.0 標準就緒之后就立即切換過去。

          How do I identify critical CSS on my page?

          如何判斷頁面中的哪些 CSS 是 critical CSS?

          (譯注:“Critical CSS” 是指首屏渲染所必需的最小化的 CSS 代碼集合。)

          In Chrome Developer Tools, open the Audits panel, and run a Web Page Performance report, in the generated report, look for Remove unused CSS rules. Or use any other third party tool, or script, to identify which CSS selectors are applied on each page.

          在 Chrome 開發者工具中,打開審計(Audits)面板,然后運行一次網頁性能(Web Page Performance)報告。在生成的報告中,試一下“刪除未使用的 CSS 規則(Remove unused CSS rules)”。也可以使用其它第三方工具或腳本,來識別每個頁面分別應用了哪些 CSS 選擇符。

          Can these best practices be automated?

          這些最佳實踐可以自動化嗎?

          Absolutely. There are many commercial and open-source web performance optimization (WPO) products which can help you meet some or all of the criteria above. For open-source solutions, take a look at the PageSpeed optimization tools.

          當然可以。有很多商業的或開源的網頁性能優化(WPO)產品都可以幫你達成上述部分或全部準則。對于開源解決方案,不妨看看 PageSpeed 優化工具。

          How do I tune my server to meet these criteria?

          我怎樣調整我的服務器來符合這些準則?

          First, ensure that your server is running an up-to-date version of the operating system. In order to benefit from the increased initial TCP congestion window size (IW10), you will need Linux kernel 2.6.39+. For other operating systems, consult the documentation.

          首先,確保你的服務器正在運行最新版的操作系統。為了從 TCP 初始擁塞窗口數量的增加(IW10)中獲益,你需要 2.6.39+ 版本的 Linux 內核。對于其它操作系統,請查閱相關文檔。

          To optimize server response time, instrument your code, or use an application monitoring solution to identify your bottleneck - e.g., scripting runtime, database calls, RPC requests, rendering, etc. The goal is to render the HTML response within 200 milliseconds.

          為了優化服務器的響應時間,請測評你的代碼性能,或使用監控程序來發現性能瓶頸——比如腳本運行時、數據庫調用、RPC 請求、渲染等等。最終目標就是在 200 ms 內渲染出 HTML 響應內容。

          What about Content Security Policy?

          內容安全策略(Content Security Policy)怎么辦?

          If you are using CSP, then you may need to update your default policy.

          如果你正在使用 CSP,那么你可能需要更新你的默認策略。(譯注:CSP 是一項用于防范 XSS 的安全性規范,具體參見 Content Security Policy - 維基百科。)

          First, inline CSS attributes on HTML elements(e.g., <p style=...>) should be avoided where possible, as they often lead to unnecessary code duplication, and are blocked by default with CSP (disabled via “unsafe inline” on “style-src”). If you have inline JavaScript, then you will need to update the CSP policy with “unsafe-inline” to enable its execution. By default, CSP will block all inline script tags.

          首先,盡可能避免在 HTML 元素中內聯 CSS 屬性(比如這樣 <p style=...>),因為它們常常導致不必要的重復代碼,而且默認會被 CSP 攔截(對 style-src 字段使用 unsafe-inline 指令可以禁用此類攔截)。如果你使用了內聯的 JavaScript,那么你需要在 CSP 策略中使用 unsafe-inline 指令來令其執行。默認情況下,CSP 將攔截所有內聯腳本標簽。(譯注:這里的“內聯 JavaScript”包括多種形態的 HTML 內部的腳本代碼,包括類似 <script>foo();</script> 這樣的內嵌腳本標簽、<a href="javascript:foo();"> 這樣的偽協議 URL、以及 <a href="#" onclick="foo();"> 這樣的事件處理屬性。)

          希望本文能幫助到您!

          點贊+轉發,讓更多的人也能看到這篇內容(收藏不點贊,都是耍流氓-_-)

          關注 {我},享受文章首發體驗!

          每周重點攻克一個前端技術難點。更多精彩前端內容私信 我 回復“教程”

          原文鏈接:https://github.com/cssmagic/blog/issues/20

          在推特上點贊支持香港暴徒的報道貼文,韓國男團Super Junior成員崔始源陷入全網熱議。目前,他已經在微博上做出兩次道歉,但是中國網友卻更怒了……

          兩次道歉被質疑“微博專供”

          26日中午,崔始源在微博上表示,“從未有過否認和改變香港是中國不可分割的一部分的想法和立場”。

          其實,這已經是“點贊”事件后,崔始源在微博上做出的第二次道歉。

          此前,在24日晚,崔始源就曾在微博上發表道歉聲明,“我抱著希望早日平息止暴止亂的想法,表達我的關注”。

          然而,這條微博被網友指責道歉內容模棱兩可,而且將早日止暴止亂又寫成了“早日平息止暴止亂”。

          緊接著,他被中國粉絲要求退出組合、禁止前來中國發展,崔始源吧微博直接宣布關吧。

          中國網友一波接一波的強硬態度,讓崔始源意識到事情的嚴重性。

          于是,在26日中午,崔始源發表了第二次道歉,為自己作為藝人辜負了眾人給予的期待與信賴而感到自責與悲痛。

          不過,連續兩次道歉,并沒有讓中國網友就此買賬。相反,大家發現,這兩次道歉都只發布在微博上,而他的海外社交媒體賬號沒有發布任何有關道歉的內容。

          他的推特賬號上最新一條內容是24日發布的“為眾人祈禱”↓↓

          這次,中國網友更怒了!大家扎堆要求崔始源在各個海外社交媒體平臺上做出道歉,而不是僅發布“微博專供道歉”。

          推特點贊激怒中國網友

          還炒上了外媒

          整個事件的起因是崔始源在推特上點贊韓國媒體《朝鮮日報》對香港暴徒的報道。

          據悉,該報道采訪了攻擊香港警察被制服的暴徒,后者高呼“因子彈而死,但信念長存”。

          CD君查閱了崔始源的推特賬號,發現他已經默默取消了對這篇貼文的點贊。

          但是,有眼尖的網友發現,在微博上發完道歉聲明后,崔始源將他的推特賬號背景圖設置為一個英文單詞“principle”(原則),令人浮想聯翩。

          直到目前,崔始源的推特背景圖都沒有更改,也沒有做出任何針對此事的道歉。

          作為韓國早期備受矚目的男團Super Junior的成員,崔始源曾在中國圈了一大波粉絲。尤其是在2015年一檔綜藝節目中,他和超模劉雯以“情侶”的形式參加活動,收獲不少觀眾的喜愛。

          如今,中國粉絲紛紛要求脫粉、微博關閉崔始源吧……

          中國網友大規模脫粉的行為,甚至引發了外媒關注

          法新社11月26日報道稱,因點贊有關香港的推特后,韓國明星的中國粉絲們“脫粉”了。

          文章援引一位粉絲的話稱,“不會原諒你,因為我的國家更重要。”

          “(I) will not forgive you, because my country is more important,” wrote one.

          報道稱,粉絲們指責崔始源在道歉時沒有誠意,批評他僅在微博而非其他平臺上發表道歉。

          Fans also accused Choi of not being sincere in his apology, and criticized him for posting it only to Weibo and not to other platforms.

          《南華早報》也在報道中援引兩位網友的話稱,“你什么都不知道,為什么要‘點贊’?”“如果你真心道歉,為什么不發到臉書和照片墻(Ins)上?別以為中國粉絲都是傻子。”

          “You don’t know anything at all. Why did you even ‘like’ it?” read one top-rated comment on Choi’s page on Weibo.


          “If you are really sincere in your apology, why don’t you put a statement on Facebook and Instagram? Don’t think that Chinese fans are all fools,” wrote another.

          令人感到諷刺的是,崔始源曾在某個綜藝節目中曾談到自己對于政治問題的看法,他認為“藝人和政治沾邊,是一個危險的事。”

          這次“以身試法”,恐怕他會對“危險”二字有更深刻的理解吧。

          來源:中國日報新媒體

          編輯:胡雨濛

          部分內容參考:參考消息、觀察者網


          主站蜘蛛池模板: 亚洲无线码在线一区观看| 国产在线视频一区| 亚洲性日韩精品国产一区二区| 东京热无码av一区二区| 3d动漫精品啪啪一区二区中文| 精品乱子伦一区二区三区高清免费播放| 亚洲av一综合av一区| 中文人妻无码一区二区三区| 无码少妇一区二区浪潮av| 日韩一区二区免费视频| 中文字幕日韩一区二区不卡| 久久中文字幕一区二区| 丰满人妻一区二区三区免费视频 | 日韩在线视频不卡一区二区三区| 亚洲乱码日产一区三区| 亚洲第一区精品观看| 无码精品人妻一区二区三区AV| 亚洲中文字幕乱码一区| 中文字幕av人妻少妇一区二区| 日本一区二区在线播放| 麻豆一区二区在我观看| 无码乱人伦一区二区亚洲一| 风间由美性色一区二区三区| 国产亚洲无线码一区二区| 亚洲AV色香蕉一区二区| 色噜噜狠狠一区二区三区果冻| 97久久精品一区二区三区| 亚洲欧洲精品一区二区三区| 亚欧免费视频一区二区三区| 亚洲熟妇AV一区二区三区宅男| 无码中文字幕乱码一区 | 日韩精品无码一区二区三区AV| 亚洲国产高清在线一区二区三区 | 国产精品熟女一区二区| 亚洲国产精品一区第二页| 精品三级AV无码一区| 欧美av色香蕉一区二区蜜桃小说 | 精品福利一区二区三区免费视频 | 一本大道东京热无码一区| 国产色情一区二区三区在线播放| 美女一区二区三区|