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
Example:
Blog.mydomain.com
Shop.mydomain.com
Forum.mydomain.com
Why?
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 /.
Cons:
· 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.
My advice:
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.