학습 목표
- 웹 표준의 개념과 등장 배경을 기억한다.
- 웹 표준을 지켰을 때의 장점을 이해한다.
- Semantic HTML을 작성해야 하는 이유를 이해한다.
- Semantic HTML을 작성하는 방법을 이해한다.
- 자주 틀리는 마크업 규칙과 올바르게 작성하는 방법을 기억한다.
- 크로스 브라우징의 개념과 방법을 기억한다.
인터넷
웹
웹 표준
웹 표준의 장점
<div>
와 <span>
으로 화면 구성하기<div>
와 <span>
요소로만 화면을 구성했을 때와 비교하면, 각 요소의 이름만 보고도 화면에서 어떤 역할을 하게 될 지, 어떤 내용을 담게 될지 보다 더 명확하게 알 수 있게 되었다.<header>
페이지나 요소의 최상단에 위치하는 머릿말 역할의 요소<nav>
메뉴, 목차 등에 사용되는 요소<aside>
문서와 연관은 있지만, 직접적인 연관은 없는 내용을 담는 요소<main>
이름 그대로 문서의 메인이 되는 주요 콘텐츠를 담는 요소<article>
게시글, 뉴스 기사 등 독립적으로 구분해 재사용할 수 있는 부분을 의미하는 요소, 각각의 <article>
을 구분하기 위한 수단이 필요하며, 보통 제목(<hgroup>
)을 포함하는 방법을 사용<section>
문서의 독립적인 구획을 나타내며, 딱히 적합한 의미의 요소가 없을 때 사용, 제목(<hgroup>
)을 포함하는 경우가 많다.<hgroup>
제목을 표시할 때 사용하는 요소로, <h1>
~ <h6>
요소가 <hgroup>
이다.<footer>
페이지나 요소의 최하단에 위치하는 꼬릿말 역할의 요소<span>
, 블록 요소로는 <div>
가 있다.// h1, div 요소는 블록 요소이고,
// a, span 요소는 인라인 요소입니다.
<a href=""> <h1>나쁜 예시 1</h1> </a>
<h1> <a href="">좋은 예시 1</a> </h1>
<span> <div>나쁜 예시 2</div> </span>
<div> <span>좋은 예시 2</span> </div>
<b>
, <i>
요소 사용하기 <b>
요소와 <i>
요소는 각각 글씨를 굵게 만들 때, 글씨를 기울일 때 사용하는 요소이지만 웹 표준을 준수하기 위해서는 이 요소들을 사용하지 않는 것이 좋다.<strong>
요소와 <em>
요소를 사용하는 것이 좋다. <b>글씨를 두껍게</b> -- 대체하기 --> <strong>콘텐츠 매우 강조하기</strong>
<i>글씨 기울이기</i> -- 대체하기 --> <em>콘텐츠 강조하기</em>
<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 />
이렇게 하시면 안 됩니다.
// 좋은 예시 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" }
학습목표
- SEO의 개념과 필요성을 기억한다.
- SEO의 종류를 기억하고 구분할 수 있다.
- SEO에 영향을 주는 요소의 종류와 작성 방법을 기억한다.
- SEO에 영향을 주는 요소를 직접 작성할 수 있다.
SEO(Search Engine Optimization, 검색 엔진 최적화) :검색 엔진의 작동 방식에 맞게 웹 페이지를 최적화해주는 작업
< On-Page SEO에 영향을 주는 요소 >
<title>
요소<head>
요소의 자식 요소로 작성<title>
요소에 어떤 내용을 작성하는가에 따라서 검색 후 유입까지 유도할 수 있다.<title>
요소에 핵심 키워드가 포함되면 상위에 노출될 확률이 높아진다.<meta>
요소<meta>
요소도 <head>
요소의 자식 요소로 작성해주는 것이 일반적<meta>
요소안에 들어있는 내용 =>name
속성을 사용하며, SEO를 위해서 사용하는 것이 목적<meta>
요소에 들어가 있는 내용=>property
속성을 사용하며, 다른 사람에게 공유하기 위한 것이 목적, property 속성을 사용하는 경우는 오픈 그래프(Open Graph) 라고 하며, 각 속성값 앞에는 오픈 그래프를 뜻하는 “og”가 붙는다.meta
요소: name 속성 사용<meta name="속성값" content="내용" />
<meta property="속성값" content="내용" />
1. <head>
요소 안에 <title>
요소를 작성
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>SEO 실습입니다</title>
</head>
<body>
<h1>👆 이 화면의 링크를 복사해서 공유해주세요!</h1>
</body>
</html>
공유한 결과
2. <head>
요소 안에 속성으로 property=”og:title” 를 갖는 <meta>
요소를 작성하고 content 속성값도 10글자 내외로 짧게 작성
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>SEO 실습입니다</title>
<meta property="og:title" content="이건 SEO 실습입니다"></meta>
</head>
<body>
<h1>👆 이 화면의 링크를 복사해서 공유해주세요!</h1>
</body>
</html>
공유한 결과
title의 내용이 아니라 og:title의 내용을 확인할 수 있음
3.<head>
요소 안에 속성으로 property=”og:description” 를 갖는 <meta>
요소를 작성하고 content 속성값도 10글자 내외로 짧게 작성
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>SEO 실습입니다</title>
<meta property="og:title" content="이건 SEO 실습입니다"></meta>
<meta property=”og:description” content="SEO 실습은 어렵습니다"></meta>
</head>
<body>
<h1>👆 이 화면의 링크를 복사해서 공유해주세요!</h1>
</body>
</html>
공유한 결과
og:description의 내용이 추가
4. <body>
요소 안에 <img>
요소를 만든 다음 src 속성을 작성하여 이미지를 넣어주세요.
<!DOCTYPE html>
<html lang="en">
<head>
<title>SEO 실습</title>
<meta charset="UTF-8" />
<meta property="og:title" content="이건 SEO 실습입니다" />
<meta property="og:description" content="SEO 실습은 어렵습니다." />
</head>
<body>
<h1>👆 이 화면의 링크를 복사해서 공유해주세요!</h1>
<img
src="https://mblogthumb-phinf.pstatic.net/MjAxODA2MTVfMjkg/MDAxNTI5MDQ2NzQ4ODE2.vxqGId6SU_Wsr0sAlvJKCedBZht0Zb_gvjdyr-ejQgUg.9bzFK71RfPpUSwNJhiR-IBpS85l4LqKlocdICQv3Azsg.JPEG.lhy7341/FB_IMG_1529024501082.jpg?type=w800"
/>
</body>
</html>
공유한 결과
미리보기에서 body에 들어간 이미지를 확인
5.<head>
요소 안에 속성으로 property=”og:image” 를 갖는 <meta>
요소를 작성하고 content 속성으로는 <img>
요소와는 다른 주소를 사용해주세요.
<!DOCTYPE html>
<html lang="en">
<head>
<title>SEO 실습</title>
<meta charset="UTF-8" />
<meta property="og:title" content="이건 SEO 실습입니다" />
<meta property="og:description" content="SEO 실습은 어렵습니다." />
<meta
property="og:image"
content="https://mblogthumb-phinf.pstatic.net/MjAxODA2MTVfMyAg/MDAxNTI5MDQ2NzQ5ODM4.j5CptgMQTgciYH_A_H1qUwS4i--k1M-Y94yM691jXvwg.ZW9GQH6hMzfLcsPj66R69NXH20ebrvbDm5nSdHJKCfYg.JPEG.lhy7341/FB_IMG_1529024503427.jpg?type=w800"></meta>
</head>
<body>
<h1>👆 이 화면의 링크를 복사해서 공유해주세요!</h1>
<img
src="https://mblogthumb-phinf.pstatic.net/MjAxODA2MTVfMjkg/MDAxNTI5MDQ2NzQ4ODE2.vxqGId6SU_Wsr0sAlvJKCedBZht0Zb_gvjdyr-ejQgUg.9bzFK71RfPpUSwNJhiR-IBpS85l4LqKlocdICQv3Azsg.JPEG.lhy7341/FB_IMG_1529024501082.jpg?type=w800"
/>
</body>
</html>
공유한 결과
미리보기에서 body에 들어간 이미지가 아닌, property="og:image"에 들어간 이미지를 확인할 수 있다.