Yes, competitors. Many people aren't aware of the competitive nature of SERPs positioning, but it is. Keep in mind that you are ranked in comparison with the other sites in the results. If the search engine thinks that your content is more relevant, then you rank higher, if it is determined that your content is less relevant, then you fall in the results. If they know what they are doing, the other sites showing up for the searches you wish to rank high in are watching you, and the other sites on the first two pages to see what they are doing, and if they are rising or falling.
Before we go any further it's important that you understand the nature of SEO. It is not an exact science. The exalted minds inside the Googleplex do not share their secret sauce with the unwashed masses. The reason for this is simple: if they revealed exactly how their logic works, it would be exploited--this has happened before. The methods for performing SEO are based upon the trial and error of many, many internet users as they worked out what works, what doesn't and what will get your site unindexed - or worse: banned.
This is important. There are good and bad ways to optimize your site. The bad ways are called 'Black Hat'. Sure, they may work for awhile, and some Google can't (or doesn't bother to) pick up automatically. However you can report a site to Google as using Black Hat SEO tactics and Google will remove that site from the index (meaning it won't show up in search results). Removing a site from the index is usually only done for a certain amount of time and can be appealable. Banning is far more severe and banned sites are often gone for good with no way to get Google to add it back to their index. Beware of a lot of things that seem shady.
Yeah, it's a bit unfair, but it's the world we live in. Google's not alone in this--the other search engines will do it too.
Now that we've got that out of the way, let's dive into the two ways to optimize your site.
On Page Optimization
This is what most people think of when they think of SEO. In reality it is the less effective of the two methods, though as Google improves its ability to determine real content from fluff it is getting more valuable. A bit of history first.
Back when people started realizing that they could make or break their business by where they came up in the SERPs, they started adding all sorts of content to their sites to improve their ranking. The most common of these was the meta keywords. These are words that are placed in the code on a website that tell the search engines what the site is about. Way back when the 'net was young, the search engines believed these keywords.
You're asking yourself how they can know what a site is about then. They asked themselves the same question and came up with an obvious answer: they can't. But other humans can. This is called 'Off Page Optimization' and is covered in the second type of optimization.
There used to be a lot of tactics and tricks to get the search engines to pay more attention to your page, but the number one tip is now this: Write human readable content (don't try to write it to load it with terms and keywords) that has value and real relevancy. Make sure that you do use the words and phrases you think people will search for, and do use them more than once, but don't go overboard. Bolding and using larger fonts (and H1 tags) will help as well, but don't overdo it. If you make your page look too wonky it will not work for the second type of optimization.
Here's a quick rundown of things to make sure you do.
Don't worry alot about your HTML formatting. Search engines are used to reading crappy HTML and they don't care too much
Make sure you use your keywords in your copy more than once
Make sure to use alt and title tags on images. It lets the search engines know what the image is about and can cause your images to show up on the Google image search.
Use title tags on your links. It will help the search engines know more about the page you are
Off Page Optimization
There is also a nebulous thing that we know exists, but don't know how to quantify. It is the matter of how much a search engine trusts a site. Sites with high trust have their outbound links given more importance than sites the search engine does not trust. An easy way to determine if a site is trustworthy or not is to think about it yourself. The folks at the search engines are humans, they will trust the same sites you do and distrust the same sites you do (give or take a bit).Untrustworthy Sites
Link/Banner farms - sites with nothing but links to various other sites. These used to work, but the search engines wised up and now having a link farm link to you will hurt, not help
Sites with a lot of advertising on them - The search engines know that these sites are mostly computer generated and have no valuable content, and so don't pay any heed to what they link to.
Directories - There are two types of directories. Automatic and Human verified. Google knows which are which and if your site is listed on a human verified directory (meaning that someone looked at your site and verified that your description and content match the category you chose to have it listed in) then it knows that your content is relevant to the description you gave. Find the directories for your market (just google things like sewing boston directory or whatever your niche/market is and you'll find some to list in.
Sites with high page rank - This is key. There is little point having sites with no page rank link to your site with no page rank. You want sites with high page rank linking to you. Install the Google toolbar and select yes when it asks if you want to view pagerank. This will let you know how other sites rank and help you determine where to try to get links.
There are a lot of other tips and helpful bits of information out there and I'll be posting a few more specialized articles about them. While there is a lot of bogus software and ebooks out there that will literally tell you no more than what you have read above, there are some that will help you carry out the suggestions above.