새 콘텐츠 전달과 지난 글 탐색을 나누기
RSS는 최신 콘텐츠를 전달하는 피드이고 홈페이지 목록은 이용자가 링크를 따라 지난 글까지 찾는 경로로 역할을 나누는 구성을 제안합니다. 같은 새 글을 양쪽에 제공할 때에는 공개 URL과 실제 공개 상태를 맞추어 대조할 수 있습니다. 최근 피드에 포함된 범위와 홈페이지에서 탐색할 수 있는 전체 범위가 반드시 같아야 한다는 뜻은 아닙니다.
네이버 서치어드바이저는 웹마스터도구에 제출된 RSS와 사이트맵을 콘텐츠 피드로 간주해 주기적으로 다시 방문한다고 설명합니다. 사이트의 주요 URL을 알려주는 창구로 활용할 수 있다는 안내입니다. 피드 제출의 목적과 이용자가 홈페이지의 목록을 읽는 목적을 구별하는 참고입니다. 실제 병원 피드가 어느 시점에 수집됐는지는 해당 자료가 필요하며 고정된 재방문 간격을 만들지 않습니다.
네이버는 RSS를 최신 콘텐츠의 본문까지 포함해 발행하는 XML 기반의 규약이라고 설명합니다. 일반적으로 구독자가 RSS 리더기를 통해 콘텐츠를 소비하는 구조입니다. 홈페이지의 목록 화면을 열어야만 글을 읽는 방식과는 제공 경로가 다릅니다. 피드가 존재한다는 사실을 모든 이용자가 병원 홈페이지에서 목록을 거쳐 해당 글을 읽었다는 관측으로 바꾸지 않습니다.
사이트 전체 정보와 개별 글 정보를 구별하기
네이버의 RSS 문서 예제는 channel 안에 사이트 이름과 링크, 설명을 넣고 각 item에는 개별 콘텐츠 정보를 넣는 구성을 보여줍니다. 사이트의 이름과 글 한 편의 제목은 다른 정보입니다. 병원 RSS의 항목을 조사할 때 채널 수준의 소개와 게시글 수준의 소개를 나누어 읽는 참고로 사용할 수 있습니다. 예제의 사이트 주소를 실제 병원 주소로 소개하지 않습니다.
개별 항목에는 제목과 콘텐츠 링크, 내용 설명이 나타납니다. 홈페이지의 목록에 표시할 제목과 링크를 비교할 때에도 그 항목이 가리키는 글을 기준으로 삼을 수 있습니다. 목록 페이지 자체의 주소와 목록에서 열리는 게시글 주소를 구별하는 편집안입니다. 같은 제목의 항목이 있다는 이유만으로 두 링크가 같은 문서에 연결된다고 추정하지 않습니다.
예제의 개별 항목에는 발행시간을 나타내는 pubDate가 있으며 guid 항목에도 게시글 주소가 표시됩니다. 글의 발행 정보와 피드 파일을 조회한 시점을 구별해 조사할 수 있습니다. 병원 피드에 실제로 적힌 값을 읽고 없는 날짜나 식별자를 채워 넣지는 않습니다. 항목에 날짜가 보인다는 사실과 이용자가 그날 실제 글을 읽었다는 사실도 다른 판단입니다.
긴 글 목록을 나누어 제공할 때의 범위
Google의 점진적 페이지 로드 문서는 전자상거래를 중심으로 설명하면서 시간에 따라 게시된 블로그 글이나 뉴스레터 제목도 목록의 대상으로 제시합니다. 병원 게시글 목록에는 이런 탐색 원칙을 참고할 수 있습니다. 제품 판매 기능이 병원 안내에 필요하다는 뜻은 아닙니다. 최신 글만 전달하는 피드와 많은 글을 찾는 목록의 표시 방식을 따로 설계할 수 있습니다.
문서는 일부 결과를 먼저 로드하면 처음 화면을 가져오는 속도가 빨라지고 네트워크 트래픽이 줄어드는 장점을 설명합니다. 휴대기기에서는 전송량과 관련된 조건이 될 수 있습니다. 홈페이지의 글이 많다면 전체 목록을 한 번에 제공하는 방식과 필요한 부분을 나누어 제공하는 방식을 비교할 수 있습니다. 실제 병원 사이트의 속도 개선 수치를 이 일반 설명으로 만들어 제시하지 않습니다.
데이터베이스에서 가져오는 콘텐츠 양을 줄여 서버 쪽 성능을 개선할 수 있다는 설명도 있습니다. 목록이 너무 길면 브라우저와 서버 시스템의 리소스 제한에 도달해 오류가 생길 수 있다는 조건입니다. 병원 목록이 길다는 사실과 실제로 그런 오류가 발생했다는 사실은 구별됩니다. 표시 방식의 선택에 참고하되 해당 사이트의 장애 원인을 직접 판정하는 자료는 아닙니다.
홈페이지 목록을 표시하는 세 가지 방식
| 표시 방식 | 이용자의 다음 탐색 | Google 문서의 특징 |
|---|---|---|
| 페이지로 나누기 | 다음·이전·페이지 번호 링크로 이동 | 현재 위치와 목록 크기를 알릴 수 있음 |
| 더 로드하기 | 버튼으로 처음 목록을 펼침 | 총 크기를 버튼 근처에 알릴 수 있음 |
| 무한 스크롤 | 끝까지 스크롤하면 추가 내용 표시 | 전체 크기가 명확하지 않을 수 있음 |
사람의 버튼 조작과 크롤러의 링크 탐색
Google은 일반적으로 링크 요소의 href 속성에 있는 주소를 크롤링합니다. 크롤러는 버튼을 클릭하지 않으며 보통 사용자 작업이 필요한 자바스크립트 함수를 작동시키지 않는다고 설명합니다. 이용자가 더 보기 버튼을 눌러 오래된 글을 볼 수 있는 화면과 크롤러가 그 글의 주소를 발견할 수 있는 구조는 구별됩니다. 실제 링크를 조사하는 이유가 되는 조건입니다.
페이지로 나눈 목록에서는 각 페이지가 다음 페이지로 연결되는 링크를 포함하도록 Google은 안내합니다. 단순히 페이지 번호가 화면에 표시된 상태와 다음 목록으로 이동하는 주소가 연결된 상태가 다릅니다. 병원 게시글 목록에도 이 관계를 참고할 수 있습니다. 실제 페이지의 링크 주소를 대조하고 화면의 숫자만 보고 탐색 경로가 구성됐다고 판단하지 않습니다.
또한 각 목록 페이지를 첫 페이지로 다시 연결해 컬렉션의 시작 부분을 강조하도록 권고합니다. 이는 이용자와 검색엔진이 목록의 시작을 찾는 링크 관계입니다. 해당 링크가 있다는 사실을 모든 글의 본문이 첫 페이지에 존재한다는 뜻으로 바꾸지 않습니다. 지난 글을 여러 화면으로 나누어 제공하더라도 목록의 시작과 다음 페이지를 구별할 수 있는 탐색안입니다.
피드가 제공할 본문 범위를 읽기
네이버의 RSS 제출 주의사항은 각 item의 본문에 일부가 아닌 모든 내용을 포함하도록 안내합니다. 문서 예제의 내용 칸에 전체 또는 일부라는 표현이 있더라도 실제 제출 안내는 본문 전체 공개를 제시합니다. 병원 RSS의 제목과 링크만 조사한 결과와 실제 본문 제공 범위까지 읽은 결과를 나눌 수 있습니다. 홈페이지 원문과 비교할 대상은 해당 항목의 실제 내용입니다.
본문을 포함하는 RSS에는 많은 URL을 담기 어렵기 때문에 네이버는 사이트맵을 적극적으로 활용하도록 권고합니다. 피드가 최신 글을 전달하는 기능과 많은 주소의 목록을 검색로봇에 알리는 기능을 구별하는 조건입니다. 오래된 글까지 이용자가 찾아야 하는 상황에는 홈페이지의 목록 경로를 함께 설계하는 제안입니다. 모든 과거 글의 전체 본문을 RSS 한 파일에 모아야 한다는 안내는 아닙니다.
목록의 필터 변형과 표시 정보의 의미
Google 문서는 긴 목록에서 필터나 다양한 정렬 순서를 지원할 수 있다고 설명합니다. 이때 같은 검색결과 목록의 변형이 따로 색인되지 않도록 원치 않는 URL에 noindex 메타 규칙을 사용하거나 특정 주소 패턴의 크롤링을 robots.txt로 막는 방식을 안내합니다. 서로 다른 게시글의 본문과 같은 목록을 다른 순서로 보여주는 주소를 구별하는 조건입니다. 병원의 공개 글을 없애는 설정과 필요하지 않은 목록 변형을 제한하는 설정은 대상이 다릅니다. 실제로 어떤 주소가 변형인지 대조한 뒤 적용하는 참고이며 필터 이름만으로 모든 글의 색인을 막아야 한다고 판단하지 않습니다.
일반 웹페이지에는 고유한 제목을 지정하는 권고가 있지만 페이지로 나누기 순서에는 같은 제목과 설명을 사용할 수 있다고 Google은 설명합니다. 이는 연속된 목록 화면에 관한 예외입니다. 병원의 서로 다른 진료 안내 본문에 모두 같은 제목을 붙여야 한다는 기준으로 확대하지 않습니다. 목록의 구분 정보와 개별 게시글을 대표하는 정보의 범위를 구별할 수 있습니다.
Google 목록 페이지 URL의 세 가지 조건
| 목록 주소 조건 | 공식 문서의 안내 | 구별할 목적 |
|---|---|---|
| 각 페이지의 고유 URL | 페이지 번호 쿼리 매개변수 등을 사용 | 서로 다른 목록 화면의 식별 |
| 페이지별 표준 주소 | 모두 첫 페이지로 지정하지 않음 | 시작 페이지 링크와 표준 선언의 구별 |
| 번호를 표현하는 프래그먼트 | 페이지 번호에 사용하지 않음 | Google이 무시하는 주소 부분의 구별 |
RSS와 목록에 남는 후속 질문
아직 글이 없는 RSS도 제출할 수 있나요?
네이버는 item이 한 개 이상이어야 하며 발행된 글이 없는 RSS 피드는 제출할 수 없다고 설명합니다. 피드 파일이 있다는 사실과 실제 콘텐츠 항목이 있다는 사실을 나누는 제출 조건입니다. 빈 피드에 가상의 병원 글을 넣어 조건을 충족하지 않습니다.
피드 안에 다른 사이트의 글 주소를 넣어도 되나요?
네이버의 RSS 검증 안내는 모든 URL의 도메인이 소유확인된 사이트와 같아야 한다고 설명합니다. 다른 도메인의 글을 읽을 수 있다는 사실을 해당 RSS에 함께 제출할 권한과 같게 보지 않는 조건입니다. 실제 제출 사이트 범위를 조사해야 합니다.
RSS의 용량에는 제출 제한이 있나요?
네이버 문서는 피드 용량이 10MB 이상 넘어가는 경우 제출할 수 없다고 설명합니다. 홈페이지 목록에서 표시할 글 수와 피드 파일의 바이트 용량은 다른 조건입니다. 본문의 길이가 다르면 같은 항목 수라도 파일의 용량이 같다고 판단할 수는 없습니다.
내용과 주소가 맞아도 RSS 제출이 제한될 수 있나요?
네이버는 피드를 수집할 때 응답 속도가 느리면 제출이 제한될 수 있다고 설명합니다. 올바른 항목의 구성과 요청에 응답하는 상태가 다른 조건임을 보여줍니다. 실제 병원의 응답 속도가 느렸는지나 제한의 원인이 무엇인지는 해당 요청 자료가 필요합니다.
목록의 next·prev 선언만으로 Google이 순서를 이해하나요?
Google은 예전에 사용하던 link 요소의 rel next와 prev로 다음·이전 관계를 식별하는 방식을 이제 사용하지 않는다고 설명합니다. 다른 검색엔진은 여전히 사용할 수도 있다는 조건도 있습니다. 이런 선언을 실제 다음 페이지 링크와 같은 구실로 취급하지 않는 참고입니다.