ofbiz-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anil K Patel (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (OFBIZ-5312) Proposal: URL-Generation Changes (mostly for SEO reasons but not only)
Date Wed, 19 Mar 2014 00:06:44 GMT

    [ https://issues.apache.org/jira/browse/OFBIZ-5312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13939978#comment-13939978
] 

Anil K Patel edited comment on OFBIZ-5312 at 3/19/14 12:04 AM:
---------------------------------------------------------------

SEO is not just about URL, it also includes setting up Meta data for the webpage, keeping
URL alive after product is discontinued etc. This is why using OFBiz CMS is better then trying
to just generate SEO friendly URL. 

A document you can refer to: https://cwiki.apache.org/confluence/display/OFBIZ/OFBiz+Content+Management+How+to

Step 1: in this direction is to learn How to setup CMS managed webpage using OFBiz CMS. A
good example to learn it is to study code in cmssite application.

Step 2: Study Website, WebsiteContent, WebsitePathAlias entity, Study code in org.ofbiz.content.cms.CmsEvents,
observe when following controller entry in ecommerce component gets called
   <request-map uri="cms">
        <event type="java" path="org.ofbiz.content.cms.CmsEvents" invoke="cms"/>
        <response name="success" type="none"/>
        <response name="error" type="view" value="error"/>
    </request-map>
 
After going through all this code you will be able to setup Content as webpage, associate
it with Website and setup WebsitePathAlias for the content. Here is example from my test data,


<WebSite webSiteId="WebStore" siteName="HWM Shop Demo" productStoreId="9000" allowProductStoreChange="N"/>
<Content contentId="FIRST_EDITION" contentTypeId="WEB_SITE_PUB_PT" contentName="Webstore
Site Publish Point" description="Root publish point for shopdemo website" statusId="CTNT_PUBLISHED"/>
<WebSiteContent webSiteId="WebStore" contentId="FIRST_EDITION" webSiteContentTypeId="PUBLISH_POINT"
fromDate="2001-01-01 00:00:00"/>
<Content contentId="PRODUCT_WEB_PAGE" contentTypeId="DOCUMENT" contentName="Product Web
Page" decoratorContentId="PRODUCT_PAGE_DEC" statusId="CTNT_PUBLISHED"/>
<WebSiteContent webSiteId="WebStore" contentId="PRODUCT_WEB_PAGE" webSiteContentTypeId="PRODUCT_PAGE"
fromDate="2001-01-01 00:00:00"/>
<ContentAssoc contentId="FIRST_EDITION" contentIdTo="PRODUCT_WEB_PAGE" contentAssocTypeId="SUB_CONTENT"
fromDate="2001-01-01 00:00:00"/>
<ProductContent productId="SUN_HAT" contentId="PRODUCT_WEB_PAGE" productContentTypeId="WEB_PAGE"
fromDate="2012-01-11 12:00:00.0"/>

<WebSitePathAlias webSiteId="WebStore" pathAlias="Sun-Hat-Content-Page" contentId="PRODUCT_WEB_PAGE"/>

The above webpage can be accessed with following URL,
https://locahost/Sun-Hat-Content-Page

If you setup website/webpage using OFBiz cms then, there is no need of CatalogUrlFilter. Like
code in this Jira ticket, all the code related to CatalogUrlFilter is not needed and should
be removed from OFBiz.

Many thanks to Jacopo and Scott for helping me learn OFBiz CMS.


was (Author: anilpatel):
SEO is not just about URL, it also includes setting up Meta data for the webpage, keeping
URL alive after product is discontinued etc. This is why using OFBiz CMS is better then trying
to just generate SEO friendly URL. 

Step 1: in this direction is to learn How to setup CMS managed webpage using OFBiz CMS. A
good example to learn it is to study code in cmssite application.

Step 2: Study Website, WebsiteContent, WebsitePathAlias entity, Study code in org.ofbiz.content.cms.CmsEvents,
observe when following controller entry in ecommerce component gets called
   <request-map uri="cms">
        <event type="java" path="org.ofbiz.content.cms.CmsEvents" invoke="cms"/>
        <response name="success" type="none"/>
        <response name="error" type="view" value="error"/>
    </request-map>
 
After going through all this code you will be able to setup Content as webpage, associate
it with Website and setup WebsitePathAlias for the content. Here is example from my test data,


<WebSite webSiteId="WebStore" siteName="HWM Shop Demo" productStoreId="9000" allowProductStoreChange="N"/>
<Content contentId="FIRST_EDITION" contentTypeId="WEB_SITE_PUB_PT" contentName="Webstore
Site Publish Point" description="Root publish point for shopdemo website" statusId="CTNT_PUBLISHED"/>
<WebSiteContent webSiteId="WebStore" contentId="FIRST_EDITION" webSiteContentTypeId="PUBLISH_POINT"
fromDate="2001-01-01 00:00:00"/>
<Content contentId="PRODUCT_WEB_PAGE" contentTypeId="DOCUMENT" contentName="Product Web
Page" decoratorContentId="PRODUCT_PAGE_DEC" statusId="CTNT_PUBLISHED"/>
<WebSiteContent webSiteId="WebStore" contentId="PRODUCT_WEB_PAGE" webSiteContentTypeId="PRODUCT_PAGE"
fromDate="2001-01-01 00:00:00"/>
<ContentAssoc contentId="FIRST_EDITION" contentIdTo="PRODUCT_WEB_PAGE" contentAssocTypeId="SUB_CONTENT"
fromDate="2001-01-01 00:00:00"/>
<ProductContent productId="SUN_HAT" contentId="PRODUCT_WEB_PAGE" productContentTypeId="WEB_PAGE"
fromDate="2012-01-11 12:00:00.0"/>

<WebSitePathAlias webSiteId="WebStore" pathAlias="Sun-Hat-Content-Page" contentId="PRODUCT_WEB_PAGE"/>

The above webpage can be accessed with following URL,
https://locahost/Sun-Hat-Content-Page

If you setup website/webpage using OFBiz cms then, there is no need of CatalogUrlFilter. Like
code in this Jira ticket, all the code related to CatalogUrlFilter is not needed and should
be removed from OFBiz.

Many thanks to Jacopo and Scott for helping me learn OFBiz CMS.

> Proposal: URL-Generation Changes (mostly for SEO reasons but not only)
> ----------------------------------------------------------------------
>
>                 Key: OFBIZ-5312
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-5312
>             Project: OFBiz
>          Issue Type: New Feature
>          Components: specialpurpose/ecommerce
>    Affects Versions: SVN trunk
>            Reporter: Jacques Le Roux
>            Assignee: Jacques Le Roux
>            Priority: Minor
>              Labels: changes, ecommerce, friendly, seo, url
>             Fix For: SVN trunk
>
>         Attachments: OFBIZ-5312 - ofbiz-ecommerce-seo.patch, OFBIZ-5312 - ofbiz-ecommerce-seo.patch,
OFBIZ-5312 - ofbiz-ecommerce-seo.patch, OFBIZ-5312 - ofbiz-ecommerce-seo.patch, OFBIZ-5312
- ofbiz-ecommerce-seo.patch, OFBIZ-5312 - ofbiz-ecommerce-seo.patch, OFBIZ-5312 - ofbiz-ecommerce-seo.patch,
OFBIZ-5312 - ofbiz-ecommerce-seo.patch, OFBIZ-5312 - ofbiz-ecommerce-seo.patch, OFBIZ-5312
- ofbiz-ecommerce-seo.patch, OFBIZ-5312 - ofbiz-ecommerce-seo.patch, OFBIZ-5312 - ofbiz-ecommerce-seo.patch,
OFBiz-5312-product-ecommerce-seo-20131031.patch, OFBiz-5312-product-ecommerce-seo-for-seo-branch.patch,
OFBiz-5312-product-ecommerce-seo.patch, SeoContextFilter.java.patch
>
>
> [This was proposed by Paul Piper in Nabble 7 months ago|http://ofbiz.135035.n4.nabble.com/Proposal-URL-Generation-Changes-td4639289.html].
Here is quoted Paul's proposal
> {quote}
> Hey Everyone,
> over at ilscipio (www.ilscipio.com) we developed a set of functional OFBiz changes that
we believe the entire community could benefit from. The changes have been implemented in parts
in Syracus (www.syracus.net) for a while now, but we figured that some of which are too crucial
for ofbiz' success in the long run, so we are considering the contribution (as we did with
the SOLR component).
> As you are probably aware, OFBiz has a pretty uncommon way of generating URLs. Most of
this has to do with the fact that OFBiz uses a servlet (ControlServlet)  to handle all requests.
The servlet is mounted at /control, so that it won't interfere with other servlets. Though
functionally valid, this has the sideeffect that all urls are actually created on /control,
which is neither pretty, nor good by any measures of SEO. It also means that a few 302 redirects
are necessary to forward the user from / to /control/main. It also makes requests more complicated,
since many forwards are necessary whenever somebody wants to move away from this implementation.
> Since this is hurtful to many of the implementers, I wanted to discuss whether or not
you guys would be interested in the changes we have made. The functional changes contain:
> * Removal of /control out of all the urls
> * SEO-friendly URLS
> * Configurable product/category and other URLs
> * Frontpage mapping from /main to /
> It was tested on our end and contains all necessary improvements (Transforms, Sample
Configuration, Servlets & Filters) for it to be applicable.
> If interested, I would create a new JIRA ticket for this and after a few minor internal
discussions, we will gladly provide the rest of you with it.
> Regards,
> Paul 
> {quote}
> There is even a patch, mostly done by Jinghai Shi, that I attach here. Even if it has
been already used in [Syracus|http://syracus.net/] since early this year, some help would
be needed to test it thoroughly in OFBiz.
> Then we should discuss if it's the way to go. I believe it is. Who needs a /control/
or /main by default in ecommerce urls? Would you not prefer http://localhost:8080/ecommerce/
over http://localhost:8080/ecommerce/control/main ?



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message