I'd avoid names that weren't around 10, 20, 30... years ago, or that weren't as popular.
I'd avoid the Arlo, Ezra,Otto, Jude, Finn type names, The Alfie/Archie type names, the Reuben/Roman type names, because they are a trend, and will probably be dated one day.
If you think a name is a bit 'out there' or underused, it may well turn out to be very popular, and be quite meh by the time he goes to school.
I'd avoid a name that you have only heard of recently, especially if it's a celebrity or fictional character. Google the name and the firstname surname - if your surname is West you might want to avoid Freddie or Kanye, or George Oliver.
I don't generally like long names - Sebastian, Theodore, Dominic, Nathaniel etc. They get shortened. Short names tend to get lengthened - I know more than one Ian who gets called E!
Unless you have a connection with a language, religion or culture, I wouldn't pick one of their names.
So no Dylan, Liam, Luca, Matteo, Thor, Noah, Bodhi, Raj or Jeremiah etc.
If your surname is very ordinary, you might want a less ordinary first name. Middle names hardly ever get used but will be if he is one of several Jack Smiths. Make sure the firstname/surname combination is good. Check that the initials aren't embarrassing or sound funny - No George Oliver Down, for example.