[
https://issues.apache.org/jira/browse/OFBIZ-5312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13940403#comment-13940403
]
Paul Piper commented on OFBIZ-5312:
-----------------------------------
Hi Sebastian,
you can ignore the part about the META-Data and such. Though it is correct, all
options on HTML-Templates for that which isn't being looked at here.
As described above the task itself focus only on a subpart of onpage
optimziation efforts, namely:
* Removal of /control out of all the urls
* SEO-friendly URLS
* Configurable product/category and other URLs
* Frontpage mapping from /main to /
There are other things you can do to optimize your pages, but they are out of
scope here, because the most-prominent ones rely on you actively changing your
content. To fix the above you have to work with the OFBiz Request-Flow and
predominantly the Controlservlet. From a technical perspective there is no easy
way to get around the overall OFBiz structure, so the Controlservlet (/control)
cannot be removed easily.
There are four way, that I can think of, to achieve our goal
1) Implement Transforms, Sample Configuration, Servlets & Filters to generate
and handle new URLS as defined (handled by this ticket)
2) Make use of the CMS functionality to generate custom URLs and map to each
product/category/page accordingly (described by Anil)
3) Rework the Servlet-Structure entirely and rely on Filters & Transforms to
remove the current dependency (more effort - not in focus). Store URLs in new
Entity, Implement Filters to validate URLs and redirect on partial matches
I created the following map of pros and cons for you to visualize it a bit
further:
|| || Transforms, Filters & Servlets || Use of CMS || Controlservlet
replacement ||
| Method | * Implementation of Transforms to generate new URLs.
* Implementation of Filters to Validate Request URls and forward internally
* Configuration-File Implementation to allow custom "logic" to set automatic
URL generation | * Reuse Database Structure.
* Add new Page to each Product & Category
* Ignore /control until checkout | * Rework Servlet Structure & Remove
Controlservlet or rely on Filters where the controlservlet is never called
directly
* Store all URLs in a database
* Match every request to Database, forward accordingly|
| Pros | * No Changes on Controlservlet necessary
* Very versatile and configurable by User
* Works automatically for Categories
* Works automatically for Products
* Very lightweight
* Replaces /control/main |* Works OOTB (no changes necessary) | * Fixes
duplicate content
* May simplify OFBiz Request-Architecture
* Fixes /control/ problem for good|
| Cons | * Potentially duplicate content
* Doesn't "fix" partial matches
* No historisation of former URLs | * Potentially duplicate content
* Doesn't "fix" partial matches
* No historisation of former URLs
* No automatic generation of URLs for Products
* No automatic generation of URLs for Categories
* Increases DB (Database entries)
* Requires additional manual work for all entries --> potentially risky when
used by non-tech people | * Very difficult to implement
* May not be compatible with setup at all
* Hard-Changes to code necessary
* Currently not available |
> 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)