觸屏版
全國(guó)服務(wù)熱線:0571-87205688
登錄
注冊(cè)
客戶中心
關(guān)注云客
隨著人們將越來越多的時(shí)間放在手機(jī)上,以前只在電腦上才能完成的購(gòu)物、聊天、信息獲取等行為越來越傾向于移動(dòng)手機(jī)上了。手機(jī)網(wǎng)民的增多,巨大的流量又會(huì)形成“倒逼”壓力,讓之前不關(guān)注、不在乎手機(jī)流量的網(wǎng)站不得不考慮一下移動(dòng)搜索上的排名。
移動(dòng)搜索優(yōu)化給部落的直觀感受就是已經(jīng)有不少的朋友留言要求開發(fā)一個(gè)部落博客的手機(jī)主題,因?yàn)楝F(xiàn)在的PC主題在手機(jī)上瀏覽并不是很方便。從百度的角度來看,百度現(xiàn)在正在發(fā)力移動(dòng)搜索,尤其是在改善移動(dòng)搜索體驗(yàn)不斷下功夫,近期還傳出百度移動(dòng)搜索要取消PC網(wǎng)頁收錄。
原標(biāo)題:移動(dòng)搜索優(yōu)化SEO-用PHP自動(dòng)生成百度開放適配Sitemap文件提升手機(jī)站排名
百度開放適配Sitemap不同于我們平常所說的網(wǎng)站地圖Sitemap,百度開放適配Sitemap里面是PC頁—手機(jī)頁的對(duì)應(yīng)關(guān)系,例如www.freehao123.com/cj-payoneer/對(duì)應(yīng)移動(dòng)頁面m.freehao123.com/cj-payoneer/,百度會(huì)在移動(dòng)搜索中將原PC頁結(jié)果替換為對(duì)應(yīng)的手機(jī)頁結(jié)果。
提交百度開放適配Sitemap對(duì)于一些已經(jīng)在百度PC搜索中有著良好排名的網(wǎng)站十分重要,它可以最快實(shí)現(xiàn)將PC網(wǎng)頁搜索結(jié)果轉(zhuǎn)化為移動(dòng)搜索結(jié)果,而不是在移動(dòng)搜索中經(jīng)歷漫長(zhǎng)的權(quán)重提升過程,尤其是未來移動(dòng)流量不可估量,提前做好移動(dòng)搜索SEO服務(wù)對(duì)未來有著至關(guān)重要的意義。
PC網(wǎng)站的URL多如牛毛,按照百度開放適配Sitemap文件格式要求文件描述url級(jí)別的PC頁與手機(jī)頁的對(duì)應(yīng)關(guān)系,手動(dòng)寫肯定不行。本篇文章就來分享一下“張戈博客”開發(fā)的用PHP自動(dòng)生成百度開放適配Sitemap文件的方法,一勞永逸。該方法同樣適用于360移動(dòng)適配服務(wù)。
一、生成百度開放適配Sitemap文件前準(zhǔn)備
1、你需要一個(gè)PC網(wǎng)站的手機(jī)版本,對(duì)于Wordpress可以直接安裝一個(gè)Wordpress手機(jī)版本的主題。
二、自動(dòng)生成開放適配Sitemap的PHP代碼
1、適用于百度開放適配Sitemap的PHP代碼:
<?php
require('./wp-blog-header.php');
header("Content-type: text/xml");
header('HTTP/1.1 200 OK');
$posts_to_show = 1000; //限制最大生成1000篇
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns=http://www.sitemaps.org/schemas/sitemap/0.9
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">';
?>
<url>
<loc>http://zhangge.net</loc>
<lastmod><?php $ltime = get_lastpostmodified(GMT);$ltime = gmdate('Y-m-d\TH:i:s+00:00', strtotime($ltime)); echo $ltime; ?></lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
<data>
<display>
<!-- 以下三種版式,請(qǐng)根據(jù)實(shí)際的手機(jī)站版式選擇 –>
<html5_url>http://m.zhangge.net</html5_url>
<wml_url>http://m.zhangge.net</wml_url>
<xhtml_url>http://m.zhangge.net</xhtml_url>
</display>
</data>
</url>
<?php
header("Content-type: text/xml");
$myposts = get_posts( "numberposts=" . $posts_to_show );
foreach( $myposts as $post ) { ?>
<url>
<loc><?php the_permalink(); ?></loc>
<lastmod><?php the_time('c') ?></lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
<data>
<display>
<!-- 以下三種版式,請(qǐng)根據(jù)實(shí)際手機(jī)站版式選擇 –>
<html5_url><?php echo str_replace("zhangge.net","m.zhangge.net",the_sitemaplink()); ?></html5_url>
<wml_url><?php echo str_replace("zhangge.net","m.zhangge.net",the_sitemaplink()); ?></wml_url>
<xhtml_url><?php echo str_replace("zhangge.net","m.zhangge.net",the_sitemaplink()); ?></xhtml_url>
</display>
</data>
</url>
<?php } ?>
</urlset>
2、適用于360移動(dòng)適配的PHP代碼:
<?php
require('./wp-blog-header.php');
header("Content-type: text/txt");
header('HTTP/1.1 200 OK');
$posts_to_show = 1000; //限制最大生成1000篇
?>
http://zhangge.net<?php echo "\t"; ?>http://m.zhangge.net<?php echo "\n"; ?>
<?php
header("Content-type: text/txt");
$myposts = get_posts( "numberposts=" . $posts_to_show );
foreach( $myposts as $post ) { ?>
<?php the_permalink(); ?><?php echo "\t"; ?><?php echo str_replace("zhangge.net","m.zhangge.net",the_sitemaplink()); ?><?php echo "\n"; ?>
<?php } ?>
3、代碼說明:
1、以上代碼默認(rèn)限制1000篇文章,如需修改請(qǐng)改變第5行的數(shù)值即可; 2、涉及到張戈博客域名( *.zhangge.net )的代碼,請(qǐng)根據(jù)實(shí)際情況修改成自己網(wǎng)站的域名; 3、百度開放適配代碼中,如第17、35行所述,請(qǐng)根據(jù)手機(jī)站的實(shí)際版式?jīng)Q定使用后面的三種版式之一,如有多種版式多選,如有只有一種,請(qǐng)刪除其他2種,如,張戈博客的手機(jī)版是XHTML版式,所以只需要保留XHTML那一行即可!
4、如何查看網(wǎng)站版式?一般在網(wǎng)站的<head>前面都會(huì)有相應(yīng)的版式申明,如下所示:
XHTML版式申明:
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
WML版式申明:
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
HTML5版式申明:
<!DOCTYPE HTML>
5、如果你的手機(jī)站有多種版式,那么上面百度適配代碼也請(qǐng)選擇多個(gè),總之以實(shí)際為準(zhǔn)。如果發(fā)現(xiàn)還是PC通用的版式申明,那么請(qǐng)改成相應(yīng)的mobile版式申明!
6、如果是 http://yoursite.com/wap 這種二級(jí)目錄形式,請(qǐng)將代碼中的m.zhangge.net全部替換成 yoursite.com/wap即可。
7、如果是http://yoursite.com?type=mobile 這種參數(shù)形式,請(qǐng)將2種代碼中的<?php echo str_replace("zhangge.net","m.zhangge.net",the_sitemaplink()); ?>修改為:<?php the_permalink(); ?>?type=mobile
8、即加上你移動(dòng)站對(duì)應(yīng)的轉(zhuǎn)換參數(shù)即可,至于代碼中的首頁對(duì)應(yīng)關(guān)系該如何修改,相信可以自行搞定,無需贅述!而且這種形式站點(diǎn)可以略過下面的第二步,即不需要新增the_sitemaplink()函數(shù)。
三、修改Wordpress主題:新增the_sitemaplink()函數(shù)
1、請(qǐng)編輯主題目錄下的functions.php文件,插入以下函數(shù)代碼:
/** 開放適配相關(guān)函數(shù) **/
function the_sitemaplink() {
return esc_url( apply_filters( 'the_permalink', get_permalink() ) );
}
2、做完以上步驟,你就可以手動(dòng)訪問2個(gè)php腳本查看效果了,比如:http://zhangge.net/sitemap_baidu_sp.php或者h(yuǎn)ttp://zhangge.net/sitemap_360_sp.php
3、若顯示正常,你可以繼續(xù)下一步了。若訪問報(bào)500 Internal Server Error :File xxx is writeable by group錯(cuò)誤,請(qǐng)將以上2個(gè)文件權(quán)限設(shè)置為644。
四、設(shè)置偽靜態(tài)規(guī)則調(diào)整Sitemap中URL地址
1、從第上面最后的訪問地址可以看出,用的是php的動(dòng)態(tài)路徑,而百度寫明了需要提交xml格式(其實(shí),我發(fā)現(xiàn)php格式也可以提交成功),360則寫明了需要提交txt格式。
2、于是,接下來就是將地址偽靜態(tài)化。編輯網(wǎng)站根目錄的 .htaccess文件,如下代碼所示位置新增8~11行內(nèi)容:
<Files ~ "^.(htaccess|htpasswd)$">
deny from all
</Files>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.zhangge\.net)(:80)? [NC]
RewriteRule ^(.*) http://zhangge.net/$1 [R=301,L]
#sitemap-shipei-start
RewriteRule ^(sitemap_baidu_sp)\.xml$ $1.php
RewriteRule ^(sitemap_360_sp)\.txt$ $1.php
#sitemap-shipei-end
order deny,allow
.....略....
3、保存之后,應(yīng)該可以直接訪問xml和txt路徑了,如:http://zhangge.net/sitemap_baidu_sp.xml或者h(yuǎn)ttp://zhangge.net/sitemap_360_sp.txt
五、在站長(zhǎng)平臺(tái)提交開放適配Sitemap文件
1、百度站長(zhǎng)平臺(tái)-開放適配:http://zhanzhang.baidu.com/mobiletools/add,點(diǎn)擊放大。
2、提交成功預(yù)覽:
3、360站長(zhǎng)平臺(tái)-移動(dòng)適配:http://zhanzhang.so.com/index.php?m=Urlmap&a=submit,點(diǎn)擊放大。
4、提交成功預(yù)覽:
5、若以上未出現(xiàn)問題,那恭喜你!一勞永逸地搞定了百度開放適配和360移動(dòng)適配這項(xiàng)閑得蛋疼的項(xiàng)目...!
六、PHP自動(dòng)生成百度開放適配Sitemap文件小結(jié)
1、PHP代碼是動(dòng)態(tài)生成的,如此就保證了搜索引擎更新抓取的時(shí)候,是最新狀態(tài)!而不會(huì)是之前那樣苦逼手動(dòng)去生成和更新!不過,暫時(shí)也稍有遺憾,僅僅生成了文章頁面的對(duì)應(yīng)關(guān)系,單頁面和分類并未提供!不過,能適配文章也差不多了!
2、注意事項(xiàng):本文提供的方法僅適合Wordpress建站程序,其他PHP建站程序僅提供參考思路;代碼默認(rèn)支持Linux系統(tǒng),若是windows系統(tǒng),需要修改換行符,若有疑問請(qǐng)留言咨詢。最后,再次感謝php二次開發(fā)網(wǎng)的php技術(shù)支持!
評(píng)論(0人參與,0條評(píng)論)
發(fā)布評(píng)論
最新評(píng)論