It seems that Outlook.com uses the BingPreview crawler to crawl links in emails.
But the one-time links are marked as used/expired after opening the email and before the user gets the chance to use them.
I try to add a rel="nofollow" in the <a>
but without success.
How can I block the crawler for each links in email ?
Thanks
I did the same.
$user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
// Deny access for the BingPreview bot, used by outlook.com on links in e-mails ad Slackbot
if (strpos($user_agent, 'BingPreview') !== false || strpos($user_agent, 'Slackbot') !== false) {
header('Status: 403 Forbiden', true, 403);
exit(1);
}
I've seen the same issue. The links in emails opened in outlook seem to be crawled immediately by the 'BingPreview' bot.
I've added a robots meta tag to the header in the HTML email.
I've also added a check for standard bot signatures appearing in the user-agent header in the link handling script. If it looks like a bot then I'm exiting and not invalidating the link.
Can't say for sure that this is working yet (only just made the changes).
I've just experienced the same issue with confirmation links being executed in a sent email before the user has received them and invalidating the link. I got around the issue by modifying the page the URL links to. I've added a Confirm button on the page which the user has to click to confirm their email and this works nicely.
same here. we used a program block to disallow BingPreview and Slackbot and some more to access the links by using server script language (lucee/coldfusion and application.cfc)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With