의미를 갖도록 작업한 HTML
<div>
와 <span>
으로만 구성하지 않고 요소의 이름에 맞게 화면을 구성하는 것
<header>
: 최상단 머릿말 역할
<nav>
: 메뉴, 목차 등에 사용
<aside>
: 문서와 연관은 있으나 직접적 연관은 없는 내용
<main>
: 문서의 메인이 되는 주요 콘텐츠 담은 요소
<article>
: 게시글, 뉴스 기사 등 독립적으로 구분해 재사용할 수 있는 부분. 보통 제목(<hgroup>
)을 포함하는 방법 사용.
<section>
: 문서의 독립적인 구획. 딱히 적합한 의미의 요소가 없을 때 사용. 제목(<hgroup>
)을 포함하는 경우 많음.
<hgroup>
: 제목 표시 시 사용. <h1>
~ <h6>
<footer>
: 페이지나 요소의 최하단에 위치
// h1, div 요소는 블록 요소이고,
// a, span 요소는 인라인 요소입니다.
<a href=""> <h1>나쁜 예시 1</h1> </a>
<span> <div>나쁜 예시 2</div> </span>
<b>
, <i>
요소 사용 자제하기시맨틱하지 않은 표현임
콘텐츠에 의미를 부여하는 <strong>
, <em>
사용하기
<b>글씨를 두껍게</b> -- 대체하기 --> <strong>콘텐츠 매우 강조하기</strong>
<i>글씨 기울이기</i> -- 대체하기 --> <em>콘텐츠 강조하기</em>
<hgroup>
순서대로 사용하기<br />
남발 금지요소 간 간격이 필요할 경우에는 별도의 단락으로 구별하거나 CSS로 여백을 줘서 조정하기
인라인으로 스타일링 설정하는 것 자제하기
브라우저마다 사용하는 렌더링 엔진이 다르므로 화면을 완전히 동일하게 만들수는 없지만 크로스 브라우징을 통해 최대한 동등한 수준의 정보와 기능을 제공하는 것이 목표
ex) 크로스 브라우징의 가장 큰 걸림돌 => 인터넷 익스플로러(2022년 6월 15일부로 지원 종료) <= Active X
<title>
요소검색 결과창에서 제목에 해당하는 요소로 <head>
요소의 자식 요소로 작성.
<title>
내용에 따라 검색 후 유입까지 유도 가능<title>
요소에 핵심 키워드가 포함되면 상위 노출확률 높아짐 <meta>
요소해당 웹사이트에서 다루고 있는 데이터가 무엇인지 알려주는 메타 데이터를 담는 요소로 <head>
요소의 자식 요소로 작성
name
속성 사용 => SEO 위한 것<meta name="속성값" content="내용" />
name 속성값 | 설명 |
---|---|
description | 콘텐츠에 대한 간략한 설명입니다. 검색 결과에서 제목 밑에 뜨는 내용을 생각하시면 됩니다. |
keywords | 웹 페이지의 관련 키워드들을 나열할 때 사용합니다. |
author | 콘텐츠의 제작자를 표시합니다. |
property
속성 사용 => 다른 사람과 공유 목적<meta property="속성값" content="내용" />
property 속성값 | 설명 |
---|---|
og:url | 페이지의 표준 URL입니다. |
og:site_name | 사이트의 이름입니다. |
og:title | 콘텐츠의 제목입니다. |
og:description | 콘텐츠에 대한 간략할 설명입니다. 검색 결과에서 제목 밑에 뜨는 내용을 생각하시면 됩니다. |
og:image | 미리보기로 표시될 이미지입니다. |
og:type | 콘텐츠 미디어의 유형입니다. 기본 값은 website로, video, music 등의 유형을 표시할 수 있습니다. |
og:locale | 리소스의 언어로, 기본값은 en_US입니다. 한국은 ko_KR입니다. |
<hgroup>
요소핵심 키워드를 포함할 가능성이 높은 만큼 검색엔진도 <hgroup>
요소를 중요하게 취급함
alt
속성 사용 (이마저도 너무 길게 작성하면 스팸 요소로 인식할 수 있음)(O) <img src="코드스테이츠_로고.png" alt="코드스테이츠 로고" />
(X) <img src="코드스테이츠_로고.png" alt="프론트엔드 백엔드 블록체인 프로덕트매니지먼트 인공지능 데브옵스 등 다양한 커리어 전환 부트캠프를 진행하는 코드스테이츠 로고" />
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" property="og:title" content="꾸덕이요거트" />
<meta
property="og:description"
content="그릭요거트, 그래놀라, 과일쨈, 프룬과 함께해요 언제까지 어깨춤을 추게할거야"
/>
<!-- <meta
property="og:image"
content="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTAhl0U37o6O55z29E3F7hnQp1ybquHfNkdwg&usqp=CAU"
/> -->
<title>꾸덕이의 그릭요거트</title>
</head>
<body>
<img
src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTAhl0U37o6O55z29E3F7hnQp1ybquHfNkdwg&usqp=CAU"
alt="그릭요거트 이미지"
/>
<h1>👆 이 화면의 링크를 복사해서 공유해주세요!</h1>
</body>
</html>
<head>
에 넣었을 때와 <body>
안에 넣었을 때 공유되는 화면에는 차이가 없지만,<body>
에 들어간 이미지의 경우 화면에 노출이 되고 <head>
에 <meta>
속성으로 들어간 이미지의 경우 화면에 노출이 안된다