I send out a personal email newsletter, and have been looking into sending it via some service like MailChimp, or sendy.co. Many of these email services suggest, or require, the email newsletter content to be available online, in case the recipient's email app doesn't render it properly, or at all.

The thing is I don't want my newsletter contents visible to the whole world. Nor do I want to require existing recipients to make accounts/be assigned accounts, with passwords. So, the question is:

How can my WordPress site content be viewable only by clicking on the link to it in the email newsletter.

It can't be found in a Google search; but once at the site the visitor can view previous newsletter contents. It seems an .htaccess file would do the trick, but I have been unable to figure out the syntax for this.

Thanks for your help.

I have copied below two other questions, and answers, which have helped me word my question clearly.

Similar to this request about allowing access to a certain group while still restricting access to the world: When multiple developers use cPanel, can they get individual passwords that prevent them from uploading into each other's directories?

This persons question is the closest I could find to my situation: Restrict direct folder access via .htaccess except via specific links

  • I think the closest answer to my question, even though it conflicts with one of the criteria, is at this link, vandelaydesign.com/blog/wordpress/membership-plugins, which covers membership plugins for Wordpress. These plugins can do such things as restrict access to content based on membership. Despite my requirement that there be no accounts/passwords, what I realize I meant was that if I left the account creation up to the recipients they may not get around to doing it. These plugins however seem to let me make accounts for my users ahead of time, with members-only content.
    – Shane
    Commented Dec 29, 2012 at 9:30

2 Answers 2


The main problem you will faced is that you can't really determine if your user come from the email (ie: from gmail, yahoo, sparrow, outlook, etc ..) or something else. The referer, which can really help for this kind of restriction, can't be used because it will be empty (for dedicated client: outlook, lotus note, etc ..).

Does your email is personalized for each person? I mean, does it mention "Hi James", or refer to user action on your website? If not, you can put a link to the newsletter which will be the same for every user who whill receive the email. Then, you don't need to attach any specific link for unsubscribe for example.

If you don't want to appear on Google Search, just disallow search engine using robots.txt for this specific folder (or pages). It will be ok.

One other way is to force user to login on your website to be able to see the newsletter.

If you can do that, you will still faced problem when user forward the email to one other person or if it share it on the web.


If you want to avoid content to be searchable:

  • a correct robots.txt to avoid crawling
  • no-index meta tags to avoid indexation

And the best option is to use an authentication system for each user. Could be email/email as login/password. I don't know how it can be easily integrated into WordPress.

  • Thanks for the input. The newsletter will have personalized names, using codes based on a contacts db, like MailChimp or other email services.
    – Shane
    Commented Dec 5, 2012 at 6:43
  • You mentioned there'd be no referrer info if the recipient clicks on the link in the newsletter. Is there a way to insert authorization in the particular link which is in the newsletter? (see my above comment) I understand that if the recipient forwards the newsletter then that new recipient also has access. That is ok. I am just concerned about not allowing the content to be indexed, or found by someone looking for specific terms which would be in the newsletter using a search engine.
    – Shane
    Commented Dec 5, 2012 at 7:14
  • I've updated my answer.
    – j0k
    Commented Dec 5, 2012 at 8:28

Use MailChimp's built-in archive features

MailChimp automatically hosts a version of each newsletter online if you add their archive shortcode to your newsletter template. There is no need to host the newsletter on your own website.

The archive link normally appears at the top of each newsletter, prompting people to read the email in their browser if they're having problems with it in their email client. This link is private and will only be shared with people who've received the email. Anyone can visit that page if they have the link, but only people on your mailing list should know the URL.

You can further protect your previous newsletter content by turning off MailChimp's archive. See "Prevent People From Viewing Past Issues..." on this page: "Can I turn off the archive...?"

...or use WordPress' password protection

If you absolutely have to include the newsletter content in WordPress, you could password protect the post and include the password in the email. This is no different from having a private link to an archived copy of the email hosted with MailChimp, in practise, because anyone who might share the link to the archived copy might also share the password.

...or consider removing the archive link altogether

You can also remove the archive link altogether from your MailChimp newsletters, then simply test your campaign designs as thoroughly as possible (using Inbox Inspector).

Fully protecting content that you're sending out by email will be difficult; you can't easily prevent people forwarding newsletters or sharing links to archived versions. The best you can do is to make sure archived copies aren't indexed by Google and that the links only appear in the newsletters themselves.

  • 1
    To add to what Nick has suggested if you do host your newsletters don't rely on a robots.txt to protect the pages from being indexed. The robots.txt will only stop bots from crawling that directory. If they find a link to the newsletter elsewhere they'll index it. You should used meta noindex on all the hosted newsletters. Password protecting is one of the only ways to really protect the content to your list members. Unless they are already logged into your website prior to opening the newsletter and you use sessions but that's not likely or efficient.
    – Anagio
    Commented Dec 3, 2012 at 9:07
  • That is a good idea, I didn't know about the archive shortcut with MailChimp.
    – Shane
    Commented Dec 5, 2012 at 6:50
  • Hosting my own content lets me add other elements to the site. Thanks also for pointing out that if the content is linked to it can still be searched. However, this raises the same question: is there someway to stop access except by clicking on a link in the newsletter? I thought an .htaccess file might solve this, but the Related questions in the sidebar suggest .htaccess files only affect directories, not urls. Am I correct in this?
    – Shane
    Commented Dec 5, 2012 at 7:18
  • On further thought, I just got an invite to a site which had a user-specific url for sign-up (simple.com!) Would not something similar work in my scenario? But in a Wordpress context?
    – Shane
    Commented Dec 5, 2012 at 7:18
  • @Shane you could generate a random key which is placed into the link in the email, a server side script would have to validate that it's a key your site produced and if it's valid allow them to read the newsletter. This wont prevent people from forwarding that link either. Unless it expires after a specific amount of time.
    – Anagio
    Commented Dec 5, 2012 at 8:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.