No, it is not necessary to have a website or blog to be an affiliate. You can generate traffic through a YouTube channel or your social media accounts.