[英]Is it possible to protect JSON-LD from email harvesters?
我想使用JSON-LD进行搜索引擎优化,但不知道如何阻止自动电子邮件收集器从源中获取地址。
在电子邮件架构中,您提供电子邮件地址。 我总是通过使用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:jane-doe@xyz.edu",
"image": "janedoe.jpg",
"jobTitle": "Professor",
"name": "Jane Doe",
"telephone": "(425) 123-4567",
"url": "http://www.janedoe.com"
}
</script>
我能想到的唯一方法是使用JS来动态创建上面的内容,我希望收割者在大多数情况下都无法解释,但那很可能会破坏搜索引擎的支持。 这有什么解决方案吗?
除非您能够检测到恶意僵尸程序(并将其作为没有电子邮件地址的版本),否则没有合理的解决方案。 使用结构化数据的主要原因之一是让机器人轻松访问,因此这是设计使然。
您可以尝试使电子邮件地址更难:
Schema.org的email
属性期望Text为值,因此可以使用混淆(例如, jane-doe at {this domain}
)。
希望:机器人默认不理解你的混淆方法。
如果不需要使用Schema.org的email
属性:FOAF的mbox_sha1sum
属性需要SHA1散列电子邮件地址。
希望:机器人不会尝试(或者还没有)找到相应的电子邮件地址。
您可以使用JavaScript添加email
属性(例如Google支持它 )。
希望:机器人不执行JavaScript。
但是,当然,这也使得好机器人变得更难,并且在某些时候你可能想要考虑根本不提供电子邮件地址。
如果您只想向某些消费者提供电子邮件地址,您可以为这些消费者提供包含电子邮件地址的文档,以及所有其他没有的机器人。 但搜索引擎机器人可能不喜欢这种方法 。 而且你不利于新消费者或你不认识的消费者。
我只是提供未经混淆的电子邮件地址,并为每个人, 使访问者(人类和机器人)的生活更容易 。 垃圾邮件应该是你的问题,而不是他们的问题; 这是一个可以处理的问题。
JSON-LD可以为机器人提供数据,包括可以轻易欺骗其他机器人身份的电子邮件收集器。 我建议将电子邮件地址从JSON-LD中删除,它不会伤害搜索引擎优化,这些电子邮件的所有者会爱你。 否则你会 - 他们的电子邮箱成为垃圾邮件的固定目标
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.