I can never stress variety enough. There are so many different birds around and they all require different surroundings so if you want birds to stay at your house you must cater to as many different kinds of birds as possible. Very often plants provide food for bird as well as shelter and nesting places. Since food becomes scarce in the winter planting trees and shrubs that provide fruits or berries late into winter can go a long way towards attracting birds to your house. Some of the better known plants that accomplish this are holly, bush honeysuckle, bayberry, crabapple, mountain ash, Virginia creeper and hawthorn.
Many plants provide seeds.
Most people don't want to provide a weed patch for the birds but many garden flowers make edible seeds that the birds will like. There are also trees that attract seed eating birds. These include ash, birch, alder, maple, elm, and sycamore trees. A Hole in One One thing every bird house needs is an entrance. Here are some hole dimensions and some of the birds that prefer that size.