웹 애플리케이션을 만들고 난 후 가장 먼저 해야할 것은
마케팅이다. 나만 만족하는 웹 애플리케이션은 수익으로
이어지지 않기 때문이다. 수익을 얻기 위해서는 마케팅을
통해서 웹에 유입되는 트래픽을 늘려야 한다.
구글과 네이버 처럼 사이즈가 큰 포털에 웹마스터 도구를
등록해야 한다. 여기에 등록하기 위해서 필요한 것이
robots.txt와 sitemap.xml이다. 각 포털들은 크롤봇을 가지고
웹을 돌아다니면서 검색결과에 반영하기 때문에, 필수사항이다.
robots.txt란?
robots.txt는 로봇배제 표준이다. 크롤봇들이 접근하는 것을
막기위해 고안된 규약이다. 1994년에 처음 만들어졌고, 대부분의
웹에는 해당 규약을 정해서 크롤링에 대한 규칙을 명시하고 있다.
웹 도메인 주소 끝에 robots.txt라고 입력하면 해당 웹의
로봇배제규약을 확인할 수 있다. 네이버의 경우
https://www.naver.com/robots.txt 로 접속하면
네이버의 로봇배제규약을 확인할 수 있다.
네이버의 robots.txt는 다음과 같다.
User-agent: *
Disallow: /
Allow : /$
모든 유저에 대해서 모든 링크 크롤링 하는 것을 배제한다.
다만 /$이 더 세부적인 규약이기 때문에 모든 크롤봇에 대해서
크롤링을 허용한다는 뜻이다.
robots.txt 해석은 아래 링크에서 확인 가능하다.
Django로 만든 웹 애플리케이션에 robots.txt를 적용하는 방법은
간단하다. 먼저 robots.txt를 생성하고 프로젝트 파일에 추가하면
완료된다.
robots.txt 생성
https://developers.google.com/search/docs/advanced/robots/create-robots-txt?hl=ko#format_location
https://searchadvisor.naver.com/
robots.txt 규약은 구글링을 해보면 바로 나오지만,
대표적으로 간단하게 robots.txt를 생성할 수 있는 사이트는
구글 서치콘솔과 네이버 서치어드바이저다. 등록하고자 하는
웹 도메인 주소를 입력하면 각 크롤링 봇에 대해서 로봇배제규약을
생성할 수 있다.
개별적인 robots.txt를 생성하려고 하면, 구글 서치콘솔 사이트에서
robots.txt 규약 설명을 보고 간단하게 만들 수 있다. 기본적으로
User를 특정하고 아래에 검색할 수 있는 URL을 ALLOW 혹은 DISALLOW로
규약을 설정해주면 된다.
Django robots.txt 등록
먼저 HTML파일을 보관하고 있는 template 폴더 내에
앞서 생성한 robots.txt를 추가해준다.
프로젝트 디렉토리내의 urls.py에 아래 코드를 추가해준다.
robots.txt에 접속하면 아래 템플릿뷰가 작동해서 생성한
robots.txt를 렌더링 해준다.
#project/urls.py
from django.views.generic import TemplateView
urlpatterns = [
...
path('robots.txt/', TemplateView.as_view(template_name="robots.txt",
content_type='text/plain')),
]
이제 저장하고, push 해주면 수정 반영이 완료된다.
네이버 서치어드바이저에 robots.txt를 등록해주면
모든 작업이 완료된다.
정상적으로 구글봇과 네이버봇이 내 웹애플리케이션에
접속할 권한을 얻게 되고, 노출이 정상적으로 되는 것을
확인할 수 있다.
'Programming' 카테고리의 다른 글
How to adjust speed of scroll in ubuntu linux 우분투 스크롤 휠 속도 조절하는 방법 imwheel 사용방법 (0) | 2022.02.03 |
---|---|
웹 애플리케이션 서비스 1인 기업의 시작 (0) | 2022.01.30 |
urllib.error.HTTPError: HTTP Error 429: Too Many Requests HTTP 429 에러 해결하는 방법 (0) | 2022.01.28 |
Django web application sitemap 생성 & 적용 방법 (0) | 2022.01.27 |
Django Web application Timezone setting (0) | 2022.01.25 |
AWS EC2 프리티어 메모리 부족 서버 터짐 해결방법 swap memory 사용하는 방법 (0) | 2022.01.25 |
댓글