Yahoo!ブログ検索とgoo検索の検索結果に表示させるための対策
WordPressは、構造的な問題もあってYahoo!ブログ検索とgoo検索に引っかかりにくいみたいなんだけど、長い目で見ると検索経由のアクセス数はバカにならないし、とりわけYahoo!検索からのアクセスが獲得できないとなると、アクセスアップには大きな痛手。
そこで、Yahoo!ブログ検索の検索結果に表示させるために下記サイトを参考に対策をまとめてみた。
参考サイト
【まとめ】WordPress を Yahoo! ブログ検索させる方法 その10【追記あり】:トイレのうず/ぼやき
【祝!】goo ブログ検索インデックス! 〜WordPress を Yahoo! ブログ検索させる方法 その8〜:トイレのうず/ぼやき
Yahoo!ブログ検索とgoo検索の検索結果に表示させるための対策まとめ
ヘッダ情報/RSS関連の対策
- HTML ヘッダ内にて日本語を宣言
<html xmlns="http://www.w3.org/1999/xhtml">
↓
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
- RSS 1.0 の設定
ヘッダー(header.php等) に下記を付け加える。<link rel="alternate" type="application/rss+xml" title="RSS" href="<?php bloginfo('url'); ?>/index.rdf" /> - /index.rdf を /feed/rdf にリダイレクトする
.htaccessファイルを開き、Redirect temp /index.rdf http://xxx.xxx.xxx/feed/rdf の一行を加える - meta タグ内から、「WordPress」の文字列を削除する
テーマフォルダ内 functions.php (なければ作成し)に下記コードを追加。remove_action('wp_head', 'wp_generator'); - wp-includes/feed-rdf.php の時間、日本語記述の追加
・ 26行目<?php echo mysql2date('Y-m-d¥TH:i:s¥Z', get_lastpostmodified('GMT'), false); ?>↓
<?php echo mysql2date('Y-m-d¥TH:i:s+09:00', get_lastpostmodified(), false); ?>・44行目
<?php echo mysql2date('Y-m-d¥TH:i:s¥Z', $post->post_date_gmt, false); ?>↓
<?php echo mysql2date('Y-m-d¥TH:i:s+09:00', $post->post_date, false); ?>・13行目〜21行目あたり(念のため)
<rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:content="http://purl.org/rss/1.0/modules/content/" <?php do_action('rdf_ns'); ?> >↓
<rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xml:lang="ja" <?php do_action('rdf_ns'); ?> >・27〜31行目削除(念のため)
<?php the_generator( 'rdf' ); ?> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>
・26行目後に追加
<description><?php bloginfo_rss('description') ?></description>↓
<description><?php bloginfo_rss('description') ?></description> <dc:language>ja</dc:language> - wp-includes/feed-rss2.php RSS 2.0 の時刻の出力を変更
・28行目<pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></pubDate>↓
<pubDate><?php echo mysql2date('D, d M Y H:i:s +0900', get_lastpostmodified(), false); ?></pubDate>・39行目
<pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate>↓
<?php echo mysql2date('D, d M Y H:i:s +0900', get_post_time('Y-m-d H:i:s', false), false); ?></pubDate> - [プラグイン] Ultimate Plugins Smart Update Pinger をダウンロード(要メアド入力)
- smart-update-pinger_ybs.php.zipをダウンロード
解凍して、Ultimate Plugins Smart Update Pinger フォルダに入れる - Ultimate Plugins Smart Update Pinger を改造
・107行目と117行目の2ヶ所の$SUP_output_log=SUP_ping_services($forcedpings,get_permalink($id)).$SUP_output_log;
の後ろに下記を追加。
require_once('smart-update-pinger_ybs.php'); $SUP_output_log = send_ping_ybs("http://api.my.yahoo.co.jp/rss/ping?u=".get_permalink($id)).$SUP_output_log;・173行目
$client->useragent .= ' -- WordPress/'.$wp_version;
↓
$client->useragent .= ' -- ○○○/1.0.0';
○○○は任意の文字列。
- Ultimate Plugins Smart Update Pinger をpluginsフォルダにアップロードして有効化
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Redirect temp /index.rdf http://xxx.ooo.com/feed/rdf
</IfModule>
# END WordPress</blockquote>
feed出力関連の対策
Yahoo! ブログ検索に Ping を送信するための対策





