As for the countries, I personally would've go with eastern Europe (that means slavics like Russians/Ukrainians/Belarusians) or, suddenly, Vietnam. Just check their profiles carefully, and you may want to do initial first screening by skype video / or at least audio to filter out pretenders.
Most probably you'll want two distinct positions for CSS and PHP developers.
Also I would've advise you hire me (obviously, because I Am The Best One) but I never do PHP, not anymore.
It's not clear how devastating your situation really is. Using Wordpress and agency 'freelancers' (they're maybe not and sit in the office) adds devastation of course, but it is possible that right PHP guy and right CSS guy will save your project, then you can gradually move it from Wordpress (if it is necessary; ask a programmer advice) later.
Thing is finding a good programmer who will take a Wordpress project is tricky so you may want to sweep it under the carpet rephrasing your job post like 'I want this thing and this thing; it's currently Wordpress but I'll listen any of your advice about the platform' (hint: Laravel and Symphony aren't the bad ones, but again, it depends on your objectives)
I didn't want to make a big deal about this, but Igor is right about what he is saying.
I was being succinct when I mentioned Ukrainian engineers/network technicians. They're also great programmers all around. And Russians and Belarussians are great for this, too.
Truth is, you can find great programmers and engineers from every country, but Ukraine and Russia simply come to my mind first. (And these countries come to the minds of many other people as well.)
Now the downside of this is that many technologically advanced viruses and identity theft programming also comes from Ukrainian and Russian programmers. They are doing high-quality work on both sides of the law. :-)
I can see that most of the things already are covered in this post. I just wanted to add a quick point. If you are giving someone direct access to your server or even your website, it will be good to have a full back up of your website on some other server or at your own system so that you do not have to spend time repairing any damage(Like in your case). Although most hosting companies provide automated backups nowadays, it is still better to take one of your own.
PS: Check with your hosting provider if you have any automated backups enabled that you can use to restore the new damage done by your freelancer.
I find it interesting to note some of the different ideas about hourly and fixed rate jobs that people (including Igor and Dianne) have expressed in this thread.
They have provided a lot of good advice.
There are a number of different preferences among oDesk contractors. In the end I agree with the sentiments expressed that regardless of whether you use fixed rate or hourly contracts, it is best to start with small jobs and get a feel for things with an individual contractor, and don't be afraid to end amicably things with only a small amount of test work being done if that's not a good fit.
Personally I do both fixed rate and hourly jobs. My standard operating procedure is to calculate how much time it will take to do a project and give the client two bids: an hourly bid and a fixed rate bid calculated at 2 times the cost of the hourly bid. Most of the time my clients choose the fixed rate bid.
As a client, I have hired contractors who WILL NOT DO fixed rate jobs.
I have met contractors who ONLY do fixed rate jobs.
(Some feel they can make more money that way because they work fast and don't want to be penalized for working fast. Some people work SLOW, and don't want the pressure of an hourly job, so they prefer a fixed rate job that they can do at their own pace.)
Yesterday I hired somebody who presented a new wrinkle. They ONLY do hourly jobs, but they do NOT use the time tracker: They only do hourly jobs in which they can manually enter their hours.
That's fine, too. Clients can have their own preferences as well, and some clients will prefer one type of contract versus another.
I do fixed rate jobs, hourly jobs, and manual-hours hourly jobs for long-term contracts. It really depends on a lot of factors and what the client wants or what the specific job is.
It is true that sometimes I make more money in fixed rate jobs (because I'm very fast when I'm in the mood) but some jobs do eat time although they are relatively easy.
For trial projects or new clients, I prefer a small fixed rate one or a capped hourly one (so the client can set their budget---always a concern for new clients and new entrepreneurs) which is a win-win!
I sometimes do food photography and food styling, and that's a job which can literally take an hour to up to a full day for a single recipe so for that I get paid fixed rate. I also do my photography outdoors (no wifi and no time tracker) to take advantage of natural lighting. When I'm ghostwriting, the library research and field research cannot be time-tracked so for those jobs, I get paid hourly with option to add manual hours.
I'm based in the Philippines right now and internet is not as great as in the US or South Korea. I'm always on the go so fixed rate and hourly with manual hours works great for me. When I hire people, I don't want them to feel restricted or watched so I ask them what they prefer and why (I totally understand the creative process and I know how some people like the pressure of the clock and some hate it) then hire them under the terms we both agree on. For people I trust and worked several times with, I take a very relaxed approach. My strictness is for new clients and new hires only.
Anyway, Alexander specifically talked about a bad agency which only cared to log-in more hours for their members without producing quality work. That's why I advised to hire on fixed rate job to avoid a similar situation in the future. Agencies like that should be kicked out of the site.
Dianne mentioned a programmer: "...we don't care if he charges upwards of $50-$70/hr because we know his time is worth every cent, he's practically a bargain!"
This is not a universal rule, but I have found it is farily common. Often the LEAST EXPENSIVE way to get good programming done will be to hire programmers with some of the HIGHEST HOURLY rates.
Generally speaking, they know what they're doing.
If you hire an expensive programmer that doesn't really wow you after a short trial period, then move on to somebody else.
The quality programmers (as with any type of contractor) aren't "time-padders" (the term used in that same post).
Ugh. The time-padders are the WORST. And that is EXACTLY what Alexander ran into a time-padding agency that DID NOT CARE about the finished product, it was only trying to get money out of the client.
I mostly agree with Preston about programmers (although there are those who charge cheaper but are great too). It really does take quite a bit of effort to find the right people for the job.
I also agree with some comments about having a back-up on your server and having a way to monitor what changes are made etc. I'm not techy, I did make my own site but mostly out of trial and error haha and it's true some tweaks takes hours and some takes only less than 5 minutes (I'm talking about wordpress plug-ins).
A good wordpress person will not charge you a full hour for something which takes only a few clicks. There are many times when our company programmer didn't clock-in time despite me asking him to do so for answering my tech-related queries. His reason is they take almost no-time for him ---->this really shows expertise because I was googling answers for like hours. I sent him some bonus last xmas and sent him gift baskets. Expertise like that is near priceless.
When he started with us, he only charged $20/hr but we hired him because he showed real knowledge despite being new to oDesk at that time. After a few months, we found that that he's charging $35/hr and was just not letting us know that because he thinks it is rude to ask for a raise. Now we pay him $55/hr and I saw his current profile rate is at $70/hr. I sent him a message about a raise and frankly, we will still be happy to pay that because as I've said, his rate of $70/hr is a bargain compared to hiring someone who's not half as good as him for like $10/hr. I'm just hoping he won't further increase his rate in the near future haha! He really gets so much done in a short amount of time, he ends up doing something in 30 minutes when someone else would take hours..and btw, he's still a kid, someone you wouldn't trust anywhere near your stuff looking at his picture alone.He still keeps us as clients eventhough he's been hired full-time by someone else who pays more than us.