A thing to remember is that SEO is not a magical Gauntlet. It’s important, but no one knows the exact algorithms Search Engines uses, and each one is different so all you can do is optimize the best you can. There happens to be a few things that you should just always do whenever you make a new website. Don’t stress over every little thing, just make sure you are doing it, this should just become kind of automatic for you.
Make sure you fill in your meta-tags with a good title, description, and the right keywords. I personally don’t think the keywords meta-tag is nearly as important as everyone else on here does, but it gives me a way to organize my keywords list for me to reference. When you start having many different websites, it’s good to include whatever notes to yourself you can. When you come back to work on an older site you might not remember everything you were thinking before. The meta-tags help you remember your site info as much as it helps the SE figure it out. A good rule of thumb is that anything that won’t hurt you for SEO and might help, you should use and use correctly. Definitely use the title meta-tag, try to include keywords in the title. Definitely use the description meta-tag, Google will normally use this for the summary it displays in the listing. It isn’t used for indexing so write it for humans; this is what gets people to click on your link when they see it in the SERP. Don’t use the same meta-tags for every page on your site. Take the time to make them be specific to each page.
Create good content. Make sure you have some decent content. Content is what the internet was invented for. If you have unique and quality content, then all the SEO and backlinking you’re doing is just to get the ball rolling. Give them what they want, show them where it is, and they’ll start coming. If it’s good enough then it’ll eventually start building on its own naturally because people like what they found. That’s the idea anyway. So whenever possible use the best page design and the best content possible. Avoid duplicate content between different pages on your site; the SE will most likely penalize your site for that.
Remember, your content isn’t just something to get Google to like your site, it is the whole point of your site. The content and how you structure it is what will make visitors do what you want when they get there. If it is junk they will just leave, and 99% of them won’t leave by clicking on your adsense or affiliate link, they’ll just close the window or use the back button.
Include your keywords. Structure your content correctly, make a few title headers in the content that include keywords (use header tags h1, h2, etc.), try to have a keyword density around 2% in your content, and maybe 4% for the whole page including the meta-tags, alt tags, anchors, etc.
Be sure that your .htaccess is set up correctly. Decide on which way you want your url to be and stick with it. If you decide to use www then always use it like that in your links, don’t use both. I usually set up a 301 for all www requests to redirect to non-www urls. If you don’t set that up then every single page on your site can appear to Google as having at least one duplicate. If that’s the only thing wrong on your site it isn’t going to kill you, but it’s so easy to fix. If you don’t know how to set up a redirect in your .htaccess file then just do a search, there are many other threads explaining it. Check Google if you can’t find it here. Also, .htaccess only apples if it is on an Apache server, Windows servers do it a little differently, if that applies to you then just search Google to find out how to do it. If your consistent in your linking, then the only time the redirect will come into play is if you get natural backlinks that you have no control over. You should also specify which you prefer, www or not-www in Google tools if you use it. (If you don’t then you really should, I recommend you set yourself up an account for webmaster tools and analytics.)
Make a robots.txt file and I like to include a favicon because without them the robots will trigger file not found errors on your server. Be sure to configure your robots.txt correctly. Make a custom 404 page. If your site has more than just a couple of pages then also create a sitemap.xml file. It’s not a bad idea to just create a sitemap anyway no matter what; it lets you define the structure of your site to the crawlers. Just search Google if you don’t know how to do any of that, it’s very basic and you can find exact instructions within a minute when you do a search.
Other than that there isn’t a lot more you can do for on-site SEO. When people ask about SEO they’re always thinking of on-site SEO, but that is the easy and quick part. Just do it and get on with it.