If you are having a small website and you have built it on WordPress, then you need not hire an agency to do your SEO. You could simply do it yourself. Here are 2 key tips on SEO for small websites:
1. Competitor Research: Use SEMRush.com ($100/mo) or ($75/mo for annual payment) Organic Research tool to find out the keywords and pages for which you competitors are ranking for. Make a list of all high-traffic pages and identify the content gaps on your website. Beef up the content on existing pages (make it comprehensive with 2k words) or create new pages as per the competition gap.
2. Focus on Content: If you have the time, you should create content yourself. If not, you could hire bloggers from problogger.net or we use WittyPen in India. Provide bloggers with topics, keyword research and basic outline to your content. Get them produce comprehensive content. This would cost you $30-$40 for a blog article of roughly 1000 words. Be consistent with your content creation efforts. Focus on important pages / topics as opposed to creating too much low-value content.
3. Link Building: You would also need to popularize the content on your website. Again go to SEMRush or Ahrefs (better tool for backlink analysis) and put in your competitors website / domain. Find the source of links to your competitors website and reach out to all of these via email. Make sure you have first a better content piece than your competitor before you initiate content outreach.