They are all important: Language - If you can't talk well then at some point they are not going to understand you and this will probally be shown in the final work. Past work quality - You want to have some idea of what your going to get from them. Price - You normally pay for what you get, if its cheap it will probally be a cheap job, also be fair if you can pay more and they have done a job, pay them a bit more. Geographic Location - Important if your planning on talking to them while they are doing the work, no point if your awake and they are asleep, but at the same time they can have all work done for when your back. Payment Terms - If they won't accept decent terms, Run! Attitude/Friendliness - Same as Language really, why work with someone you can't communicate with? Testimonials/References/Reviews - Referances are good, but Past work is more important as they could be the persons mate... Quality of their website - Not that important you buying the service not the site, they might not even have one. Volume of past work (how large portfolio is) - Quality not Quantity! Their name - Who cares?