Subdomain vs. Subdirectory
Better blog.mydomain.com or mydomain.com/blog? Good question! If got asked this question again via Twitter on the weekend so therefore I decide to share my experiences:
Choose a subdomain, if….
- You plan to offer “different services” which are “logical separated” on one domain
- You are able to influence the subdomains without much effort
If you choose to use subdirectories it is much more difficult to age these services. It is easier to create a CNAME entry and with that for example blog.mydomain.com leads to Tumblr Blog and not to a machine. Also it is possible to run the different sites on several machines (without Loadbalancer and so on).
Choose a subdirectory, if….
- You aren’t able to influent the subdomains (for example the whole applications-stack is installed at the customer but you don’t want the admin to unnecessary implement DNS-Settings
- The Application-Intern or the site is too small to create an own WebApp (like an Impressum for example)
What does Google think about this?
Here is a statement from a Google employee on YouTube.
And what about Stackoverflow?
I really like this answer:
Pro’s for subdomains:
· You can isolate configuration (for for example apache) per-domain.
· It will be easier to migrate parts of your application to other machines. Sub-directories won’t really give you this flexibility.
· Instead of having to use a $baseUri variable in every html template, you can just assume the root of the app is always /.
· It will be much more annoying to quickly setup staging or temporary development environments. For every ‘app’ you will now need DNS of hosts-file entries and webserver configuration. With subdirectories you could drop the app in a directory, and go!
· If you do ever have the requirement to deploy your application on a different system where using / is because of some odd policy not possible, some rewriting might be in order.
Make sure you can always do both, which will give you the best of both worlds. Every part of your app should have a configurable base uri that is always respected. As long as you make sure you can always go both ways, then who cares what you do? it’s just a url and it can always be changed.
But aren’t you using code-inside.de/blog yourself?
Well – when I created this blog some years ago I just didn’t know it better. The problem with a change would be that the old Links still have to work and I’m not sure how Google would take the news.
Therefore: think about this before you start