|Perl: the Markov chain saw|
Congratulations on the next step in your understanding of programming.
Possibly the biggest problem you will have at this point is in the sheer number of approaches you now have available. As ELISHEVA points out, you would be wise to change a small portion of your site using your intended method at first.
Based on past experience, I can say that whatever you come up with first won't be right. This is not meant to discourage you, but to make you think. When you get your first version built, you will have a better understanding of what you can do (and will have learned more). You may then want to change your approach.
Also as ELISHEVA advised, version control becomes very handy at this point. It helps you save the various attempts you've made and allows you to make wild changes freely, knowing that you can always go back to something from before.
One thing to consider on the file naming approach is an old maxim of programming:
All problems in computer science can be solved by another level of indirection.
Imagine that you had a file that listed the filenames and appropriate titles. Now, if your titling function used a the title fro the file if it exists, or a constructed title like you describe, you can add files easily and fixup names as needed. This may be a bit more complicated than you had considered, but having a real programming language opens up new ways of thinking about your problems.
Congratulations again and welcome to the journey.