색인화
Adobe Experience Manager는 웹 사이트의 특정 섹션에 게시된 모든 페이지의 색인을 유지하는 방법을 제공합니다. 이는 일반적으로 목록, 피드를 작성하고 페이지 또는 콘텐츠 조각에 대한 검색 및 필터링 사용 사례를 활성화하는 데 사용됩니다.
AEM은 이 색인을 스프레드시트에 보관하고 JSON을 사용하여 이 색인에 대한 액세스를 제공합니다. 자세한 내용은 스프레드시트 및 JSON 문서를 참조하십시오.
먼저 Excel 통합 문서나 Google 스프레드시트를 미리 보고 쿼리 인덱스를 만드는 개념을 소개합니다. GitHub 리포지토리의 helix-query.yaml
파일에 사용자 지정 쿼리 정의가 이미 있는 경우 더 이상 이러한 방식으로 인덱스를 만들 수 없습니다. 모든 새 색인을 해당 helix-query.yaml
에 수동으로 추가해야 합니다.
초기 쿼리 색인 설정
이 섹션에서는 백엔드의 모든 문서를 인덱싱하는 쿼리 인덱스를 루트 폴더에 생성합니다.
- SharePoint 사이트 또는 Google 드라이브를 가리키는 탑재 지점으로
fstab.yaml
을(를) 설정한 후 루트 폴더로 이동합니다. - 백엔드에 따라 SharePoint용
query-index.xlsx
통합 문서 또는 Google 드라이브용query-index
스프레드시트를 만듭니다. - 해당 스프레드시트 또는 통합 문서에서
raw_index
(이)라는 시트를 만듭니다.
인덱스에 추가할 속성 설정
query-index
문서에서 머리글 줄을 추가하고 첫 번째 열에서path
을(를) 머리글 이름으로 추가합니다.- 머리글 행의 다음 열에 렌더링된 HTML 페이지에서 추출해야 하는 다른 모든 속성을 추가합니다.
Google Drive의 다음 예제에서는 추출된 필드가 title
, image
, description
및 lastModified
입니다.
페이지는 게시될 때 색인화됩니다. 색인에서 페이지를 제거하려면 게시를 취소해야 합니다.
사용자 지정 인덱스 정의가 없는 간단한 시나리오의 경우 robots
메타데이터 속성이 noindex
(으)로 설정된 페이지는 AEM의 인덱싱에서 자동으로 생략됩니다. (여기에 몇 가지 특수 시나리오가 있습니다. 자세한 내용은 로봇에 대한 특수 시나리오 섹션을 참조하십시오.)
다음 표에는 사용 가능한 속성과 HTML 페이지의 추출 위치가 요약되어 있습니다.
추가된 다른 모든 헤더에 대해 인덱서는 해당 이름이 있는 메타 태그를 찾으려고 합니다.
색인 활성화
색인을 활성화하려면 사이드 킥을 사용하여 스프레드시트를 미리 봅니다. 이렇게 하면 색인 구성이 만들어집니다.
색인 확인
Admin Service에는 페이지의 인덱스 표시를 확인할 수 있는 API 끝점이 있습니다. GitHub 소유자, 저장소, 분기 및 소유자, 페이지에 대한 리소스 경로를 제공하면 해당 끝점은 다음과 같습니다.
https://admin.hlx.page/index/<owner>/<repo>/<branch>/<path>
데이터 노드에 페이지의 인덱스 표현이 포함된 JSON 응답을 가져와야 합니다.
인덱스 구성 디버깅
AEM CLI에는 쿼리 구성을 변경할 때마다 인덱스 레코드를 인쇄하는 기능이 있어 올바른 CSS 선택기를 찾는 데 도움이 됩니다.
$ aem up --print-index
자세한 내용은 AEM CLI GitHub 설명서를 참조하고 이 기능에 대해 자세히 알아보려면 이 비디오를 시청하십시오.
더 많은 인덱스 구성 설정
고유한 helix-query.yaml.
을(를) 만들어 사용자 지정 인덱스 구성을 정의할 수 있습니다. 이렇게 하면 동일한 helix-query.yaml
에서 두 개 이상의 인덱스 구성을 가질 수 있습니다. 여기서 사이트 일부가 다른 Excel 통합 문서나 Google 스프레드시트로 인덱싱됩니다. 자세한 내용은 인덱싱 참조 문서를 참조하십시오.
로봇을 위한 특별한 시나리오
AEM이 페이지를 색인화하는 방법과 사이트에 대한 색인화 설정에 대해서는 몇 가지 뉘앙스가 있습니다. 해당 항목을 살펴보겠습니다.
다음 2가지 상황에서 페이지 메타데이터에서 robots
을(를) noindex
(으)로 설정하면 AEM에서 인덱싱하지 못하게 할 수 없습니다.
query-index.xlsx
에robots
열을 추가했습니다.- Github 저장소에
helix-query.yaml
이(가) 있습니다. 즉, 사용자 지정 인덱스 정의를 정의했습니다.
권장 사항
- 사용자 지정 인덱스 정의가 없는 경우 에는 그렇지 않음 이 권장됩니다.
robots
열은 필요한 경우가 아니면 인덱스 시트에 추가하는 것이 좋습니다.
인덱스 시트에robots
열을 추가하면robots
메타데이터가noindex.
(으)로 설정되어 있더라도 페이지가 AEM에 의해 인덱싱됩니다. - 사용자 지정 인덱스 정의 이(가) 있는 경우 페이지 메타데이터에서
robots
을(를)noindex
(으)로 설정하는 것과 관계없이 AEM에서 페이지를 인덱싱합니다. 이 문제를 방지하려면 스프레드시트 필터를 사용하여robots
메타데이터가noindex
(으)로 설정된 인덱스에서 페이지를 생략할 수 있습니다. 자세한 내용은 아래의 "사용자 지정 인덱스 정의를 사용한noindex
구성 적용" 섹션을 참조하십시오.
사용자 정의 색인 정의를 통한 "noindex" 구성 적용
helix-query.yaml
에서 사용자 지정 인덱스 정의를 정의한 경우 robots
속성을 noindex
(으)로 설정하면 페이지가 인덱싱되지 않습니다. 이러한 상황에서 noindex
구성을 적용하려면 다음을 수행하십시오.
query-index.xlsx
에 이름이 "helix-default
"인 시트를 만듭니다. 그 후에는query-index.xlsx
스프레드시트에 2장“raw_index
" 및“helix-default
"이(가) 있어야 합니다.“raw_index
" 시트에 원시 인덱스 데이터가 모두 있습니다.- 사용자 지정
helix-query.yaml
(프로젝트의 Github 저장소에 있어야 함)을 수정하고 인덱싱할 수 있도록robots
속성을 추가하십시오. - 이제
robots
속성이noindex
(으)로 설정된raw_index
의 모든 행이helix-default
시트로 복사되지 않도록 Excel 수식을 사용하여 자동으로 채워지도록query-index.xlsx
스프레드시트에서“helix-default
" 시트를 설정합니다. 이 작업은 이=FILTER(Table1,NOT(Table1[robots]="noindex"))
과(와) 같은 Excel 수식을 사용하여 수행할 수 있습니다. - 이제 헬릭스 기본 시트에는
robots
속성이noindex
(으)로 설정되지 않은raw_index
의 행만 있습니다. - 인덱싱할 페이지를 게시해야 합니다.
- 이제 평소와 같이 인덱스를 가져오는 경우
https://<branch>--<repo>-<org>.hlx.page/query-index.json
과(와) 마찬가지로helix-default
시트의 데이터만 가져옵니다. 즉, 명시적으로robot
로 설정된noindex
을(를) 통해 인덱싱할 수 없는 항목만 가져옵니다.