A-A+

WordPress熊掌号页面改造及curl提交历史内容教程

2018年01月30日 建站之旅

三好菌两个月前收到百度熊掌号的邀请邮件,虽然不懂是什么东东,但不明觉厉,随即就注册绑定熊掌号了。可是登录进去一看,还要进行页面改造,还有什么MIP页、H5页的,因为三好菌已经启用了Google AMP插件,怕有冲突或兼容问题,所以没敢动它。

但后来还是每天通过原创保护手动提交渠道提交刚写的原创文章,可是还有1000多篇以前写的文章需要提交啊。好在百度熊掌号提供的有历史内容提交渠道,但提交之前肯定要做好页面改造符合规范才行啊,否则提交百度也不予收录啊。于是三好菌就参考网上的教程和自己的实践进行了WordPress移动页面的“粉丝关注改造”和“结构化改造”,并且通过curl推送的方式提交了网站历史数据。下面与有此需要的童鞋详细分享一下:

首先有个前提,就是三好菌还没有进行过MIP改造,所以以下均是基于H5页面进行改造。

一、粉丝关注改造

首先,三好菌搞清了一个概念,移动页面和自适应页面均属于“H5页”,即使使用了Google AMP插件,页面依然是H5页,而不是MIP页面。

“粉丝关注改造”这个很简单,百度熊掌号后台有详细教程,这里不再赘述,只展示一下三好菌添加粉丝关注后的效果截图:

WordPress熊掌号页面改造及curl提交历史内容教程

三好菌选择的是“底部bar”的形式。

二、结构化改造

这个虽然熊掌号上也有教程,但却是许多童鞋止步之处,因为需要自定义代码。

结构化改造分两步:

第一步:添加canonical标签

在使用了Google AMP插件以后,页面代码中已经有canonical标签了,所以这一步省了。呵呵

否则,对于H5页面来说就需要在移动主题的header.php中添加如下代码:

<link rel="canonical" href="$current_url = home_url(add_query_arg(array()));"/>

第二步:添加JSON_LD数据

这个是难点,不过网上有大神已经提供了现成的代码,三好菌借用的是@张子凡的Json_LD 结构化数据改造代码

PS:代码已更新 https://zhangzifan.com/wordpress-xzh-structurepic.html

首先把以下代码添加到移动主题的functions.php中:

//获取文章/页面摘要
function fanly_excerpt($len=220){
	if ( is_single() || is_page() ){
		global $post;
		if ($post->post_excerpt) {
			$excerpt  = $post->post_excerpt;
		} else {
			if(preg_match('/<p>(.*)<\/p>/iU',trim(strip_tags($post->post_content,"<p>")),$result)){
				$post_content = $result['1'];
			} else {
				$post_content_r = explode("\n",trim(strip_tags($post->post_content)));
				$post_content = $post_content_r['0'];
			}
			$excerpt = preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,0}'.'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s','$1',$post_content);
		}
		return str_replace(array("\r\n", "\r", "\n"), "", $excerpt);
	}
}
 
//获取文章中的图 last update 2018/01/22
function fanly_post_imgs(){
	global $post;
	$src = '';
	$content = $post->post_content;  
	preg_match_all('/<img .*?src=[\"|\'](.+?)[\"|\'].*?>/', $content, $strResult, PREG_PATTERN_ORDER);  
	$n = count($strResult[1]);  
	if($n >= 3){
		$src = $strResult[1][0].'","'.$strResult[1][1].'","'.$strResult[1][2];
	}elseif($n >= 1){
		$src = $strResult[1][0];
	}
	return $src;
}

以上代码分两部分,第一部分自定义了文章的摘要函数,如果没有设置文章摘要将会自动截取文章第一段的指定长度作为摘要;第二部分则能提取文章中的图片实现熊掌号的单张或三张缩略图展示。

然后再把以下代码添加到移动主题的header.php中,要放到</head>标签之前:

<?php
if(is_single()){
	echo '<script type="application/ld+json">{
	"@context": "https://ziyuan.baidu.com/contexts/cambrian.jsonld",
	"@id": "'.get_the_permalink().'",
 	"appid": "这里请填写熊掌号ID",
	"title": "'.get_the_title().'",
	"images": ["'.fanly_post_imgs().'"],
	"description": "'.fanly_excerpt().'",
	"pubDate": "'.get_the_time('Y-m-d\TH:i:s').'"
}</script>
';}
?>

如果判断当前是文章页面,则输出各结构化数据。

三、校验页面改造是否成功

熊掌号提供有“在线校验工具”以检查你改造后的页面数据是否符合熊掌号格式标准。

填写任意一个需要校验的网页URL,选择“不是MIP页”,然后粘贴该页面的源代码。这里需要强调的是,你需要复制粘贴移动主题页面的源代码,不要误粘成PC网页的代码了。

这个需要借助模拟手机浏览器,使用Chrome浏览器就很方便,F12打开开发者模式,点击Toggle device toolbar即可模拟手机浏览器显示网站的移动版页面,获取到移动页面的源代码。

三好菌校验成功的结果如图:

WordPress熊掌号页面改造及curl提交历史内容教程

四、curl推送方式提交网站历史内容

数据改造成功之后就可以放心提交网站数据了。熊掌号介绍的curl推送方法太简单,令许多童鞋无从下手。下面三好菌就手把手来分享一下:

(一)制作urls.txt文本

首先需要把所有需要推送的URL一条一行添加到名为urls.txt的文本文档中,关键是如何批量获取所有的网页URL,如果能自动生成TXT文本就更好了。

三好菌有网站地图sitemap.xml,然后借助“网页链接提取精灵”即可在线提取网站地图sitemap.xml中的所有链接。如图:

WordPress熊掌号页面改造及curl提交历史内容教程

然后保存列表为txt文件就可以了。注意txt文档需为UTF-8格式。

(二)在Windows系统中运行curl

首先需要下载curl,下载地址:https://curl.haxx.se/download.html

下载截图中显示的那个版本:

WordPress熊掌号页面改造及curl提交历史内容教程

解压后,把文件夹名修改为curl,然后把curl文件夹放到 C:\ 盘下,再把C:\curl\I386目录下的CURL.EXE复制到C:\Windows\System32目录下(三好菌的Win10系统System32目录下已经有了,所以无需复制)。

然后再把前面制作好的urls.txt文本也放到C:\curl\I386目录下。

然后以管理员身份运行cmd命令提示符,首先运行以下命令定位到I386目录:

cd c:\curl\I386

然后运行熊掌号官方给出的那条命令即可:

curl -H 'Content-Type:text/plain' --data-binary @urls.txt "http://data.zz.baidu.com/urls?appid=**********&token=***********&type=batch"

如果返回值如图所示,则说明curl推送成功。

WordPress熊掌号页面改造及curl提交历史内容教程

  • success_batch 当天成功推送到历史内容的url条数;
  • remain_batch 当天剩余可推送到历史内容的url条数。

至此,你的符合熊掌号格式规范的页面已经成功推送,底下就等着百度熊掌号去消化收录吧!

2 条留言  访客:1 条  博主:1 条


    Warning: A non-numeric value encountered in /www/wwwroot/3h/wp-content/themes/Ality/inc/functions/comment-template.php on line 20
  1. 子凡

    Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /www/wwwroot/3h/wp-content/themes/Ality/functions.php on line 268
    • 三好菌

      Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /www/wwwroot/3h/wp-content/themes/Ality/functions.php on line 268

给我留言