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
about
and 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:
Businesses: en.website.com/mcdonalds
Our Pages: en.about.website.com/company
Users: en.users.website.com/johndoe
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 login
, about
, and 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?