Here is the summary of the contents of the website:
- There is a single page for every business per country.
- Every single page is available in different languages.
- There are users that can log in to review said businesses.
- Businesses are created and managed by the admins, not users.
- Users have profile pages.
- Our website has about, contact, and blog pages.
- Two businesses will not have the same name in one country.
- Selling point of the website is the businesses.
Basically, we need anything after the domain url to be available for businesses:
website.com/mcdonalds website.com/mercedes website.com/toyota website.com/about website.com/users
users would be legitimate business names, not our own pages.
We need to structure the url in a way so that businesses would be able to advertise their pages as
website.com/businessname just like on Twitter and Facebook. If it was the only business with such name in the database, then it would simply redirect to that business and show its page (say if it was in canada):
website.com/ca/businessname. If there were more than one business with the same name, it would redirect to the business located in the user's country and ask to confirm if the user wanted said business of that location, otherwise, it would present the user with a list of businesses with the same name in different countries. If the user's location could not be found, then the user would immediately be presented with a list of businesses of the same name in several countries.
Our own webpages would be like so:
about.website.com/company about.website.com/press about.website.com/blog
Users would be like so:
users.website.com/johndoe users.website.com/janedoe users.website.com/login <<login page
For the login, we'll also have
website.com/login automatically redirect to
users.website.com/login until a business named
login will exist. Then, it would go to the business page, but ask "did you mean to go to the login page?" subtly if the user accessed it directly through the url.
With multilingual pages, the urls would be like so:
Would it be bad or "ugly" to have nested subdomains? What would be a good alternative for making the urls show the languages in a good way?
Obviously this whole debacle would be solved if the urls were to simply be structured like so:
fr.website.com/ca/toyota en.website.com/us/toyota en.website.com/users/johndoe en.website.com/login en.website.com/about en.website.com/press en.website.com/blog
The problem would be that when users put their urls next to other social media it would be like so (it will be in a subdirectory unlike the others):
facebook.com/toyota_ca twitter.com/ca_toyota website.com/ca/toyota
Also without the
users subdomain, we would have to take away
blog from the business names.
Research done on famous websites shows that Facebook and Twitter simply don't allow users to register "login". They took away a couple of the pages they wanted to have for themselves. Also, Twitter uses GET variables for their languages, which is not good practice.
I apologize for the messy question. Feel free to edit to make the question better: What should we do? What would be the best option to go with in terms of structure?