2025-01-24T03:41:27
This commit is contained in:
47
doc/seo/00_seo.md
Normal file
47
doc/seo/00_seo.md
Normal file
@@ -0,0 +1,47 @@
|
||||
# SEO(검색 엔진 최적화)
|
||||
|
||||
SEO는 Search Engine Optimization의 약자로, 검색 엔진 최적화라고 합니다. 즉, 구글, 네이버 등의 검색 엔진에서 특정 키워드로 검색했을 때 내 웹사이트가 상위에 노출될 수 있도록 웹사이트를 최적화하는 작업을 의미합니다.
|
||||
|
||||
* 높은 가시성: 검색 엔진 상위 노출을 통해 더 많은 사람들에게 웹사이트를 알릴 수 있습니다.
|
||||
* 높은 트래픽: 검색을 통해 웹사이트로 유입되는 방문자 수를 늘릴 수 있습니다.
|
||||
* 높은 전환율: 웹사이트 방문자를 고객으로 전환시킬 가능성을 높입니다.
|
||||
* 브랜드 인지도 향상: 검색 결과 상위에 노출되면 브랜드 인지도를 높일 수 있습니다.
|
||||
|
||||
SEO는 크게 온페이지 최적화와 오프페이지 최적화로 나눌 수 있습니다.
|
||||
|
||||
## 온페이지 최적화
|
||||
* 키워드 선정: 타겟 고객이 사용할 만한 키워드를 선정하고, 콘텐츠에 자연스럽게 포함시킵니다.
|
||||
* 콘텐츠 최적화: 양질의 콘텐츠를 지속적으로 제공하고, 키워드를 적절하게 활용하여 콘텐츠의 가치를 높입니다.
|
||||
* HTML 구조 최적화: 웹사이트의 구조를 검색 엔진이 쉽게 이해할 수 있도록 최적화합니다.
|
||||
* 이미지 최적화: 이미지 파일 크기를 줄이고, alt 속성을 활용하여 이미지에 대한 설명을 추가합니다.
|
||||
* 사이트 속도 개선: 웹 페이지 로딩 속도를 빠르게 하여 사용자 경험을 향상시킵니다.
|
||||
|
||||
## 오프페이지 최적화
|
||||
* 백링크 구축: 다른 웹사이트에서 자신의 웹사이트로 연결되는 링크를 늘립니다.
|
||||
* 소셜 미디어 마케팅: 소셜 미디어를 통해 웹사이트를 홍보하고, 사용자 참여를 유도합니다.
|
||||
* 지역 SEO: 지역 기반 키워드를 활용하여 지역 검색에서 노출을 높입니다.
|
||||
|
||||
## SEO를 위한 추가적인 노력들
|
||||
* 모바일 친화적인 웹사이트 구축: 모바일 사용자가 증가함에 따라 모바일 환경에서도 웹사이트가 잘 보여지도록 최적화해야 합니다.
|
||||
* 사용자 경험 개선: 사용자가 웹사이트를 쉽게 탐색하고 원하는 정보를 빠르게 찾을 수 있도록 사용자 경험을 개선해야 합니다.
|
||||
* 지속적인 관리: SEO는 단발적인 작업이 아니라 지속적인 관리가 필요합니다.
|
||||
|
||||
## SEO 도구
|
||||
* 구글 검색 콘솔: 웹사이트의 검색 엔진 노출 현황을 확인하고 문제점을 진단할 수 있는 도구입니다.
|
||||
* 구글 애널리틱스: 웹사이트 방문자의 행동을 분석하여 웹사이트 개선에 활용할 수 있는 도구입니다.
|
||||
* 다양한 SEO 분석 도구: 키워드 분석, 경쟁 분석 등 다양한 기능을 제공하는 유료/무료 SEO 분석 도구들이 있습니다.
|
||||
|
||||
---
|
||||
|
||||
키워드 리서치
|
||||
메타 태그
|
||||
로봇.txt
|
||||
사이트맵
|
||||
검색 엔진 알고리즘
|
||||
콘텐츠 마케팅
|
||||
기술적 SEO
|
||||
|
||||
|
||||
https://developers.google.com/search/docs/advanced/guidelines/get-started?hl=ko
|
||||
|
||||
https://searchadvisor.naver.com/guide
|
||||
33
doc/seo/01_keyword_research.md
Normal file
33
doc/seo/01_keyword_research.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# 키워드 리서치
|
||||
|
||||
SEO(검색 엔진 최적화)에서 키워드 리서치는 가장 기본이자 중요한 작업입니다. 마치 활쏘기에서 과녁을 정확하게 맞추기 위해 표적을 설정하는 것과 같이, 키워드 리서치는 우리의 웹사이트가 노출될 목표를 정하는 과정이라고 할 수 있습니다.
|
||||
|
||||
키워드 리서치는 잠재 고객들이 검색 엔진에 입력하는 검색어를 찾아 분석하는 과정입니다. 이를 통해 우리의 웹사이트에 가장 적합한 키워드를 선정하고, 콘텐츠를 제작하며, 광고를 집행하는 등 다양한 마케팅 활동에 활용할 수 있습니다.
|
||||
|
||||
* 타겟 고객 파악: 어떤 키워드를 검색하는지 분석하여 타겟 고객의 니즈를 파악할 수 있습니다.
|
||||
* 콘텐츠 제작: 키워드를 중심으로 콘텐츠를 제작하여 검색 엔진 노출을 높일 수 있습니다.
|
||||
* 경쟁 분석: 경쟁사가 어떤 키워드로 노출되고 있는지 분석하여 차별화된 전략을 수립할 수 있습니다.
|
||||
* 광고 효율성 증대: 키워드 광고에 예산을 효율적으로 배분할 수 있습니다.
|
||||
|
||||
## 키워드 리서치 방법
|
||||
|
||||
* 브레인스토밍: 웹사이트의 주제와 관련된 모든 키워드를 떠올려 목록을 작성합니다.
|
||||
* 경쟁사 분석: 경쟁사 웹사이트에서 어떤 키워드를 사용하고 있는지 분석합니다.
|
||||
* 키워드 도구 활용:
|
||||
- 구글 키워드 플래너: 구글에서 제공하는 무료 도구로, 검색량, 경쟁 정도 등을 확인할 수 있습니다.
|
||||
- SEMrush, Ahrefs: 유료 도구지만 더욱 다양한 기능과 정확한 데이터를 제공합니다.
|
||||
* 롱테일 키워드 활용: 경쟁이 심한 주요 키워드 대신, 보다 구체적이고 긴 키워드를 활용하여 트래픽을 유입할 수 있습니다.
|
||||
* 사용자 의도 파악: 키워드를 검색하는 사용자의 의도를 파악하여 더욱 정확한 콘텐츠를 제공합니다.
|
||||
|
||||
## 키워드 선정 시 고려해야 할 사항
|
||||
|
||||
* 검색량: 많은 사람들이 검색하는 키워드일수록 좋습니다.
|
||||
* 경쟁 강도: 경쟁이 너무 심한 키워드는 노출이 어려울 수 있습니다.
|
||||
* 관련성: 웹사이트의 주제와 관련성이 높은 키워드를 선택해야 합니다.
|
||||
* 사용자 의도: 사용자가 어떤 정보를 찾고 있는지 파악하고, 그에 맞는 키워드를 선택해야 합니다.
|
||||
|
||||
---
|
||||
|
||||
구글 키워드 플래너: https://ads.google.com/keywordplanner/
|
||||
SEMrush: https://www.semrush.com/
|
||||
Ahrefs: https://ahrefs.com/
|
||||
33
doc/seo/02_metatags.md
Normal file
33
doc/seo/02_metatags.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# 메타 태그
|
||||
|
||||
메타 태그는 HTML 문서의 헤드(head) 부분에 추가하여 검색 엔진에게 웹 페이지에 대한 정보를 제공하는 역할을 합니다. 메타 태그는 검색 엔진이 웹 페이지를 이해하고 검색 결과에 노출하는 데 중요한 역할을 하므로, SEO를 위해 반드시 신경써야 하는 부분입니다.
|
||||
|
||||
* `<title>`
|
||||
- 웹 페이지의 제목을 나타냅니다.
|
||||
- 검색 결과에 표시되는 가장 중요한 요소 중 하나입니다.
|
||||
- 키워드를 포함하여 작성하는 것이 좋습니다.
|
||||
* `<meta name="description" content="">`
|
||||
- 웹 페이지의 내용을 간략하게 설명하는 메타 설명입니다.
|
||||
- 검색 결과에 표시되는 설명 부분에 사용됩니다.
|
||||
- 키워드를 포함하고, 사용자가 클릭하고 싶도록 매력적인 문구로 작성해야 합니다.
|
||||
* `<meta name="keywords" content="">`
|
||||
- 웹 페이지의 주요 키워드를 나열하는 태그입니다.
|
||||
- 최근에는 검색 엔진에서 중요도가 낮아졌지만, 여전히 일부 검색 엔진에서 참고하는 경우가 있습니다.
|
||||
* `<meta name="robots" content="">`
|
||||
- 검색 엔진 크롤러에게 웹 페이지를 어떻게 처리할지 지시하는 태그입니다.
|
||||
- index, noindex, follow, nofollow 등의 속성을 사용하여 크롤링 및 색인 여부를 설정할 수 있습니다.
|
||||
|
||||
## 메타 태그 작성 시 주의사항
|
||||
* 독창성: 다른 웹사이트와 중복되지 않도록 고유한 메타 태그를 작성해야 합니다.
|
||||
* 정확성: 메타 태그의 내용은 웹 페이지의 내용과 일치해야 합니다.
|
||||
* 키워드 자연스럽게 포함: 키워드를 과도하게 반복하거나 부자연스럽게 사용하지 마세요.
|
||||
* 메타 설명 길이: 검색 엔진마다 다르지만, 일반적으로 150~160자 이내로 작성하는 것이 좋습니다.
|
||||
|
||||
```html
|
||||
<head>
|
||||
<title>SEO 가이드 - 검색 엔진 최적화 방법</title>
|
||||
<meta name="description" content="SEO에 대한 모든 것을 알아보세요. 키워드, 콘텐츠, 기술적 SEO 등 웹사이트를 검색 엔진 최적화하는 방법을 배우세요.">
|
||||
<meta name="keywords" content="SEO, 검색 엔진 최적화, 키워드, 콘텐츠, 웹사이트">
|
||||
<meta name="robots" content="index, follow">
|
||||
</head>
|
||||
```
|
||||
49
doc/seo/03_robot_txt.md
Normal file
49
doc/seo/03_robot_txt.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# robots.txt
|
||||
|
||||
robots.txt 파일은 웹사이트의 뿌리 디렉토리에 위치하는 텍스트 파일로, 검색 엔진 크롤러에게 어떤 페이지를 크롤링하고 색인할 수 있는지에 대한 지침을 제공하는 파일입니다. 마치 웹사이트의 안내판과 같은 역할을 하며, 검색 엔진이 웹사이트를 효율적으로 크롤링하고 색인하는 데 도움을 줍니다.
|
||||
|
||||
* 검색 엔진 크롤링 제어: 검색 엔진이 특정 페이지나 디렉토리를 크롤링하지 못하도록 설정할 수 있습니다.
|
||||
* 사이트 부하 감소: 불필요한 페이지를 크롤링하지 않도록 함으로써 서버 부하를 줄일 수 있습니다.
|
||||
* 개인 정보 보호: 개인 정보가 포함된 페이지를 검색 엔진에서 노출되지 않도록 할 수 있습니다.
|
||||
* 중복 콘텐츠 방지: 동일하거나 유사한 콘텐츠가 여러 URL에 존재할 경우, 검색 엔진이 하나의 URL만 색인하도록 지시할 수 있습니다.
|
||||
|
||||
## robots.txt 파일의 기본 구조
|
||||
```
|
||||
User-agent: *
|
||||
Disallow: /admin/
|
||||
Disallow: /cgi-bin/
|
||||
```
|
||||
* User-agent: 어떤 크롤러에게 지시를 내릴 것인지 지정합니다. *는 모든 크롤러를 의미합니다.
|
||||
* Disallow: 크롤링을 금지할 디렉토리나 파일을 지정합니다.
|
||||
|
||||
## robots.txt 파일의 주요 지시문
|
||||
* User-agent: 특정 크롤러를 지정합니다.
|
||||
* Disallow: 지정된 URL을 크롤링하지 못하도록 합니다.
|
||||
* Allow: 지정된 URL을 크롤링할 수 있도록 허용합니다.
|
||||
* Sitemap: 사이트맵의 위치를 지정합니다.
|
||||
* Crawl-delay: 크롤링 간의 간격을 지정합니다.
|
||||
|
||||
## robots.txt 파일 작성 시 주의사항
|
||||
* 정확한 문법: robots.txt 파일의 문법이 틀리면 의도한대로 작동하지 않을 수 있습니다.
|
||||
* 과도한 제한: 너무 많은 페이지를 차단하면 검색 엔진이 웹사이트를 제대로 이해하지 못할 수 있습니다.
|
||||
* 동적 콘텐츠: 동적 콘텐츠는 robots.txt 파일로 제어하기 어려울 수 있습니다. 자바스크립트 렌더링된 페이지는 검색 엔진이 직접 읽을 수 없기 때문입니다.
|
||||
* 변경 사항 반영: robots.txt 파일을 변경한 후에는 검색 엔진이 변경 사항을 반영하는 데 시간이 걸릴 수 있습니다.
|
||||
|
||||
## robots.txt 파일 예시
|
||||
```
|
||||
User-agent: *
|
||||
Disallow: /admin/
|
||||
Disallow: /cgi-bin/
|
||||
Disallow: /tmp/
|
||||
Sitemap: https://www.example.com/sitemap.xml
|
||||
```
|
||||
위 예시는 모든 크롤러에게 /admin/, /cgi-bin/, /tmp/ 디렉토리에 대한 접근을 금지하고, 사이트맵의 위치를 지정하는 예입니다.
|
||||
|
||||
> robots.txt 파일은 검색 엔진 크롤러에게 지침을 제공하는 것이지, 검색 엔진이 반드시 따라야 하는 절대적인 규칙은 아닙니다. 검색 엔진은 robots.txt 파일의 내용을 무시하고 크롤링을 진행할 수도 있습니다.
|
||||
|
||||
|
||||
---
|
||||
|
||||
http://www.robotstxt.org/
|
||||
|
||||
http://humanstxt.org/
|
||||
48
doc/seo/04_sitemap.md
Normal file
48
doc/seo/04_sitemap.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# 사이트맵
|
||||
사이트맵은 웹사이트의 모든 페이지를 목록으로 정리한 파일입니다. 마치 책의 목차와 같이, 검색 엔진에게 웹사이트의 구조를 알려주는 역할을 합니다. 검색 엔진은 사이트맵을 참고하여 웹사이트를 더 효율적으로 크롤링하고 색인할 수 있습니다.
|
||||
|
||||
* 검색 엔진 크롤링 지원: 검색 엔진이 웹사이트의 모든 페이지를 찾아내도록 돕습니다.
|
||||
* 새로운 페이지 알림: 새롭게 추가된 페이지를 검색 엔진에 빠르게 알릴 수 있습니다.
|
||||
* 큰 규모의 사이트 관리: 대규모 웹사이트의 경우, 사이트맵을 통해 검색 엔진이 중요한 페이지를 우선적으로 크롤링하도록 유도할 수 있습니다.
|
||||
* 동적 콘텐츠: 자주 변경되는 콘텐츠를 가진 웹사이트의 경우, 사이트맵을 통해 검색 엔진에 최신 정보를 제공할 수 있습니다.
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<url>
|
||||
<loc>http://www.example.com/</loc>
|
||||
<lastmod>2005-01-01</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
</urlset>
|
||||
```
|
||||
|
||||
## 사이트맵의 종류
|
||||
* XML 사이트맵: 가장 일반적인 형식이며, 검색 엔진에서 널리 지원됩니다. XML 형식으로 작성되며, URL, 변경 시간 등의 정보를 포함합니다.
|
||||
* HTML 사이트맵: 사람이 보기 쉽도록 HTML 형식으로 작성된 사이트맵입니다. 검색 엔진보다는 사용자를 위한 정보 제공 목적으로 사용됩니다.
|
||||
* 이미지 사이트맵: 이미지 파일을 위한 사이트맵으로, 이미지 파일의 URL과 관련 정보를 제공합니다.
|
||||
* 비디오 사이트맵: 동영상 파일을 위한 사이트맵으로, 동영상 파일의 URL과 관련 정보를 제공합니다.
|
||||
|
||||
## 사이트맵의 구성
|
||||
|
||||
- urlset : 필수.
|
||||
- url : 각 페이지의 URL을 지정합니다. 필수.
|
||||
- loc : 필수.
|
||||
- lastmod : 페이지가 마지막으로 변경된 시간을 지정합니다. ISO 8601
|
||||
- changefreq : 페이지가 변경되는 빈도를 나타냅니다.
|
||||
- priority : 페이지의 중요도를 나타내는 값입니다. 0.0~ 1.0
|
||||
|
||||
## 사이트맵 제출 방법
|
||||
* 구글 검색 콘솔: 구글 검색 콘솔에 사이트맵을 제출하여 구글 크롤러가 사이트맵을 확인하도록 합니다.
|
||||
* 다른 검색 엔진: 네이버, Bing 등 다른 검색 엔진에도 사이트맵을 제출할 수 있습니다.
|
||||
|
||||
## 사이트맵 생성 방법
|
||||
* 수동 생성: XML 형식으로 직접 사이트맵 파일을 작성합니다.
|
||||
* CMS 플러그인: 워드프레스, 윅스 등의 CMS에서는 사이트맵을 자동으로 생성해주는 플러그인을 제공합니다.
|
||||
* 사이트맵 생성 도구: 온라인 사이트맵 생성 도구를 이용하여 간편하게 사이트맵을 만들 수 있습니다.
|
||||
|
||||
|
||||
---
|
||||
|
||||
https://www.sitemaps.org/ko/protocol.html
|
||||
49
doc/seo/05_humans_txt.md
Normal file
49
doc/seo/05_humans_txt.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# humans.txt 파일
|
||||
|
||||
humans.txt 파일은 웹사이트에 대한 인간적인 측면을 보여주는 간단한 텍스트 파일입니다. 마치 웹사이트의 'About Us' 페이지처럼, 누가 이 웹사이트를 만들고 운영하는지, 어떤 사람들이 참여했는지 등의 정보를 직접적으로 표현합니다.
|
||||
|
||||
* 투명성: 웹사이트 운영에 참여한 사람들을 공개하여 신뢰도를 높일 수 있습니다.
|
||||
* 개발자 커뮤니티 참여: 다른 개발자들에게 영감을 주고, 협업을 장려할 수 있습니다.
|
||||
* 사용자와의 소통: 사용자에게 웹사이트에 대한 더욱 깊은 이해를 제공할 수 있습니다.
|
||||
* 인간적인 측면 강조: 웹사이트가 단순한 정보 제공 공간이 아니라, 사람들이 만들고 운영하는 곳임을 보여줍니다.
|
||||
|
||||
## humans.txt 파일에 담긴 정보
|
||||
* 웹사이트 제작에 참여한 사람들의 이름: 개발자, 디자이너, 작가 등
|
||||
* 연락처: 이메일, 소셜 미디어 계정 등
|
||||
* 웹사이트에 대한 간략한 소개: 웹사이트의 목적이나 비전 등
|
||||
* 사용된 기술: 웹사이트를 만드는 데 사용된 기술이나 도구
|
||||
* 감사의 말: 도움을 준 사람들에게 감사를 표현
|
||||
* 저작권 정보: 웹사이트의 저작권 정보
|
||||
|
||||
## humans.txt
|
||||
```
|
||||
# humans.txt
|
||||
|
||||
** Who we are **
|
||||
|
||||
This website was created by:
|
||||
|
||||
* John Doe (johndoe@example.com) - Developer
|
||||
* Jane Smith (janesmith@example.com) - Designer
|
||||
|
||||
** What we use **
|
||||
|
||||
We built this site using:
|
||||
* HTML5
|
||||
* CSS3
|
||||
* JavaScript
|
||||
* Python (Flask)
|
||||
|
||||
** Get in touch **
|
||||
Feel free to contact us at hello@example.com
|
||||
```
|
||||
|
||||
## 장점
|
||||
* 간단하고 직관적: 누구나 쉽게 이해할 수 있는 형식으로 정보를 제공합니다.
|
||||
* 자유로운 형식: 특별한 규칙 없이 원하는 방식으로 정보를 작성할 수 있습니다.
|
||||
* 커뮤니티 참여: 다른 웹사이트의 humans.txt 파일을 참고하고, 자신만의 스타일을 만들 수 있습니다.
|
||||
|
||||
## 단점
|
||||
* 검색 엔진 노출: 검색 엔진에서 humans.txt 파일이 노출되지 않을 수 있습니다.
|
||||
* 보안: 개인 정보를 노출할 수 있으므로 주의해야 합니다.
|
||||
|
||||
154
doc/seo/06_syndication.md
Normal file
154
doc/seo/06_syndication.md
Normal file
@@ -0,0 +1,154 @@
|
||||
# 신디케이션(Syndication)
|
||||
|
||||
**신디케이션(Syndication)**은 하나의 콘텐츠를 여러 매체나 플랫폼을 통해 동시에 배포하는 것을 의미합니다. 마치 신문사가 자사의 기사를 다른 매체에 제공하여 더 많은 사람들에게 알리는 것처럼, 다양한 분야에서 활용되는 개념입니다.
|
||||
|
||||
## RSS
|
||||
**RSS(Really Simple Syndication)**는 웹 사이트의 새로운 콘텐츠를 구독자가 쉽게 확인할 수 있도록 하는 표준화된 형식입니다. 마치 신문을 구독하는 것처럼, 자신이 원하는 웹사이트의 최신 정보를 한 곳에서 모아 볼 수 있도록 해주는 것이죠.
|
||||
|
||||
### RSS의 작동 원리
|
||||
* 웹사이트에서 RSS 피드 생성: 웹사이트 운영자는 RSS 피드를 생성하여 자신의 콘텐츠를 배포합니다.
|
||||
* RSS 리더에서 구독: 사용자는 RSS 리더를 통해 원하는 웹사이트의 RSS 피드를 구독합니다.
|
||||
* 콘텐츠 업데이트: 웹사이트에 새로운 콘텐츠가 추가되면 RSS 피드가 자동으로 업데이트됩니다.
|
||||
* RSS 리더에서 확인: 사용자는 RSS 리더를 통해 업데이트된 내용을 확인하고 원하는 콘텐츠를 클릭하여 해당 웹사이트로 이동합니다.
|
||||
|
||||
### RSS의 장점
|
||||
* 편리한 정보 수집: 여러 웹사이트를 일일이 방문하지 않고도 원하는 정보를 한곳에서 확인할 수 있습니다.
|
||||
* 개인 맞춤형 정보 제공: 자신이 관심 있는 분야의 정보만을 선택적으로 구독할 수 있습니다.
|
||||
* 오프라인에서도 이용 가능: 일부 RSS 리더는 오프라인에서도 콘텐츠를 볼 수 있도록 지원합니다.
|
||||
### RSS의 단점
|
||||
* 인지도 부족: 많은 사용자들이 RSS에 대해 잘 알지 못합니다.
|
||||
* 소셜 미디어의 부상: 소셜 미디어가 발달하면서 RSS의 중요성이 상대적으로 줄어들었습니다.
|
||||
|
||||
### RSS 2.0
|
||||
```xml
|
||||
<rss version="2.0">
|
||||
<channel>
|
||||
<title></title>
|
||||
<link></link>
|
||||
<description></description>
|
||||
<item>
|
||||
<title></title>
|
||||
<link></link>
|
||||
<description></description>
|
||||
</item>
|
||||
</channel>
|
||||
</rss>
|
||||
```
|
||||
- channel
|
||||
- title
|
||||
- link
|
||||
- description
|
||||
- language
|
||||
- copyright
|
||||
- managingEditor
|
||||
- webMaster
|
||||
- pubDate
|
||||
- lastBuildDate
|
||||
- category
|
||||
- generator
|
||||
- docs
|
||||
- cloud
|
||||
- ttl
|
||||
- image
|
||||
- url
|
||||
- title
|
||||
- link
|
||||
- textInput
|
||||
- title
|
||||
- description
|
||||
- name
|
||||
- link
|
||||
- skipHours
|
||||
- skipDays
|
||||
- item
|
||||
- title
|
||||
- link
|
||||
- description
|
||||
- author
|
||||
- catogory
|
||||
- comments
|
||||
- enclosure
|
||||
- guid
|
||||
- pubDate
|
||||
- source
|
||||
|
||||
|
||||
## Atom
|
||||
|
||||
Atom 프로토콜은 RSS와 함께 웹 콘텐츠를 신디케이션(syndication)하기 위한 표준 프로토콜 중 하나입니다. 즉, 웹사이트의 새로운 콘텐츠를 다른 웹사이트나 애플리케이션에서 쉽게 구독하고 활용할 수 있도록 하는 기술입니다.
|
||||
|
||||
### RSS와 Atom은 모두 웹 피드를 위한 표준이지만, 몇 가지 차이점이 있습니다.
|
||||
|
||||
* 개발 배경: RSS는 블로그 플랫폼에서 시작된 반면, Atom은 웹 표준화 단체인 IETF(Internet Engineering Task Force)에서 개발되어 더욱 개방적이고 확장성이 뛰어납니다.
|
||||
* 구조: Atom은 XML 기반으로 더욱 정교하고 확장 가능한 구조를 가지고 있습니다.
|
||||
* 기능: Atom은 RSS보다 더 다양한 기능을 제공하며, 특히 웹 콘텐츠의 변경 내역을 추적하는 기능이 강화되어 있습니다.
|
||||
|
||||
### Atom의 주요 구성 요소
|
||||
* 피드: 전체 콘텐츠의 목록을 나타내는 부분입니다.
|
||||
* 항목: 개별 콘텐츠(예: 블로그 게시글)를 나타내는 부분입니다.
|
||||
* 링크: 관련된 웹 페이지의 URL을 지정합니다.
|
||||
* 업데이트: 콘텐츠가 마지막으로 업데이트된 시간을 나타냅니다.
|
||||
* 저자: 콘텐츠를 작성한 사람의 정보를 나타냅니다.
|
||||
|
||||
### Atom 1.0
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||
<title>Example Feed</title>
|
||||
<link href="http://example.org/"/>
|
||||
<updated>2003-12-13T18:30:02Z</updated>
|
||||
<author>
|
||||
<name>John Doe</name>
|
||||
</author>
|
||||
<id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id>
|
||||
<entry>
|
||||
<title>Atom-Powered Robots Run Amok</title>
|
||||
<link href="http://example.org/2003/12/13/atom03"/>
|
||||
<id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
|
||||
<updated>2003-12-13T18:30:02Z</updated>
|
||||
<summary>Some text.</summary>
|
||||
</entry>
|
||||
</feed>
|
||||
```
|
||||
#### 태그
|
||||
- feed
|
||||
- id
|
||||
- title
|
||||
- updated
|
||||
- author
|
||||
- link
|
||||
- category
|
||||
- contributor
|
||||
- name
|
||||
- url
|
||||
- email
|
||||
- generator
|
||||
- icon
|
||||
- logo
|
||||
- rights
|
||||
- subtitle
|
||||
- entry
|
||||
- id
|
||||
- title
|
||||
- updated
|
||||
- author
|
||||
- name
|
||||
- url
|
||||
- email
|
||||
- content
|
||||
- link
|
||||
- summary
|
||||
- category
|
||||
- contributor
|
||||
- name
|
||||
- url
|
||||
- email
|
||||
- published
|
||||
- rights
|
||||
- source
|
||||
|
||||
|
||||
---
|
||||
https://validator.w3.org/feed/docs/rss2.html
|
||||
https://validator.w3.org/feed/docs/atom.html
|
||||
37
doc/seo/07_microdata.md
Normal file
37
doc/seo/07_microdata.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# 마이크로데이터
|
||||
|
||||
마이크로데이터는 웹 페이지의 특정 요소에 대한 구체적인 정보를 제공하여 검색 엔진이 웹 페이지의 내용을 더 정확하게 이해할 수 있도록 돕는 기술입니다. 마치 사람이 웹 페이지를 보듯이, 검색 엔진도 웹 페이지의 구조와 의미를 파악하여 더욱 정확한 검색 결과를 제공할 수 있도록 돕는 것이죠.
|
||||
|
||||
* 검색 엔진 최적화 (SEO): 검색 엔진이 웹 페이지의 내용을 더 정확하게 파악하여 검색 결과에서 더 높은 순위로 노출될 수 있도록 돕습니다.
|
||||
* 리치 스니펫: 검색 결과에 웹 페이지의 정보가 더 풍부하게 표시될 수 있도록 합니다. 예를 들어, 별점, 가격, 상품 이미지 등이 검색 결과에 직접 표시될 수 있습니다.
|
||||
* 웹 접근성 향상: 시각 장애인을 위한 스크린 리더가 웹 페이지를 더 잘 이해하도록 돕습니다.
|
||||
|
||||
## 마이크로데이터의 구조
|
||||
마이크로데이터는 HTML5에서 도입된 기술로, HTML 태그에 특정 속성을 추가하여 구조화된 데이터를 표현합니다.
|
||||
|
||||
* itemscope: 요소가 구조화된 데이터를 포함하고 있음을 나타냅니다.
|
||||
* itemtype: 데이터의 종류를 나타냅니다. (예: Person, Product, Organization)
|
||||
* itemprop: 데이터의 속성을 나타냅니다. (예: name, description, price)
|
||||
|
||||
```html
|
||||
<div itemscope itemtype="http://schema.org/Person">
|
||||
<span itemprop="name">홍길동</span>
|
||||
<span itemprop="jobTitle">웹 개발자</span>
|
||||
</div>
|
||||
```
|
||||
위 예시는 "홍길동"이라는 사람의 이름과 직업을 마이크로데이터로 표현한 것입니다.
|
||||
|
||||
## 마이크로데이터를 사용하는 이유
|
||||
* 검색 엔진에 대한 정보 제공: 검색 엔진은 마이크로데이터를 통해 웹 페이지의 내용을 더 정확하게 이해하고, 검색 결과를 풍부하게 만들 수 있습니다.
|
||||
* 리치 스니펫: 검색 결과에 웹 페이지의 정보가 더 자세하게 표시되어 클릭률을 높일 수 있습니다.
|
||||
* 웹 표준 준수: HTML5의 표준을 따르는 웹 개발을 가능하게 합니다.
|
||||
|
||||
## 마이크로데이터의 종류
|
||||
* Schema.org: 가장 많이 사용되는 마이크로데이터 표준으로, 다양한 종류의 데이터를 표현하기 위한 구조화된 데이터를 제공합니다.
|
||||
* Microdata.org: Schema.org와 유사한 또 다른 마이크로데이터 표준입니다.
|
||||
* RDFa: Resource Description Framework in Attributes의 약자로, RDF를 기반으로 하는 마이크로데이터 표준입니다.
|
||||
|
||||
## 마이크로데이터 활용 시 주의사항
|
||||
* 정확한 정보 제공: 마이크로데이터에 포함된 정보는 정확해야 합니다.
|
||||
* 과도한 사용 지양: 너무 많은 마이크로데이터를 사용하면 웹 페이지의 로딩 속도가 느려질 수 있습니다.
|
||||
* 지속적인 관리: 웹 페이지의 내용이 변경될 때마다 마이크로데이터도 함께 업데이트해야 합니다.
|
||||
Reference in New Issue
Block a user