Should I put common fields in each specific tables or one common table then join when data selecting?
I think the benefit of having a common table for blog, video, gallery, comment  is that you will have unique id for each one of these, but that is really not needed.

And It seems that all these share some common attributes, so we need to have common table to save those, but from application point of view they will be different and needs to be save in different table.

Saving all of them in common table will be problem in maintainance, and also while fetching those entry to show in UI, So it would be better to have different table for all these four.

Then there comes thing is how to store comments, Well comments can be on video or blog or gallery, and with time it can be very large in numbers so you can choose one comment table for each category.