Before I start I just thought I'd make a suggestion and explain why.
I'd suggest using a plug-in for this type of solution. You don't have to use someone else's plug-in, if you know the basics you could create a site specific plug-in for SEO.
Why use a plug-in?
Simple, a plug-in can easily be moved if the user decides to change the theme (maybe a different look, maybe the current theme doesn't get updated, and several other possibilities). If the code is added to the theme files versus a plug-in it will take considerable and unnecessary work to update the settings. It's for that reason I would choose a plug-in.
I would also choose a current plug-in for the simple fact that there are so many different directions you can go as a developer, I've had to learn to pick and choose where to break new ground (if you believe in sleep and other normal human activities). There are developers out there that have focused on SEO which makes life easier on the rest of us. If they are willing to share, it follows along the "don't re-invent the wheel" theory.
That being said, if everyone took that stance I guess there wouldn't be much innovative code being produced. If you plan on following SEO and getting to a point that you can contribute original and innovative code then you should roll your own and see what you can come up with.
Whichever way you choose to go, roll your own, or learn from the experts in that specific subject I still believe SEO is best left to plug-ins for better mobility.
I will give you a few examples of things I've picked up along the way:
Good Title Tags:
This will help a lot for the SEO of a article based website. If you define the type of posts being written Google will understand it's purpose better and give it a higher value. Here is what I've been using lately:
<title>
<?php if (function_exists('is_tag') && is_tag()) {
echo 'Tag Archive for "'.$tag.'" - ';
}
elseif (is_archive()) {
wp_title(''); echo ' Archive - ';
}
elseif (is_search()) {
echo 'Search for "'.wp_specialchars($s).'" - ';
}
elseif (!(is_404()) && (is_single()) || (is_page())) {
wp_title(''); echo ' - ';
}
elseif (is_404()) {
echo 'Not Found - ';
}
if (is_home()) { bloginfo('name');
echo ' - '; bloginfo('description');
}
else {
bloginfo('name');
}
?>
</title>
This helps sort out the different tagging/identifying of content allowed by WordPress. If you're interested you can read more on a very good write up on the subject by Perishable Press
I used to use the All In One SEO plug-in,but I've recently switched to Joost de Valk's -- WordPress SEO by Yoast plug'in and I'm happy with the results.
One more thing, you might consider using a date based permalink structure to get better indexing results from Google.
I hope that helps.