Hi,
All of the things you see mentioned here are good points.
One other very important concept is to start here:
You cannot get any one article (webpage) to fulfill all functions equally well. You need to choose what you are trying to accomplish with each article you produce:
1) Are you AIMING for Google Rank with that Article...?
OR...
2) Are you Getting that Article in front of people who are already there (different websites that have their own readers, already)?
You can't have both, so per article, decide the goal before you even write it.
How you think about it:
a) IF you are aiming for Rank... then do keyword volume searches (by using, for instance, the 'Keyword Playground' Tool at Webconfs. If you do that, you will find Keywords that have good or great traffic. Then do a Google search to see who the top entrants are. Then do a Keyword Density search on that page using a tool like oy-oy 'dot eu' on the top entrants. This tells you the keyword density that the top entrants use now. Make sure to stick with a keyword density of no more than 8%, and use the main keywords in combinations at least as many times (14, or 28, or however many needed) to get your content optimized. Make sure that your page has the right title, description, and url-extension keyword usage to blend all those elements of the ranking process.
THEN write your article... knowing that you need to have at least [25 or however many] instances of that phrase... no more than 8% keyword density... name the page right, use the right title and description... and finally, have links to other pages on that page which relate to that theme at different angles. Optimize those pages too, and link them together, and therefore the whole set of pages will all work together to support each other for rank.
The best way to accomplish that whole thing is to write a 'long' page first... going over aspects of the theme, and then break it into pages (related content) which you will each optimize (titles and such).
OR...
b) IF... you want to write about something that is being discussed in various forums or on various blogs, directories, etc. a great deal, then don't worry about optimization at all. Instead, write the 'human' message for those 'human' readers which are in those places already. Make sure they all have some route to your website for more info.
Now... notice that these are entirely different approaches to writing articles which each serve a direct function. You cannot fulfill the 'human' and 'rank' functions TOGETHER with the same article. The chances of hitting THAT nail on the head is way too slight. So...
Write for humans (on the one hand. Don't care whether those writings rank at all).
And on the other hand, produce optimized pages for your own website... and absolutely do the math first, before you start, so that those articles WILL rank.
Hope you find this helpful!