기계가 사람을 대신해서 웹 페이지의 정보를 이해하고, 우리에게 필요한 정보만 보여주거나 가공해서 우리가 필요로 하는 형태로 가공해 주는 것을 의미한다.
웹상의 검색엔진의 최적화를 위해 등장했다. 웹에 존재하는 수많은 웹페이지들에 메타데이터를 부여하여, 기존의 잡다한 데이터 집합이었던 웹페이지를 '의미'와 '관련성'을 가지는 거대한 데이터베이스로 구축하고자 한다.
개발자가 의도한 요소의 의미가 명확히 드러나게 작성하는 방법으로 코드의 가독성을 높이며 유지보수에 유용하다.
예를 들어 제목을 작성할때, 아래 두 예시는 동일한 외형을 갖는다.
<font size="6"><b>Hello</b></font>
<h1>Hello</h1>
그러나 h1 요소를 사용했을 때, 검색엔진은 요소 내부의 내용을 웹문서의 중요한 제목으로 인식하고 인덱스에 포함시킬 확률이 커진다. 또한 h1 요소 내부가 제목임을 알 수 있다.
이처럼 의미를 가진 semantic web은 SEO에 기여할 수 있는 좋은 방법이다.
div, span 등이 있으며 이들 태그는 content에 대하여 어떤 설명도 하지 않는다.
for, table, img 등이 있으며 이들 태그는 content의 의미를 명확히 설명한다.
브라우저, 검색엔진, 개발자 모두에게 content의 의미를 명확히 설명하는 역할을 한다. semantic tag에 의해 컴퓨터가 HTML 요소의 의미를 보다 명확히 해석하고 그 데이터를 활용할 수있는 semantic web이 실현될 수 있다.
tag | Description |
---|---|
header | 헤더를 의미한다. |
nav | 내비게이션을 의미한다. |
aside | 사이드에 위치하는 공간을 의미한다. |
section | 본문의 여러 내용을 포함하는 공간을 의미한다. |
article | 본문의 주내용이 들어가는 공간을 의미한다. |
footer | 푸터를 의미한다. |