[opencms-dev] Very big problems with Detail Page
gnorrus at libero.it
gnorrus at libero.it
Sun Aug 5 13:23:33 CEST 2012
Hi
I wrote some days ago about some problems in detail page system. These
problems are:
1. The url of a resource has first letter uppercase
2. We can't rename detail page in something different from "index.html"
3 If you have a page with a list of resources that have different categories,
you can't have a distinct detail page for news of those categories (see later
for explanation)
4. It's not possible to "personalize" the containers of the detail page for
every resource. Think about a "news" resource. When you are in the detail of a
resource, probably you need to add something in some container to personalize
that news. If you drag & drop something in a container of a detail page, ALL
resource of type news that use that detail page will have it.
These are the solutions I found for some points:
-----------------------------------------------------------------
1. Add a new field to your structured contents and map it to url. In this
field editors can add a "SEO" name url, for example "title-of-the-news". This
solution solve also another big problem. Try to write a news whose title
contains carachters like é, ì, à, ò. Opencms automatically removes those
letters from the url, and this is not good. Think about a resource of type
"Product". Every product has it's own name and it's name can contains also
those letters. If those letters are removed the name of the product in the url
is no more the real one, and this is very bad for SEO.
2. No solution yet. The detail page must be always named "index.html"
3. Think about a site structure like this:
products
|-TypeA
|--TypeA1
|--TypeA2
|--TypeA3
|-TypeB
|--TypeB1
|--TypeB2
|--TypeB3
You need to use categories when you create products contents. But if I need a
page that lists all products, the better place to create it is inside
"products" folder. Here I can use "allInSubTree" collector to display them. And
then I have to set the detail page. I must place it inside "products" folder
(with name "index.html". so the list page can't be named "index.html"...), so
the url of all products will be: /products/Product1/, /products/Product2/,
/products/Product3/ etc...As Product1 has category "TypeA", I need to have a
url like /products/TypeA/Product1/...this is not possibile because the url of
detail page doesn't consider the "category" of the resource.
Then I need also a detail page inside "TypeA" folder, and I need to display
ONLY product of typeA. I can do that using "allKeyValuePairFiltered" collector
(that filters through categories), but If I use the detail page inside
"products" folder, also these products will have the same urls, but it's not
correct because for these products I need a url like /products/TypeA/Product1/,
/products/TypeA/Product2/, /products/TypeA/Product3/.
So I have to create another detail page inside "/products/TypeA/" folder,
used only by products of typeA. But the problem in this case is that we have
the same product with 2 different urls (/products/Product1/ and
/products/TypeA/Product1/) and this is not good for SEO. Alex suggested to have
different detail pages and then put exclusions inside robots.txt in order to
avoid the same content be indexed more than once. But in my case, what I have
to place inside robots? I don't know what will be the url of a resource, so I
can't exclude a single page. And I can't exclude the entire folder "products"
only because inside it i have a detail page.
4. The solution is to place another field inside xsd. So if you want to add,
for example, a banner for a certain news, you have to add a field to the xsd.
You can't drag & drop it. But this field naturally can't be palce inside a
container.
Now one of the biggest problem with detail page:
------------------------------------------------------------------
If you have a multilingual site with different folders like "/en/", "/de/",
"/fr/", you will have probably the same resources inside them, for example
"/en/news/", "/de/news/", "/fr/news/" where you probably have a list of news.
These news will have a detail page, and these pages will list the news in
different language, depending on the position of the user. The news title will
be different for every language. This is also the example of the default site
after installing opencms 8. See "flower-en" and "flower-de" folders.
The problem is that if the Title of the resource (mapped in the xsd to url) is
the same for 2 or more languages, Opencms automatically add "-0001", "-0002",
"-0003" to the other resources with the same title! Try yourself in the default
site. Set the same title to the same news for english and for german. You will
see that the url of the first one is correct, but the url of the second one
will be like the first but plus "-0001". This is not good for SEO. For a
content like "news" maybe you will never have the same title for different
languages. But think about a content like "Product", where name is the same for
all locales. I don't understand why Opencms do that because the complete path
of that resources is different for every language ("/en/news/Title-of-the-news-
written-in-english", "/de/news/Title-of-the-news-written-in-german",
"/fr/news/Title-of-the-news-written-in-french". This is a very big problem.
Other problems:
- With collector "allKeyValuePairFiltered", the "+" for creating a new
resource is not displayed
Can you help me please?
These problems should make me think to use a different product
Thanks
More information about the opencms-dev
mailing list