본문 바로가기

웹언어/HTML5

[HTML5] 24강 SEO(검색엔진최적화)관련 meta태그

728x90
반응형

 

 

 

 

 

 

 

 

** 유튜브로 보실분은 아래 주소를 클릭해주세요.

https://youtu.be/CcOK0tJ1CPA

 

 

 

 

 

 

 

 

1. SEO(검색엔진최적화)란?


- SEO는 Search Engine Optimazation의 약자로, 구글과 같은 검색엔진에 친화적인 사이트를 구축하는 것을 말합니다.

- 검색엔진최적화작업을 하면 광고가 아닌 자연 검색 결과를 통해 트래픽의 양과 질을 극대화할 수 있습니다. 

- 물론 광고를 통해 검색 시 상단에 뜨게 할 수 있습니다.

- 하지만 광고로 형성된 상단의 검색결과보다 자연 검색결과로 이루어진 첫 번째 사이트가 대부분의 클릭률을 가지고 간다고 합니다.

 

- 위의 이미지를 구글에서 코딩학원을 검색한 결과입니다. 

- 중간에 스폰서와 동영상부분은 좀 잘랐습니다.

- 스폰서를 2개만 뒀는데, 저것이 광고에 돈을 써서 처리한 것이죠.

- 일반 사용자는 광고되어 있는 것은 잘 클릭하지 않는다고 합니다.

- 그래서 광고를 내리다가 보이는 첫 번째 자연검색의 결과를 클릭한다고 합니다.

- 저는 마케팅 파트는 아니여서 검색엔진 관련은 여기까지만 설명하고, 기술적인 이야기를 해보겠습니다. 

 

 

 

 

 

 

 

 

 

 

728x90
반응형

 

 

 

 

 

 

 

 

 

 

 

 

2. 검색엔진 알고리즘


- 검색엔진이 선호하는 사이트를 만들려면 검색엔진이 어떤 원리로 동작하는지 알아야 합니다.

- 그러면서 알아야할 용어들도 같이 보도록 하겠습니다. 

 

 

1) 구글 검색엔진 프로세스

- 가장 많은 검색을 담당하는 구글로 설명하겠습니다. 

  1. 크롤링(Crawling)을 처리합니다.
    구글 봇이 웹페이지의 콘텐츠를 복사해서 모든 정보를 수집하고, 수집한 정보를 검색엔진으로 가져옵니다.
  2. 인덱싱(Indexing)을 처리합니다. 
    구글 봇이 가져온 정보를 주제별로 색인해서 데이터를 보관합니다.
  3. 랭킹(Ranking)을 부여합니다.
    색인된 컨텐츠를 검색의도에 맞춰서 순위를 부여한 다음 사용자가 해당 키워드로 검색했을 때 랭킹 순서대로 결과를 제공합니다.

 

 


 

 

 

 

 

2) 검색엔진 관련 용어

- 그럼 여기에서 알아야 할 몇 가지 용어를 정리하겠습니다.

  1. 크롤링(Crawling) : 웹사이트에서 데이터를 추출하는 행위를 의미합니다.
  2. 크롤러(crawler) : 크롤링해서 색인을 생성하는 소프트웨어입니다.
  3. 인덱싱(Indexing) : 모든 웹페이지 정보를 주제별로 색인에 저장하는 것을 말합니다. 
  4. 구글 봇(Google Bot) : 구글에서 만든 크롤러

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. 검색엔진 최적화를 통해 상위노출하는 방법


- 그럼 검색엔진 최적화를 하는 기술적인 방법을 알아보겠습니다. 

 

 

 

1) HTTPS를 사용해라!

- 구글은 http:// 보다 https://를 더 선호합니다.

- 보안적인 측면에서도 https://를 사용해야 합니다.

- 인증기간에서 발급하는 SSL 인증서를 구입해서 사이트 프로토콜을 https://로 변경해 줍니다.

 

 


 

 

2) URL 최적화

- 서브 도메인보다는 서브폴더 형식을 사용해야 합니다. 

- 서브 도메인 예시

   ex) https://blog.ossam.kr   혹은   https://map.ossam.kr

- 서브폴더 형식 예시
   ex) https://ossam.kr/blog   혹은   https://ossam.kr/map

- 원래 ossam.kr이라는 사이트가 있다는 가정하에 서브도메인과 서브폴더 형식을 설명했습니다. 

 

 


 

 

 

3) 사이트맵과 robots.txt 처리 

- 사이트맵이란 웹사이트 내의 모든 페이지들을 나열한 파일입니다. 책으로 비유하자면 목차와 같은 것입니다. 

- robots.txt는 사이트맵 위치, 접근 가능한 파일과 그렇지 않은 파일들의 정보를 알려주는 중요한 역할을 하는 파일입니다. 

- 루트디렉터리에 처리를 해줍니다. 

 

 


 

 

4) head태그에 기술적 처리

- title태그를 꼭 작성해야 합니다. 검색엔진은 타이틀 태그에 적용된 내용을 검색결과에 표시합니다.

- meta태그를 통해 description, keyword, robots 등을 처리합니다. 이건 아래에서 더 디테일하게 보겠습니다.

- link태그에 canonical을 사용합니다. 이것도 아래에서 더 디테일하게 보겠습니다.

 

 

 


 

 

5) 이미지 alt속성 처리

- 웹사이트에서 이미지가 로딩 안되었을 때 표시해 주는 텍스트가 alt속성에 적힌 텍스트입니다.

- 구글봇은 이미지를 alt태그에 기재된 텍스트를 통해 이해합니다.

- 이미지 역시 알맞게 alt를 써줘야 이미지가 검색이 됩니다. 

- 하지만 너무 길게 사용하거나 비워두면 검색에 효율적이지 못합니다. 

 

 

 

** 더 많은 내용이 있겠지만 기술적인 측면만 설명하겠습니다. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


4. 검색엔진 최적화를 위한 메타(meta) 태그작성


- 그럼 위에서 설명했던 최적화 방법 중 메타태그를 작성하는 법을 보도록 하겠습니다. 

- 메타 태그란 아닌 웹페이지 자체의 정보를 명시하기 위한 목적으로 사용되는 태그입니다.

- 콘텐츠를 담는 태그는 아니라서 자손을 담지 못하는 유형으로 닫는 태그가 없습니다.

- 브라우저나 검색 로봇에게 해당 페이지의 정보를 알려주는 역할을 담당하는 메타데이터 태그라고 보면 됩니다.

- 이전 강좌에서 뷰포트 메타태그를 작성할 때 사용한 적이 있습니다. 

- 뷰포트 메타태그는 브라우저에서 기기 뷰포트에 대한 정보를 받기 위해 사용합니다. 

- 이번에는 검색엔진 최적화를 위한 메타태그들만 보도록 하겠습니다. 

 

 

 

1) meta태그 작성법

- meta 태그는 head태그 내에 작성하면 됩니다.

 

## meta 속성

<meta name="" content="">

 

- 여기서 name은 어떤 정보에 관련된 것인지 작성하는 속성입니다.

- content속성은 해당 name에 맞는 컨텐츠를 작성해 주면 됩니다. 

 

 

 


 

 

 

2) SEO를 위해 사용되는 메타태그

- meta 태그의 종류는 다양하지만 이번에는 SEO, 즉 검색엔진최적화를 위한 것만 보겠습니다. 

 

## meta 태그 name속성값의 종류

속성값 설명
title 현재 페이지의 제목을 작성합니다. 
보통 title태그로도 사용해서 작성하지 않아도 괜찮습니다. 
최대 40글자내로 적는 것이 좋다고 합니다.
description 사이트에 대한 요약글을 작성합니다. 
요약글을 160자(영문기준) 이내로 적는 것이 좋다고 합니다.
검색엔진에 영향은 없으나, 검색 시 보이므로 잘 작성하는 것이 좋습니다. 
robots 크롤링을 통해 로봇 색인 허용 검색 여부를 지정합니다.
검색 허용 : index, follow
검색 미허용 : noindex, nofollow
charset 언어 인코딩 방식을 설정합니다.
크롤링시 언어를 확인해야 하는 부분입니다.
viewport 기기 정보를 확인하기 위해 사용합니다.
구글 검색엔진 최적화는 모바일 중심으로 색인을 생성합니다.
구글의 모바일 친화성 테스트 도구를 통해 사이트의 모바일 친화성 여부를 확인할 수 있습니다.

 

 

 

 


 

 

 

3) SEO관련 메타태그 코드 작성하기

## 코드 보기

<!DOCTYPE html>
<html lang="ko">
    <head>
        <!-- 인코딩관련 -->
        <meta charset="UTF-8">

        <!-- 뷰포트메타태그 -->
        <meta name="viewport" content="width=device-width, initial-scale=1.0">

        <title>SEO관련 테스트</title>

        <!--웹페이지에 대한 설명 작성-->
        <meta name="description" content="오쌤의 니가스터디에서 SEO관련 강의를 합니다.">

        <!--키워드 정의-->
        <meta name="keyword" content="오쌤의 니가스터디, SEO, 크롤링">

        <!--크롤링 봇 색인 허용-->
        <meta name="robots" content="index, follow">
    </head>
    <body>
        <h1>SEO관련 테스트</h1>
    </body>
</html>

- 이런 식으로 작성하면 됩니다. 

 

- 검색이 안되게 하려면 앞에 no를 붙여줍니다.

 

<meta name="robots" content="noindex, nofollow">

 

 

 


 

 

 

4) link태그에 canonical을 사용

- canonical은 특정 웹페이지의 대표 url주소를 검색엔진에게 알려주는 역할로 상위 노출을 시키는데 중요한 역할을 합니다.

- 애플 공식 사이트의 canonical을 코드를 보겠습니다. 

apple사이트 코드

- 검색엔진에 대한 최적화를 아는 기업은 모두 작성합니다. 

 

 

 

 

 

 

 

 

 

 


5. 소셜 오픈 그래프(Open Graph)


- 브라우저나 검색 로봇에게 해당 페이지의 정보를 알려주는 메타태그입니다. 

- 표기 방법은 페이스북의 오픈 그래프 프로토콜을 사용하는 것입니다.

- 메타 태그의 property속성에 og라는 것으로 처리를 해줍니다. 

 

 

 

1) 오픈 그래프를 안 쓴 경우

- 어떤 경우에 사용하는지  소셜 오픈 그래프를 안쓴 코드 먼저 보겠습니다.

 

## 코드 보기

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>SEO관련 테스트</title>
    </head>
    <body>
        <h1>SEO관련 테스트</h1>
    </body>
</html>

- 인코딩 관련 메타태그를 제외한 나머지는 전부 작성하지 않았습니다.

 

 

## 티스토리 블로그에 붙인 화면

- 주소를 붙이고 엔터를 치면 아래 나오는 것이 소셜 그래프입니다.

- 소셜 오픈그래프를 쓰진 않았지만 title태그는 작성했기 때문에 제목은 나옵니다.

- 하지만 설명, 이미지 등은 나오지 않죠?

 

## 카카오톡에서 주소 붙인 화면

- 네이버 주소도 붙여 보고, 방금 쓴 코드를 쓴 주소도 붙여봤습니다.

- 어떤가요? 네이버는 이미지, 타이틀, 설명, 주소가 잘 나오죠?

- 하지만 아래는 제목, 주소만 나옵니다.

- 네이버처럼 만들려고 소셜 오픈그래프를 사용합니다. 

 

 

 

 


 

 

 

 

 

2) 오픈 그래프 코드

- 그럼 오픈 그래프 코드를 확인해 보겠습니다.

 

## 대표적인 오픈 그래프 코드

<meta property="og:url" content="표시할 주소 작성" />
<meta property="og:type" content="페이지 타입 작성" />
<meta property="og:title" content="페이지 타이틀" />
<meta property="og:description" content="페이지 내용 요약" />
<meta property="og:image" content="표시할 이미지 경로" />

 

 

## 테스트할 코드

<!DOCTYPE html>
<html lang="ko">
    <head>
        <!-- 인코딩관련 -->
        <meta charset="UTF-8">

        <!-- 뷰포트메타태그 -->
        <meta name="viewport" content="width=device-width, initial-scale=1.0">

        <title>SEO관련 테스트</title>

        <!--웹페이지에 대한 설명 작성-->
        <meta name="description" content="오쌤의 니가스터디에서 SEO관련 강의를 합니다.">

        <!--키워드 정의-->
        <meta name="keyword" content="오쌤의 니가스터디, SEO, 크롤링">

        <!--크롤링 봇 색인 허용-->
        <meta name="robots" content="index, follow">

        <!-- 소셜 오픈 그래프 코드 -->
        <meta property="og:url" content="http://ossamstudy.dothome.co.kr" />
        <meta property="og:type" content="website" />
        <meta property="og:title" content="오쌤의 니가스터디 테스트 사이트" />
        <meta property="og:description" content="현재 SEO관련 강좌를 진행중에 있습니다." />
        <meta property="og:image" content="seo.png" />
    </head>
    <body>
        <h1>SEO관련 테스트</h1>
    </body>
</html>

 

 

 

## 블로그에 표시되는 화면

- 브라우저 캐시가 1시간 유지돼서 바로 테스트가 안 돼서 seo폴더를 만들어서 처리했습니다.

- 이번에는 이미지, 타이틀, 설명, 주소 전부 잘 들어가죠?

 

 

## 카카오톡에 표시되는 화면

- 카카오톡에도 잘 표시가 되는 것이 확인됩니다. 

 

 

 

 

 

 

 


 

 

 

 

 

3) 트위터 카드(twitter cards)

- 페이스북, 네이버 블로그, 카카오톡 등 대다수의 서비스에서는 오픈그래프 프로토콜만 써도 미리 보기가 가능합니다.

- 하지만 트위터는 이에 더하여 자체적인 메타데이터 표기법을 가지고 있습니다. 

- x로 현재 바뀌었지만, x사이트도 트위터카드로 사용하고 있습니다.

 

## 트위터 카드 문법

<meta name="twitter:card" content="페이지 유형" />
<meta name="twitter:title" content="페이지 제목" />
<meta name="twitter:description" content="페이지 요약설명" />
<meta name="twitter:url" content="페이지 대표 주소" />
<meta name="twitter:image" content="페이지 대표 이미지" />

 

 

 

 

 

 

 

 

 

728x90
반응형