So you own a blog (or some other kind of website) and you have been blocked by facebook from posting from that domain? Here goes a simple trick to minimize the impact of such problems:

First of you should contact Facebook and ask them to remove your domain from the spam list. You can do this by email, but I advise you to do it by letter because this way you probably show your motivation and real effort in correcting this issue (at least this is my opinion as I think this make things more personal).

But in the meantime here is what I think you should do:

1º buy a second domain. Since you cannot use the original domain while being blocked you are going to need to use this second domain do fool Facebook (at least until they unblock your original domain).
2º point the new domain to the very same page as the domain blocked by Facebook. Create a new VirtualHost entry and find a way of replacing all ocurrences of the original domain by the new domain name. If you are using Apache and have the mod_substitute enabled you can easily do it by adding the following block of code:


AddOutputFilterByType SUBSTITUTE text/html
Substitute "s|originaldomain\.tld|newdomain.tld|i"

3º create a set of rewrite rules as follows:

RewriteCond %{HTTP_USER_AGENT} !facebookexternalhit
RewriteCond %{HTTP_HOST} !originaldomain.tld
RewriteRule ^(.*)$ http://originaldomain.tld/$1 [L,R=301]

Add them to your .htaccess file.

You’r all set! All you need to do now is share the links using the new domain name. For example, instead of sharing links this way:

http://originaldomain.tld/breaking-news-cancer-cure-was-found

You should share them like:

http://newdomain.tld/breaking-news-cancer-cure-was-found

And that’s it! You can now keep sharing links on facebook. Here goes a little explanation about what is being done here:

Whenever facebook marks a domain as spam the validation of further links is done using two methods:

1st – The domain is checked against a blacklist. If it is found in a blacklist then the page you are trying to share is blocked.
2nd – If the domain is not in a blacklist than all the links inside the page that you are trying to share are checked against the same blacklist. If they are found then the page is blocked.

All that the first part of this little trick does is to replace all the ocurrences of the original domain by the new domain name whenever someone opens your eebsite using the new domain, and this way, when facebook connects to your website to retrieve the description and thumbnail, it will find a simple blog that has nothing to do with the one marked as spam.
The second part of this trick is used to redirect all of your users to the original domain. Well, not all… all but facebook! (that is what the line “RewriteCond %{HTTP_USER_AGENT} !facebookexternalhit” do) 🙂

So in the end, every people (except for facebook) that tries to enter your website using the new domain will be automatically redirected to the original domain.