2019/08/25

独自ドメインをとろうと思い立ちました。

FC2ブログの有料会員とは別に、独自ドメインをとることにしました。理由や、どこでとろうとしているかなど書いてみます。

なぜFC2ブログの有料会員の独自ドメイン以外で独自ドメインをりたいの?

FC2ブログの有料会員になった際、1年間無料で使えるドメインを申し込んだのですが、そのドメインでは他のブログサービスや、レンタルサーバへ移行することができないことがわかりました。 その為、Google検索でドメインの評価が上がってしまうと、なかなかFC2から離れることができないことになります。

FC2ブログから抜け出せないとなると、WordPressやMovableTypeなどを使用したい!となった時に、面倒なことになるとも思います。

ただ、FC2ブログを独自ドメインで運用したい場合は、FC2ドメインで管理される必要があるそうです。 なので、FC2ドメインで申し込むほうが良いように思いますが、FC2ブログは独自ドメインを解除する方針としました。 ※今は他のブログをよく更新しているといったこともあり、FC2ブログはいったん無料でいいかなぁと思いはじめました。

お名前.COM、ムームードメイン、バリュードメイン、スタードメイン、ゴンベエドメイン、さくらインターネットなどがあるようですが、今回はお名前.COMにしようかと思います。

なぜお名前.COMにしたの?

さくらインターネットなどでは、レンタルサーバとして合わせて契約するならいいのかと思いましたが、今はレンタルサーバを使用しないので外しました。

それ以外はあまりどれでもいいかなぁと思いましたが、昔から名前を知っているお名前.COMにしました。 ムームードメインも考えましたが、なまえ的に、お名前.COMのほうがわかりやすかったです。 それくらいの理由です。

どこから申し込むの?

下のバナーリンクから申し込みを行いました。とりあえずムームードメインや、さくらインターネットのバナーも張っておきました。

お名前.COM

ムームードメイン

さくら

2019/05/25

FC2ブログのテンプレートをレスポンスデザインにしてみました。

FC2ブログでもレスポンシブデザインのテンプレートがありました。 レスポンシブデザインを取り入れると、canonicalの設定を入れなくてもよくなったりするので、結構おすすめです。 レスポンシブデザインとはどんなものか記載してみます。

レスポンシブデザインについて

先ずは、レスポンシブデザインについて記載します。

レスポンシブデザインって何?

例えば、このサイトをPCの最大サイズで表示した場合、左側に最新記事や、カテゴリが表示されます。 そして、ブラウザの幅を小さくしていくと、最新記事や、カテゴリが一番下に表示されるようになります。

レスポンシブデザインとは、画面サイズによってレイアウトが変わるデザインです。

レスポンシブデザインのメリットは?

一つのHTMLで、PC用のレイアウトとスマホやタブレットのレイアウトを実現できることになります。 例えば、

  • 何かテンプレートを修正する際、PCだけ対応して、スマホの対応を忘れるといったことがなくなる。

  • 同じ内容の記事が、PC用とスマホ用との二つできるのを防ぐことができる。

    同じ内容の記事が複数ある場合は、canonicalを設定しておく必要があります。※Googleの検索を気にしなければ不要ですが。

  • スマホやタブレットを横にした際、大きいほうのレイアウトで見せたいなどの制御もできる。

  • Googleからモバイルフレンドリーな画面と認識される。

    適切なリダイレクトやalternateを入れなくても、Googleからモバイルに適したページと認識され、評価が悪くならない。

  • スマホのレイアウトも考慮するので、シンプルなデザインとなる。そのため、わかりやすレイアウトになりやすい。

レスポンシブデザインのデメリットは?

  • CSSを使いこなす必要があるので、ハードルが上がります。場合によっては、JavaScriptも併用することになります。 ただ、自分でテンプレートを作るならということです。用意されているものを使用する場合は特に適用するだけなので気にする必要はないです。

  • FC2ブログのアルバム機能がPC表示固定となってしまいます。何が問題かというと、スマホでアルバム表示しようとすると、綺麗に表示されない(小さく表示されることになります)です。 そして、Googleからモバイルフレンドリーではないと言われてしまいます。(アルバムのURLだけがスマホに向いていないと判定されるだけなので、サイト全体には影響ないです。)

CSSを使ってレスポンシブデザインができるようになると、例えば、このサイトでは大きなときは、上部にメニューバーを表示して、小さいときは非表示にする、といったようなこともできます。 また、PCとスマホだけではなく、PCとタブレットとスマホと言ったような細かく1つのHTMLでデザインを分けることも可能です。

FC2ブログでは、少し欠点もありますが、大きな欠点ではないかと思うで、気になる方は一度検討してみてはいかがでしょうか。

2019/05/19

FC2ブログの1年間JPドメインプレゼント(有料会員)がお得なのか考えてみました。

FC2ブログで有料会員となると、1年間JPドメインプレゼントとありますが、これがお得なのかどうか、人によって結構違うようなので、書いてみます。

※結論的には、ずっとFC2ブログをつかい続けたい人で、「.jp」ドメインがいい!という人にはお勧め。それ以外は、お勧めではないと思います。

ドメインってなに?

このブログでは、「nknot.jp」です。「https://ドメイン名」となります。 WEBの世界では、IPアドレス(111.111.111.111のような数字の羅列)でサーバを特定しているのですが、人が覚えられないので、このドメイン名がブラウザに入力されたら、このIPアドレスに変換してアクセスしてくださいね。ということをしています。

fc2ブログですと「blog.fc2.com」がドメイン名です。それで、個人がブログを作成すると「(id).blog.fc2.com」(nknot.blog.fc2.com)と言った形となりidが付与されたドメイン名になります。

特に「(id).blog.fc2.com」でも困ることはありません。ただ、ドメイン名に「blog.fc2.com」が含まれているので、fc2ブログを使っているサイトなのか。だとか。ブログサイトなんだ。というのがURLからわかります。 ブログサイトは個人がやっているイメージが強いので、それがいいほうにも、悪いほうにもとらえられることがあります。 なので、ドメイン名に「blog」や「fc2.com」が入っていない、自分独自のドメイン名が欲しい!というときに、独自ドメインを取得します。

※独自にサーバを立てるときは、独自ドメインを取得する必要があります。

1年間JPドメインプレゼントに向いている人

独自ドメインは、ドメインを管理している会社に登録、運用してもらう必要があります。そのため有料です。 また、ドメインの種類によって金額が変わります。ちなみに、プレゼント対象の「.jp」は少し人気があるので、お高めです。「.com」や「.net」は安くなってきます。 fc2ブログで取得できるドメインの種類と金額はここから確認できます。

「.jp」は年間「2,780円」で、「.com」「.net」は年間「1,080円」です。そのため、1年間「.jp」が無料なのは結構お得感はあります。

そのため、「.jp」のドメインを、これからもずっとFC2ブログでお金がかかっても使いたい!という方には向いているかと思います。

それ以外にも、独自ドメインで少し試してみたいことがあるといった人にはいいかもしれません。

1年間JPドメインプレゼントに向いていない人

現在感じているのは大きく下記2点です。

  1. 「.jp」にこだわりがない人

    向いている人で書いていますが、「.jp」は年間「2,780円」で初年度だけ無料です。2年目には「2,780円」がかかります。

    例えば「.com」だと初年度「1,080円」かかりますが、2年目も同じ金額なので、総額「2,160円」となり、2年目の時点で「.jp」より安いことになります。

    なので、「.jp」にこだわりがない人は、ランニングコストの安い「.com」などのドメインをお勧めします。

  2. 将来別のブログや、レンタルサーバを考えている人

    FC2ブログでは、「JPドメインプレゼントキャンペーンやかんたん変換サービスで取得したドメインは、FC2ブログなどのFC2「かんたん変換サービス」の対応サービス内のみになります。」となっています。

    「かんたん変換サービス」ではいろいろ制限があるので、一番の問題は、他のサーバへの設定ができません。(FC2サービス内にしか使えません。)

    通常のドメインであれば、ドメインに紐づけるIPを変えることで、別サーバへ向けることができますが、それができません。

    また、ドメイン作成後60日後には、他のドメイン管理会社に移すことができますが、それもできません。

    なので、ドメインの運用を考えている人にはお勧めできないです。

私個人の感想ではありますが、FC2の1年間JPドメインプレゼントについては、FC2ブログから出て行かれないようにするための、しかも、2年目からコスト回収ができるFC2ブログ運営側よりの内容のようには見えます。

ただ、FC2ブログを使いたい。かつJPドメインが欲しい!という人にはお勧めできる内容だと思います。

※ちなみに、私は独自ドメインで少しためしてみたいことがあるので使っていますが、2年目は更新するつもりはありません。

2019/05/17

FC2ブログのスマホテンプレートにcanonicalを設定しておいたほうが良い

FC2ブログのテンプレートで、PCとスマートフォンのテンプレートをそれぞれで指定していたら、Googleに重複コンテンツだと言われてしまいました。 それも、大量に。。。 FC2ブログでは、PCとスマートフォンとで別のテンプレートを作成する人は以前投稿した「別ブログへ記事コピーしたのでcanonicalタグとは何か調べてみました」でご紹介したcanonicalを指定することをお勧めします。

なぜ、重複コンテンツとなると困るのか、どのようなcanonicalを設定したらいいのかを記載しています。

※ちなみに、特にブログの記事は自分個人の日記のようなもので、他の人に見てもらう必要はない!という人は問題のない話です。

重複コンテンツとなるとなぜ困るの?

まず、重複コンテンツとは何かですが、ブログでいうと同じ記事を複数投稿しているような状態です。例えば、記事数が多いほうが見栄えがいいなどと思い、1つの記事を日付や、少しだけ表現を変えて5つ投稿して5倍記事があるように見せるような場合です。

それでは、なぜ重複コンテンツとなると困るかですが、一番の理由は、Googleは重複コンテンツがあるサイトの評価を下げるそうです。評価が下がるということは、Google検索の結果に表示される場合、かなり下のほうにもしくは、表示されなくなったりします。※検索結果の最後のページなどに行くと、似たページは除外しているといったメッセージが表示されています。

これでは、せっかく書いた記事を多くの人に読んでもらうことはできませんよね。

なぜ、Googleは重複コンテンツがあるサイトの評価を下げるというと、検索結果に同じ記事が並んでいても、検索をする人からすると邪魔ですよね。Googleは質の良い検索を目指しているので、そういうページがたくさんあるサイトはペナルティとしてサイト全体の評価を下げるようです。

ちなみに、少量発生するのは仕方がないといった形で、ペナルティにならないこともあるようです。

ただ、FC2ブログでテンプレートをPC、スマートフォンで分けると、記事が2倍(オリジナルと、重複コンテンツが1対1)で発生することになり、重複の割合が高くなると考えられます。

なぜ、FC2ブログでテンプレートを分けると重複コンテンツとなるの?

スマートフォンのテンプレートで表示する場合、URLに違いがでるからです。具体的には、「blog-entry-XX.html?sp」のように.htmlの後ろに「?sp」がついているからです。

FC2ブログとしては、この「?sp」が付いているときはスマートフォンのテンプレートを表示する仕様にしているようです。

「xxx.html?sp」は何かですが、URLで指定するパラメータです。サイトによってはこの「?」の後ろにいろいろな情報を付与して、その条件にあった内容を表示するといったことができます。 例えば、「list.html?category=1」を指定するとカテゴリ1の内容だけ画面に表示させる。といったような感じです。※そのサイトが、そのように作られている場合での話です。なのでFC2ブログで同じ指定しても何も起こりません。

なので、「xxx.html?sp」とあると、Googleとしては、何かパラメータを与えるページだから、「xxx.html」とは別の内容のページだと判断します。でも、実際はテンプレートが違うだけで、同じ内容が表示されるので重複だ!と判断されてしまうわけです。

パラメータが付いているけど、同じファイル名「xxx.html」なんだから、それくらいわかってよと思ったりもしますが、FC2ブログでは自分では書いていないところで、「xxx.html」と「xxx.html?sp」のリンクがあるようで、Googleとしては、あなたのページで分けてリンクつけているでしょ!だからこっちも別ページとして扱います。ということになるようです。

どうのような対応するの?

以前投稿した「別ブログへ記事コピーしたのでcanonicalタグとは何か調べてみました」で紹介したcanonicalをテンプレートに指定することになります。 詳しくは、その記事に記載していますが、簡単に言うと、「URL(A)」は「URL(B)」のコピーですよ!なので、Googleはこのページを無視して「URL(B)」だけを対象にしてくださいね!と指定する方法です。 これを指定しておくと、Googleは、理由があって意図的に重複コンテンツがあるんだな。検索も「URL(B)」だけと言ってるので、「URL(B)」だけ対象にして「URL(A)」が重複していることは気にしないよ。となります。そのため、サイトの評価が下がったり、ペナルティはなくなります。

実際の対応手順は?

テンプレートを修正することになります。※テンプレートを修正する場合は、必ずバックアップを取得して作業してくださいね。FC2ブログではバックアップはとられていないので誤っても、もとに戻すことはできません。

  1. 管理画面にログインします。
  2. 左メニューの「設定」>「テンプレートの設定」をクリックします。
  3. 右側の「スマートフォン用」>「テンプレート管理」をクリックします。
  4. 右側の「[ sky_flow_sp ] のHTML編集」のheadタグ内(何行も記載)に下の内容を貼り付けてください。
    
      
        
      
    
    

    私は「」の行の下に貼り付けました。下のような感じです。</p> <pre> <title><%sub_title> - <%blog_name>

  5. 更新ボタンをクリックします。
  6. 作業としては以上です。PCで「blog-entry-XX.html?sp」にアクセスして、ページ内を右クリックしてソースを表示するとすると、HTMLのソースが表示されます。canonicalが表示されていればうまくできています。

せっかく書いた記事が、FC2のブログの仕様のせいで重複コンテンツとして判定され、Google検索で表示されなかったり、検索結果で最後のほうになったら嫌ですよね。 あらかじめcanonicalが設定されているテンプレートもあるかもしれませんが、いくつか見た中では設定されているものはなかったので、自分で対応する必要があるようですね。。

別の対応としては、テンプレートをPCだけにしてレスポンシブのテンプレートを選ぶというのがありますが、別の機会に書くことにします。

2019/05/03

FC2ブログに目次を表示できるようにしました。その設定方法等です。

ブログに目次が欲しいなぁ。と思ったのですが、FC2ブログではその機能が提供されていませんでした。※見つけられてないだけかもしれませんが。。

なので、自分で作ってみることにしました。※同じようなことをしてくれるJavaScriptのプラグインとかあるようですが、勉強のため自分で作りました。

20190503目次1

作成したJavaScript、CSSの記載方法や、テンプレートなどの設定方法を書きます。

※選択しているテンプレートや、別のJavaScriptと干渉してうまく動かない可能性もあります。この手順を実施される場合は、自己責任でお願いします。また、テンプレートを触りますので、必ずテンプレートのバックアップをとってから作業してください。

目次のメリットは?

記事の最初のほうに目次があると、最後まで読まなくても、記事の全体感がわかります。また、目次をクリックすると、直接その場所に遷移できるのもいいですね。

実際、他のサイトを見ているときに、目次があるとわかりやすいなぁ。と思っていました。

どのような目次を作成するの?

下記のような仕様の目次を作ってみたいと思います。
目次は自動生成させる

先にも書きましたが、FC2ブログには目次を自動生成する機能はないので、自分で作ります。

管理画面の記事作成では生成できないので、JavaScriptを使用して、ブラウザ側で記事を見たときに自動生成し、表示されるようにします。

JavaScriptのプログラム記載量を減らすために、jQueryを使用します。※jQueryはJavaScriptの記載を少し簡単にしてくれるものです。

hタグのタイトルを取得する

プログラムで取得する以上、ルールを設定する必要があるため、hタグのタイトルを目次の対象とします。

h1タグは、ブログ名や、記事のタイトルに使われているので、h2~h6のタグを対象とします。

※制約として、h2タグの次に、h3タグがなく、いきなりh4タグを記載するといったパターンには対応しません。頑張れば対応できると思いますが、その分処理時間もかかるため、イレギュラーなパターンは想定外とします。

ページ内リンクを設定(アンカーを設定)

目次内のタイトルをクリックすると、該当のhタグまで遷移するようにします。

自分で表示位置を指定できる

記事によって表示位置を変更したいこともあると思うので、特定のタグを記載した個所に表示されるようにします。

また、記事によっては、目次が不要な記事もあると思うので、特定のタグが記載されていない場合は、表示されないようにします。

トップページでも大丈夫

トップページでは最新の記事がいくつか並んで表示されますが、すべての記事のhタグが各記事内に表示されないように、記事単位で処理されるようにします。

目次の作成の流れ

下記のような流れで作成します。

  1. jQueryをテンプレートに設定する
  2. テンプレート内に記事のIDを設定する
  3. 目次作成用のJavaScriptをテンプレートに設置する
  4. 目次作成用のCSSを設定する
  5. 記事に目次作成用のタグを書き込む

目次の設定方法

では実際に目次を設置していきます。

jQueryをテンプレートに設定する

※すでにjQueryを読み込むようにしている場合はここは対応不要です。

※テンプレートを修正する場合、万が一のため、「複製」をクリックして現状のテンプレートのバックアップをとってから作業することをお勧めします。

まずは、ブログの管理画面を開き、左メニュー内の「設定」>「テンプレート」をクリックします。

画面右側を少し下に行くと、【[ テンプレート名 ] のHTML編集】があります。そのheadタグ内に下記の記載をします。
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script></p>

※headタグ内であれば、とりあえずどこでもいいのですが、私は下記のようにstylesheetを読み込む下に記載しました。
<link rel="stylesheet" href="<%css_link>">
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>

記載後は必ずプレビューをクリックして、問題ないことを確認してから、更新ボタンをクリックしてください。

テンプレート内に記事のIDを設定する

トップページや、カテゴリ一覧などで、複数の記事が表示される場合に記事を区別できるようにテンプレートを修正します。

上の手順でテンプレートの修正画面へ遷移し、「<!--topentry-->」が記載されている個所を探します。「<!--topentry-->」の直下のタグに「id="entry_id<%topentry_no>"」を追加します。
※すでにid=xxxxの記載がある場合は、それを書き換えます。
※私の場合、すでにidの記載があったので、下記のように修正しました。

20190503目次2

目次作成用のJavaScriptを設置する

下記のJavaScriptをテンプレート内の下のほうにある</body>の上に記載してください。

<script type="text/javascript">
function get_index(target,index){
	let id_cnt=1,id_str,index_str="",target_tag,n_level="",b_level="",o_tag,i,tmp_str;
	target_tag =  "h2,h3,h4,h5,h6";
	target.find(target_tag).each(function(){
		if($(this).attr("id") == undefined){
			id_str = "index_"+index+"_" + id_cnt;
			$(this).attr("id",id_str);
			id_cnt++;
		}else{
			id_str = $(this).attr("id");
		}

		tmp_str = '<a href="#'+id_str+'">' + $(this).text() + '</a>';
		n_level = $(this).prop("tagName").substr(1,1);
		if(n_level > b_level){
			index_str += "<ol><li>"+tmp_str;
		}else if(n_level < b_level){
			for(i=0;i<(b_level - n_level);i++){
				index_str += "</li></ol>";
			}
			index_str += "</li><li>"+tmp_str;
		}else{
			index_str += "</li><li>"+tmp_str;
		}
		b_level = n_level;
	});
	for(i=0;i<(b_level - n_level);i++){
		index_str += "</li></ol>";
	}
	index_str += "</li></ol>";

	return index_str;
}
$(function(){
	let entry_id;
	$('[id^="entry_id"]').each(function(index){
		let index_head='<p> 目次 </p>';
		entry_id= $(this).attr("id");
		$("#"+entry_id+" .nknot_index_area").html(index_head+get_index($(this),index));
	});
</script>

※文字色が青の箇所は変更することができますが、後で記載する、cssおよび、記事へ目次を表示するタグの記載も合わせて同じ文字で変更する必要があります。

※h2~h6を対象にしていますが、変更したい場合は、「target_tag=」の箇所で対象としたいタグに変更してください。ただ、稼働テストはh3までしかやっていません。

※hタグに遷移するためidを設定するようにしていますが、すでにidが設定されている場合は、値を変更しないようにしているので安心してください。

目次作成用のCSSを設定する

テンプレートの編集の下のほうに【[ テンプレート名 ] のスタイルシート編集】という箇所があります。 その中を一番下までスクロールし、下記を追加します。

.nknot_index_area{
    border: 1px solid;
    margin: 30px;
    padding: 10px;
    background: #f0f8ff;
    line-height: 1.3em;
}
.nknot_index_area p {
    text-align: center;
    font-size: 1.2em;
}
.nknot_index_area  ol{
  counter-reset: cnt;
  padding-left: 0;
}
.nknot_index_area  ol li{
  list-style: none;
  margin-bottom: 8px;
}
.nknot_index_area  ol li::before{
  content: counters(cnt, ".") ". ";
  counter-increment: cnt;
}
.nknot_index_area  ol ol{
  counter-reset: cnt;
  margin-left: 20px;
  margin-top: 8px;
  margin-bottom: 0;
}
ol.nknot_index_area, ol.nknot_index_area ol, ol.nknot_index_area ol ol, ol.nknot_index_area ol ol ol, ol.nknot_index_area ol ol ol ol{
  padding-left: 1em;
}

※JavaScriptで青文字の文字を変更した方は同じ文字で変更してください。

※背景色を変えたい方は「.nknot_index_area」内の「background」を変更してください。※色の数字はGoogleでカラーコードなどで検索し、好きなコードを取得すれば大丈夫です。

記事に目次作成用のタグを書き込む

ここまでで、目次が作成される準備が整いましたので、最後に各記事内に目次を表示するタグを記載します。
目次を表示したい箇所に「<div class="nknot_index_area"></div>」を書いてください。
私の場合、下記のように記載しました。反映した実際の記事はここです。

20190503目次3

※JavaScriptで青文字の文字を変更した方は同じ文字で変更してください。

※私の記事はタグがいっぱい書かれていますが、hタグさえあれば動くはずです。

※記事の編集画面直下にある、リアルタイムプレビューには表示されません。プレビューボタンでは表示されます。