2015-12-31 21 views
5

我想爲搜索引擎優化目的使用JSON-LD,但不知道如何防止自動電子郵件收集器從源頭獲取地址。是否有可能從電子郵件收割機保護JSON-LD?

email schema您提供一個電子郵件地址。我總是通過使用JS來顯示它們或其他方法來以某種方式混淆電子郵件地址。這有助於阻止垃圾郵件到目前爲止。

<script type="application/ld+json"> 
{ 
    "@context": "http://schema.org", 
    "@type": "Person", 
    "address": { 
    "@type": "PostalAddress", 
    "addressLocality": "Seattle", 
    "addressRegion": "WA", 
    "postalCode": "98052", 
    "streetAddress": "20341 Whitworth Institute 405 N. Whitworth" 
    }, 
    "colleague": [ 
    "http://www.xyz.edu/students/alicejones.html", 
    "http://www.xyz.edu/students/bobsmith.html" 
    ], 
    "email": "mailto:[email protected]", 
    "image": "janedoe.jpg", 
    "jobTitle": "Professor", 
    "name": "Jane Doe", 
    "telephone": "(425) 123-4567", 
    "url": "http://www.janedoe.com" 
} 
</script> 

我能想到這樣做的唯一方法是使用JS動態創建上面,這是我所期望的收割機無法解釋大部分,但那麼這將極有可能突破搜索引擎支持。有沒有解決這個問題的方法?

回答

4

除非您可以檢測到惡意機器人(並將其發送給沒有電子郵件地址的版本),否則沒有明智的解決方案。使用結構化數據的一個主要原因是讓機器人輕鬆訪問,所以這是設計。

你可以試着讓獲得的電子郵件地址更難:

  • Schema.org的email property預計文本的值,因此可以用來混淆(例如,jane-doe at {this domain})。
    希望:機器人默認情況下不理解你的混淆方法。

  • 如果使用Schema.org的email屬性不是必需的:FOAF的mbox_sha1sum property需要一個SHA1哈希電子郵件地址。
    希望:機器人不會嘗試(或不是已經)找到相應的電子郵件地址。

  • 您可以使用JavaScript來添加email屬性(例如Google supports it)。
    希望:機器人不執行JavaScript。

但是,這使得它很難爲好機器人太多,當然,在某一點,你可能要考慮你沒有提供的電子郵件地址。

如果您只想給特定的消費者提供電子郵件地址,您可以爲這些消費者提供包含電子郵件地址的文檔,以及其他所有的機器人。但搜索引擎機器人might not like this method。而且你不利於新消費者,或者你不認識的消費者。

我只想提供電子郵件地址unobfuscated和大家,making the life of visitors (humans as well as bots) easier。垃圾郵件應該是你的問題,而不是他們的問題;這是一個可以處理的問題。

1

JSON-LD使得機器人可以輕鬆獲得數據,包括電子郵件收割機,這些機器人很容易欺騙其他機器人的身份。我建議離開JSON-LD的電子郵件地址,它不會傷害搜索引擎優化,這些電子郵件的所有者會愛你。否則,你會 - 因爲他們的電子郵件箱會成爲垃圾郵件的持續目標

相關問題