Tagging is, at its core purpose, a taxonomy for getting questions seen and found. For that reason, I would pretty much always tag a question with the primary programming language involved, even if it doesn't seem like the language or code is directly at fault with the issue you are experiencing particularly if you have code to post, and if the solution you seek will involve code in that language. The reason for this is simple: Lots of experts subscribe to or have those tags in their "Interesting tags" lists, which means your question will be promoted and highlighted on the homepage for those users.
If you tag a question that involves PHP code with php, I will read it, as will a number of others regularly lurking in that tag, and someone is likely to have some insight into it. An even better taxonomy would use two popular tags, because the intersection of those two tags may target users on the site with particular expertise in that specific area. In your Facebook question for example, both php and facebook are big popular tags, and there's a strong likelihood that someone knowledgeable is observing both.
Don't feel like you need to fill up the five allotted tags, however. Tags are not as useful when they are overly specific, for the simple reason that there's unlikely to be a lot of users following them. For example, I spend a lot of time in sql and mysql. It's pretty common there to see a question tagged like sql select where. The specific tags add little here, and could be done without.
If you are concerned as to whether or not you should be adding a more narrowly specialized tag, look over some other questions using that tag already, to see if they are really benefiting from its presence. If the questions really seem to have something in common, then the tag has done its job. If they have nothing in common, then the tag is useless.
I would add finally that the community active in any given tag will probably be the best judge for the tag's suitability on a question. If you "over-tag", someone can and probably will remove the unnecessary tags.