如何在不使用插件的情况下让WordPress自动检测文章是否被百度收录?

avatar
作者
筋斗云
阅读量:0
要实现WordPress自动检查文章是否被百度收录,可以使用以下PHP代码:,,``php,function check_baidu_index($url) {, $ch = curl_init();, curl_setopt($ch, CURLOPT_URL, "http://www.baidu.com/s?wd=" . urlencode($url));, curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);, $output = curl_exec($ch);, curl_close($ch);, return strpos($output, '') !== false;,},,$posts = get_posts();,foreach ($posts as $post) {, if (check_baidu_index(get_permalink($post>ID))) {, echo "文章ID:" . $post>ID . " 已被百度收录";, } else {, echo "文章ID:" . $post>ID . " 未被百度收录";, },},`,,这段代码首先定义了一个check_baidu_index函数,用于检查给定的URL是否被百度收录。然后获取所有文章,遍历每篇文章,调用check_baidu_index`函数检查文章是否被百度收录,并输出相应的结果。

WordPress自动检查文章是否被百度收录【免插件】

如何在不使用插件的情况下让WordPress自动检测文章是否被百度收录?

在网站运营中,了解文章是否被搜索引擎收录是一个重要的环节,对于使用WordPress的站长来说,实现这一功能可以通过简单的代码来实现,而无需安装任何插件,下面将详细介绍如何在WordPress中实现自动检查文章是否被百度收录的功能。

1、编辑functions.php文件:登录到你的WordPress后台,然后进入外观 > 主题编辑器,找到当前主题的functions.php文件并进行编辑,在PHP标签<?php之后添加以下代码:

 function baidu_check($url) {     global $wpdb;     $post_id = ( null === $post_id ) ? get_the_ID() : $post_id;     $baidu_record  = get_post_meta($post_id,'baidu_record',true);     if( $baidu_record != 1){         $url='http://www.baidu.com/s?wd='.$url;         $curl=curl_init();         curl_setopt($curl,CURLOPT_URL,$url);         curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);         $rs=curl_exec($curl);         curl_close($curl);         if(!strpos($rs,'没有找到')){             if( $baidu_record == 0){                 update_post_meta($post_id, 'baidu_record', 1);             } else {                 add_post_meta($post_id, 'baidu_record', 1, true);             }                 return 1;         } else {             if( $baidu_record == false){                 add_post_meta($post_id, 'baidu_record', 0, true);             }                 return 0;         }     } else {        return 1;     } }

2、创建调用函数:在同一个functions.php文件中添加以下代码,用于在文章中显示是否被百度收录的信息:

 function baidu_record() {     if(baidu_check(get_permalink()) == 1) {         echo '<a target="_blank" title="点击查看" rel="external nofollow" href="http://www.baidu.com/s?wd='.get_the_title().'">百度已收录</a>';     } else {         echo '<a style="color:red;" rel="external nofollow" title="一键帮忙提交给百度,谢谢您!" target="_blank" href="http://zhanzhang.baidu.com/sitesubmit/index?sitename='.get_permalink().'">百度未收录</a>';     } }

3、在single.php文件中调用函数:编辑你的主题下的single.php文件,在你想要显示收录结果的位置添加以下代码并保存:

 <?php baidu_record(); ?>

完成以上步骤后,当你的文章页面被访问时,它将自动检查该文章是否被百度收录,并在页面上显示相应的信息,如果文章已被百度收录,将显示“百度已收录”,否则将显示“百度未收录”并提供一个链接供用户提交至百度。

通过这种方法,你可以方便地为你的WordPress网站添加一个实用的功能,而无需依赖任何第三方插件,这不仅有助于提升网站的SEO效果,还能为用户提供更好的互动体验。


WordPress 自动检查文章是否被百度收录(免插件)

简介

如何在不使用插件的情况下让WordPress自动检测文章是否被百度收录?

在WordPress中,没有现成的插件可以直接检查文章是否被百度收录,我们可以通过编写一段简单的PHP代码来实现这一功能,以下是一个详细的步骤和代码示例。

步骤

1. 获取百度快照页面

百度快照页面通常形如:http://www.baidu.com/s?wd=文章标题,我们需要根据文章标题构造这个URL。

2. 发送HTTP请求

使用PHP的cURL库发送HTTP请求到百度快照页面。

3. 解析返回的HTML

使用PHP的DOMDocument类解析返回的HTML内容,查找包含文章标题的元素。

4. 判断是否被收录

如何在不使用插件的情况下让WordPress自动检测文章是否被百度收录?

根据解析出的HTML内容判断文章是否被收录。

PHP代码示例

 <?php function check_baidu_included($post_id) {     // 获取文章标题     $post = get_post($post_id);     $title = $post>post_title;     // 构造百度快照URL     $baidu_url = "http://www.baidu.com/s?wd=" . urlencode($title);     // 初始化cURL会话     $ch = curl_init();     curl_setopt($ch, CURLOPT_URL, $baidu_url);     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);     curl_setopt($ch, CURLOPT_TIMEOUT, 10);     // 执行cURL会话     $response = curl_exec($ch);     $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);     curl_close($ch);     // 检查HTTP状态码     if ($http_code == 200) {         // 解析HTML         $dom = new DOMDocument();         @$dom>loadHTML($response);         $xpath = new DOMXPath($dom);         // 查找包含文章标题的元素         $query = "//div[@class='cabstract cabstract1']//a";         $elements = $xpath>query($query);         // 检查是否找到标题         if ($elements>length > 0) {             return true; // 文章被收录         }     }     return false; // 文章未被收录 } // 使用示例 $post_id = 123; // 假设文章ID为123 if (check_baidu_included($post_id)) {     echo "文章已被百度收录。"; } else {     echo "文章未被百度收录。"; } ?>

注意事项

1、上述代码仅为示例,实际使用时可能需要根据百度快照页面的结构调整XPath查询。

2、百度快照页面可能会变化,代码可能需要定期更新以适应变化。

3、检查频率不宜过高,以免对百度服务器造成不必要的压力。

通过以上步骤和代码,你可以在WordPress中实现自动检查文章是否被百度收录的功能。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!