I think a static site generator is what you need.
They are typically (but not necessarily) command-line tools:
- You place template and content files in specific folders.
- You run the tool.
- You get the static HTML files.
You can now simply take all the generated HTML files and upload them.
There are so many solutions (see, for example, the lists on http://staticsitegenerators.net/ and https://www.staticgen.com/ to get an idea) that it’s hard to give a specific recommendation without specifying what exactly you expect from it.
Popular examples are Jekyll, Pelican, Middleman, and Hexo. I like Hugo, mostly because of its great built-in testing server with live reload support (see also my questionsee also my question), but I guess this doesn’t matter for you.
So when you think that a static site generator could be a solution for your case, feel free to create a new question (tagged with static-site-generator) where you explicitly list which features you need, for example: Should it use a specific template engine? In which format (e.g., Markdown) do you want to write the content? Which kind of URL design should it use? Does it only need to generate HTML files? Should it create a feed? Do you have different "content types"? Should it minify the generated HTML? etc.