16 April 2013 CI Team

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.