まとめサイト等でよく設置されている相互RSS.
相互RSSとはブログやウェブサイトの更新情報を,ブログに素早く表示させる機能のことです.
こんなの.
目次
livedoor 相互RSSもいいけれど・・・?
有名なものとしてライブドアの「livedoor 相互RSS」があります.
livedoor 相互RSS – アクセスアップのベストツールとても簡単に設置することができるのですが問題があります.
リンクに「rel=”nofollow”」を付与できない!
SEO対策を考えると相互リンクはマイナスです.
Googleが相互リンクをスパムとする理由と、新たな時代の相互リンクとは?昔は有効だった相互リンクも今や立派なスパムに・・・
相互RSSもコード上は同じなので「livedoor 相互RSS」を使ってしまうと,検索流入に影響が出てしまうかもしれません.
※影響に関しては調査していないのでなんとも言えないですが・・・
そんな相互リンク,相互RSSですが「rel=”nofollow”」をリンクに追記することでSEOへの影響を回避することができます.
そこで「rel=”nofollow”」を付与できる相互RSSを探してみました.
「rel=”nofollow”」が付与でき,しかもアカウント登録不要,広告なしな相互RSS!
相互RSSを「アカウント登録不要・広告なし」で表示する方法 – 鼻毛パラダイムシフトこの方法を用いれば「livedoor 相互RSS」と違ってアカウント登録も広告もなしです!
コード
上記サイトを元に実際に導入したコードがこちら
ウィジェット「テキスト」
[html]<script src="https://www.google.com/jsapi"></script><script type="text/javascript">
google.load("feeds", "1");
var getRssFeeds = function (_id, _urls, _maxLength) {
if(!_id || !_urls || (!(_urls instanceof Array))) return;
var entryNum = 3;//各RSSの読み込みエントリー数
var maxLength = (_maxLength)? _maxLength : 0 ;
var entriesArray = new Array();
var complete = 0;
var init = function () {
for(var i=0 ; i < _urls.length ; i++){
var feed = new google.feeds.Feed(_urls[i]);
feed.setNumEntries(entryNum);
feed.load(function(result) {
if (!result.error) {
for (var i = 0; i < result.feed.entries.length; i++) {
var entry = result.feed.entries[i];
entriesArray.push(entry);
var pdate = new Date(entry.publishedDate);
var arr = entriesArray[(entriesArray.length-1)];
arr.sortDate = pdate.getTime();
arr.siteTitle = result.feed.title;
arr.siteUrl = result.feed.link;
}
}
complete++;
if(_urls.length == complete) echo();
});
}
};
var echo = function () {
entriesArray.sort (function (b1, b2) { return b1.sortDate < b2.sortDate ? 1 : -1; } );//降順ソート
var feedLength = (_maxLength)? _maxLength : entriesArray.length;
var container = document.getElementById(_id);
var html='<ul>’;
for (var i = 0; i < feedLength; i++) {
var entry = entriesArray[i];
html += ‘<li>’;
html += ‘<img src="http://favicon.st-hatena.com/?url=’ +entry.siteUrl + ‘" />’;
html += ‘ <a href="’ + entry.link + ‘" title="’ + entry.title + ‘" target="_blank" rel="nofollow">’ + entry.title + ‘ <img src="http://b.hatena.ne.jp/entry/image/’ + entry.link + ‘"></a>’;
}
html += ‘</ul>’;
container.innerHTML += html;
};
google.setOnLoadCallback(init);
};
getRssFeeds("feed", [
"ここに表示させたサイトのURL(RSS)を貼ります",
"こんな感じ↓",
"//mizuka123.net/feed/"
]);<br /><br />//]]>
</script>
<div class="feedArea">
<div id="feed"></div>
</div>
[/html]
style.css
[html] /*相互RSS(追記)*/.feedArea ul {
margin: 0;
padding: 0;
font-size: 90%;
line-height: 1.6;
list-style: none;
}
.feedArea ul li a img {
vertical-align: middle;
}
#feed ul {
width: 400px;
height: 120px;
overflow-y: scroll;
}
[/html]
どうも記事のコードをコピペしてみると動作しなかったので,実際のサイトのコードから拝借しました.
元のコードからの変更点は「rel=”nofollow”」を追記し,サイズを変更しただけですね.
このように「rel=”nofollow”」もしっかり付与できました.