『重要』「HTMLサイトマップ」の作成でPV数が激増した話

2020年10月26日月曜日

お役立ち情報 人気記事

t f B! P L

サイトマップとは❓
一言で表すと、サイト内のページリンクをまとめたページのことで、検索エンジンと検索ユーザー双方に、そのサイトにどのようなページ(記事)があるのかを伝えるためのものだ。

サイトマップの必要性
  • サイトの規模が非常に大きい
  • 内部リンクが少ない、または適切にリンクされていない
  • 外部リンクが少ない
  • サイトでリッチメディアコンテンツを使用している
  • サイトがGoogleニュースに表示されている
  • 他のサイトマップ対応アノテーションを使用している
Googleによると、
サイトマップを送信することは、サイトを最適化する上で重要な要素の一つです。
サイトマップを送信することで、あるサイトに存在するすべての URL を検索エンジンが発見できるようになり、ページの内容が変更された時に素早くダウンロードすることが可能になります。

サイトマップの種類
  • HTMLサイトマップ
ユーザーにどのようなコンテンツがあるのかを伝えるためや利便性を向上させる。
規模の大きなサイトになるとユーザーが求めているコンテンツにたどり着くのに時間がかかったり、もしくは探しても見つからないこともあると思います。このような事を防ぐのがサイトマップです。
主にサイトマップのページやフッターにサイトマップを設置します。
  • XMLサイトマップ
検索エンジンにサイト内のコンテンツを通知して認識させる。
XMLサイトマップは主にSimple Sitemapが使われています。
fsitemap.xmlは、サイト内に存在するコンテンツ(画像や動画を含む)のURLを記載したXML形式のファイルを指します。
XMLサイトマップ(sitemap.xml)を設定することで、クローラーに対して各コンテンツの存在を適切に伝えることができます。
Bloggerには、投稿記事と固定記事の2種類のXMLサイトマップを自動生成する機能があります。 
#Blogger

HTMLサイトマップ(検索ユーザー向け)

大規模なサイトになればなるほどページ数も多く、ユーザーが求める目的のテキストに辿り着くのにテキストリンクやカテゴリを辿り相当の手間が必要になります。
ユーザビリティを考慮した上でわかりやすい場所にサイトマップページへのリンクを設置することが重要と言えます。
特にスマホの場合は情報を表示する領域が限られてますからページ一覧を簡潔にまとめているサイトマップは重要です。

ただし、あまりにも膨大な記事数を一覧で表示させても逆に探しにくくなってしまうという可能性もあります。
なので、適宜重要なページの記事一覧とそのカテゴリページへのリンクを設置しておくだけでも利便性は高まるものと思われます。

それと、複数のカテゴリに属するページだと検索ユーザーもサイト内で迷ってしまうため、ブログのカテゴライズを一考する必要があると思います。また、カテゴリが複数あるということは、テーマが定まっていない可能性もありますので再考してみましょう。

HTMLサイトマップの効果について

  • サイト内への記事全てを記載したテキストリンクが並んでいるため、当然内部リンクにもなります。
  • 検索ユーザーがサイト内で迷わないということが挙げられます。
  • クローラーは、こういったリンクを辿ってサイト内をクロールしていくため、重要なページはもちろん、内部リンクが集まっていない、クローラーがなかなか巡回しない、といったページにも効果的と言えます。
内部リンクについての参考サイト▶「内部リンクとは?SEOに効果的な設置方法について」

良いHTMLサイトマップ

ユーザーにとって見やすいことやクローラーに認知されていることが大切だ。
  • カテゴリーごとに色を分ける。
  • 階層構造を視覚化させる。
  • 分かりやすい位置に配置することが大切。

悪いHTMLサイトマップ

  • ユーザーがサイトマップにいくことができない。どこにサイトマップがあるのかも分からず、見たいページが見つからない場合はそのサイトを離脱するだろう。
  • クローラーに認知されていない。クローラーに認知されていなければ検索した際に表示されることもない。

サイトの規模が大きいブログの場合のHTMLサイトマップ

ユーザーにとっては膨大な記事数の中から求める情報を探すのが困難なのは明白です。
記事数が多いブログの場合は、ラベル単位でまとめて表示する形式のサイトマップの方がユーザーが探している記事を見つけやすい可能性があります。

BLOGGERLABのサイトマップ

  • 新しい投稿から順番に全てのブログ記事を一覧で表示して、各記事のラベル欄をクリックすると、ラベル毎にまとめて表示する仕様となっています。
  • 記事数の多いBloggerブログの場合、サイトマップでラベル単位に記事がリスト表示されていると、ユーザーが興味のあるラベルから記事を探しやすい利点があると思います。
  • 新記事には、"New!"が加えられます。
  • このHTMLの作成、設置方法は、HelploggerのHow To Add a Sitemap with a List o Posts to Blogger の記事から提供されるものです。

ラベルで分類のHTMLサイトマップ作成設置方法

参考サイト▶記事数の多いBlogger ブログに適したラベルでまとめるHTMLサイトマップの作成方法

1.サイトマップ用の新ページを作成する

  1. Bloggerの管理メニューから「ページ」の上部に表示される「新しいページ」を開く。
  2. ページタイトル部に「カテゴリー別のサイトマップ」を入力する。
  3. タイトル部の下のメニュー項目から「HTMLビュー」に切り換えます。
  4. テキスト入力欄に以下のコードを貼り付けます。
<!-- ここから サイトマップ 機能 -->
<style>
p.labels a{color: #242424; text-transform: uppercase;font-size: 15px;}
a.post-titles {color: #0000FF;}
ol li{list-style-type:decimal;line-height:25px;}
</style>
<script>
//<![CDATA[
var postTitle=new Array();var postUrl=new Array();var postPublished=new Array();var postDate=new Array();var postLabels=new Array();var postRecent=new Array();var sortBy="titleasc";var tocLoaded=false;var numChars=250;var postFilter="";var numberfeed=0;function bloggersitemap(a){function b(){if("entry" in a.feed){var d=a.feed.entry.length;numberfeed=d;ii=0;for(var h=0;h<d;h++){var n=a.feed.entry[h];var e=n.title.$t;var m=n.published.$t.substring(0,10);var j;for(var g=0;g<n.link.length;g++){if(n.link[g].rel=="alternate"){j=n.link[g].href;break}}var o="";for(var g=0;g<n.link.length;g++){if(n.link[g].rel=="enclosure"){o=n.link[g].href;break}}var c="";if("category" in n){for(var g=0;g<n.category.length;g++){c=n.category[g].term;var f=c.lastIndexOf(";");if(f!=-1){c=c.substring(0,f)}postLabels[ii]=c;postTitle[ii]=e;postDate[ii]=m;postUrl[ii]=j;postPublished[ii]=o;if(h<10){postRecent[ii]=true}else{postRecent[ii]=false}ii=ii+1}}}}}b();sortBy="titleasc";sortPosts(sortBy);sortlabel();tocLoaded=true;displayToc2();document.write('</br><div class="sitemap-link"><a href="http://helplogger.blogspot.com/2013/12/add-sitemap-table-of-contents-to-blogger.html" style="font-size: 10px; text-decoration:none; color: #5146CD;">Get This Widget</a></div>')}function filterPosts(a){scroll(0,0);postFilter=a;displayToc(postFilter)}function allPosts(){sortlabel();postFilter="";displayToc(postFilter)}function sortPosts(d){function c(e,g){var f=postTitle[e];postTitle[e]=postTitle[g];postTitle[g]=f;var f=postDate[e];postDate[e]=postDate[g];postDate[g]=f;var f=postUrl[e];postUrl[e]=postUrl[g];postUrl[g]=f;var f=postLabels[e];postLabels[e]=postLabels[g];postLabels[g]=f;var f=postPublished[e];postPublished[e]=postPublished[g];postPublished[g]=f;var f=postRecent[e];postRecent[e]=postRecent[g];postRecent[g]=f}for(var b=0;b<postTitle.length-1;b++){for(var a=b+1;a<postTitle.length;a++){if(d=="titleasc"){if(postTitle[b]>postTitle[a]){c(b,a)}}if(d=="titledesc"){if(postTitle[b]<postTitle[a]){c(b,a)}}if(d=="dateoldest"){if(postDate[b]>postDate[a]){c(b,a)}}if(d=="datenewest"){if(postDate[b]<postDate[a]){c(b,a)}}if(d=="orderlabel"){if(postLabels[b]>postLabels[a]){c(b,a)}}}}}function sortlabel(){sortBy="orderlabel";sortPosts(sortBy);var a=0;var b=0;while(b<postTitle.length){temp1=postLabels[b];firsti=a;do{a=a+1}while(postLabels[a]==temp1);b=a;sortPosts2(firsti,a);if(b>postTitle.length){break}}}function sortPosts2(d,c){function e(f,h){var g=postTitle[f];postTitle[f]=postTitle[h];postTitle[h]=g;var g=postDate[f];postDate[f]=postDate[h];postDate[h]=g;var g=postUrl[f];postUrl[f]=postUrl[h];postUrl[h]=g;var g=postLabels[f];postLabels[f]=postLabels[h];postLabels[h]=g;var g=postPublished[f];postPublished[f]=postPublished[h];postPublished[h]=g;var g=postRecent[f];postRecent[f]=postRecent[h];postRecent[h]=g}for(var b=d;b<c-1;b++){for(var a=b+1;a<c;a++){if(postTitle[b]>postTitle[a]){e(b,a)}}}}function displayToc(a){var l=0;var h="";var e="Post Title";var m="Click to sort by title";var d="Date";var k="Click to sort by date";var c="Category";var j="";if(sortBy=="titleasc"){m+=" (descending)";k+=" (newest first)"}if(sortBy=="titledesc"){m+=" (ascending)";k+=" (newest first)"}if(sortBy=="dateoldest"){m+=" (ascending)";k+=" (newest first)"}if(sortBy=="datenewest"){m+=" (ascending)";k+=" (oldest first)"}if(postFilter!=""){j="Click to view all"}h+="<table>";h+="<tr>";h+='<td class="header1">';h+='<a href="javascript:toggleTitleSort();" title="'+m+'">'+e+"</a>";h+="</td>";h+='<td class="header2">';h+='<a href="javascript:toggleDateSort();" title="'+k+'">'+d+"</a>";h+="</td>";h+='<td class="header3">';h+='<a href="javascript:allPosts();" title="'+j+'">'+c+"</a>";h+="</td>";h+='<td class="header4">';h+="Read all";h+="</td>";h+="</tr>";for(var g=0;g<postTitle.length;g++){if(a==""){h+='<tr><td class="entry1"><a href="'+postUrl[g]+'">'+postTitle[g]+'</a></td><td class="entry2">'+postDate[g]+'</td><td class="entry3">'+postLabels[g]+'</td><td class="entry4"><a href="'+postPublished[g]+'">Read</a></td></tr>';l++}else{z=postLabels[g].lastIndexOf(a);if(z!=-1){h+='<tr><td class="entry1"><a href="'+postUrl[g]+'">'+postTitle[g]+'</a></td><td class="entry2">'+postDate[g]+'</td><td class="entry3">'+postLabels[g]+'</td><td class="entry4"><a href="'+postPublished[g]+'">Read</a></td></tr>';l++}}}h+="</table>";if(l==postTitle.length){var f='<span class="toc-note">Show All '+postTitle.length+" Posts<br/></span>"}else{var f='<span class="toc-note">Show '+l+" posts by category '";f+=postFilter+"' the "+postTitle.length+" Total Posts<br/></span>"}var b=document.getElementById("toc");b.innerHTML=f+h}function displayToc2(){var a=0;var b=0;while(b<postTitle.length){temp1=postLabels[b];document.write("<p/>");document.write('<p class="labels"><a href="/search/label/'+temp1+'">'+temp1+"</a></p><ol>");firsti=a;do{document.write("<li>");document.write('<a class="post-titles" href="'+postUrl[a]+'">'+postTitle[a]+"</a>");if(postRecent[a]==true){document.write(' - <strong><span style="color: rgb(255, 0, 0);">New!</span></strong>')}document.write("</li>");a=a+1}while(postLabels[a]==temp1);b=a;document.write("</ol>");sortPosts2(firsti,a);if(b>postTitle.length){break}}}function toggleTitleSort(){if(sortBy=="titleasc"){sortBy="titledesc"}else{sortBy="titleasc"}sortPosts(sortBy);displayToc(postFilter)}function toggleDateSort(){if(sortBy=="datenewest"){sortBy="dateoldest"}else{sortBy="datenewest"}sortPosts(sortBy);displayToc(postFilter)}function showToc(){if(tocLoaded){displayToc(postFilter);var a=document.getElementById("toclink")}else{alert("Just wait... TOC is loading")}}function hideToc(){var a=document.getElementById("toc");a.innerHTML="";var b=document.getElementById("toclink");b.innerHTML='<a href="#" onclick="scroll(0,0); showToc(); Effect.toggle(\'toc-result\',\'blind\');">?? Display Table of Contents</a> <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyNyar95fvra7G_-eY5xvs8L9FFL7QoIfnKXaHX4OJMjlsIZxarBiu8E7qNT7vrZFu6YGI2q86JZTjMKwfCVBYaNmHZIxIyZKv_BK8KsQRUWMCkhinHc6WePwEs7nb8Pgpc8dteYJc-kjT/s1600/new_icon.gif"/>'}function looptemp2(){for(var a=0;a<numberfeed;a++){document.write("<br>");document.write('Post Link : <a href="'+postUrl[a]+'">'+postTitle[a]+"</a><br>");document.write('Read all : <a href="'+postPublished[a]+'">'+postTitle[a]+"</a><br>");document.write("<br>")}};
//]]>
</script>
<script src="http://helplogger.blogspot.com/feeds/posts/default?max-results=9999&amp;alt=json-in-script&amp;callback=bloggersitemap"></script>
<!-- ここまで サイトマップ 機能 -->

  • http://helplogger.blogspot.comを自分のブログのアドレスに変更します。
  • 「ワイン好きの海外生活」https://longstay-wine.blogspot.com/

2.サイトマップのカスタマイズ

  • コード上部の赤字部はカテゴリーのタイトルの文字色とサイズです。      p.labels a{color: #242424; text-transform: uppercase;font-size: 15px;}
  • 記事のリンクのテキストの色です。a.post-titles {color: #0000FF;}
  • サイトマップページのコメント入力を無効にする。ページ右側に表示されるページ設定の「オプション」をクリックして、「閲覧者のコメント」を許可しないを選択します。サイトマップのページにコメント欄は通常必要ありません。

3.設定を確認の上、「公開」ボタンを押します。以上で作業完了です。

参考サイト▼

ページビューの合計

Translate(翻譯)

台北の日貨専門店 瑞瑞

記事検索

国別ワイン記事検索

自己紹介

自分の写真
趣味として、Wineや台湾の紹介ブログを書いたり、台湾では大阪の食文化を紹介しながら「話せる日本語」を教えています。 30代前半で起業、60で引退、現在は大阪、南国台湾を往復しながらフリーランスな生活をしています。

QooQ