Re my comments, I will expand a bit. A bit of technical SEO is something that needs to be done, but it is more of a box tick exercise now, it is not the basis of good marketing.
The reason OP is finding the performance of any SEO company decreasing, is because there is a limit to what twiddling with a few on page items can do. Maybe they manage to get some technical links in but these may be of questionable quality.
To the OP - one thing you do need to do is have a good Google My Business listing. I guess you could call that local SEO. Do you have that?
To answer AHarvey though, I would recommend getting into the desires of your customer, and produce content around that, particularly video content.
So, to answer OP, if he is a local wedding photographer, a possible strategy would be this:
- Produce a very good web page giving a showcase of local wedding venues. Preferably include YouTube videos of venues, otherwise good photos. Include useful info re each venue, e.g. local hotels etc. Brides looking at venues will find this.
- Include on this page some sort of special offer for the wedding photography, e.g. a special discount code.
- See if you can get permission from weddings you cover to produce news stories of their weddings as news articles / blog posts. This content will be of interest to new brides.
- Also think about how you can capture e-mail addresses, so you can send a newsletter to new brides so they don't forget about you.
So, I mean a clever content strategy instead of ineffective technical SEO. Yes it is a lot of work, but you don't get good results without hard work.