谷歌結構化-調研與實踐
簡短的概括:谷歌結構化調研與實踐。
使用背景
通過整體結構優化及完善,實現收錄提升、綜合權重提升、最終實現關鍵詞及流量提升。
主要解決的問題
結構化數據可以幫助谷歌了解海外網頁上的內容。我們可以提供與海外網站頁面相關的具體信息,協助谷歌在搜索結果中用更豐富多樣的形式呈現我們的海外網頁。
一、基礎知識
1、功能簡介
Google結構化數據可以讓Google搜索引擎更直接有效地了解和展示網頁的重要信息,如內容評分,可以更好優化網站搜索。
Google結構化數據的更多詳細介紹,請點擊查看以下鏈接。
https://developers.google.com/search/docs/guides/intro-structured-data
2、應用場景
結構化數據是一種標準化格式,用于提供有關頁面的信息和對頁面內容進行分類。換句話說,就是搜索引擎使用的語義詞匯代碼語言。
例如,在食譜頁面上,有什么成分,烹飪時間和溫度,卡路里等。通過結構化數據可以讓Google搜索引擎更直接有效地了解和展示網頁的重要信息,如內容評分。因此我們新增了Google結構化數據功能,幫助用戶有效使用這一功能,優化網站搜索。
3、工作方式
Google 搜索致力于了解網頁內容。您可以在網頁上添加結構化數據,向 Google 提供有關該網頁含義的明確線索,從而幫助我們理解該網頁。結構化數據是一種提供網頁相關信息并對網頁內容進行分類的標準化格式;例如,食譜網頁上會有食材、烹飪時長和溫度、卡路里等各類信息。
4、數據格式
格式 | |
JSON-LD*(推薦) | 嵌在網頁標頭或正文的 <script> 標記中的 JavaScript 表示法。此標記不與用戶可見文本交錯顯示,使嵌套數據項更易于表達,例如,Event>MusicVenue>PostalAddress>Country。此外,Google 可以讀取通過 JavaScript 代碼或內容管理系統中的嵌入式微件等動態注入網頁內容的 JSON-LD 數據。 |
微數據 | 一種開放社區 HTML 規范,用于在 HTML 內容中嵌套結構化數據。與 RDFa 一樣,它會使用 HTML 標記屬性為您想讓以結構化數據形式顯示的屬性命名。它通常用在網頁正文中,但也可用在標頭中。 |
RDFa | 一種 HTML5 擴展功能,通過引入與您要向搜索引擎描述的用戶可見內容對應的 HTML 標記屬性 來支持關聯的數據。RDFa 通常用在 HTML 網頁的標頭和主體部分中。 |
Google 建議盡可能使用 JSON-LD 格式的結構化數據。
示例:JSON-LD
<html>
<head>
<title>Angry Birds</title>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Angry Birds",
"operatingSystem": "ANDROID",
"applicationCategory": "GameApplication",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.6",
"ratingCount": "8864"
},
"offers": {
"@type": "Offer",
"price": "1.00",
"priceCurrency": "USD"
}
}
</script>
</head>
<body>
</body>
</html>
5、數據類型?
比較常見的結構化數據是如下幾種:
(1)評價 (Rating/Review)
評價摘要是來自評價網站的簡短評價摘錄或評分,通常是眾多評價者給出的綜合評分的平均值。當 Google 發現有效的評價或評分標記時,可能會顯示豐富網頁摘要,其中包含根據評價或評分得出的星級和其他摘要信息。除了文字評價之外,還有數字分制(如 1 到 5)的評分。
這有助于在用戶無需深入挖掘具體信息的情況下快速獲得有用的買家信息。
(2)事件/活動 (Event)
事件數據提供預定事件(網絡研討會、音樂會、講座等)的附加信息,例如日期、地點和價格等信息。
(3)文章 (Article)
在新聞報道、博客文章和體育報道網頁中添加 Article 結構化數據,可使Google更容易理解標題中的內容、發布時間、特色圖片,有時甚至是視頻。也可提升在 Google 搜索結果中的呈現效果。不同類型的文章,例如博客文章、新聞文章和學術文章,有不同類型的文章結構化數據標記方法。
(4)常見問題(FAQ)
常見問題解答 (FAQ) 頁包含一系列有關特定主題的問題和答案。如果正確標記了 FAQ 頁,它們可能會在 Google 搜索中顯示為富媒體搜索結果。
其他結構化數據,可參考谷歌官方文檔:https://developers.google.com/search/docs/advanced/structured-data/article。
二、分步指南
1、添加必要屬性
若要使您的內容能夠顯示為富媒體搜索結果,您必須為其添加必要屬性。還有一些建議添加的屬性,能幫助您添加更多與您的內容相關的信息,進而提供更好的用戶體驗。
必需屬性 | |
name | Text 應用的名稱。 |
offers.price | Offer 應用的銷售優惠。對于開發者,offers可表明出售應用的市場。對于市場,offers可用于表明某個應用實例的具體應用價格。 如果應用是免費提供的,請將 offers.price設置為 0。例如: "offers": { "@type": "Offer", "price": "0"} 如果應用的價格大于 0,您必須添加 offers.currency。例如: "offers": { "@type": "Offer", "price": "1.00", "priceCurrency": "USD"} |
評分或評價 | 應用評分或評價。您必須添加以下屬性之一: |
aggregateRating | AggregateRating 應用的平均評價分數。請遵循評價摘要指南,并查看必需和建議的 AggregateRating 屬性列表。 |
review | Review 應用的單個評價。請遵循評價摘要指南,并查看必需和建議的評價屬性列表。 |
建議添加的屬性 | |
applicationCategory | Text 應用類型(例如,BusinessApplication或 GameApplication)。該值必須是支持的應用類型。 支持的應用類型列表
|
operatingSystem | Text 使用應用所需的操作系統(例如,Windows 7、OSX 10.6、Android 1.6) |
重要:
通過實踐,第一次的"@type" 類型很關鍵,每個類型的數據屬性不一樣。
"@context":"http://schema.org/", // 瀏覽器這里是結構化數據(必須)。
公共資源:offers.price 價格。
2、遵循指南
要使您的應用能夠顯示為富媒體搜索結果,您必須遵循以下指南。
(1)網站站長指南
遵循常規指南有助于 Google 找到您的網站、將其編入索引并對其進行排名。
我們強烈建議您多加留意質量指南,其中簡要說明了一些違規行為,這些行為可能會導致網站從 Google 索引中被徹底移除,或者導致系統算法或我們手動將其標識為垃圾網站。如果一個網站被標識為垃圾網站,那么它可能不會再出現在 Google.com 或任何 Google 合作伙伴網站的搜索結果中。
(2)幫助 Google 找到您的網頁
確保網站上的所有網頁均能通過其他可找到的網頁上的鏈接轉到。確保引薦鏈接包括與目標網頁相關的文字(對于圖片,則應包括 alt 屬性)??勺ト〉逆溄邮蔷哂?href 屬性的 <a> 標記。
提供站點地圖文件,其中含有指向您網站上的重要網頁的鏈接。同時,也請提供一個包含用戶可讀列表的頁面(有時稱為網站索引或站點地圖頁面),其中列出了指向這些網頁的鏈接。
將網頁上的鏈接數量限制在合理范圍內(最多幾千個)。
確保網絡服務器正確支持 If-Modified-Since HTTP 表頭。此功能可指示您的網絡服務器告訴 Google,自我們上次抓取您的網站以來,您的內容是否發生了變化。支持此功能可以節省帶寬和開銷。
在您的網絡服務器上使用 robots.txt 文件,通過防止抓取無限的區域(例如搜索結果頁)管理您的抓取預算。及時更新 robots.txt 文件。了解如何借助 robots.txt 文件管理抓取流程。使用 robots.txt 測試工具測試 robots.txt 文件的覆蓋率和語法。
詳情地址:https://developers.google.com/search/docs/advanced/guidelines/webmaster-guidelines。
3、富媒體測試代碼-重要
使用富媒體搜索結果測試驗證您的代碼。
https://search.google.com/test/rich-results。
<html>
<head>
<title>Angry Birds</title>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Angry Birds",
"operatingSystem": "ANDROID",
"applicationCategory": "GameApplication",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.6",
"ratingCount": "8864"
},
"offers": {
"@type": "Offer",
"price": "1.00",
"priceCurrency": "USD"
}
}
</script>
</head>
<body>
</body>
</html>
成功結果:
重要:
一定要通過代碼測試,再進行網址測試。說明:代碼測試過了,網址測試肯定沒問題。
三、案例分析
1、國外g2競品:https://www.g2.com/。
產品詳情頁:https://www.g2.com/products/captivateiq/reviews。
2、crunchbase:
https://www.crunchbase.com/organization/captivateiq。
四、項目實踐
1、需求說明
(1)接入頁面類型一:產品詳情頁-space
- 接入方式:可參考官方開發文檔:https://developers.google.com/search/docs/advanced/structured-data/software-app。
- 接入屬性字段:評分、評價條數(研發調研后可適當增加建議字段)。
(2)接入頁面類型二:問答詳情頁-qa
- 接入方式可參考文檔:https://developers.google.com/search/docs/advanced/structured-data/qapage。
- 接入屬性:傳輸所有可傳輸字段。
(3)接入頁面類型三:文章詳情頁(dianping | news | info)
- 接入方式:可參考文檔:https://developers.google.com/search/docs/advanced/structured-data/article。
- 接入屬性(可參考開發文檔默認的幾個字段):標題、縮略圖、發布時間、更新時間(默認為發布時間)、作者。
2、代碼實踐-重要
正在使用nuxt.js,需要使用ld+json為谷歌使用結構化數據。
由于Nuxt.js使用的是vue-meta v2.1,所以如果使用json屬性,JSON.stringify和__dangerouslyDisableSanitizers就沒有用了:
head(){
let user = this.user;
return {
title: 'This is my page title',
meta: [
{ hid: 'description', name: 'description', content: 'This is my description' }
],
script: [
{
json: {
'@context': 'http://schema.org',
'@type': 'Website',
'url': `${user}`
},
type: 'application/ld+json'
}
]
}
},
- 資料:https://cloud.tencent.com/developer/ask/sof/934325。
- 請參閱vue-meta文檔:https://vue-meta.nuxtjs.org/api/#add-json-data。
例如:
// 數據化結構化
script: [{
type: 'application/ld+json',
json: {
'@context': 'http://schema.org', // 瀏覽器這里是結構化數據(必須)
"@type": "NewsArticle", //類型根據你需求
"mainEntityOfPage": { // 文章網頁的規范網址
"@type": "WebPage",
"@id": `localhost/${params.id}`
},
"headline": "Article headline",
"image": [
`${data.detail.img_url}`
],
"datePublished": `${data.detail.online_time}`, // 發布時間
"dateModified": `${data.detail.online_time}`, // 更新時間(默認為發布時間)
"author": { // 作者
"@type": "Person",
"name": `${data.detail.author_vo.nick_name}`, // 作者
"url": "localhost/personal/6684905001"
},
"publisher": { // 發布信息
"@type": "Organization",
"name": `${data.detail.author_vo.nick_name}`, // 發布名字
"logo": {
"@type": "ImageObject",
"url": `${data.detail.author_vo.head_img}` // 發布頭像
}
},
"offers": { // 價格
"@type": "Offer",
"price": "0"
}
}
}]