고급 URL 구성

AEM CIF 핵심 구성 요소는 제품 및 카테고리 페이지의 URL을 사용자 지정하는 고급 구성을 제공합니다. 많은 구현이 SEO(검색 엔진 최적화) 목적으로 이러한 URL을 사용자 지정합니다. 다음 비디오에서는 UrlProvider 서비스 및 Sling Mapping의 기능을 구성하여 제품 및 카테고리 페이지의 URL을 사용자 지정하는 방법에 대해 자세히 설명합니다.

구성

SEO 요구 사항에 따라 UrlProvider 서비스를 구성하려면 프로젝트가 "CIF URL 공급자 구성" 구성에 대한 OSGI 구성을 제공하고 아래에 설명된 대로 서비스를 구성해야 합니다.

노트

Venia Reference store 프로젝트는 아래 참조 자료 구성을 포함하여 제품 및 카테고리 페이지에 대한 사용자 지정 URL의 사용을 보여 줍니다.

제품 페이지 URL 템플릿

이렇게 하면 다음 속성으로 제품 페이지의 URL이 구성됩니다.

  • 제품 URL 템플릿:자리 표시자 집합을 사용하여 URL의 형식을 정의합니다. 기본값은 {{page}}.{{url_key}}.html#{{variant_sku}}이며, 여기서 /content/venia/us/en/products/product-page.chaz-kangeroo-hoodie.html#MH01-M-Orange 와 같이 URL이 생성됩니다.
    • {{page}} 이(가) /content/venia/us/en/products/product-page
    • {{url_key}} 이 제품 url_key 의 Magento 속성으로 대체되었습니다. chaz-kangeroo-hoodie
    • {{variant_sku}} 이(가) 현재 선택한 변형으로 대체되었습니다. MH01-M-Orange
  • 제품 식별자 위치:제품 데이터를 가져오는 데 사용할 식별자의 위치를 정의합니다. 기본값은 SELECTOR이고, 다른 가능한 값은 SUFFIX입니다. 이전 예제 URL을 사용하면 ID chaz-kangeroo-hoodie이 제품 데이터를 가져오는 데 사용됨을 의미합니다.
  • 제품 식별자 유형:제품 데이터를 가져올 때 사용할 식별자의 유형을 정의합니다. 기본값은 URL_KEY이고, 다른 가능한 값은 SKU입니다. 이전 예 URL을 사용하면 제품 데이터를 filter:{url_key:{eq:"chaz-kangeroo-hoodie"}} 과 같은 Magento GraphQL 필터로 가져오게 됩니다.

제품 목록 페이지 URL 템플릿

이렇게 하면 다음 속성으로 카테고리 또는 제품 목록 페이지의 URL이 구성됩니다.

  • 카테고리 URL 템플릿:자리 표시자 집합을 사용하여 URL의 형식을 정의합니다. 기본값은 {{page}}.{{id}}.html이며, 여기서 /content/venia/us/en/products/category-page.3.html 와 같이 URL이 생성됩니다.
    • {{page}} 이(가) /content/venia/us/en/products/category-page
    • {{id}} 이 Magento의 id 카테고리 속성으로 대체되었습니다. 여기서는 3
  • 카테고리 식별자 위치:제품 데이터를 가져오는 데 사용할 식별자의 위치를 정의합니다. 기본값은 SELECTOR이고, 다른 가능한 값은 SUFFIX입니다. 이전 예제 URL을 사용하면 ID 3이 제품 데이터를 가져오는 데 사용됨을 의미합니다.
  • 카테고리 식별자 유형:제품 데이터를 가져올 때 사용할 식별자의 유형을 정의합니다. 기본값과 현재 지원되는 값은 ID입니다. 이전 예제 URL을 사용하면 카테고리 데이터를 category(id:3) 과 같은 Magento GraphQL 필터로 가져오게 됩니다.

구성 요소에서 UrlProvider 을 사용하여 해당 데이터를 설정하고 있는 한 각 템플릿에 대한 사용자 지정 속성을 추가할 수 있습니다. ProductListItemImpl 클래스의 코드 예를 확인하여 이 구현이 어떻게 구현되는지 확인하십시오.

또한 UrlProvider 서비스를 완전히 사용자 지정 OSGi 서비스로 대체할 수도 있습니다. 이 경우, 기본 구현을 바꾸려면 UrlProvider 인터페이스를 구현하고 높은 서비스 등급에 등록해야 합니다.

Sling 매핑과 결합

UrlProvider 외에 URL을 다시 작성하고 처리하기 위해 Sling 매핑을 구성할 수도 있습니다. AEM Archetype 프로젝트는 포트 4503(게시) 및 80(디스패처)에 대한 일부 Sling 매핑을 구성하기 위한 예제 구성도 제공합니다.

AEM Dispatcher와 결합

mod_rewrite 모듈과 함께 AEM Dispatcher HTTP 서버를 사용하여 URL 다시 쓰기를 수행할 수도 있습니다. AEM Project Archetype은 생성된 크기에 대한 기본 rewrite 규칙을 이미 포함하는 참조 AEM Dispatcher 구성을 제공합니다.

Venia Reference Store 프로젝트에는 제품 및 카테고리 페이지에 대한 사용자 지정 URL의 사용을 보여 주는 샘플 구성이 포함되어 있습니다. 이렇게 하면 각 프로젝트에서 SEO 요구 사항에 따라 제품 및 카테고리 페이지에 대한 개별 URL 패턴을 설정할 수 있습니다. 위에 설명된 대로 CIF UrlProvider 및 Sling 매핑의 조합이 사용됩니다.

노트

이 구성은 프로젝트에서 사용하는 외부 도메인으로 조정해야 합니다. Sling 매핑은 호스트 이름 및 도메인을 기반으로 작동합니다. 따라서 이 구성은 기본적으로 비활성화되어 있으므로 배포 전에 활성화해야 합니다. 이렇게 하려면 사용된 도메인 이름에 따라 ui.content/src/main/content/jcr_root/etc/map.publish/https에 있는 Sling 매핑 hostname.adobeaemcloud.com 폴더의 이름을 변경하고, resource.resolver.map.location="/etc/map.publish" 를 프로젝트의 JcrResourceResolver 구성에 추가하여 이 구성을 활성화합니다.

추가 리소스

이 페이지에서는