SlideShare a Scribd company logo
Enable SEO URL in
WebSphere Portal
Michele Buccarello
2/4/2015
This document describe a way to implement friendly SEO URL in WebSphere Portal
Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 1
Table of Contents
Abstract ............................................................................................................................................................. 2
REMOVING THE RICH STATE FROM PORTAL AND WCM CONTENT .................................................................. 2
Configuring portal for friendly url ................................................................................................................. 3
Enable base url in theme............................................................................................................................... 5
Edit the navigation jsp................................................................................................................................... 6
Create a java filter for WCM url .................................................................................................................... 7
Conclusion about rich state........................................................................................................................... 9
Remove the context url /wps/portal............................................................................................................... 10
Create an apache reverse proxy.................................................................................................................. 10
Enable modules ........................................................................................................................................... 10
Configure Apache as reverse proxy............................................................................................................. 10
How it works................................................................................................................................................ 11
Routing rules............................................................................................................................................ 11
Payload management.............................................................................................................................. 12
Rewrite rule explanation ......................................................................................................................... 12
Proxy Pass and mod_substitute .............................................................................................................. 13
CONCLUSION ................................................................................................................................................... 13
Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 2
Abstract
In WebSphere Portal the concept around the URL are complex because are not simply URL but are RICH
URL. Portal URL are structured in this way:
Rich state is an xml that contain the portal state, this xml is gzipped and enconded with a modified base64
codec, the only way to decode the state in xml format is use the portal poc ( piece of content ) servlet. In
this presentation http://www.socialbizug.org/files/app#/file/443ae822-48ad-40d1-b106-8750f0e79447 you
could find all information about all concept around the WebSphere Portal URL, is important read this pdf to
understand what you lose if a customer want full friendly SEO url and not partial like normal Portal url.
What we do in this article?
We want display Portal url without context and rich state, in other words :
- From /wps/portal/home/shop/shoes/!ut/p/104_05dsffds90..
- To /home/shop/shoes
What are the assumption we need to archive this goal?
1) Portal Page doesn’t have portlets that made a post to the same page or other page.
2) Portlet wiring attach rich state, don’t use it!
3) WCM url are cleaned with a WCM url filter, without it all WCM url have rich state.
REMOVING THE RICH STATE FROM PORTAL AND WCM CONTENT
In this step we configure portal to remove the rich state from Portal and WCM content. The basics of this
operations are described in this wikis document:
- http://www-01.ibm.com/support/knowledgecenter/SSHRKX_8.5.0/mp/admin-
system/mp_friendly_short_url.dita?lang=en
- http://www-
10.lotus.com/ldd/portalwiki.nsf/xpDocViewer.xsp?lookupName=IBM+Web+Content+Manager+8+P
roduct+Documentation#action=openDocument&res_title=Example_2_Generate_a_friendly_URL_f
or_web_content_wcm8&content=pdcontent
Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 3
- http://www-
10.lotus.com/ldd/portalwiki.nsf/dx/Implementing_a_clean_URL_in_IBM_WebSphere_Portal_8-
based_WCM_rendering
Configuring portal for friendly url
In the administrative console under resource environment provider click on WP ConfigService
Click on custom properties

Recommended for you

Serverless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on KubernetesServerless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on Kubernetes

This presentation will introduce Knative, an open source project that adds serverless capabilities on top of Kubernetes, and present Camel K, a lightweight platform that brings Apache Camel integrations in the serverless world. Camel K allows running Camel routes on top of any Kubernetes cluster, leveraging Knative serverless capabilities such as “scaling to zero”. We will demo how Camel K can connect cloud services or enterprise applications using its 250+ components and how it can intelligently route events within the Knative environment via enterprise integration patterns (EIP). Target Group: Developers, architects and other technical people - a basic understanding of Kubernetes is an advantage

apache camelknativekubernetes
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation Slides

The document provides an overview of Kubernetes concepts and architecture. It begins with an introduction to containers and microservices architecture. It then discusses what Kubernetes is and why organizations should use it. The remainder of the document outlines Kubernetes components, nodes, development processes, networking, and security measures. It provides descriptions and diagrams explaining key aspects of Kubernetes such as architecture, components like Kubelet and Kubectl, node types, and networking models.

developmentprocesskubernetes concepts and architecture
Rancher 2.0 Technical Deep Dive
Rancher 2.0 Technical Deep DiveRancher 2.0 Technical Deep Dive
Rancher 2.0 Technical Deep Dive

西脇 雄基(LINE)/Rancher 2.0 Technical Deep Dive 2018/7/28 LINE Developer Meetup in Tokyo #40 -Kubernetes- https://line.connpass.com/event/92049/

kubernetes
Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 4
Click on button new…
Add the property into the was
Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 5
Click save
Enable base url in theme
In the Portal theme definition add the property
<parameter name="com.ibm.portal.theme.hasBaseURL" type="string" update="set">true</parameter>
add in the xmlaccess register script this parameter
If you’re theme is already registered retrieve the unique name and run the xml access below
<?xml version="1.0" encoding="UTF-8"?>
<request xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="PortalConfig_8.5.0.xsd" type="update">
<portal action="locate">
<theme action="update" uniquename="com.ibm.portal.custom.theme.theme85" >
<parameter name="com.ibm.portal.theme.hasBaseURL" type="string" update="set">true</parameter>
</theme>
</portal>
</request>
Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 6
Edit the navigation jsp
In the navigation.jsp add keepNavigationalState="false" in the portal navigation tags, this particular
property remove the rich state from the portal navigation URL.
Search this string:
- <a href="?uri=nm:oid:${nodeID}"
Replace with this:
- <portal-navigation:urlGeneration contentNode="${nodeID}" keepNavigationalState="false"
allowRelativeURL="true">
<a href="<%wpsURL.write(out);%>"
See the image below.
Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 7
After the replaced string search the first “</a>” and replace it with </a></portal-navigation:urlGeneration>,
see the image below.
Create a java filter for WCM url
Create new dynamic project with the same projectname and ear name like the image below.

Recommended for you

Securing Kafka
Securing Kafka Securing Kafka
Securing Kafka

With Apache Kafka 0.9, the community has introduced a number of features to make data streams secure. In this talk, we’ll explain the motivation for making these changes, discuss the design of Kafka security, and explain how to secure a Kafka cluster. We will cover common pitfalls in securing Kafka, and talk about ongoing security work.

kafkaconfluent
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep dive

The document provides an overview of Red Hat OpenShift Container Platform, including: - OpenShift provides a fully automated Kubernetes container platform for any infrastructure. - It offers integrated services like monitoring, logging, routing, and a container registry out of the box. - The architecture runs everything in pods on worker nodes, with masters managing the control plane using Kubernetes APIs and OpenShift services. - Key concepts include pods, services, routes, projects, configs and secrets that enable application deployment and management.

openshiftredhatkubernetes
EKS Workshop
 EKS Workshop EKS Workshop
EKS Workshop

Running more than one containerized application in production makes teams look for solutions to quickly deploy and orchestrate containers. One of the most popular options is the open-source project Kubernetes. With the release of the Amazon Elastic Container Service for Kubernetes (EKS), engineering teams now have access to a fully managed Kubernetes control plane and time to focus on building applications. This workshop will deliver hands-on labs to support you getting familiar with Amazon's EKS.

awsloftberlin
Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 8
In src package create a package named:
- com.ibm.workplace.wcm.api.rewrite
create into it two java class:
- FriendlyUrlGenerationFilter.java
- FriendlyUrlGenerationFilterFactory.java
The functional sample content is located in this links:
- http://www-10.lotus.com/ldd/portalwiki.nsf/dx/Example_2_Filter_class_wcm8
- http://www-10.lotus.com/ldd/portalwiki.nsf/dx/Example_2_Filter_factory_class_wcm8
Under the webcontent WEB-INF create the plugin.xml and write the information below:
<?xml version="1.0" encoding="UTF-8"?>
<plugin id="com.ibm.workplace.wcm.api.rewrite.plugin" name="URL generation filter"
version="1.0.0" provider-name="IBM">
<extension
point="com.ibm.workplace.wcm.api.ContentUrlGenerationFilter"
id="UrlGenerationFilter">
<factory
class="com.ibm.workplace.wcm.api.rewrite.FriendlyUrlGenerationFilterFactory"
weight="4"/>
</extension>
</plugin>
The structure must be like the image below.
At this point you could install the ear in portal and set the startup behavior to a number upper than WCM
ear startup number (normally 21 is a right number). We need to do this change to ensure the connections
between WCM and the filter extension point.
Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 9
Conclusion about rich state
With this four step after e Portal restart we successful remove the rich state from all page that use the
theme with the customized navigation jsp and from all WCM contents.
Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 10
Remove the context url /wps/portal
Websphere Portal for security reason have two area, one for anonymous users and one for authenticated
users:
- /wps/portal anonymous
- /wps/myportal authenticated
We remove the context root only for anonymous user to prevent security related problems.
Create an apache reverse proxy
To create an apache reverse proxy we a lot of way, personally I prefer opensuse because have a built in
apache with a structured folders, in this guide http://en.opensuse.org/SDB:Apache_installation you could
find all information about apache installation. After a successful installation we need to create a virtualhost
as documented in the guide.
Enable modules
Apache 2.2 has a lot of built-in modules, opensuse by default don’t enable it when you do the first
installation, to enable it you need to edit the file /etc/sysconfig/apache2 , inside it there is a variabile
called APACHE_MODULES append to the end of this variabile this modules:
- rewrite http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html
- proxy http://httpd.apache.org/docs/2.2/mod/mod_proxy.html
- proxy_http http://httpd.apache.org/docs/2.2/mod/mod_proxy_http.html
- substitute http://httpd.apache.org/docs/2.2/mod/mod_substitute.html
This modules are required to configure apache to act as a reverse proxy and manipulate http requests and
payload. In the apache foundation site you could find all information for every modules.
Configure Apache as reverse proxy
Below the piece of configuration you need to configure routing and payload manipulation to the
WebSphere Portal Installation request and response.
# used for mantain old link in external forum and site and with a 301 redirect
RewriteRule ^/holidays/old-link?$ /holidays/new-link [L,R=301]
# this rewrite rule with proxy transparent use a regulare expresion to manage all context root different
to the main route /wps/portal
# the /wps escape all route to the servlets poc mypoc contenthandler mycontenthandler and all portlets
# customThemeStatic and customThemeDynamic are the context root to my custom theme
Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 11
RewriteCond %{REQUEST_URI} !/(wps/|customThemeStatic/|customThemeDynamic/)
RewriteRule ^(.*)$ /wps/portal$1 [L,PT]
#this rewrite masquerade the landing page and remove the path to it
RewriteCond %{HTTP_HOST} ^www.example.it
RewriteCond %{REQUEST_URI} ^(/)?$
RewriteRule ^(/)?$ /wps/portal/home [PT,NC]
ProxyPass / http://www.example.it/
<Location / >
ProxyPassReverse http://www.example.it/
#this output filter simly parse the HTTP payload and remove /wps/portal from it, finally add /wps/portal
only to the html tag base url
#this is required to the portal javascript framework
AddOutputFilterByType SUBSTITUTE text/html
# remove /wps/portal from the payload
Substitute "s|/wps/portal||nfq"
# add to the base url tag /wps/portal to prevent issue with the portal javascript framework
Substitute "s|www.example.it|www.example.it/wps/portal|nfq"
</Location>
How it works
In this area we explain how the solution it works.
Routing rules
To archive this result we divide all uri in two groups:
- All uri different from “/wps/portal”
- All uri that match “/wps/portal”
In the first group there are:
- all common servlet like poc (/wps/poc) , mypoc (/wps/mypoc) , contenthandler
(/wps/contenthandler), mycontenthandler (/wps/mycontenthandler)
- all authenticated portal uri (/wps/mycontenthandler)
- all portlets (/wps/PA_* )
- all predeployed portlet (/custom_context_root)
- all filters, OSGI plugin and so on (/custom_context_root)

Recommended for you

Deep dive into AWS IAM
Deep dive into AWS IAMDeep dive into AWS IAM
Deep dive into AWS IAM

This session is focused on diving into the AWS IAM policy categories to understand the differences, learn how the policy evaluation logic works, and go over some best practices. We will then walk through how to use permission boundaries to truly delegate administration in AWS.

Istio on Kubernetes
Istio on KubernetesIstio on Kubernetes
Istio on Kubernetes

This document discusses Istio, an open source service mesh that provides traffic management, telemetry and security for microservices applications. It describes Istio's architecture including its data and control planes. The data plane uses Envoy proxies that are injected as sidecars to intercept and manage traffic between services. The control plane includes Pilot for service discovery and traffic management and Mixer for policy enforcement. The document provides examples of how Istio manages issues like ingress, egress, security and provides a sample BookInfo application.

kubernetesistiocloud
Kubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive OverviewKubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive Overview

An in depth overview of Kubernetes and it's various components. NOTE: This is a fixed version of a previous presentation (a draft was uploaded with some errors)

containerkubernetesorchestration
Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 12
In the second group we identify all uri that must be routed to /wps/portal. To identify this uri we must use
a negative approach because with the mod_substitute we remove /wps/portal from the payload.
With these assumptions we made all rewrite rule to setup the right routing.
Payload management
There are two possibile way to manage the payload:
- Application server side with a servlet filter
- HTTP Server side with HTTP Filter module
We choose the second way because:
- From apache 2.2 we have a built solution that provide an in memory payload rewrite with the
mod_substitute.
- Performance scalability, it is quite simple to install more HTTP server than install more WebSphere
Portal installation.
- A servlet filter interact with all HTTP request and response, portal have a set of built-in servlet
filter, this means you must understand how to manage the servlet filter chain.
- With a simple regular expression we could manage all routing request directly from the HTTP
Server.
Rewrite rule explanation
This rewrite url match with a negative condition all http request that must be routed to /wps/portal
RewriteCond %{REQUEST_URI} !/(wps/|customThemeStatic/|customThemeDynamic/)
RewriteRule ^(.*)$ /wps/portal$1 [L,PT]
This rewrite rule masquerade the homepage url
RewriteCond %{HTTP_HOST} ^www.example.it
RewriteCond %{REQUEST_URI} ^(/)?$
RewriteRule ^(/)?$ /wps/portal/home [PT,NC]
Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 13
Proxy Pass and mod_substitute
All HTTP request skipped in the first rewrite rule are routed with the proxy pass directive
ProxyPass / http://www.example.it/
All response are manage inside the <location /> tag, inside this you could see the substitute that rewrite
the payload.
<Location / >
ProxyPassReverse http://www.example.it/
AddOutputFilterByType SUBSTITUTE text/html
Substitute "s|/wps/portal||nfq"
Substitute "s|www.example.it|www.example.it/wps/portal|nfq"
</Location>
CONCLUSION
In this article you have a way and set of rules to implement SEO url in portal, but remember what we say in
the abstract, the /wps/portal don’t affect the SEO ranking of the site.

More Related Content

What's hot

Event driven autoscaling with KEDA
Event driven autoscaling with KEDAEvent driven autoscaling with KEDA
Event driven autoscaling with KEDA
Nilesh Gule
 
Kubernetes design principles, patterns and ecosystem
Kubernetes design principles, patterns and ecosystemKubernetes design principles, patterns and ecosystem
Kubernetes design principles, patterns and ecosystem
Sreenivas Makam
 
Blue-green deploys with Pulsar & Envoy in an event-driven microservice ecosys...
Blue-green deploys with Pulsar & Envoy in an event-driven microservice ecosys...Blue-green deploys with Pulsar & Envoy in an event-driven microservice ecosys...
Blue-green deploys with Pulsar & Envoy in an event-driven microservice ecosys...
StreamNative
 
Serverless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on KubernetesServerless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on Kubernetes
Claus Ibsen
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
SlideTeam
 
Rancher 2.0 Technical Deep Dive
Rancher 2.0 Technical Deep DiveRancher 2.0 Technical Deep Dive
Rancher 2.0 Technical Deep Dive
LINE Corporation
 
Securing Kafka
Securing Kafka Securing Kafka
Securing Kafka
confluent
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep dive
Winton Winton
 
EKS Workshop
 EKS Workshop EKS Workshop
EKS Workshop
AWS Germany
 
Deep dive into AWS IAM
Deep dive into AWS IAMDeep dive into AWS IAM
Deep dive into AWS IAM
Amazon Web Services
 
Istio on Kubernetes
Istio on KubernetesIstio on Kubernetes
Istio on Kubernetes
Daneyon Hansen
 
Kubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive OverviewKubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive Overview
Bob Killen
 
[AWSKRUG 컨테이너 소모임] Rancher 기본 입문
[AWSKRUG 컨테이너 소모임] Rancher 기본 입문[AWSKRUG 컨테이너 소모임] Rancher 기본 입문
[AWSKRUG 컨테이너 소모임] Rancher 기본 입문
Hyunmin Kim
 
Build your APPs in Lean and Agile Way using AWS Amplify
Build your APPs in Lean and Agile Way using AWS AmplifyBuild your APPs in Lean and Agile Way using AWS Amplify
Build your APPs in Lean and Agile Way using AWS Amplify
Amazon Web Services
 
Deep Dive into Kubernetes - Part 1
Deep Dive into Kubernetes - Part 1Deep Dive into Kubernetes - Part 1
Deep Dive into Kubernetes - Part 1
Imesh Gunaratne
 
Azure kubernetes service (aks)
Azure kubernetes service (aks)Azure kubernetes service (aks)
Azure kubernetes service (aks)
Akash Agrawal
 
Event driven workloads on Kubernetes with KEDA
Event driven workloads on Kubernetes with KEDAEvent driven workloads on Kubernetes with KEDA
Event driven workloads on Kubernetes with KEDA
Nilesh Gule
 
Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!
Krishna-Kumar
 
Cloud Formation
Cloud FormationCloud Formation
Cloud Formation
TO THE NEW | Technology
 
Kubernetes and Prometheus
Kubernetes and PrometheusKubernetes and Prometheus
Kubernetes and Prometheus
Weaveworks
 

What's hot (20)

Event driven autoscaling with KEDA
Event driven autoscaling with KEDAEvent driven autoscaling with KEDA
Event driven autoscaling with KEDA
 
Kubernetes design principles, patterns and ecosystem
Kubernetes design principles, patterns and ecosystemKubernetes design principles, patterns and ecosystem
Kubernetes design principles, patterns and ecosystem
 
Blue-green deploys with Pulsar & Envoy in an event-driven microservice ecosys...
Blue-green deploys with Pulsar & Envoy in an event-driven microservice ecosys...Blue-green deploys with Pulsar & Envoy in an event-driven microservice ecosys...
Blue-green deploys with Pulsar & Envoy in an event-driven microservice ecosys...
 
Serverless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on KubernetesServerless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on Kubernetes
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
 
Rancher 2.0 Technical Deep Dive
Rancher 2.0 Technical Deep DiveRancher 2.0 Technical Deep Dive
Rancher 2.0 Technical Deep Dive
 
Securing Kafka
Securing Kafka Securing Kafka
Securing Kafka
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep dive
 
EKS Workshop
 EKS Workshop EKS Workshop
EKS Workshop
 
Deep dive into AWS IAM
Deep dive into AWS IAMDeep dive into AWS IAM
Deep dive into AWS IAM
 
Istio on Kubernetes
Istio on KubernetesIstio on Kubernetes
Istio on Kubernetes
 
Kubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive OverviewKubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive Overview
 
[AWSKRUG 컨테이너 소모임] Rancher 기본 입문
[AWSKRUG 컨테이너 소모임] Rancher 기본 입문[AWSKRUG 컨테이너 소모임] Rancher 기본 입문
[AWSKRUG 컨테이너 소모임] Rancher 기본 입문
 
Build your APPs in Lean and Agile Way using AWS Amplify
Build your APPs in Lean and Agile Way using AWS AmplifyBuild your APPs in Lean and Agile Way using AWS Amplify
Build your APPs in Lean and Agile Way using AWS Amplify
 
Deep Dive into Kubernetes - Part 1
Deep Dive into Kubernetes - Part 1Deep Dive into Kubernetes - Part 1
Deep Dive into Kubernetes - Part 1
 
Azure kubernetes service (aks)
Azure kubernetes service (aks)Azure kubernetes service (aks)
Azure kubernetes service (aks)
 
Event driven workloads on Kubernetes with KEDA
Event driven workloads on Kubernetes with KEDAEvent driven workloads on Kubernetes with KEDA
Event driven workloads on Kubernetes with KEDA
 
Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!
 
Cloud Formation
Cloud FormationCloud Formation
Cloud Formation
 
Kubernetes and Prometheus
Kubernetes and PrometheusKubernetes and Prometheus
Kubernetes and Prometheus
 

Viewers also liked

Search engine optimization (seo)
Search engine optimization (seo)Search engine optimization (seo)
Search engine optimization (seo)
கணேஷ் பழனிசாமி
 
Custom theme creation websphere portal 8.5
Custom theme creation websphere portal 8.5Custom theme creation websphere portal 8.5
Custom theme creation websphere portal 8.5
michele buccarello
 
Websphere portal theme menu framework
Websphere portal theme menu frameworkWebsphere portal theme menu framework
Websphere portal theme menu framework
michele buccarello
 
Custom theme creation for Websphere Portal 8
Custom theme creation for Websphere Portal 8Custom theme creation for Websphere Portal 8
Custom theme creation for Websphere Portal 8
michele buccarello
 
IBM Connections mail with exchange backend
IBM Connections mail with exchange backendIBM Connections mail with exchange backend
IBM Connections mail with exchange backend
michele buccarello
 
IBM Connections 4.5 bidirectional synchronization
IBM Connections 4.5 bidirectional synchronizationIBM Connections 4.5 bidirectional synchronization
IBM Connections 4.5 bidirectional synchronization
michele buccarello
 
IBM Connections 4.5 User Data Propagation.
IBM Connections 4.5 User Data Propagation.IBM Connections 4.5 User Data Propagation.
IBM Connections 4.5 User Data Propagation.
michele buccarello
 

Viewers also liked (7)

Search engine optimization (seo)
Search engine optimization (seo)Search engine optimization (seo)
Search engine optimization (seo)
 
Custom theme creation websphere portal 8.5
Custom theme creation websphere portal 8.5Custom theme creation websphere portal 8.5
Custom theme creation websphere portal 8.5
 
Websphere portal theme menu framework
Websphere portal theme menu frameworkWebsphere portal theme menu framework
Websphere portal theme menu framework
 
Custom theme creation for Websphere Portal 8
Custom theme creation for Websphere Portal 8Custom theme creation for Websphere Portal 8
Custom theme creation for Websphere Portal 8
 
IBM Connections mail with exchange backend
IBM Connections mail with exchange backendIBM Connections mail with exchange backend
IBM Connections mail with exchange backend
 
IBM Connections 4.5 bidirectional synchronization
IBM Connections 4.5 bidirectional synchronizationIBM Connections 4.5 bidirectional synchronization
IBM Connections 4.5 bidirectional synchronization
 
IBM Connections 4.5 User Data Propagation.
IBM Connections 4.5 User Data Propagation.IBM Connections 4.5 User Data Propagation.
IBM Connections 4.5 User Data Propagation.
 

Similar to Enable seo friendly url in websphere portal

Portal application development using Websphere Portlet Factory
Portal application development using Websphere Portlet FactoryPortal application development using Websphere Portlet Factory
Portal application development using Websphere Portlet Factory
Dacartec Servicios Informáticos
 
IBM WebSphere Portal Integrator for SAP - Escenario de ejemplo.
IBM WebSphere Portal Integrator for SAP - Escenario de ejemplo.IBM WebSphere Portal Integrator for SAP - Escenario de ejemplo.
IBM WebSphere Portal Integrator for SAP - Escenario de ejemplo.
Dacartec Servicios Informáticos
 
Style guide for share point 2013 branding
Style guide for share point 2013 brandingStyle guide for share point 2013 branding
Style guide for share point 2013 branding
Vinod Dangudubiyyapu
 
This+is+a+new+set+of+training+materials
This+is+a+new+set+of+training+materialsThis+is+a+new+set+of+training+materials
This+is+a+new+set+of+training+materials
Craig Hannon
 
20130528 solution linux_frousseau_nopain_webdev
20130528 solution linux_frousseau_nopain_webdev20130528 solution linux_frousseau_nopain_webdev
20130528 solution linux_frousseau_nopain_webdev
Frank Rousseau
 
WordPress 3.0 at DC PHP
WordPress 3.0 at DC PHPWordPress 3.0 at DC PHP
WordPress 3.0 at DC PHP
andrewnacin
 
An introduction to weblogic console
An introduction to weblogic consoleAn introduction to weblogic console
An introduction to weblogic console
bispsolutions
 
Website analysis report
Website analysis reportWebsite analysis report
Website analysis report
vimlesh88
 
Deploy Rails Application by Capistrano
Deploy Rails Application by CapistranoDeploy Rails Application by Capistrano
Deploy Rails Application by Capistrano
Tasawr Interactive
 
A High-Performance Solution To Microservices UI Composition
A High-Performance Solution To Microservices UI CompositionA High-Performance Solution To Microservices UI Composition
A High-Performance Solution To Microservices UI Composition
Alexey Gravanov
 
Banquet 42
Banquet 42Banquet 42
Banquet 42
Koubei UED
 
夜宴42期《Gadgets》
夜宴42期《Gadgets》夜宴42期《Gadgets》
夜宴42期《Gadgets》
Koubei Banquet
 
Hardcode SEO
Hardcode SEOHardcode SEO
Hardcode SEO
Michel Ozzello
 
Toms introtospring mvc
Toms introtospring mvcToms introtospring mvc
Toms introtospring mvc
Guo Albert
 
.NET Foundation website suggestions for improvement
.NET Foundation website suggestions for improvement.NET Foundation website suggestions for improvement
.NET Foundation website suggestions for improvement
Lee Englestone
 
Web components - An Introduction
Web components - An IntroductionWeb components - An Introduction
Web components - An Introduction
cherukumilli2
 
WordPress Optimization & Security - LAC 2013, London
WordPress Optimization & Security - LAC 2013, LondonWordPress Optimization & Security - LAC 2013, London
WordPress Optimization & Security - LAC 2013, London
Bastian Grimm
 
WordPress Security - WordCamp NYC 2009
WordPress Security - WordCamp NYC 2009WordPress Security - WordCamp NYC 2009
WordPress Security - WordCamp NYC 2009
Brad Williams
 
EPiServer Web Parts
EPiServer Web PartsEPiServer Web Parts
EPiServer Web Parts
EPiServer Meetup Oslo
 
Websphere Commerce SEO
Websphere Commerce SEOWebsphere Commerce SEO
Websphere Commerce SEO
Shinu Suresh
 

Similar to Enable seo friendly url in websphere portal (20)

Portal application development using Websphere Portlet Factory
Portal application development using Websphere Portlet FactoryPortal application development using Websphere Portlet Factory
Portal application development using Websphere Portlet Factory
 
IBM WebSphere Portal Integrator for SAP - Escenario de ejemplo.
IBM WebSphere Portal Integrator for SAP - Escenario de ejemplo.IBM WebSphere Portal Integrator for SAP - Escenario de ejemplo.
IBM WebSphere Portal Integrator for SAP - Escenario de ejemplo.
 
Style guide for share point 2013 branding
Style guide for share point 2013 brandingStyle guide for share point 2013 branding
Style guide for share point 2013 branding
 
This+is+a+new+set+of+training+materials
This+is+a+new+set+of+training+materialsThis+is+a+new+set+of+training+materials
This+is+a+new+set+of+training+materials
 
20130528 solution linux_frousseau_nopain_webdev
20130528 solution linux_frousseau_nopain_webdev20130528 solution linux_frousseau_nopain_webdev
20130528 solution linux_frousseau_nopain_webdev
 
WordPress 3.0 at DC PHP
WordPress 3.0 at DC PHPWordPress 3.0 at DC PHP
WordPress 3.0 at DC PHP
 
An introduction to weblogic console
An introduction to weblogic consoleAn introduction to weblogic console
An introduction to weblogic console
 
Website analysis report
Website analysis reportWebsite analysis report
Website analysis report
 
Deploy Rails Application by Capistrano
Deploy Rails Application by CapistranoDeploy Rails Application by Capistrano
Deploy Rails Application by Capistrano
 
A High-Performance Solution To Microservices UI Composition
A High-Performance Solution To Microservices UI CompositionA High-Performance Solution To Microservices UI Composition
A High-Performance Solution To Microservices UI Composition
 
Banquet 42
Banquet 42Banquet 42
Banquet 42
 
夜宴42期《Gadgets》
夜宴42期《Gadgets》夜宴42期《Gadgets》
夜宴42期《Gadgets》
 
Hardcode SEO
Hardcode SEOHardcode SEO
Hardcode SEO
 
Toms introtospring mvc
Toms introtospring mvcToms introtospring mvc
Toms introtospring mvc
 
.NET Foundation website suggestions for improvement
.NET Foundation website suggestions for improvement.NET Foundation website suggestions for improvement
.NET Foundation website suggestions for improvement
 
Web components - An Introduction
Web components - An IntroductionWeb components - An Introduction
Web components - An Introduction
 
WordPress Optimization & Security - LAC 2013, London
WordPress Optimization & Security - LAC 2013, LondonWordPress Optimization & Security - LAC 2013, London
WordPress Optimization & Security - LAC 2013, London
 
WordPress Security - WordCamp NYC 2009
WordPress Security - WordCamp NYC 2009WordPress Security - WordCamp NYC 2009
WordPress Security - WordCamp NYC 2009
 
EPiServer Web Parts
EPiServer Web PartsEPiServer Web Parts
EPiServer Web Parts
 
Websphere Commerce SEO
Websphere Commerce SEOWebsphere Commerce SEO
Websphere Commerce SEO
 

Recently uploaded

1239_2.pdf IS CODE FOR GI PIPE FOR PROCUREMENT
1239_2.pdf IS CODE FOR GI PIPE FOR PROCUREMENT1239_2.pdf IS CODE FOR GI PIPE FOR PROCUREMENT
1239_2.pdf IS CODE FOR GI PIPE FOR PROCUREMENT
Mani Krishna Sarkar
 
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model SafeBangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
bookhotbebes1
 
MSBTE K Scheme MSBTE K Scheme MSBTE K Scheme MSBTE K Scheme
MSBTE K Scheme MSBTE K Scheme MSBTE K Scheme MSBTE K SchemeMSBTE K Scheme MSBTE K Scheme MSBTE K Scheme MSBTE K Scheme
MSBTE K Scheme MSBTE K Scheme MSBTE K Scheme MSBTE K Scheme
Anwar Patel
 
Understanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Understanding Cybersecurity Breaches: Causes, Consequences, and PreventionUnderstanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Understanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Bert Blevins
 
Rohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
Rohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model SafeRohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
Rohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
binna singh$A17
 
LeetCode Database problems solved using PySpark.pdf
LeetCode Database problems solved using PySpark.pdfLeetCode Database problems solved using PySpark.pdf
LeetCode Database problems solved using PySpark.pdf
pavanaroshni1977
 
Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
IJAEMSJORNAL
 
GUIA_LEGAL_CHAPTER-9_COLOMBIAN ELECTRICITY (1).pdf
GUIA_LEGAL_CHAPTER-9_COLOMBIAN ELECTRICITY (1).pdfGUIA_LEGAL_CHAPTER-9_COLOMBIAN ELECTRICITY (1).pdf
GUIA_LEGAL_CHAPTER-9_COLOMBIAN ELECTRICITY (1).pdf
ProexportColombia1
 
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
sharvaridhokte
 
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdfGUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
ProexportColombia1
 
Press Tool and It's Primary Components.pdf
Press Tool and It's Primary Components.pdfPress Tool and It's Primary Components.pdf
Press Tool and It's Primary Components.pdf
Tool and Die Tech
 
Response & Safe AI at Summer School of AI at IIITH
Response & Safe AI at Summer School of AI at IIITHResponse & Safe AI at Summer School of AI at IIITH
Response & Safe AI at Summer School of AI at IIITH
IIIT Hyderabad
 
21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx
21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx
21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx
sanabts249
 
Biology for computer science BBOC407 vtu
Biology for computer science BBOC407 vtuBiology for computer science BBOC407 vtu
Biology for computer science BBOC407 vtu
santoshpatilrao33
 
IWISS Catalog 2024
IWISS Catalog 2024IWISS Catalog 2024
IWISS Catalog 2024
Iwiss Tools Co.,Ltd
 
Net Zero Case Study: SRK House and SRK Empire
Net Zero Case Study: SRK House and SRK EmpireNet Zero Case Study: SRK House and SRK Empire
Net Zero Case Study: SRK House and SRK Empire
Global Network for Zero
 
Lecture 3 Biomass energy...............ppt
Lecture 3 Biomass energy...............pptLecture 3 Biomass energy...............ppt
Lecture 3 Biomass energy...............ppt
RujanTimsina1
 
Phone Us ❤ X000XX000X ❤ #ℂall #gIRLS In Chennai By Chenai @ℂall @Girls Hotel ...
Phone Us ❤ X000XX000X ❤ #ℂall #gIRLS In Chennai By Chenai @ℂall @Girls Hotel ...Phone Us ❤ X000XX000X ❤ #ℂall #gIRLS In Chennai By Chenai @ℂall @Girls Hotel ...
Phone Us ❤ X000XX000X ❤ #ℂall #gIRLS In Chennai By Chenai @ℂall @Girls Hotel ...
Miss Khusi #V08
 
Exploring Deep Learning Models for Image Recognition: A Comparative Review
Exploring Deep Learning Models for Image Recognition: A Comparative ReviewExploring Deep Learning Models for Image Recognition: A Comparative Review
Exploring Deep Learning Models for Image Recognition: A Comparative Review
sipij
 
Paharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Arti Singh Top Model Safe
Paharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Arti Singh Top Model SafePaharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Arti Singh Top Model Safe
Paharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Arti Singh Top Model Safe
aarusi sexy model
 

Recently uploaded (20)

1239_2.pdf IS CODE FOR GI PIPE FOR PROCUREMENT
1239_2.pdf IS CODE FOR GI PIPE FOR PROCUREMENT1239_2.pdf IS CODE FOR GI PIPE FOR PROCUREMENT
1239_2.pdf IS CODE FOR GI PIPE FOR PROCUREMENT
 
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model SafeBangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
 
MSBTE K Scheme MSBTE K Scheme MSBTE K Scheme MSBTE K Scheme
MSBTE K Scheme MSBTE K Scheme MSBTE K Scheme MSBTE K SchemeMSBTE K Scheme MSBTE K Scheme MSBTE K Scheme MSBTE K Scheme
MSBTE K Scheme MSBTE K Scheme MSBTE K Scheme MSBTE K Scheme
 
Understanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Understanding Cybersecurity Breaches: Causes, Consequences, and PreventionUnderstanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Understanding Cybersecurity Breaches: Causes, Consequences, and Prevention
 
Rohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
Rohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model SafeRohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
Rohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
 
LeetCode Database problems solved using PySpark.pdf
LeetCode Database problems solved using PySpark.pdfLeetCode Database problems solved using PySpark.pdf
LeetCode Database problems solved using PySpark.pdf
 
Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
 
GUIA_LEGAL_CHAPTER-9_COLOMBIAN ELECTRICITY (1).pdf
GUIA_LEGAL_CHAPTER-9_COLOMBIAN ELECTRICITY (1).pdfGUIA_LEGAL_CHAPTER-9_COLOMBIAN ELECTRICITY (1).pdf
GUIA_LEGAL_CHAPTER-9_COLOMBIAN ELECTRICITY (1).pdf
 
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
 
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdfGUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
 
Press Tool and It's Primary Components.pdf
Press Tool and It's Primary Components.pdfPress Tool and It's Primary Components.pdf
Press Tool and It's Primary Components.pdf
 
Response & Safe AI at Summer School of AI at IIITH
Response & Safe AI at Summer School of AI at IIITHResponse & Safe AI at Summer School of AI at IIITH
Response & Safe AI at Summer School of AI at IIITH
 
21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx
21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx
21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx
 
Biology for computer science BBOC407 vtu
Biology for computer science BBOC407 vtuBiology for computer science BBOC407 vtu
Biology for computer science BBOC407 vtu
 
IWISS Catalog 2024
IWISS Catalog 2024IWISS Catalog 2024
IWISS Catalog 2024
 
Net Zero Case Study: SRK House and SRK Empire
Net Zero Case Study: SRK House and SRK EmpireNet Zero Case Study: SRK House and SRK Empire
Net Zero Case Study: SRK House and SRK Empire
 
Lecture 3 Biomass energy...............ppt
Lecture 3 Biomass energy...............pptLecture 3 Biomass energy...............ppt
Lecture 3 Biomass energy...............ppt
 
Phone Us ❤ X000XX000X ❤ #ℂall #gIRLS In Chennai By Chenai @ℂall @Girls Hotel ...
Phone Us ❤ X000XX000X ❤ #ℂall #gIRLS In Chennai By Chenai @ℂall @Girls Hotel ...Phone Us ❤ X000XX000X ❤ #ℂall #gIRLS In Chennai By Chenai @ℂall @Girls Hotel ...
Phone Us ❤ X000XX000X ❤ #ℂall #gIRLS In Chennai By Chenai @ℂall @Girls Hotel ...
 
Exploring Deep Learning Models for Image Recognition: A Comparative Review
Exploring Deep Learning Models for Image Recognition: A Comparative ReviewExploring Deep Learning Models for Image Recognition: A Comparative Review
Exploring Deep Learning Models for Image Recognition: A Comparative Review
 
Paharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Arti Singh Top Model Safe
Paharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Arti Singh Top Model SafePaharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Arti Singh Top Model Safe
Paharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Arti Singh Top Model Safe
 

Enable seo friendly url in websphere portal

  • 1. Enable SEO URL in WebSphere Portal Michele Buccarello 2/4/2015 This document describe a way to implement friendly SEO URL in WebSphere Portal
  • 2. Enable SEO URL in WebSphere Portal Websphere Portal SEO Friendly URL Author:Michele Buccarello Page 1 Table of Contents Abstract ............................................................................................................................................................. 2 REMOVING THE RICH STATE FROM PORTAL AND WCM CONTENT .................................................................. 2 Configuring portal for friendly url ................................................................................................................. 3 Enable base url in theme............................................................................................................................... 5 Edit the navigation jsp................................................................................................................................... 6 Create a java filter for WCM url .................................................................................................................... 7 Conclusion about rich state........................................................................................................................... 9 Remove the context url /wps/portal............................................................................................................... 10 Create an apache reverse proxy.................................................................................................................. 10 Enable modules ........................................................................................................................................... 10 Configure Apache as reverse proxy............................................................................................................. 10 How it works................................................................................................................................................ 11 Routing rules............................................................................................................................................ 11 Payload management.............................................................................................................................. 12 Rewrite rule explanation ......................................................................................................................... 12 Proxy Pass and mod_substitute .............................................................................................................. 13 CONCLUSION ................................................................................................................................................... 13
  • 3. Enable SEO URL in WebSphere Portal Websphere Portal SEO Friendly URL Author:Michele Buccarello Page 2 Abstract In WebSphere Portal the concept around the URL are complex because are not simply URL but are RICH URL. Portal URL are structured in this way: Rich state is an xml that contain the portal state, this xml is gzipped and enconded with a modified base64 codec, the only way to decode the state in xml format is use the portal poc ( piece of content ) servlet. In this presentation http://www.socialbizug.org/files/app#/file/443ae822-48ad-40d1-b106-8750f0e79447 you could find all information about all concept around the WebSphere Portal URL, is important read this pdf to understand what you lose if a customer want full friendly SEO url and not partial like normal Portal url. What we do in this article? We want display Portal url without context and rich state, in other words : - From /wps/portal/home/shop/shoes/!ut/p/104_05dsffds90.. - To /home/shop/shoes What are the assumption we need to archive this goal? 1) Portal Page doesn’t have portlets that made a post to the same page or other page. 2) Portlet wiring attach rich state, don’t use it! 3) WCM url are cleaned with a WCM url filter, without it all WCM url have rich state. REMOVING THE RICH STATE FROM PORTAL AND WCM CONTENT In this step we configure portal to remove the rich state from Portal and WCM content. The basics of this operations are described in this wikis document: - http://www-01.ibm.com/support/knowledgecenter/SSHRKX_8.5.0/mp/admin- system/mp_friendly_short_url.dita?lang=en - http://www- 10.lotus.com/ldd/portalwiki.nsf/xpDocViewer.xsp?lookupName=IBM+Web+Content+Manager+8+P roduct+Documentation#action=openDocument&res_title=Example_2_Generate_a_friendly_URL_f or_web_content_wcm8&content=pdcontent
  • 4. Enable SEO URL in WebSphere Portal Websphere Portal SEO Friendly URL Author:Michele Buccarello Page 3 - http://www- 10.lotus.com/ldd/portalwiki.nsf/dx/Implementing_a_clean_URL_in_IBM_WebSphere_Portal_8- based_WCM_rendering Configuring portal for friendly url In the administrative console under resource environment provider click on WP ConfigService Click on custom properties
  • 5. Enable SEO URL in WebSphere Portal Websphere Portal SEO Friendly URL Author:Michele Buccarello Page 4 Click on button new… Add the property into the was
  • 6. Enable SEO URL in WebSphere Portal Websphere Portal SEO Friendly URL Author:Michele Buccarello Page 5 Click save Enable base url in theme In the Portal theme definition add the property <parameter name="com.ibm.portal.theme.hasBaseURL" type="string" update="set">true</parameter> add in the xmlaccess register script this parameter If you’re theme is already registered retrieve the unique name and run the xml access below <?xml version="1.0" encoding="UTF-8"?> <request xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="PortalConfig_8.5.0.xsd" type="update"> <portal action="locate"> <theme action="update" uniquename="com.ibm.portal.custom.theme.theme85" > <parameter name="com.ibm.portal.theme.hasBaseURL" type="string" update="set">true</parameter> </theme> </portal> </request>
  • 7. Enable SEO URL in WebSphere Portal Websphere Portal SEO Friendly URL Author:Michele Buccarello Page 6 Edit the navigation jsp In the navigation.jsp add keepNavigationalState="false" in the portal navigation tags, this particular property remove the rich state from the portal navigation URL. Search this string: - <a href="?uri=nm:oid:${nodeID}" Replace with this: - <portal-navigation:urlGeneration contentNode="${nodeID}" keepNavigationalState="false" allowRelativeURL="true"> <a href="<%wpsURL.write(out);%>" See the image below.
  • 8. Enable SEO URL in WebSphere Portal Websphere Portal SEO Friendly URL Author:Michele Buccarello Page 7 After the replaced string search the first “</a>” and replace it with </a></portal-navigation:urlGeneration>, see the image below. Create a java filter for WCM url Create new dynamic project with the same projectname and ear name like the image below.
  • 9. Enable SEO URL in WebSphere Portal Websphere Portal SEO Friendly URL Author:Michele Buccarello Page 8 In src package create a package named: - com.ibm.workplace.wcm.api.rewrite create into it two java class: - FriendlyUrlGenerationFilter.java - FriendlyUrlGenerationFilterFactory.java The functional sample content is located in this links: - http://www-10.lotus.com/ldd/portalwiki.nsf/dx/Example_2_Filter_class_wcm8 - http://www-10.lotus.com/ldd/portalwiki.nsf/dx/Example_2_Filter_factory_class_wcm8 Under the webcontent WEB-INF create the plugin.xml and write the information below: <?xml version="1.0" encoding="UTF-8"?> <plugin id="com.ibm.workplace.wcm.api.rewrite.plugin" name="URL generation filter" version="1.0.0" provider-name="IBM"> <extension point="com.ibm.workplace.wcm.api.ContentUrlGenerationFilter" id="UrlGenerationFilter"> <factory class="com.ibm.workplace.wcm.api.rewrite.FriendlyUrlGenerationFilterFactory" weight="4"/> </extension> </plugin> The structure must be like the image below. At this point you could install the ear in portal and set the startup behavior to a number upper than WCM ear startup number (normally 21 is a right number). We need to do this change to ensure the connections between WCM and the filter extension point.
  • 10. Enable SEO URL in WebSphere Portal Websphere Portal SEO Friendly URL Author:Michele Buccarello Page 9 Conclusion about rich state With this four step after e Portal restart we successful remove the rich state from all page that use the theme with the customized navigation jsp and from all WCM contents.
  • 11. Enable SEO URL in WebSphere Portal Websphere Portal SEO Friendly URL Author:Michele Buccarello Page 10 Remove the context url /wps/portal Websphere Portal for security reason have two area, one for anonymous users and one for authenticated users: - /wps/portal anonymous - /wps/myportal authenticated We remove the context root only for anonymous user to prevent security related problems. Create an apache reverse proxy To create an apache reverse proxy we a lot of way, personally I prefer opensuse because have a built in apache with a structured folders, in this guide http://en.opensuse.org/SDB:Apache_installation you could find all information about apache installation. After a successful installation we need to create a virtualhost as documented in the guide. Enable modules Apache 2.2 has a lot of built-in modules, opensuse by default don’t enable it when you do the first installation, to enable it you need to edit the file /etc/sysconfig/apache2 , inside it there is a variabile called APACHE_MODULES append to the end of this variabile this modules: - rewrite http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html - proxy http://httpd.apache.org/docs/2.2/mod/mod_proxy.html - proxy_http http://httpd.apache.org/docs/2.2/mod/mod_proxy_http.html - substitute http://httpd.apache.org/docs/2.2/mod/mod_substitute.html This modules are required to configure apache to act as a reverse proxy and manipulate http requests and payload. In the apache foundation site you could find all information for every modules. Configure Apache as reverse proxy Below the piece of configuration you need to configure routing and payload manipulation to the WebSphere Portal Installation request and response. # used for mantain old link in external forum and site and with a 301 redirect RewriteRule ^/holidays/old-link?$ /holidays/new-link [L,R=301] # this rewrite rule with proxy transparent use a regulare expresion to manage all context root different to the main route /wps/portal # the /wps escape all route to the servlets poc mypoc contenthandler mycontenthandler and all portlets # customThemeStatic and customThemeDynamic are the context root to my custom theme
  • 12. Enable SEO URL in WebSphere Portal Websphere Portal SEO Friendly URL Author:Michele Buccarello Page 11 RewriteCond %{REQUEST_URI} !/(wps/|customThemeStatic/|customThemeDynamic/) RewriteRule ^(.*)$ /wps/portal$1 [L,PT] #this rewrite masquerade the landing page and remove the path to it RewriteCond %{HTTP_HOST} ^www.example.it RewriteCond %{REQUEST_URI} ^(/)?$ RewriteRule ^(/)?$ /wps/portal/home [PT,NC] ProxyPass / http://www.example.it/ <Location / > ProxyPassReverse http://www.example.it/ #this output filter simly parse the HTTP payload and remove /wps/portal from it, finally add /wps/portal only to the html tag base url #this is required to the portal javascript framework AddOutputFilterByType SUBSTITUTE text/html # remove /wps/portal from the payload Substitute "s|/wps/portal||nfq" # add to the base url tag /wps/portal to prevent issue with the portal javascript framework Substitute "s|www.example.it|www.example.it/wps/portal|nfq" </Location> How it works In this area we explain how the solution it works. Routing rules To archive this result we divide all uri in two groups: - All uri different from “/wps/portal” - All uri that match “/wps/portal” In the first group there are: - all common servlet like poc (/wps/poc) , mypoc (/wps/mypoc) , contenthandler (/wps/contenthandler), mycontenthandler (/wps/mycontenthandler) - all authenticated portal uri (/wps/mycontenthandler) - all portlets (/wps/PA_* ) - all predeployed portlet (/custom_context_root) - all filters, OSGI plugin and so on (/custom_context_root)
  • 13. Enable SEO URL in WebSphere Portal Websphere Portal SEO Friendly URL Author:Michele Buccarello Page 12 In the second group we identify all uri that must be routed to /wps/portal. To identify this uri we must use a negative approach because with the mod_substitute we remove /wps/portal from the payload. With these assumptions we made all rewrite rule to setup the right routing. Payload management There are two possibile way to manage the payload: - Application server side with a servlet filter - HTTP Server side with HTTP Filter module We choose the second way because: - From apache 2.2 we have a built solution that provide an in memory payload rewrite with the mod_substitute. - Performance scalability, it is quite simple to install more HTTP server than install more WebSphere Portal installation. - A servlet filter interact with all HTTP request and response, portal have a set of built-in servlet filter, this means you must understand how to manage the servlet filter chain. - With a simple regular expression we could manage all routing request directly from the HTTP Server. Rewrite rule explanation This rewrite url match with a negative condition all http request that must be routed to /wps/portal RewriteCond %{REQUEST_URI} !/(wps/|customThemeStatic/|customThemeDynamic/) RewriteRule ^(.*)$ /wps/portal$1 [L,PT] This rewrite rule masquerade the homepage url RewriteCond %{HTTP_HOST} ^www.example.it RewriteCond %{REQUEST_URI} ^(/)?$ RewriteRule ^(/)?$ /wps/portal/home [PT,NC]
  • 14. Enable SEO URL in WebSphere Portal Websphere Portal SEO Friendly URL Author:Michele Buccarello Page 13 Proxy Pass and mod_substitute All HTTP request skipped in the first rewrite rule are routed with the proxy pass directive ProxyPass / http://www.example.it/ All response are manage inside the <location /> tag, inside this you could see the substitute that rewrite the payload. <Location / > ProxyPassReverse http://www.example.it/ AddOutputFilterByType SUBSTITUTE text/html Substitute "s|/wps/portal||nfq" Substitute "s|www.example.it|www.example.it/wps/portal|nfq" </Location> CONCLUSION In this article you have a way and set of rules to implement SEO url in portal, but remember what we say in the abstract, the /wps/portal don’t affect the SEO ranking of the site.