如何防止WordPress网站内容被抓取

最近在检查网站服务器的访问日志的时候,发现了大量来自同一个IP地址的的请求,用站长工具分析确认了我的网站内容确实是被他人的网站抓取了,我第一时间联系了对方网站的服务器提供商投诉了该网站,要求对方停止侵权行为,然而这只能暂时性的解决问题,为了避免以后再有意外发生,我结合了咨询Hostease的技术支持得到的反馈以及自己从网上了解到的信息,做了以下的优化,分享出来希望能对大家有一些帮助。

1.在网站上放置版权声明

我们经常可以看到一些网页上会展示版权信息,比如Hostease的官网,如图:

正如图中所展示的,大部分网站的版权内容是展示在页脚部分的,这个做法虽然不能解决网站被抓取的问题,但是当需要提交DMCA 投诉或者法律介入的时候,版权信息就是非常有用的信息。

2.更改RSS feed

抓取工具在抓取网站内容的时候,需要依赖网站的RSS feed,对RSS feed做一些小的调整,就可以防止内容被抓取。

在RSS源中设置只显示帖子的摘要而非完整内容,这样对方即便抓取,也无法抓取到完整的内容,设置步骤如下:

登录到WordPress仪表盘>>设置(Setting)>>转到"读取(Reading)">>将图中选项更改为摘要:

3.屏蔽抓取工具的IP地址

如果网站使用的是VPS或者服务器,可以通过防火墙来执行屏蔽,但是我相信很多人和我一样使用的是虚拟主机,能够获得的权限非常有限,这种情况下,可以通过网站根目录下的.htaccess文件来阻止要屏蔽的IP地址,代码如下:

|----------------------------|
| Deny from 111.222.333.444. |

如果要屏蔽多个IP,在同一行中输入多个IP,使用空格分隔即可。

4.保护网站的图片(禁用盗链并添加水印)

当盗用者在自己的网站上显示你的网站的图片,但却从你的服务器上加载图像,就会产生热链,可以通过在.htaccess文件中添加如下代码来设置允许使用你的网站上的图片的网站:

|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| /* Prevent image hotlinking in WordPress */ RewriteCond %{HTTP_REFERER} !^ RewriteCond %{HTTP_REFERER} !\^http(s)?://(www\\.)?yourwebsite.com \[NC\] RewriteCond %{HTTP_REFERER} !\^http(s)?://(www\\.)?google.com \[NC\] RewriteCond %{HTTP_REFERER} !\^http(s)?://(www\\.)?facebook.com \[NC\] RewriteCond %{HTTP_REFERER} !\^http(s)?://(www\\.)?twitter.com \[NC\] RewriteCond %{HTTP_REFERER} !\^http(s)?://(www\\.)?other-websites-go-here.com \[NC\] RewriteRule \\.(jpg\|jpeg\|png\|gif) - [F] |

我们还可以利用插件给网站上的图片添加水印,例如"Image Watermark",这是一款免费的插件,可以自动给上传的图片添加水印,也可以批量为网站上的现有图片添加水印。

5.增加内链

增加内链倒不是为了防止被抓取,而是能够在网站内容被抓取的情况下,您反而可以从中获利,被抓取的内容中的内部链接都有可能成为有价值的反向链接。

相关推荐
IT19956 分钟前
C++使用“长度前缀法”解决TCP“粘包 / 拆包”问题
服务器·网络·c++·tcp/ip
德迅云安全—珍珍7 分钟前
物理服务器、云服务器、裸金属服务器的区别
运维·服务器
一周困⁸天.11 分钟前
K8S-网络组件 Calico
网络·容器·kubernetes
好记忆不如烂笔头abc23 分钟前
超微服务器的ipmi调整风扇运行模式
运维·服务器
元亓亓亓24 分钟前
考研408--计算机网络--day8--NAT&ARP&DHCP&ICMP&IPv6
网络·计算机网络·nat·arp
一个响当当的名号29 分钟前
ASP.NET 期末突击
运维·服务器
@Wufan36 分钟前
ubuntu服务器子用户(无sudo权限)安装/切换多个版本cuda
linux·服务器·ubuntu·cuda
studytosky38 分钟前
Linux 基础开发工具(3):Git 控制与 GDB 调试实用指南
linux·运维·服务器·网络·数据库·git
吕了了43 分钟前
给U盘一个PE to Go:将微PE系统直接释放到U盘
运维·windows·电脑·系统
pblh1231 小时前
基于Docker部署测试PySpark
运维·docker·容器