페이지 제목SEO (페이지 제목)
dinamically 런타임에 페이지 제목을 변경하는 방법이 있나요?
포털 수준에서 페이지 제목을 변경할 수 있다는 것을 알고 있지만이 솔루션 은 페이지의 TITLE 태그를 변경하지 않으므로 SEO 값을 제공하지 않습니다. 나는 포털 타이틀을 변화하는 방법을 본 적이 무엇을 위해
는 (이 글로벌 설정입니다) 매우 정적 :- 즉 bannerTitleTextResourceBundle을 조정 존재하지 않다면 테마 정책에
- 을 bannerTitleText 변경 bannerTitleTextResourceKey를 원하는 값으로 설정하십시오.
- 그렇지 않으면,
우리의 목표는이 페이지에서 페이지로 변경하고 관련 페이지의 키워드를 포함 할 수 있도록 페이지 수준에서 제목을 설정 할 수있는 테마 구성에서 세계적으로 제목을 설정합니다.
실제로 WCM에서 수행 할 수 있다면 가장 이상적입니다.
:업데이트
나는 WebSphere Portal에 6.1.5의 기본 테마는 그래서 테마를 조사하고 jspInit.jspf 몇 가지 다음과 같은 새로운 방법을 가지고 확실히 충분히, 페이지 제목을 추가 한 것으로 나타났습니다
private static com.ibm.portal.state.service.PortalStateManagerServiceHome portalStateManagerServiceHome;
// (This goes in the jspInit constructor)
portalStateManagerServiceHome = (com.ibm.portal.state.service.PortalStateManagerServiceHome) ctx.lookup("portal:service/state/PortalStateManager");
protected com.ibm.portal.state.service.PortalStateManagerService getStateManagerService(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response) throws Exception {
final com.ibm.portal.state.service.PortalStateManagerService psms = portalStateManagerServiceHome.getPortalStateManagerService((javax.servlet.http.HttpServletRequest) request, (javax.servlet.http.HttpServletResponse) response);
return psms;
}
protected boolean isStaticPage(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response) throws com.ibm.portal.ModelException {
final com.ibm.portal.model.NavigationSelectionModelProvider nsmProvider = navigationSelectionModelHome.getNavigationSelectionModelProvider();
final com.ibm.portal.navigation.NavigationSelectionModel nsm = nsmProvider.getNavigationSelectionModel(request, response);
final com.ibm.portal.navigation.NavigationNode currentNavNode = (com.ibm.portal.navigation.NavigationNode) nsm.getSelectedNode();
final com.ibm.portal.content.ContentNode currentContentNode = currentNavNode.getContentNode();
return currentContentNode.getContentNodeType().equals(com.ibm.portal.content.ContentNodeType.STATICPAGE);
}
protected com.ibm.portal.navigation.NavigationNode getSelectedNode(final javax.servlet.ServletRequest request, javax.servlet.ServletResponse response) throws com.ibm.portal.ModelException {
com.ibm.portal.model.NavigationSelectionModelProvider nsmProvider = navigationSelectionModelHome.getNavigationSelectionModelProvider();
com.ibm.portal.navigation.NavigationSelectionModel nsm = nsmProvider.getNavigationSelectionModel(request, response);
return (com.ibm.portal.navigation.NavigationNode) nsm.getSelectedNode();
}
protected String getSelectedNodeTitle(final javax.servlet.ServletRequest request, javax.servlet.ServletResponse response) throws com.ibm.portal.ModelException {
final String title;
if (localizedContextHome != null) {
com.ibm.portal.model.LocalizedContext context = localizedContextHome.getLocalizedContext((javax.servlet.http.HttpServletRequest) request);
title = context.getTitle(getSelectedNode(request, response));
} else {
title = "";
}
return title;
}
추가 한 후 6.1.5 테마에서 head_title.jspf를 복사 할 수있었습니다.
<c:set var="selectedNodeTitle" value="<%=getSelectedNodeTitle(request, response)%>" />
<title><c:out value="${siteTitle} - ${selectedNodeTitle}"/></title>
이제 남은 것은 WCM에서 가져 오는 방법을 찾는 것입니다.
추가 할 항목이 더 있으면 질문을 편집하십시오. 이것은 Q/A 사이트이지 포럼이 아닙니다. – dandan78