進階URL設定 url
AEM CIF核心元件提供進階設定,可自訂產品和類別頁面的URL。 許多實施會針對搜尋引擎最佳化(SEO)目的自訂這些URL。 以下影片詳細說明如何設定UrlProvider服務和Sling對應的功能,以自訂產品和類別頁面的URL。
設定 configuration
若要根據SEO需求和需求設定UrlProvider服務,專案必須提供「CIF URL提供者設定」的OSGI設定。
產品頁面URL格式 product
這會設定產品頁面的URL,並支援下列選項:
{{page}}.html/{{sku}}.html#{{variant_sku}}(預設){{page}}.html/{{url_key}}.html#{{variant_sku}}{{page}}.html/{{sku}}/{{url_key}}.html#{{variant_sku}}{{page}}.html/{{url_path}}.html#{{variant_sku}}{{page}}.html/{{sku}}/{{url_path}}.html#{{variant_sku}}
如果存在Venia參考存放區:
{{page}}已由/content/venia/us/en/products/product-page取代{{sku}}已由產品的SKU取代,例如VP09{{url_key}}已由產品的url_key屬性取代,例如lenora-crochet-shorts{{url_path}}已由產品的url_path取代,例如venia-bottoms/venia-pants/lenora-crochet-shorts{{variant_sku}}已由目前選取的變體取代,例如VP09-KH-S
由於url_path已過時,預先定義的產品URL格式會使用產品的url_rewrites,並在url_path無法使用時,挑選具有最多路徑區段的專案作為替代方案。
在上述範例資料中,使用預設URL格式格式的產品變體URL看起來像/content/venia/us/en/products/product-page.html/VP09.html#VP09-KH-S。
類別頁面URL格式 product-list
這會設定類別或產品清單頁面的URL,並支援下列選項:
{{page}}.html/{{url_path}}.html(預設){{page}}.html/{{url_key}}.html
如果存在Venia參考存放區:
{{page}}已由/content/venia/us/en/products/category-page取代{{url_key}}已由類別的url_key屬性取代{{url_path}}已由類別的url_path取代
在上述範例資料中,使用預設URL格式格式化的類別頁面URL看起來像/content/venia/us/en/products/category-page.html/venia-bottoms/venia-pants.html。
url_path是產品或類別祖先的url_keys與產品或類別的url_key的串連,以/斜線分隔。特定類別 — /產品頁面 specific-pages
只能針對目錄的特定類別或產品子集建立多個類別和產品頁面。
UrlProvider已預先設定為在作者層執行個體上產生這些頁面的深層連結。 這對編輯器很有用,編輯器會使用預覽模式瀏覽網站、導覽至特定產品或類別頁面,然後切換回編輯模式以編輯頁面。
另一方面,在發佈層級執行個體上,目錄頁面URL應保持穩定,以免失去搜尋引擎排名之類的評分。 因為發佈層執行個體預設不會轉譯特定目錄頁面的深層連結。 若要變更此行為,可以將 CIF URL提供者特定頁面策略 設定為永遠產生特定頁面URL。
自訂URL格式 custom-url-format
提供自訂URL格式,讓專案可以實作ProductUrlFormat或CategoryUrlFormat服務介面,並將實作註冊為OSGI服務。 這些實施(如果可用)會取代已設定的預先定義格式。 如果註冊了多個實作,則服務排名較高的實作會取代服務排名較低的實作。
自訂URL格式實作必須實作一對方法,用於從指定引數建置URL並剖析URL以分別傳回相同的引數。
與Sling對應結合 sling-mapping
除了UrlProvider之外,也可以設定Sling對應來重寫及處理URL。 AEM Archetype專案也提供範例組態,以便為連線埠4503 (發佈)和80 (Dispatcher)設定一些Sling對應。
與AEM Dispatcher結合 dispatcher
也可以使用具有mod_rewrite模組的AEM Dispatcher HTTP伺服器來完成URL重寫。 AEM專案原型提供參考的AEM Dispatcher設定,其中已包含產生大小的基本重寫規則。
範例
Venia參考存放區專案包含範例設定,以示範產品和類別頁面使用自訂URL的情況。 如此一來,每個專案就能根據SEO需求,為產品和類別頁面設定個別的URL模式。 如上所述,已使用CIF UrlProvider和Sling對應的組合。
ui.content/src/main/content/jcr_root/etc/map.publish/https中的Sling對應hostname.adobeaemcloud.com資料夾,並將resource.resolver.map.location="/etc/map.publish"新增到專案的JcrResourceResolver設定中來啟用此設定。