Once again. The URLS of wicket application that need to be crawled are
bookmarkable pages (urls like app?bookmarkablePage=foo.bar.pageClass).
Bookmarkable pages have only one parameter. So they are already crawler
friendly.
All other (app?component=, app?path=, etc) should not be crawled at all,
because they lead to session relative pages.
So the only thing to take care of is removing jsessionid form the middle
of the url and placing them as parameter to url tail.
-Matej
Gili wrote:
URL rewriting seems like a decent option so long as you recall that
Google limits you to two parameters. This means the problem now becomes
rewriting Wicket URLs to be "crawler-friendly" with one or two
parameters :)
Gili
Eelco Hillenius wrote:
Gili wrote:
http://www.google.com/webmasters/guidelines.html
Note that requiring cookies might prevent the crawler from indexing
your pages.
This is further discussed here:
http://www.searchengineguide.com/whalen/2004/0210_jw1.html and
http://www.optimizekit.com/kb/categories/Do's-and-Dont's/
Major points here: crawlers will absolutely refuse to index pages
with cookies or jsessionids.
If I had a choice between decent back support versus getting indexed
by Google, I'd choose the latter :) Hopefully we can do both.
I take your point seriously, but as stated before, we just can't do
that. There are break out's though, the easiest one to do url
rewriting. This is from the site you sent a link to above:
<quote>
One way to circumvent this difficulty is to create static versions of
your site's dynamic pages for search engines to crawl. Unfortunately,
duplicating your pages is a huge amount of extra work and a constant
maintenance chore, plus the resulting pages are never quite up-to-date
— all the headaches dynamic pages were designed to eliminate. A far
better strategy is to follow the lead of Amazon and rewrite your
dynamic URLs in a syntax that search engines will gladly crawl.
*URLs that look like this: *
amazon.com/store?shop=cd&sku= B00004WFIZ&ref=p_ir_m&sessionID=
107-6571839-6268523
*/become:/*
amazon.com/exec/obidos/ASIN/ref=
B00004WFIZ/ref=pd_ir_m/107-6571839-6268523
</quote>
You could do either the rewrite (the easiest) or create static pages
from your dynamic content now.
Another thing I'd like to note here is that Wicket doesn't force you
to use cookies. Wicket does all the encoding for you, where's when
working with e.g. plain JSP's or model 2 frameworks, it is a common
thing to forget to encode all links. And if you forget it, it means
your browser has to fall back on cookies, or that - in case you
configured your servlet engine to not use cookies - it fails. I've
seen this go wrong (developers forgetting it) in /every/
webapplication I know of, allways resulting in complaints that the
webapp didn't work for some people (that is the people that turned of
cookies) after it was put in production.
Eelco
Gili
Eelco Hillenius wrote:
Nope, we do need a session for everything except a trivial page (and
from the framework to figure out whether the page is 'trivial' that
would involve some major hacking). EVERYTHING that can trigger a
'postback', be it forms, links or whatever, needs that page to be in
the session.
It might be a feature request for our next version (1.2 that is)
when we tackle the whole stateless page thing (if we ever tackle
that succesfully, as currently the disadvantages seem to be greater
than the very few advantages it would get you... but that's another
discussion for some other time). But for 1.0.1/ 1.1, we can't change
it.
Eelco
Gili wrote:
First, I like the new setPageAlias() functionality :)
I still don't understand however why one needs to store the Page
component ID on the session (at least for bookmarkable pages the
first time they are hit). Also, Eelco previously mentioned that
jsessionid is only showing up because we're creating a session. My
point is, we *shouldn't* be creating a session for bookmarkable
pages unless for example the page contains a form, and someone
submits it. We should be creating session on-demand, not right
away. Maybe once I understand more about why we need path=X, this
will make more sense.
Thanks,
Gili
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Wicket-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-develop
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Wicket-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-develop
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_idt77&alloc_id492&op=click
_______________________________________________
Wicket-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-develop