When it comes to programming and design, you can see incremental progress right before your eyes within days of starting. It's a satisfying feeling to see an idea start to take shape and become something real that you can interact with. Search Engine Optimization on the other hand...not so fast.
I feel like one of the most challenging aspects of any SEO strategy is mustering the patience to wait for good things to happen. So why does it take so long? A lot of SEO is establishing trust with the search engines. It's not in their best interest to serve up a bunch of garbage websites. And just like trust between humans, it takes time. Sometimes a really really long time if the keywords you're going for are super competitive.
When I first started performing SEO, I would check the sites I was optimizing on almost a daily basis to see if any progress had occured. You can imagine the frustration of doing such a thing. Websites typically bounce around in rankings just like a stock ticker moves up and down across the market. And just like any fund manager would tell you, it's not a good idea to be constantly monitering long term goals in such a way.
A more reasonable approach would be to moniter the trends of a website about once a month. That's typically enough time to see some good progress on your efforts. When I'm performing SEO for a client, I send out reports once a month for that reason. There are many high quality tools out there that can assist you such as Moz, Ahrefs, or SEMrush to moniter your website's progress.
On your monthly checks, you should be seeing a few things if your strategy is working.
Because that's the obvious one, right? If you're a real estate agent in Denver, you would hope to be ranking higher for keywords such as 'denver real estate'. But boy is that a competitive keyword! Real estate is a tough cookie for SEO especially with all of the popular web services such as Zillow getting good press and a ton of traffic all day. So you might only see a few ranks of improvement each month...if any at all for a while. And things get more and more competive the closer you are to page 1.
The cat's pajamas in SEO has almost always been inbound links. If you're creating quality content, guest blogging, submitting press releases, and being proactive in social media you should be getting additional inbound links on a weekly basis. Your monthly reporting will show you what links you gained...and what links you lost. Legitimate link building can come in many different packages, but it is important for any SEO strategy. Monitering your links and pursuing additional ones is a great way to keep climbing.
This one is my favorite. It's sort of like finding a $20 bill in a pair of jeans that you forgot you had. If you're creating quality content on your website, those pages will start to rank without you even trying to get them ranked. It can be for really random stuff like 'leaves in the fall' on a blog entry about decorating your house for the real estate example I gave you earlier. You might even start getting more traffic on these unplanned keywords than your planned keywords... and then it might be time to adjust your strategy depending on how that additional traffic is interacting with your site. Either way, it's still web traffic and potential business to improve your bottom line.
When you're paying an individual or company to perform SEO for your business, it can be even more challenging to wait for things to happen. The best way to think of it is the same you'd treat any advertising budget. If you pay for a newspaper ad, it might not pay off the first few weeks or months. You have to keep putting your name out there over and over again to establish trust with your potential clients. Through quality methods and time, you will begin to see the effects of your efforts.