Activation des informations de description des titres et des métadonnées du référencement pour la migration
Lors de la migration d'un magasin existant pour utiliser la fonction d'optimisation des moteurs de recherche, les informations de description des titres et des métadonnées de vos pages de magasin doivent être remplies.
Avant de commencer
Procédure
-
Chargez les modèles de description des titres et des métadonnées (TMD) pour vos pages de magasin.
-
Pour chaque magasin , émettez les instructions SQL suivantes. Ces instructions ajoutent de nouveaux types de pages à la table afin que puisse identifier le modèle de description des titres et des métadonnées pouvant être utilisé pour des pages spécifiques :
Où :insert into seopagedef (seopagedef_id, pagename, storeent_id, lastupdate, createdtime) values (100, 'HOME_PAGE', 12201, '2010-01-01 00:00:00.00', '2010-01-01 00:00:00.00'); insert into seopagedef (seopagedef_id, pagename, storeent_id, lastupdate, createdtime) values (101, 'HELP_PAGE', 12201, '2010-01-01 00:00:00.00', '2010-01-01 00:00:00.00'); insert into seopagedef (seopagedef_id, pagename, storeent_id, lastupdate, createdtime) values (102, 'PRIVACY_PAGE', 12201, '2010-01-01 00:00:00.00', '2010-01-01 00:00:00.00'); insert into seopagedef (seopagedef_id, pagename, storeent_id, lastupdate, createdtime) values (103, 'SITEMAP_PAGE', 12201, '2010-01-01 00:00:00.00', '2010-01-01 00:00:00.00'); insert into seopagedef (seopagedef_id, pagename, storeent_id, lastupdate, createdtime) values (104, 'CATEGORY_PAGE', 12201, '2010-01-01 00:00:00.00', '2010-01-01 00:00:00.00'); insert into seopagedef (seopagedef_id, pagename, storeent_id, lastupdate, createdtime) values (105, 'PRODUCT_PAGE', 12201, '2010-01-01 00:00:00.00', '2010-01-01 00:00:00.00'); insert into seopagedefovr (seopagedefovr_id, seopagedef_id, objecttype, object_id, apply_to_child) values (200, 104, 'CatalogGroup', '0', 1); insert into seopagedefovr (seopagedefovr_id, seopagedef_id, objecttype, object_id, apply_to_child) values (201, 105, 'CatalogEntry', '0', 1);- seopagedef_id est n'importe quel nombre qui ne se trouve pas déjà dans la table, et fait référence à la table pour le modèle réel
- pagename est le type de page de magasin. Par exemple, HELP_PAGE, PRIVACY_PAGE, SITEMAP PAGE, CATEGORY PAGE et PRODUCT_PAGE.
- lastupdate et createdtime est n'importe quel horodatage
-
Pour chaque langue utilisée par votre magasin, émettez les instructions SQL suivantes pour insérer les modèles de description des titres et des métadonnées dans la table . Les modèles stockent la façon dont la description des titres et des métadonnées doit être construite pour les différents types de pages (par exemple Produit, Catégorie et Contact) dans votre magasin.
Où :insert into seopagedefdesc (seopagedef_id, language_id, title, meta_desc, meta_keyword, image_alt_desc, lastupdate, createdtime) values (100, -1, 'Welcome to <seo: StoreName/>', 'Shop <seo: StoreName/> online.<seo: StoreDescription/>', '<seo: StoreName/> <seo: StoreDescription/>', 'Image for <seo: StoreName/> homepage', '2010-01-01 00:00:00.00', '2010-01-01 00:00:00.00'); insert into seopagedefdesc (seopagedef_id, language_id, title, meta_desc, meta_keyword, image_alt_desc, lastupdate, createdtime) values (101, -1, 'Help and Contact Us at <seo: StoreName/>', 'Help Contact Us <seo: StoreName/>', 'Help Contact Us <seo: StoreName/>', 'Image for <seo: StoreName/> Help and Contact Us', '2010-01-01 00:00:00.00', '2010-01-01 00:00:00.00'); insert into seopagedefdesc (seopagedef_id, language_id, title, meta_desc, meta_keyword, image_alt_desc, lastupdate, createdtime) values (102, -1, 'Website Privacy Policy for <seo: StoreName/>', 'Website Privacy Policy for <seo: StoreName/>', 'Website Privacy Policy <seo: StoreName/>', 'Image for <seo: StoreName/> Site Map', '2010-01-01 00:00:00.00', '2010-01-01 00:00:00.00'); insert into seopagedefdesc (seopagedef_id, language_id, title, meta_desc, meta_keyword, image_alt_desc, lastupdate, createdtime) values (103, -1, 'Site Map for <seo: StoreName/>', 'Site Map for <seo: StoreName/>', 'ite Map <seo: StoreName/>', 'Image for <seo: StoreName/> Site Map', '2010-01-01 00:00:00.00', '2010-01-01 00:00:00.00'); insert into seopagedefdesc (seopagedef_id, language_id, title, meta_desc, meta_keyword, image_alt_desc, lastupdate, createdtime) values (104, -1, '<seo: CategoryName/> | <seo: StoreName/>', '<seo: CategoryShortDescription/>', '<seo: CategoryKeyword/>', 'Image for <seo: CategoryName/> from <seo: StoreName/>', '2010-01-01 00:00:00.00', '2010-01-01 00:00:00.00'); insert into seopagedefdesc (seopagedef_id, language_id, title, meta_desc, meta_keyword, image_alt_desc, lastupdate, createdtime) values (105, -1, '<seo: ProductName/> | <seo: StoreName/>', '<seo: ProductShortDescription/>', '<seo: ProductKeyword/> <seo: ProductManufacturerName/>', 'Image for <seo: ProductName/> from <seo: StoreName/>', '2010-01-01 00:00:00.00', '2010-01-01 00:00:00.00');- seopagedef_id
- Référence à la définition de page définie dans la table
- id_langue
- La langue du magasin pour lequel l'instruction SQL crée des modèles.
- title, meta_desc, meta_keyword, image_alt_desc
- Les modèles de description des titres et des métadonnées par défaut. Ces modèles peuvent être modifiés librement.
Remarque : Les paramètres de substitution dans les modèles, tels <seo: StoreName/> que, représentent le nom du magasin qui doit être remplacé lorsque le modèle est récupéré. Pour plus d'informations, consultez la rubrique Paramètres de substitution pour l'optimisation du moteur de recherche (SEO)
-
Pour chaque magasin , émettez les instructions SQL suivantes. Ces instructions ajoutent de nouveaux types de pages à la table afin que puisse identifier le modèle de description des titres et des métadonnées pouvant être utilisé pour des pages spécifiques :
-
Modifiez vos pages JSP de page statique (telles que Accueil, Aide et Confidentialité) pour utiliser les données de la description des titres et des métadonnées.
-
Appel de service :
<wcf:getData type="com.ibm.commerce.infrastructure.facade.datatypes.OnlineStoreType" var="onlineStoreSEO" expressionBuilder="findSEOPageDefintionByPageNameAndStoreID"> <wcf:contextData name="storeId" data="${WCParam.storeId}"/> <wcf:param name="storeId" value="${WCParam.storeId}"/> <wcf:param name="dataLanguageIds" value="${WCParam.langId}"/> <wcf:param name="pageName" value="HOME_PAGE"/> <wcf:param name="accessProfile" value="IBM_Store_SEOPageDefinition_Details"/> </wcf:getData>Remarque : pageName fait référence à la colonne PAGENAME de la table . Spécifiez la valeur PAGENAME requise pour le JSP spécifique. -
Affichage des données :
<title><c:out value="${onlineStoreSEO.SEOPageDefinitions[0].title}"/></title> <meta name="description" content="<c:out value="${onlineStoreSEO.SEOPageDefinitions[0].metaDescription}"/>"/> <meta name="keyword" content="<c:out value="${onlineStoreSEO.SEOPageDefinitions[0].metaKeyword}"/>"/>
-
Appel de service :
-
Modifiez votre JSP de catégorie pour utiliser les données de description des titres et des métadonnées :
-
Appel de service :
<wcf:getData type="com.ibm.commerce.catalog.facade.datatypes.CatalogNavigationViewType" var="catGroupDetailsView" expressionBuilder="getCatalogNavigationCatalogGroupView"> <wcf:param name="UniqueID" value="${catUniqueId}"/> <wcf:contextData name="storeId" data="${WCParam.storeId}" /> <wcf:contextData name="catalogId" data="${WCParam.catalogId}" /> <wcf:param name="searchProfile" value="IBM_findCatalogGroupDetails"/> </wcf:getData> -
Affichage des données :
<title><c:out value="${catGroupDetailsView.catalogGroupView[0].title}"/></title> <meta name="description" content="<c:out value="${catGroupDetailsView.catalogGroupView[0].metaDescription}"/>"/> <c:set var="fullImageAltDescription" value="${catGroupDetailsView.catalogGroupView[0].fullImageAltDescription}" scope="request" />
-
Appel de service :
-
Modifiez votre JSP de produit pour utiliser les données de description des titres et des métadonnées :
-
Appel de service :
<wcf:getData type="com.ibm.commerce.catalog.facade.datatypes.CatalogNavigationViewType" var="catalogNavigationView" expressionBuilder="getCatalogNavigationCatalogEntryView"> <wcf:param name="UniqueID" value="${productId}"/> <wcf:param name="searchProfile" value="IBM_findCatalogEntrySummary"/> <wcf:contextData name="storeId" data="${WCParam.storeId}" /> <wcf:contextData name="catalogId" data="${WCParam.catalogId}" /> </wcf:getData> -
Affichage des données :
<title><c:out value="${catalogNavigationView.catalogEntryView[0].title}"/></title> <meta name="description" content="<c:out value="${catalogNavigationView.catalogEntryView[0].metaDescription}"/>"/> <c:set var="fullImageAltDescription" value="${catalogNavigationView.catalogEntryView[0].fullImageAltDescription}" scope="request" />
-
Appel de service :
-
Modifiez le fichier get-data-config.xml pour inclure les générateurs d'expression requis.
- Accédez au répertoire /Stores/WebContent/WEB-INF/config/com.ibm.commerce.catalog-fep.
- Ouvrez le fichier get-data-config.xml.
-
Avant la balise
<wcf:get-data-config>de fin, collez le code suivant :<expression-builder> <name>getCatalogNavigationCatalogGroupView</name> <data-type-name>CatalogNavigationView</data-type-name> <class>com.ibm.commerce.foundation.internal.client.taglib.util.UniqueIDs ExpressionBuilder</class> <method>formatExpression</method> <param> <name>template</name> <value>/CatalogNavigationView[CatalogGroupView[(UniqueID=)]]</value> </param> <param> <name>accessProfile</name> <value>IBM_Store_Summary</value> </param> <param> <name>searchProfile</name> <value>IBM_findCatalogGroupSummary</value> </param> </expression-builder> <expression-builder> <name>getCatalogNavigationCatalogEntryView</name> <data-type-name>CatalogNavigationView</data-type-name> <class>com.ibm.commerce.foundation.internal.client.taglib.util.UniqueIDs ExpressionBuilder</class> <method>formatExpression</method> <param> <name>template</name> <value>/CatalogNavigationView[CatalogEntryView[(UniqueID=)]]</value> </param> <param> <name>accessProfile</name> <value>IBM_Store_CatalogEntrySearch</value> </param> <param> <name>searchProfile</name> <value>IBM_findCatalogEntrySummary</value> </param> </expression-builder>