👉🏽 의미를 가진 HTML
- semantic : 의미의, 의미가 있는
- HTML : 화면의 구조를 만드는 마크업 언어
시맨틱 요소로 구성한 화면
<div>
와<span>
만으로 화면을 구성했을 때와 비교하면, 각 요소의 이름만 보고도 어떤 역할인지, 어떤 내용이 담겨있는지 명확하게 알 수 있다.
<header>
- 페이지나 요소의 최상단에 위치하는 머릿말 역할의 요소입니다.
<nav>
- 메뉴, 목차 등에 사용되는 요소입니다.
<aside>
- 문서와 연관은 있지만, 직접적인 연관은 없는 내용을 담는 요소입니다.
<main>
- 이름 그대로 문서의 메인이 되는 주요 콘텐츠를 담는 요소입니다.
<article>
- 게시글, 뉴스 기사 등 독립적으로 구분해 재사용할 수 있는 부분을 의미하는 요소입니다.
- 각각의
<article>
을 구분하기 위한 수단이 필요하며, 보통 제목(<hgroup>
)을 포함하는 방법을 사용합니다.
<section>
- 문서의 독립적인 구획을 나타내며, 딱히 적합한 의미의 요소가 없을 때 사용합니다. 제목(<
hgroup>
)을 포함하는 경우가 많습니다.
<hgroup>
- 제목을 표시할 때 사용하는 요소로,
<h1>
~<h6>
요소가<hgroup>
입니다.
<footer
>
- 페이지나 요소의 최하단에 위치하는 꼬릿말 역할의 요소입니다.
// h1, div 요소는 블록 요소이고, // a, span 요소는 인라인 요소입니다. <a href=""> <h1>나쁜 예시 1</h1> </a> // ❌ <span> <div>나쁜 예시 2</div> </span> // ❌
<b>
, <i>
요소 사용하기<b>
, <i>
요소보다 <strong>
요소와 <em>
요소 사용<b>글씨를 두껍게</b> // ❌ <i>글씨 기울이기</i> // ❌ <em>콘텐츠 기울여서 강조하기</em> // ✅ <strong>콘텐츠 매우 강조하기</strong> // ✅
<hgroup>
마구잡이로 사용하기<hgroup>
요소들은 콘텐츠의 상하 관계를 표시하기 위해서 사용 (목차의 역할)// ❌ <h1>엄청 큰 글씨</h1> <h3>적당히 큰 글씨</h3> <h2>큰 글씨</h2> <h6>엄청 작은 글씨</h6> <h4>그냥 글씨</h4> // ✅ <h1>제목</h1> <h2>큰 목차</h2> <h3>작은 목차</h3> <h3>작은 목차</h3> <h2>큰 목차</h2> <h3>작은 목차</h3> <h4>더 작은 목차</h4> <h4>더 작은 목차</h4>
<br />
연속으로 사용하기<br />
은 텍스트의 줄 바꿈을 해주기 위해 사용하는 요소.<br />
을 연속으로 사용해서는 안됨.// ❌ 요소 사이에 여백을 주고싶을 때 <br /> <br /> 이렇게 하시면 안 됩니다. // ✅ 예1) <p>요소 사이에 여백을 주고싶을 땐</p> <p>아예 별도의 단락으로 구별하세요.</p> // ✅ 예2) //HTML 파일 <p class="margin">요소 사이에 여백을 주고싶을 땐</p> <p class="margin">CSS 속성으로 여백을 설정해주세요.</p> //CSS 파일 .margin { margin: 10px }
//HTML 파일 <head> <style> h1 { color : "red" } </style> </head> (O) <h1>스타일링 속성은 CSS로 작성해주세요.<h1> (O) <h2>style 요소를 사용해도, CSS 파일을 따로 작성해도 괜찮습니다.<h2> (X) <h3 style="color: blue">이렇게 인라인 스타일링으로는 사용하지 마세요.</h3> //CSS 파일 h2 { color : "yellow" }
- 크로스 브라우징의 가장 큰 걸림돌이었던 故 Internet Explorer
코드 호환성 확인하기
- 안정적인 데스크톱 브라우저(크롬, 엣지, 파이어폭스, 오페라, 사파리 등)에서 테스트
- 휴대폰 및 태블릿 브라우저(삼성 인터넷, 사파리, 안드로이드 기기의 크롬 등)에서 테스트
- 그 외 초기 기획 단계에서 목표했던 브라우저에서 테스트
- Window, Linux, Mac 등 다양한 운영 체제에서도 테스트
On-Page SEO
- 말 그대로 페이지 내부에서 진행할 수 있는 SEO
- 제목과 콘텐츠, 핵심 키워드의 배치, 효율적인 HTML 요소 사용법 등을 이용하는 방법.
Off-Page SEO
- 웹 사이트 외부에서 이루어지는 SEO
- 소셜 미디어 홍보, 백링크(타 사이트에서 연결되는 링크) 등을 이용하는 방법
- 웹 페이지 내용이나 구조와는 관계가 없다.
<meta>
요소와 <title>
요소에 검색 키워드(프론트엔드
, 부트캠프
) 넣기<title>
요소
- 검색 결과창에서 제목에 해당하는 요소
<head>
요소의 자식 요소로 작성<title>
요소에 같은 키워드를 반복하면 검색 시 불이익을 받을 수 있음<meta>
요소<head>
요소의 자식 요소로 작성SEO를 위한
<meta>
요소
- 검색 결과창에서 제목 밑에 따라오는 설명글
name
속성 사용
<meta name="속성값" content="내용" />
주요 속성값 (
name
의 값)
description
: 콘텐츠에 대한 간략한 설명. 검색 결과에서 제목 밑에 뜨는 내용keywords
: 웹 페이지의 관련 키워드들을 나열할 때 사용author
: 콘텐츠의 제작자를 표시
공유를 위한
<meta>
요소 (= 오픈 그래프(Open Graph))
- 링크 공유 시 뜨는 미리보기 관련 정보
<property>
속성 사용 (공유하기 위해 사용)- 각 속성값 앞에 오픈 그래프를 뜻하는
og
가 붙음.- 링크를 통해 해당 페이지에 방문자 수가 많아지면 검색 시 상위에 노출될 확률이 올라간다.
<meta property="속성값" content="내용" />
주요 속성값 (
property
의 값)
og:url
: 페이지의 표준 URLog:site_name
: 사이트의 이름og:title
: 콘텐츠의 제목입og:description
: 콘텐츠에 대한 간략할 설명. 검색 결과에서 제목 밑에 뜨는 내용og:image
: 미리보기로 표시될 이미지og:type
: 콘텐츠 미디어의 유형. 기본 값은 website로, video, music 등의 유형을 표시할 수 있다.og:locale
: 리소스의 언어로, 기본값은 en_US. 한국은 ko_KR.
<hgroup>
요소alt
속성을 사용해 해당 이미지에 대한 설명을 텍스트로 작성하기 (but 너무 길면 스팸 요소로 인식할 수 있음)<img src="코드스테이츠_로고.png" alt="코드스테이츠 로고" /> // ✅ <img src="코드스테이츠_로고.png" alt="프론트엔드 백엔드 블록체인 프로덕트매니지먼트 인공지능 데브옵스 등 다양한 커리어 전환 부트캠프를 진행하는 코드스테이츠 로고" /> // ❌