metadata、<meta>
知多少
🐳 前言
今天想要研究的主題是,網頁前端世界裡的三本柱 ── HTML
、CSS
、JavaScript
之中的 HTML
。雖然 HTML
並非如同 JavaScript
有很多程式語言相關的主題與議題能夠探討,但是也是有一些有趣的主題值得研究和探索。
之前在寫 side project 或是技術面試被問到該如何優化 SEO 時,當時只有辦法大概回答出可以透過 HTML
當中的 metadata 去優化 SEO,但是並不清楚 metadata 實際上有哪些用法,或是可以做到哪些事情,所以這次想要試著以一種更詳細和全面的角度來理解 HTML
當中會使用到的 metadata 和 <meta>
這兩個東西。(當然有機會的話,之後也想要寫一個 SEO 的系列文來理解 SEO 和知道如何優化它)
本文架構如下:
- metadata 是什麼? → 首先會先定義 metadata 是什麼
- metadata 有哪些? → 接著解釋 metadata 在
HTML
當中的應用 - 淺談
<meta>
→ 最後會對<meta>
這個用法做更深入的研究
你可能要有的先備知識:
- 知道
HTML
是什麼 - 了解
<head>
和<body>
的差別
🐳 metadata 是什麼?
首先可以先從現有的網路資源當中,去尋找 metadata 的定義。在 MDN 文件當中,解釋了什麼是 metadata:
Metadata is — in its very simplest definition — data that describes data. For example, an HTML document is data, but HTML can also contain metadata in its
<head>
element that describes the document — for example who wrote it, and its summary.
直接翻譯的話,metadata 的意思就是「描述資料」的資料,這樣子聽起來可能還是一頭霧水,但如果我們以一個實際的例子來說明的話,可能會清楚許多。
假設現在有一個猜拳遊戲網頁的 HTML
檔,架構如下:
<!DOCTYPE html>
<html lang="zh-Hant-TW">
<head>
<!-- metadata, 使用者不會看到,但是會提供這個 HTML 檔相關的資訊,例如以下四行 -->
<meta charset="UTF-8">
<meta name="description" content="猜拳遊戲">
<link rel="stylesheet" href="style.css">
<title>Rock_Paper_Scissors Game</title>
</head>
<body>
<!-- 使用者會看到的內容 -->
<header></header>
<main></main>
<footer></footer>
</body>
</html>
通常在 <body>
這個標籤中會放滿希望讓使用者看到的畫面;另外將描述這個網頁的資訊,比如這個網頁的作者、這個網頁的用途、這個網頁的編碼方式、要套用的 css
檔、要套用的 JavaScript
檔等等,放在 <head>
這個標籤當中。
這些放在 <head>
當中的資訊,並且用來描述這個 HTML
網頁檔是要用來做什麼、或是要運行什麼東西,都可以稱之為 metadata。通常這些 metadata 的資訊會被搜尋引擎的爬蟲爬取並解析,於是我們可以在這裡很簡單地暴力推測:如果 metadata 寫得越完整,對 SEO 的幫助越大,也可以說是優化 SEO 的方法之一。