본문으로 바로가기

검색로봇 방문 여부 관리를 위한 robot.txt 파일 설정


안녕하세요. 예스투데이입니다. 

오늘은 검색로봇에 대한 이야기입니다. 




네이버, 구글과 같은 포털사이트는 인터넷 상에 있는 수많은 데이터를 찾고 판단하고 정리하여 사용자에게 필요한 데이터를 제공합니다. 

그런 작업을 일일이 사람이 하면 좀 더 감성적으로 작업을 할 수 있겠지만, 하루에도 어마어마한 양의 데이터가 쏟아지는 현실을 고려하면 이 모든 작업을 사람이 직접 한다는 것은 불가능에 가깝습니다. 

그렇기 때문에 각 포털사이트들은 로봇을 장만하여 이러한 작업을 시킵니다. 

각 포털사이트를 대표하는 검색로봇들은 지금 이 순간에도 이 세상의 웹페이지, 블로그 등을 끊임없이 누비며 유용한 데이터를 찾고 기존 정보와 비교하여 유용성을 판단하고 목록화 하여, 데이터를 필요로 하는 사람에게 그 검색 목록을 제공합니다. 


"네 사이트 소문 내 줄께!"

"누구 맘대로??"


사실 인터넷에 글을 올린다는 자체가 누군가가 볼 것을 전제로 하는 것이기 때문에 (비공개로 올린 글은 제외하고) 누가 와서 본다고 뭐라고 할 수는 없습니다.  하지만 검색로봇이라는 녀석이 와서 "네 사이트 소문 내 줄께!!" 하면서 내 사이트의 정보를 막 뒤져보는 것은 별개의 문제입니다.

그래서 검색로봇에 내 사이트나 블로그의 정보를 뒤져보도록 허용할 것인지, 아니면 허용하지 않을 것인지 대문에 경고문을 떡~ 하니 붙여 놓은 파일이 robot.txt 파일이라고 할 수 있습니다. 


"로봇은 아래의 행동 지침을 따를 것!"


robot.txt 파일은 각 웹사이트의 루트 폴더에 위치해 있는데, 각 웹사이트를 방문한 검색로봇은 이 robot.txt 라는 안내문에 따라 해당 사이트의 정보를 뒤져볼지 그냥 넘어갈지 판단하게 됩니다.  물론 사이트를 뒤지지 말라는 경고에도 불구하고 막무가내로 뒤지는 날강도 같은 검색로봇도 있다고 합니다. 


개인이 웹사이트를 직접 설계/제작, 관리/운영하는 경우라면 robot.txt 파일을 웹서버에 올려두고 사이트를 방문하는 검색로봇에게 경고의 메시지를 날리면 되겠지요. 


robot.txt 에 들어가는 코드는 몇개의 패턴만 숙지하시면 됩니다. 

몇개의 코드를 우리말로 번역해보겠습니다. 


User-agent:   →   "~는 듣거라."

Allow:           →  "~를 허락하노라."

Disallow:       →  "~는 아니된다."


User-agent 는 robot.txt의 메시지를 적용할 검색로봇을 타켓팅 할 때 설정하는 코드입니다. 

각 검색로봇은 각각 이름이 있는데( 예를 들면 네이버 검색로봇의 경우 "Yeti" ) 그 이름을 User-agent: 코드 뒤에 써주는 거죠.


User-agent:  Yeti   →   "는 듣거라."


일일이 이름을 부르기 귀찮을 경우 ' * ' 를 사용해도 됩니다.  


User-agent:  *    →   "모든 검색로봇들은 듣거라."


자, 이렇게 검색로봇을 불렀으면 할 말은 해야겠지요.


Allow:  /         →  "모든 것을 뒤지는 걸 허락하노라."


여기에서 " / "는 웹 사이트의 각 페이지가 저장되어 있는 폴더 or 디렉토리라고 생각하시면 됩니다. 

여기에는 " / " 앞에 웹 사이트의 주소가 생략되어 있는 것입니다. 

제 사이트를 예를 들자면 "yes-today.tistory.com" 의 루트 디렉토리 " / " 아래 있는 모든 자료가 대상이 되는 것이지요.

구체적으로 어떤 특정 폴더 or 디렉토리 아래의 자료만 허락하려면


Allow:  /news/        →  " news 디렉토리 아래 있는 모든 것을 뒤지는 걸 허락하노라."


이런 형태가 됩니다. 

여기에 더해 조금 더 세부적으로 특정 파일만 검색을 허용하려면,


Allow:  /news/today.html        →  " news 디렉토리 아래 있는 today.html 을 뒤지는 걸 허락하노라."



그런데 이렇게 하나하나 허락하는 것보다, 기본적으로 다 허용하고 일부 자료만 거부하는게 관리 차원에서는 수월하지요.

그럴 때 사용하는 코드가 Disallow: 입니다. 


User-agent:  *    →   "모든 검색로봇들은 듣거라."

Disallow:  /         →  "어떤 것이든 뒤지면 뒤진다!" (모든 자료 접근 불가)


그리고 특정 폴더 or 디렉토리만 접근을 막으려면 아래와 같이 하면 되겠지요. 


User-agent:  *    →   "모든 검색로봇들은 듣거라."

Disallow:  /secret/       →  "secret 디렉토리 아래 자료 뒤지면 뒤진다!"

Allow:  /         →  "다른 것은 뒤져도 좋아."


검색로봇은 원래 날강도 같은 녀석들이라 모든 것을 뒤지는 것이 기본이기 때문에 위 예시에서 마지막 Allow: /는 없어도 무방합니다. 

Disallow:  /secret/    →  "secret 디렉토리 아래 자료 뒤지면 뒤진다!"  ← 요 것만 잘 지켜주면 다행인 거지요. 




그런데 말입니다.  By the way~


인터넷에 글 올리고 자료 올리는 대부분의 사용자들은 html도 모르고 웹 서버 운영도 모릅니다. 

그저 웹서비스 제공 업체에서 만들어준 틀에 따라서 블로그 개설하고 운영하는 것이 대부분입니다.  

블로그 피부 스킨 바꾸는 정도, 메뉴 카테고리 바꾸는 정도가 사용자에게 허용된 권한입니다. 

블로그 서비스 중에서 그나마 자유로운 편인 티스토리 조차 robot.txt 파일은 직접 수정할 수 없습니다. 


그럴 경우 대안으로 HTML의 meta 태그 설정을 활용할 수 있습니다. 

이 코드를 html 파일의 <HEAD> 와 </HEAD> 사이에 아래의 코드를 추가하시면 됩니다. 


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


설정할 부분은 content 부분입니다. 

index는 해당 사이트의 문서의 검색 허용여부입니다. 허용할 거면 index, 허용 안할꺼면 noindex

follow는 해당 사이트에 링크된 문서의 검색 허용여부입니다. 허용할 거면 follow, 허용 안할꺼면 nofollow


<meta name="robots" content="index, follow" />  → 문서검색 허용, 링크검색 허용

<meta name="robots" content="noindex, follow" />  → 문서검색 허용, 링크검색 허용

<meta name="robots" content="index, nofollow" /> → 문서검색 허용, 링크검색 허용

<meta name="robots" content="noindex, nofollow" /> → 문서검색 허용, 링크검색 허용


그런데 이렇게 메타태그로 검색허용여부를 설정하는 것은 집 앞에 포스트잍으로 메모장 붙여놓는 정도? 라고 생각하시면 됩니다. 

아직까지는 일부 검색로봇만 알아듣는 정도라고 합니다.  나머지 검색로봇들은 '아몰랑~'


정보를 생산해내는 사이트 주인과 정보를 목록화 하는 포털사이트는 서로 공생관계라고 할 수 있습니다. 

웹 사이트에 나만의 비밀공간을 운영하는 것이 아니라면,  검색로봇과의 의사소통을 잘 해야겠죠?


뜨거운 여름, 즐거운 주말 보내시기 바랍니다. 


오늘도 좋은 하루 보내세요!!  Have a nice day!!

[광고]


댓글을 달아 주세요

  1. Favicon of https://vidia.tistory.com BlogIcon 이리데샤 2018.07.07 15:44 신고

    정말 너무 너무 좋은 정보 감사합니다.

  2. Favicon of https://thecolorfulday.tistory.com BlogIcon 리우나라 2018.07.11 11:05 신고

    우와 이런것도있구나 좋은정보감사합니다!