Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

This question is actually three questions, but since they are all related to each other, they should stay in the same question.

First, should I allow a user to change the url of a already created page?

I've been working with Drupal, and Drupal allows the user to change the url, but if someone has that page bookmarked, it redirects to a 404 page, so there is no mechanism in place to accommodate the url changing.

Second, if I allow the url to change, should I deploy any kind of mechanism to redirect automatically in case an old url is used?

And third: Let's say for example I have the following structure on a site, with the following pretty urls:

  1. /page-1
    • /page-1/page-2
    • /page-1/page-3

When I change the url of page-1 to for example: products, should all child pages change their urls to accommodate the parent page change?

share|improve this question
add comment

3 Answers

up vote 3 down vote accepted
First, should I allow a user to change the url of a already created page?

I think this has some business interest in it, so if there is no conflict there, why shouldn't the user be able to change the URL of the page? What if they make an error?

Second, if I allow the url to change, should I deploy any kind of mechanism to redirect automatically in case an old url is used?

Absolutely! In the case of Drupal, I'd write a plugin of sorts that intercepts node requests and redirects them to the correct page. You could also build in a mechanism that makes "redirections" happen automatically when the page name is altered. I'm not entirely familiar with Drupal's codebase, but any MVC-style architecture should be able to do this easily.

And third: Let's say for example I have the following structure on a site, with the following pretty urls:

/page-1
/page-1/page-2
/page-1/page-3
When I change the url of page-1 to for example: products, should all child pages change their urls to accommodate the parent page change?

There are a lot of ways to potentially handle this issue. If you use the advice above, they should be able to get you to the same page even if the name changes - but for consistency, you might want to consider some sort of script that checks internal links against the list of dead pages you're accumulating. If it finds page-1 in there, maybe it could just change it to the new name products. Have it run nightly or something.

Just make the process as easy (and transparent) for the user as possible and I think they'll be very receptive to it.

share|improve this answer
2  
The Pathauto (drupal.org/project/pathauto) and Path redirect (drupal.org/project/path_redirect) modules allow for this kind of scenario. Very useful. –  TomvB Oct 19 '11 at 7:47
    
I'm going to solve the problem, with two solutions, first an history is going to be kept for every url that changes, and I'm going to update all child's to the new path.. The problem I had, was updating the urls in HTML editor's ( internal links ), but I'm not going to update those, those, will be redirected automatically, that way I have the best of both worlds, and of course, the user is not going to notice what happens, because it's transparent for him. Thanks. –  Tio Oct 19 '11 at 19:28
add comment

I'll make it short: Yes, they should. Just be sure to use 301 redirections from the old URLs.

share|improve this answer
    
I'm not sure, but I don't think you'd need an actual 301 in Drupal - the page shouldn't even render the redirect, but serve as an alias for the other node. Either way, it is the right notion. –  Nic Oct 19 '11 at 14:36
1  
301 doesn't render any page, it's a http status code. And for SEO reasons it's important to use 301 (tells google that it's the same page). –  Phil Oct 19 '11 at 14:46
add comment

URL changes are bad when they break links. Links keep themselves alive for way longer than most people think, and so loosing an inbound link to your site is very bad for both SEO and UX.

Yes, redirects are a possible solution, but then you need to maintain a history of all the changes, which isn't exactly a nice solution.

I would suggest a URL scheme like the one that StackExchange uses for pages who may have their name changed. Namely

ux.stackexchange.com/questions/question-id/this-is-the-name-of-the-page

That way the question-id never changes and the name can change as often as you like, as the web server simply ignores the name and only uses the question-id.

share|improve this answer
    
Yes, but the complete URL is still changing; both from the user point of view and from SEO point of view, it will be a new, unrelated URL. –  Erion Oct 19 '11 at 17:38
    
@JohnGB, using the URL scheme like StackExchange doesn't really work that well for me, since all my pages are hierarchically defined. That way, the urls would be like this: /123/products/4/category/2/product.. doesn't look good to me.. –  Tio Oct 19 '11 at 19:26
    
The complete URL isn't changing from the user and SEO point of view, as if a link or bookmark leads to the /12345/old-long-fancy-name will work for the user and redirect to /12345/new-long-fancy-name, which SEO will understand as related. –  Peteris Mar 27 at 14:45
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.