PHP实现对站点内容外部链接的过滤方法
站点外部链接管理:PHP中的nofollow属性应用与SEO优化策略
对于网站的SEO优化来说,避免无效的外部链接十分重要。众所周知,带有rel="nofollow"属性的链接能够避免不必要的损失。本文将通过实例,详细介绍如何使用PHP实现对站点内容外部链接的过滤,为链接添加rel="nofollow"属性。
问题描述:在网站运营过程中,经常会遇到摘录自其他站点的文章,这些文章中包含的链接可能会出现失效或者指向一些测试。这些无效链接不仅影响用户体验,还可能对SEO优化产生负面影响。我们需要对站点内的内容进行过滤,为不是内部链接的外部链接添加rel="nofollow"属性。
解决方案:为了解决这个问题,我们可以借鉴WordPress中过滤外部链接的函数并进行相应的修改。下面是具体的实现代码:
首先定义一个函数content_nofollow,该函数接受两个参数:内容字符串$content和当前网站的域名$domain。函数通过正则表达式匹配所有包含href或src属性的链接,并检查这些链接是否包含当前网站的域名。如果链接不包含当前网站的域名,就将其替换为带有rel="external nofollow"属性的链接。具体代码如下:
```php
function content_nofollow($content, $domain) {
// 对href属性的链接进行处理
preg_match_all('/href="(.+?)"/', $content, $matches);
if ($matches) {
foreach ($matches[1] as $val) {
if (strpos($val, $domain) === false) {
$content = str_replace('href="' . $val . '"', 'href="' . $val . '" rel="external nofollow"', $content);
}
}
}
// 对src属性的链接进行处理(如图片链接)
preg_match_all('/src="(.+?)"/', $content, $matches);
if ($matches) {
foreach ($matches[1] as $val) {
if (strpos($val, $domain) === false) {
$content = str_replace('src="' . $val . '"', 'src="' . $val . '" rel="external nofollow"', $content);
}
}
}
return $content;
}
```
调用这个函数非常简单,只需要将要处理的文章内容作为参数传入即可。例如:`$a['content'] = content_nofollow($a['content'], $domain);`这行代码就能将文章内容中的所有外部链接添加nofollow属性。需要注意的是,过滤的域名需要是不带斜杠的完整形式,如
编程语言
- PHP实现对站点内容外部链接的过滤方法
- js 转json格式的字符串为对象或数组(前后台)的方
- php pki加密技术(openssl)详解
- jQuery插件ajaxFileUpload实现异步上传文件效果
- 浅析PHP中strlen和mb_strlen的区别
- 解决Vue2.0 watch对象属性变化监听不到的问题
- 详解微信小程序input标签正则初体验
- PHP快速推送微信模板消息
- MySql 快速插入千万级大数据的方法示例
- thinkphp5redis缓存新增方法实例讲解
- php数组转换js数组操作及json_encode的用法详解
- jQuery使用deferreds串行多个ajax请求
- 跨域请求的完美解决方法(JSONP, CORS)
- JavaScript获取表格(table)当前行的值、删除行、
- PHP实现的观察者模式实例
- jQuery上传插件webupload使用方法