Ya I used Wordpress as a CMS for my first few clients and it is a good way to learn the ropes because you can roll out a site rather quickly. The main issue is maintainability, which I will explain below. I really enjoy PHP in particular, but it's not a very well-formed language. It's kind of like English, it's evolved over time to do everything under the sun and has a lot of contradictions. That said, I've never found a language that lets me work faster to prototype an idea. I have high hopes for Go though, and keep in mind that PHP and Javascript are nearly identical except for a bit of syntactic fluff like the $ and how Javascript kind of goes off the deep end when you get into things like prototypes.

There is a whole spectrum of C-based languages like Python, Lua, Java, D, C#, C++ that are all worth learning. I started with C++ and worked my way up to higher level languages, which is why I tend to be more of a back end programmer. I’ve never quite wrapped my head around Perl or Ruby because in my mind they tend to mix functional concepts with imperative code in kind of a weird way (lots of regexps, sets, filters, stuff like that, but still requiring the elbow grease of C) so it's probably better to start with a language like Lisp or Scheme before learning them so you have the fundamentals, or else your code might turn into spaghetti.

For what it’s worth, I ended up moving away from Wordpress because it can be a target for hackers. You may have to update sites each year as security vulnerabilities are fixed. But Drupal and Joomla have the same problem since they are built on PHP (they are also sledgehammers when a pencil would do). So if you have the option, it might be better to go with Node.js or Go because I think they are probably the future of servers. Node.js has the achilles heal of callback hell, but, I think generators and coroutines will eventually alleviate a lot of that pain, and futures might be a stopgap until then. If I do web work again, it will probably be with static sites generated by something like Jekyll or Phrozn, with jQuery and Foundation/Modernizr for the fluid layout, and only write a few back end scripts when needed. I used to host on Linode but found that companies taking the Rackspace approach are really operating at too low a level than what most people need. I highly recommend Firebase and their CDN hosting for this, because you can avoid having to maintain a server or write back end code altogether.

If you decide to move some of the code to the front end, Backbone.js is a good thing to know, but inordinately complicated for some reason. I think REST APIs/CRUD are great but either build them from the start or keep them in mind as you structure the site so they can be dropped in easily. React.js might alleviate some of the front end pain eventually. Maybe skim or ask Stackoverflow for the best CMS that can optionally generate static code and that either has a nice GUI for layout or supports Markdown (if you find one, lemme know!). That way you can keep your content separate from your presentation in a more maintainable way than the old methods like pulling it from a database, and compile your site like you would any other application. The web evolves so quickly that any content that is mixed with the site itself will eventually become unmaintainable. Techniques like that will let you also roll out to mobile or other viewers. Allowing users to edit content easily is still an open problem, so for now I would recommend taking contracts that don’t require it. Either that or give them a simple Markdown or other interface and store their body copy in the database, but don’t worry too much about letting them edit the structure of the site because most clients don’t end up needing to. Better to generate that from some high level description IMHO. That’s where frameworks like Foundation come in, because you can begin to think of the site as data instead of code and let someone else worry about the inevitable browser incompatibilities.

Everything is moving towards SASS, because most of the uncertainties in web development will eventually become ubiquitous tools, so check out appfog and learn how your back end can call a service’s database, email, or whatever other API you need so you don’t have to build that stuff out yourself. It’s worth a few dollars a month to have someone else worry about the edge cases and failure modes. Actually, after writing this out, that’s really the best advice I can give you, is find people who are getting into SASS (either providing it or utilizing it). Maybe see if there are any local meetups in your area, or at a university if you have one close. It would be good to start a blog as soon as possible and document the hurdles you encounter them, because others can learn from it and you’ll get some job leads from it eventually. I’ve been meaning to do that myself so that I could just point to a link instead of being so verbose on forums! I hope I haven’t said too much here, I just am trying to convey the pitfalls I encountered so that maybe you can avoid them. Just pretend it’s always a year or two from now and keep your eyes on the latest and greatest stuff and you’ll do just fine. Be skeptical of anyone claiming to know the “one true way” and always remember that fatal flaws in every approach are eventually exposed, to the future is a moving target. But where there’s trouble there’s also opportunity. Good luck!