搜尋引擎最佳化 (SEO) 已成為許多行銷人員的重點考量。因此,必須在Adobe Experience Manager (AEM)as a Cloud Service的許多專案上解決SEO問題。 另請參閱 SEO和URL管理最佳作法 以取得其他資訊。
AEM CIF Core Components 提供進階設定,以便自訂產品和類別頁面的URL。 許多實施會針對搜尋引擎最佳化(SEO)目的自訂這些URL。 以下影片詳細說明如何設定 UrlProvider
的服務與功能 Sling對應 自訂產品和類別頁面的URL。
若要設定 UrlProvider
服務根據SEO需求和需求,專案必須提供 CIF URL提供者設定.
自AEM CIF核心元件2.0.0版以來,「URL提供者」設定僅提供預先定義的URL格式,而非1.x版已知的自由文字可設定格式。 此外,使用選取器在URL中傳遞資料的做法已更換為尾碼。
設定產品頁面的URL並支援下列選項:
{{page}}.html/{{sku}}.html#{{variant_sku}}
(預設){{page}}.html/{{sku}}/{{url_key}}.html#{{variant_sku}}
{{page}}.html/{{sku}}/{{category}}/{{url_key}}.html#{{variant_sku}}
{{page}}.html/{{sku}}/{{url_path}}.html#{{variant_sku}}
{{page}}.html/{{url_key}}.html#{{variant_sku}}
{{page}}.html/{{category}}/{{url_key}}.html#{{variant_sku}}
{{page}}.html/{{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,並支援下列選項:
{{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
分隔方式 /
slash。 每個 url_key
在指定的存放區中被視為唯一。
由設定的系統範圍類別和產品頁面URL格式 CIF URL提供者設定 可針對每個商店進行變更。
在CIF設定中,編輯者可以選取替代產品或類別頁面URL格式。 如果未在該處選取任何專案,則實作會退回系統範圍設定。
變更已上線網站的URL格式可能會對您網站的自然流量產生負面影響。 另請參閱 最佳實務 請事先仔細規劃URL格式的變更。
URL格式的存放區特定設定需要 CIF Core Components 2.6.0 以及最新版本的Adobe Experience Manager Content and Commerce附加元件。
由於可在產品URL中編碼類別資訊,因此屬於多個類別的產品也可能以多個產品URL來定址。
預設URL格式會使用以下配置選取一個可能的替代方案:
url_path
由電子商務後端使用它來定義(已棄用)url_rewrites
使用結尾為產品的 url_key
作為替代方案此配置會選取 url_path
具有最多祖項,根據子類別比其父類別更具體的假設。 選取的 url_path
已考慮 規範 和一律會作為產品頁面或產品Sitemap中的標準連結。
不過,當購物者從類別頁面導覽至產品頁面,或從某個產品頁面導覽至相同類別中的另一個相關產品頁面時,有必要保留目前的類別內容。 在此案例中, url_path
選取範圍應優先選擇目前類別內容中的替代專案,而非 規範 選取範圍如上所述。
此功能必須在 CIF URL提供者設定. 如果啟用,選擇分數會高於替代專案,當
url_path
從開頭(模糊首碼比對)url_key
任何位置(完全部分比對)例如,假設回應為 產品查詢 下方的。 假設有下列情況:
替代「new-products/new-in-summer-2022/gold-cirque-earrings.html」從頭到尾符合上下文的兩個路徑區段。 即「new-products」和「new-in-summer-2022」。 如果商店使用的類別頁面URL格式僅包含類別 url_key
,仍會選取相同的替代方案,因為它符合內容的 url_key
任何地方。 在這兩種情況下,產品頁面URL都是針對「new-products/new-in-summer-2022/gold-cirque-earrings.html」建立 url_path
.
{
"data": {
"products": {
"items": [
{
"sku": "VA18-GO-NA",
"url_key": "gold-cirque-earrings",
"url_rewrites": [
{
"url": "gold-cirque-earrings.html"
},
{
"url": "venia-accessories/gold-cirque-earrings.html"
},
{
"url": "venia-accessories/venia-jewelry/gold-cirque-earrings.html"
},
{
"url": "new-products/gold-cirque-earrings.html"
},
{
"url": "new-products/new-in-summer-2022/gold-cirque-earrings.html"
}
]
}
]
}
}
}
類別感知產品URL需要 CIF Core Components 2.6.0 或更新版本。
可以建立 多類別和產品頁面 僅用於目錄的特定類別或產品子集。
根據類別的,直接選擇特定的類別頁面 url_path
或 url_key
. 只有包含完整類別的URL格式才支援相符的子類別 url_path
. 否則,只會將 url_key
是可能的。
特定產品頁面是由產品的SKU或類別所選取。 後者需要在產品URL中編碼某些類別資訊。 此功能僅適用於部分預設URL格式。 請參閱下表,比較哪種URL格式支援依SKU或類別的特定頁面選擇。
URL格式 | 按SKU | 依類別 |
---|---|---|
{{page}}.html/{{url_key}}.html |
否 | 否 |
{{page}}.html/{{category}}/{{url_key}}.html |
否 | 僅完全相符 |
{{page}}.html/{{url_path}}.html |
否 | 是 |
{{page}}.html/{{sku}}.html |
是 | 否 |
{{page}}.html/{{sku}}/{{url_key}}.html |
是 | 否 |
{{page}}.html/{{sku}}/{{category}}/{{url_key}}.html |
是 | 僅完全相符 |
{{page}}.html/{{sku}}/{{url_path}}.html |
是 | 是 |
依類別選取特定產品頁面需要 CIF Core Components 2.6.0 或更新版本。
此 UrlProvider
已預先設定,可在作者層級例項上產生特定類別和產品頁面的深層連結。 對於使用預覽模式瀏覽網站、導覽至特定產品或類別頁面,並切換回編輯模式以編輯頁面的編輯者而言,此功能非常有用。
另一方面,在發佈層級執行個體上,目錄頁面URL應保持穩定,以免失去搜尋引擎排名等優勢。 由於該發佈層級,根據預設,執行個體不會轉譯特定目錄頁面的深層連結。 若要變更此行為, CIF URL提供者特定頁面策略 可設定為一律產生特定頁面URL。
當編輯器想要完全控制網站的最上層導覽時,可能不需要使用單一目錄頁面來呈現目錄的最上層類別。 編輯器可以建立多個目錄頁面,每個類別各有一個要包含在頂層導覽中的目錄。
對於該使用案例,每個目錄頁面都可具有產品和類別頁面的參考,這些頁面特定於為目錄頁面配置的類別。 此 UrlProvider
使用這些連線為設定類別中的頁面和類別建立連結。 不過,基於效能考量,只會考量網站導覽根目錄/登陸頁面的直接目錄頁面子項。
建議將目錄頁面的產品和類別頁面子代至該目錄頁面,否則導覽或階層連結等元件可能無法正常運作。
需要完整支援多個目錄頁面 CIF Core Components 2.10.0 或更新版本。
若要提供自訂URL格式,專案可實作 ProductUrlFormat
或 CategoryUrlFormat
服務介面,並將實作註冊為OSGI服務。 這些實施(如果可用)會取代已設定的預先定義格式。 如果註冊了多個實作,則服務排名較高的實作會取代服務排名較低的實作。
自訂URL格式實作必須實作一組方法,以便從指定引數建立URL,並剖析URL以分別傳回相同的引數。
除了 UrlProvider
,也可以設定 Sling對應 以重寫及處理URL。 AEM原型專案也提供 設定範例 為連線埠4503 (發佈)和80 (Dispatcher)設定一些Sling對應。
透過以下方式使用AEM Dispatcher HTTP伺服器也可實現URL重寫: mod_rewrite
模組。 此 AEM專案原型 提供已包含基本設定的AEM Dispatcher參考設定 重寫規則 所產生的大小。
如在選取其中一個可用的預設格式,或甚至實作自訂格式之前所述,這在很大程度上取決於商店的需求和要求。 以下建議可能有助於您做出有根據的決定。
使用包含SKU的產品頁面URL格式。
CIF核心元件會使用SKU作為所有元件的主要識別碼。 如果產品頁面URL格式不包含SKU,則需要使用GraphQL查詢來解析。 此解決方法可能會影響第一個位元組的時間。 此外,可能希望購物者能使用搜尋引擎透過SKU找到產品。
使用包含類別內容的產品頁面URL格式。
CIF URL Provider的某些功能只有在使用產品URL格式時才可用,這些格式會編碼類別內容,例如類別 url_key
或類別 url_path
. 即使新商店可能不需要這些功能,一開始使用這些URL格式之一有助於減少未來的移轉工作。
URL長度和編碼資訊之間的平衡。
根據目錄大小,特別是類別樹狀結構的大小和深度,為完整目錄編碼可能不合邏輯 url_path
類別匯入URL中。 在這種情況下,可以只包含類別的 url_key
而非。 此方法支援使用類別時可用的大部分功能 url_path
.
另外,使用 Sling對應 將SKU與產品結合 url_key
. 在大多數電子商務系統中,SKU會遵循特定格式,並將SKU與 url_key
應該可以輕鬆處理傳入的要求。 有鑑於此,重寫產品頁面URL至應該是可能的 /p/{{category}}/{{sku}}-{{url_key}}.html
,以及類別URL至 /c/{{url_key}}.html
(分別)。 此 /p
和 /c
若要將產品和類別頁面與其他內容頁面區分開來,仍需使用首碼。
許多預設URL格式以某種方式彼此相容,這表示某一種格式的URL可能會被另一種格式剖析。 這有助於在URL格式之間移轉。
另一方面,搜尋引擎需要時間來重新耙梳所有目錄頁面(使用新的URL格式)。 為了支援此程式並改善一般使用者體驗,建議提供將使用者從舊URL轉送到新URL的重新導向。
其中一種方式可能是將預備環境連線到生產電子商務後端,並將其設定為使用新的URL格式。 之後取得 CIF產品網站地圖產生器產生的產品網站地圖 用於預備和生產環境,並使用它們來建立 Apache httpd重寫對應. 然後,可以將此重寫對應與新URL格式的轉出一起部署到Dispatcher。
此 Venia參考存放區 project包含示範產品和類別頁面使用自訂URL的設定範例。 此設定可讓每個專案根據其SEO需求,為產品和類別頁面設定個別URL模式。 CIF組合 UrlProvider
和Sling對應(如上所述)則會使用。
此設定必須使用專案使用的外部網域進行調整。 Sling對應是根據主機名稱和網域來運作。 因此,此設定預設為停用,必須在部署之前啟用。 若要這麼做,請重新命名Sling對應 hostname.adobeaemcloud.com
資料夾位於 ui.content/src/main/content/jcr_root/etc/map.publish/https
根據使用的網域名稱,並透過新增以啟用此設定 resource.resolver.map.location="/etc/map.publish"
至 JcrResourceResolver
專案的設定。