The addresses are valid forever unless you lose your wallet. The only disadvantage is that the address receiving a transaction is visible to all nodes. It is easy to automatically generate a new address each time a page is refreshed on a donation page using the JSON RPC interface.