I'm really grateful for this conversation, as I've been wondering the
same question for a while now.

Martin writes:

> So far I didn't hear a good explanation why the page id causes you
> troubles. Most of you are saying "it is ugly". 

Well it is kind of ugly. It is far less ugly than the 1.4-style
"?wicket:interface=:1::::" URLs though. And after reading your and
Igor's explanation, I understand better now why it's done this way, so
thank you for that.

As for why it causes troubles: I've done a handful of wicket projects
for different clients in the past year, and I get asked about this by
the project owners *every* *single* *time*. 

For projects where users log in, create accounts, etc, the
stakeholders are generally willing to accept the URL param (though
they grumble a little bit).

But for projects where a significant portion of the app's
functionality is exposed to "drive by" users, stakeholders won't
typically compromise on the URL structure. Some of their concerns come
down to simple aesthetics. But a common objection is "it's hurting our
SEO". The stated SEO concerns are that:

A. page request results in a 302
B. search engines don't like to index urls with query params (probably
apocryphal, or at least no longer true)
C. page analytics- you now need to normalize URLs against the "?N"

Some (perhaps all?) of the SEO issues might be addressable by link
rel="canonical"; I haven't tested it yet against 1.5.

> Case 3 is what the bots and not logged in users should see. Bots
> don't use sessions so don't let them go in the stateful area of your
> app.

If I understand correctly, this means no Ajax components at all on
"not logged in" pages. For a lot of sites that just plain won't
work. Please correct me if I have misunderstood something.

I have a 1.4 project whose migration to 1.5 has been on hold for a
while, in part due to the URL changes we'll have to make. I'm weighing
the benefits of this NoVersionMount that was proposed to see what
potential side effects it might have. So far it looks like it will
cause loss of Ajax state if the user reloads the page or hits the back
button, but no different from what currently happens in 1.4. I think
that's probably a reasonable tradeoff for some apps, as long as you're
aware of it. One issue (raised elsewhere on this list recently) is how
to use NoVersionMount with the home page, since it's not explicitly
mounted in WicketApplication.

View this message in context: 
Sent from the Users forum mailing list archive at Nabble.com.

To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to