If you're a freelancer, you can set your own price model. If you post on places like Fivver, you'll only be able to charge per service, such as $10 per blog post. Having your own company will let you charge by the service or charge a monthly retainer, which is much better if you want to earn a steady income.
Charging By the Type of Website
Many small SEO companies set different monthly retainers for local companies, e-commerce clients and national companies. Local SEO is easier; setting up citations is easier than getting links for a national company in a highly competitive industry.
Charging by the Size of the Client's Site
You should charge a higher monthly retainer for a client who needs on-page SEO for 50 pages as opposed to a client with a five-page brochure website. When you give a quote, don't try to undercut the competition. It will take more effort to optimize an enterprise level website. Quote a low price and they won't see the results they expect.
Charging by Industry
You can charge clients in highly competitive industries, such as insurance, more because it will be harder to help them rank better because of all the competition.
Charging by Need
Some clients will need far more work than others. You may have to clean up a client's site who has a manual penalty from Google or who has no ALT tags for hundreds of images. An audit can tell you what they need; you should have SEO software that can audit a site.
If you put clients on a monthly retainer, base your fee on a combination of these four things. Always provide a monthly report detailing what you've done, and go over the report with them. Provide details, such as three blog posts completed or keyword research. For more information click here https://www.reddit.com/r/SEO/comments/fbsl19/bestpricingmodelforclients/.