I have been working with a good friend the last few months on his Drupal site. We have been done a number of things to promote his website and wanted to add an email newsletter to the mix. So I looked into some options. There are plenty of email service providers (ESPs) out there that are loaded with features. Prices vary a lot so it is worth doing some research if you are evaluating ESPs. I’m not going to give a list or make any recommendations here. I’m just going to talk about how I implemented the newsletter archive.
The thing that seemed less than desirable to me was how newsletters get archived. All the ESPs I investigated offered free archiving and provide links to archived newsletters. But all of them maintain the archive on their own domain. I thought that if our copywriters are spending a lot of effort writing killer copy for our newsletter then we should be using that great content to build the value of our domain. That means the newsletter archive should be on our own domain, not on the ESP’s. We could manually copy the newsletter content to an archive area on own domain but that is undesirable for two reasons. First is that it is manual effort, not a big job each time but tedious nonetheless. Second is it results in duplicate content, one copy on our domain and another copy of the exact same newsletter on the ESP’s domain. That is undesirable because the reason we want the content on our domain is so that search engines will index it. But duplicate content typically gets penalized so we undermine the reason for doing this in the first place.
The goal was to enable the copywriters to create newsletters rich in content and formatting and then have everything else take place behind the scenes without requiring any manual steps. Once created, newsletter broadcasting would take place automatically using all the powerful features provided by the ESPs, and the newsletter would be archived on our own domain in an area accessible by both visitors and search engines. The solution turned out to be quite simple. I just needed a slight change of mind set.
Most of the ESPs have something they call a “blog-to-email” or “blog broadcast” feature. This takes the rss feed from your blog and turns it into a newsletter that is automatically emailed on a predefined schedule, like once a day or once a week. The ESPs are smart enough to know when there are new items in the feed so only broadcast when a new blog entry has been posted. All you have to do is create a newsletter template at the ESP and specify the rss feed url that will be used to fill the template’s content area.
With Drupal you can create a feed for any content using Views. So I thought why not created a newsletter archive that has a feed that can be picked up by the ESP and turned into a newsletter broadcast. This way the copywriters can create newsletters directly on our website using the normal Drupal content creation tools. The feed is configured to provide the full article content for the one latest newsletter. The ESP picks up that full feed, inserts it into the content area of the newsletter template, and broadcasts it. The newsletters are automatically archived in the same way that blog posts are. So all that rich content remains on our website for search engines to index while the newsletter broadcast takes place automatically each time a new newsletter is created. Quite simple, actually. I just needed to change my mind set from thinking of that blog-to-newsletter feature of the ESPs as a more general purpose rss-feed-from-any-Drupal-content-to-newsletter feature.