您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)WordPress特定文章對(duì)搜索引擎隱藏或只允許搜索引擎查看的示例分析的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
對(duì)搜索引擎隱藏特定的文章
這個(gè)問(wèn)題的來(lái)源是這樣的:
眾所周知,隨著搜索引擎的改良,會(huì)越來(lái)越排斥采集和偽原創(chuàng),尤其是百度還推出了起源算法,對(duì)采集站進(jìn)行K站等措施。如果被貼上采集站的標(biāo)簽,所有的努力可能付諸東流。
相信很多站長(zhǎng),也想多一些原創(chuàng)內(nèi)容,并不想全部靠采集別人的文章。然而一個(gè)新站,尤其是個(gè)人站長(zhǎng),其內(nèi)容的充實(shí)速度一定很慢,我們做站不僅要討好搜索引擎,更要討好讀者。如果讀者不能在你的站內(nèi)得到比較充實(shí)豐富的信息,那體驗(yàn)肯定不好。其實(shí)各大名站老站,一樣有相當(dāng)比例的采集或改編內(nèi)容,這符合互聯(lián)網(wǎng)的共享精神。各大電視臺(tái)和報(bào)紙也大部分是轉(zhuǎn)載和文摘,只要摘得好符合了特定需求的內(nèi)容需要,就是有價(jià)值的。
關(guān)鍵在于:不要用采集的文章來(lái)為自己的網(wǎng)站騙取搜索流量。這應(yīng)該是符合互聯(lián)網(wǎng)道德規(guī)范和共識(shí)的。如果只讓原創(chuàng)的內(nèi)容參與搜索引擎的游戲規(guī)則,而非原創(chuàng)部分屏蔽搜索引擎。這樣就能平稱地滿足搜索引擎、網(wǎng)站主、用戶三者的利益。
于是問(wèn)題歸結(jié)于一點(diǎn):如何有效地、可靠地讓“部分文章屏蔽搜索引擎”?
我不知道這是不是一個(gè)比較共性的問(wèn)題,如果一個(gè)網(wǎng)站,既希望通過(guò)豐富的文章來(lái)滿足受眾,但又怕被搜索引擎判斷為采集站,那這個(gè)就是一個(gè)真真切切要面對(duì)的、關(guān)鍵的、核心的、關(guān)系到網(wǎng)站生存發(fā)展的大問(wèn)題。
最近也一直在學(xué)習(xí)相關(guān)方面的知識(shí),以個(gè)人淺見(jiàn),屏蔽搜索引擎有幾類方式:
一、用robots.txt
二、WP的站可以判斷用戶特征(看了你這篇博文后想到的)
三、通過(guò)JS封裝鏈接
四、通過(guò)重定向,比如短鏈接、PHP后臺(tái)重定向等
對(duì)比以上幾種方式,
第一種方法:robots.txt好比在門上貼了封條:“嘿,蛛蛛,我這兒有些內(nèi)容是不讓你檢索的”。這是所謂君子協(xié)定,搜索引擎一定有能力去看你貼著封條門內(nèi)的東西,只是它不收錄罷了。為了判斷一個(gè)站是否有大量的采集內(nèi)容,蛛蛛或許會(huì)有窺探的動(dòng)機(jī)。
這種方法技術(shù)實(shí)現(xiàn)的成本最低,也應(yīng)該能滿足大多數(shù)情況。好象百度在這方面的操守還是可以放心的,比如不索引淘寶的內(nèi)容,而且也很痛恨360對(duì)百度內(nèi)容的索引。
這個(gè)方法進(jìn)一步的問(wèn)題是:
在WP建的站中,如何可以高效率地讓“部分文章屏蔽搜索引擎”?
1、文章標(biāo)題加特征:比如每篇文章的標(biāo)題中加一個(gè)特殊字符,這個(gè)方法可行嗎,robots.txt用disallow:*特殊字條*就可以嗎?
2、文章的標(biāo)簽識(shí)別:這個(gè)在操作層面好象是最最方便的,可是標(biāo)簽似乎是動(dòng)態(tài)的標(biāo)記,無(wú)法在robotx.txt中篩選?
3、文章放進(jìn)特定的目錄:這個(gè)robots.txt比較好寫的,然而在WP文章內(nèi)容管理時(shí)如何簡(jiǎn)易地操作?
第二種方法:好比是查看進(jìn)門者的身份證,如果訪問(wèn)者是搜索引擎,那么就禁止通行。這種方法是對(duì)WP專用的,然后它的好處是可以非常詳細(xì)地區(qū)別對(duì)待,比如百度對(duì)采集的態(tài)度比較緊,而GOOGLE不太一樣,那有些文章就可以對(duì)百度關(guān)門而對(duì)谷歌開(kāi)門。另外一個(gè)比較大的優(yōu)點(diǎn)是,可以把判斷集成在WP環(huán)境中,比如通過(guò)插件或主題讓操作自動(dòng)化。
第三種方法:好比是在門上換了一個(gè)門牌,搜索引擎只知道機(jī)械地去跟蹤門牌上的號(hào)碼,而瀏覽器卻通過(guò)JS把門牌指向到另一個(gè)正確的入口了。然而:搜索引擎對(duì)JS的分析能力可能越來(lái)越強(qiáng)了,而且從谷歌的某些聲明中來(lái)看,搜索引擎也不太喜歡你的內(nèi)容對(duì)人和搜索引擎不一樣。
這個(gè)方法大量地用在淘寶客鏈接的隱藏方面,這個(gè)方法的有效期估計(jì)不太長(zhǎng),而且操作比較麻煩,比較適合靜態(tài)的單獨(dú)頁(yè)面,不太適合WP這樣的數(shù)據(jù)庫(kù)組織文章的架構(gòu)。
第四種方法:好比是給門牌號(hào)加了密,只有你敲門(點(diǎn)擊)了,才給你換成正確的門牌號(hào)。一般的訪問(wèn)者一定會(huì)點(diǎn)擊,而搜索引擎不會(huì)模擬點(diǎn)擊這個(gè)動(dòng)作。
這種方法相對(duì)徹底和“安全”,缺點(diǎn)是:
1、和第三方法一樣操作有些復(fù)雜,適合靜態(tài)的單獨(dú)頁(yè)面,或頁(yè)面中局部的鏈接,不太適合WP的環(huán)境。
2、過(guò)多的重定向,應(yīng)該會(huì)消耗服務(wù)器的運(yùn)算資源,積少成多,如果大量的文章都要進(jìn)行一次重定向,服務(wù)器可能會(huì)不堪重負(fù)。
實(shí)現(xiàn)代碼
具體怎么實(shí)現(xiàn)WordPress 對(duì)搜索引擎隱藏特定的文章呢?廢話不多說(shuō),直接上PHP代碼,放到當(dāng)前主題的functions.php中即可使用(用UTF-8編碼另存為):
// 需要說(shuō)明的是,如果你的WordPress站點(diǎn)開(kāi)啟了頁(yè)面緩存,此功能無(wú)效 function ludouse_add_custom_box() { if (function_exists('add_meta_box')) { add_meta_box('ludou_allow_se', '搜索引擎', 'ludou_allow_se', 'post', 'side', 'low'); add_meta_box('ludou_allow_se', '搜索引擎', 'ludou_allow_se', 'page', 'side', 'low'); } } add_action('add_meta_boxes', 'ludouse_add_custom_box'); function ludou_allow_se() { global $post; //添加驗(yàn)證字段 wp_nonce_field('ludou_allow_se', 'ludou_allow_se_nonce'); $meta_value = get_post_meta($post->ID, 'ludou_allow_se', true); if($meta_value) echo '<input name="ludou-allow-se" type="checkbox" checked="checked" value="1" /> 屏蔽搜索引擎'; else echo '<input name="ludou-allow-se" type="checkbox" value="1" /> 屏蔽搜索引擎'; } // 保存選項(xiàng)設(shè)置 function ludouse_save_postdata($post_id) { // 驗(yàn)證 if ( !isset( $_POST['ludou_allow_se_nonce'])) return $post_id; $nonce = $_POST['ludou_allow_se_nonce']; // 驗(yàn)證字段是否合法 if (!wp_verify_nonce( $nonce, 'ludou_allow_se')) return $post_id; // 判斷是否自動(dòng)保存 if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return $post_id; // 驗(yàn)證用戶權(quán)限 if ('page' == $_POST['post_type']) { if ( !current_user_can('edit_page', $post_id)) return $post_id; } else { if (!current_user_can('edit_post', $post_id)) return $post_id; } // 更新設(shè)置 if(!empty($_POST['ludou-allow-se'])) update_post_meta($post_id, 'ludou_allow_se', '1'); else update_post_meta($post_id, 'ludou_allow_se', '0'); } add_action('save_post', 'ludouse_save_postdata'); // 對(duì)于設(shè)置不允許抓取文章和頁(yè)面 // 禁止搜索引擎抓取,返回404 function do_ludou_allow_se() { // 本功能只對(duì)文章和頁(yè)面有效 if(is_singular()) { global $post; $is_robots = 0; $ludou_allow_se = get_post_meta($post->ID, 'ludou_allow_se', true); if(!empty($ludou_allow_se)) { // 下面是爬蟲(chóng)Agent判斷關(guān)鍵字?jǐn)?shù)組 // 有點(diǎn)簡(jiǎn)單,自己優(yōu)化一下吧 $bots = array( 'spider', 'bot', 'crawl', 'Slurp', 'yahoo-blogs', 'Yandex', 'Yeti', 'blogsearch', 'ia_archive', 'Google', 'baidu' ); $useragent = $_SERVER['HTTP_USER_AGENT']; if(!empty($useragent)) { foreach ($bots as $lookfor) { if (stristr($useragent, $lookfor) !== false) { $is_robots = 1; break; } } } // 如果當(dāng)前文章/頁(yè)面禁止搜索引擎抓取,返回404 // 當(dāng)然你可以改成403 if($is_robots) { status_header(404); exit; } } } } add_action('wp', 'do_ludou_allow_se');
使用方法
成功添加以上代碼到當(dāng)前主題的functions.php后,我們就可以正常使用了,完全傻瓜式。在WordPress后臺(tái)文章和頁(yè)面的編輯頁(yè)面,右邊欄底部我們可以看到這樣的選框:
如果當(dāng)前文章/頁(yè)面需要禁止搜索引擎抓取,勾選即可。勾選后,當(dāng)此文章/頁(yè)面被搜索引擎訪問(wèn)時(shí)就會(huì)返回404狀態(tài),無(wú)任何內(nèi)容。如果你不喜歡給搜索引擎返回404,擔(dān)心死鏈太多影響SEO,可以將代碼中的:
status_header(404); exit;
改成:
echo "<meta name=\"robots\" content=\"noindex,noarchive\" />\n";
再將:
add_action('wp', 'do_ludou_allow_se');
改成:
add_action('wp_head', 'do_ludou_allow_se');
這樣就直接在網(wǎng)頁(yè)的head部分添加meta聲明:
<meta name="robots" content="noindex,noarchive" />
告訴搜索引擎不要索引本頁(yè)面、不要顯示快照。需要注意的是,你的主題目錄下的header.php中必須有以下代碼:
wp_head();
設(shè)置文章只允許搜索引擎查看
有些文章只是為了SEO才發(fā)布的,想讓這些文章只允許搜索引擎抓取,普通的訪客無(wú)法查看,在WordPress中如何做到?
實(shí)現(xiàn)代碼
如果你的WordPress站點(diǎn)未開(kāi)啟頁(yè)面緩存,這個(gè)需求也不難實(shí)現(xiàn),我們可以參考上面對(duì)搜索引擎隱藏特定的文章中的代碼,稍作修改即可。在當(dāng)前主題的functions.php中添加以下php代碼,用UTF8編碼保存:
// 給文章和頁(yè)面的編輯頁(yè)添加選項(xiàng) function ludouseo_add_custom_box() { add_meta_box('ludou_se_only', '搜索引擎專屬', 'ludou_se_only', 'post', 'side', 'low'); add_meta_box('ludou_se_only', '搜索引擎專屬', 'ludou_se_only', 'page', 'side', 'low'); } add_action('add_meta_boxes', 'ludouseo_add_custom_box'); function ludou_se_only() { global $post; //添加驗(yàn)證字段 wp_nonce_field('ludou_se_only', 'ludou_se_only_nonce'); $meta_value = get_post_meta($post->ID, 'ludou_se_only', true); if($meta_value) echo '<input name="ludou-se-only" type="checkbox" checked="checked" value="1" /> 只允許搜索引擎查看'; else echo '<input name="ludou-se-only" type="checkbox" value="1" /> 只允許搜索引擎查看'; } // 保存選項(xiàng)設(shè)置 function ludouseo_save_postdata($post_id) { // 驗(yàn)證 if ( !isset( $_POST['ludou_se_only_nonce'])) return $post_id; $nonce = $_POST['ludou_se_only_nonce']; // 驗(yàn)證字段是否合法 if (!wp_verify_nonce( $nonce, 'ludou_se_only')) return $post_id; // 判斷是否自動(dòng)保存 if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return $post_id; // 驗(yàn)證用戶權(quán)限 if ('page' == $_POST['post_type']) { if ( !current_user_can('edit_page', $post_id)) return $post_id; } else { if (!current_user_can('edit_post', $post_id)) return $post_id; } // 更新設(shè)置 if(!empty($_POST['ludou-se-only'])) update_post_meta($post_id, 'ludou_se_only', '1'); else delete_post_meta($post_id, 'ludou_se_only'); } add_action('save_post', 'ludouseo_save_postdata'); function do_ludou_se_only() { // 本功能只對(duì)文章和頁(yè)面有效 if(is_singular()) { global $post; $is_robots = 0; $ludou_se_only = get_post_meta($post->ID, 'ludou_se_only', true); if(!empty($ludou_se_only)) { // 下面是搜索引擎Agent判斷關(guān)鍵字?jǐn)?shù)組 // 有點(diǎn)簡(jiǎn)單,自己優(yōu)化一下吧 $bots = array( 'spider', 'bot', 'crawl', 'Slurp', 'yahoo-blogs', 'Yandex', 'Yeti', 'blogsearch', 'ia_archive', 'Google' ); $useragent = $_SERVER['HTTP_USER_AGENT']; if(!empty($useragent)) { foreach ($bots as $lookfor) { if (stristr($useragent, $lookfor) !== false) { $is_robots = 1; break; } } } // 如果不是搜索引擎,就顯示錯(cuò)誤信息 // 已登錄的用戶不受影響 if(!$is_robots && !is_user_logged_in()) { wp_die('您無(wú)權(quán)查看此文!'); } } } } add_action('wp', 'do_ludou_se_only');
使用方法
成功添加以上代碼到當(dāng)前主題的functions.php后,我們就可以正常使用了,完全傻瓜式。在WordPress后臺(tái)文章和頁(yè)面的編輯頁(yè)面,右邊欄底部我們可以看到這樣的選框:
如果當(dāng)前文章/頁(yè)面需要禁止搜索引擎抓取,勾選即可。勾選后,當(dāng)此文章/頁(yè)面被普通訪客訪問(wèn)時(shí)就會(huì)顯示下面的錯(cuò)誤信息(搜索引擎和已登錄用戶不受影響):
感謝各位的閱讀!關(guān)于“WordPress特定文章對(duì)搜索引擎隱藏或只允許搜索引擎查看的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。