2015年11月17日火曜日

カノニカルタグによくある間違い

こんにちは山田です。

カノニカルタグによくある間違いです。

×分割したページは1ページ目にカノニカルを向ける
            ↓
○view allページまたはrel=“next”とrel=“prev”を使う


実は1ページ目にカノニカルを集めるのは推奨されておりません。
そういった場合はページネーション(ページ送り)をつけてあげましょう。
例)3ページある場合

<link rel="canonical" href="http://www.example.com/article?page=1" />
<link rel="next" href="http://www.example.com/article?/page=2" />

<link rel="prev" href="http://www.example.com/article/?page=1" />
<link rel="canonical" href="http://www.example.com/article?page=2" />
<link rel="next" href="http://www.example.com/article?/page=3" />

<link rel="prev" href="http://www.example.com/article/?page=2" />
<link rel="canonical" href="http://www.example.com/article?page=3" />

最初はprevは不要で、最後はnextが不要になる点がご注意ください。

2015年11月16日月曜日

Google Maps API を使用する

こんにちわ、開発者のⅠです。
起床するたびに部屋の寒さに震えている今日この頃です。
皆さんはいかがでしょうか。

さて、今回のお題は”グーグルAPI”についてです。

そもそもAPIとはなんでしょうか?
”Application Programming Interface ”の頭文字をとった言葉であり、これを用いることで”Webサービス”を簡単にプログラム上で利用することが出来るようになります。

グーグルが提供するGoogle Maps API を使えば、みなさんもご存じのグーグルマップをプログラム上で簡単に利用することができます(ちなみに、最新のバージョンはV3です)。

その為にはグーグルアカウントが必須であり、以下のサイトでAPIを有効にする必要があります。
詳しい方法を知りたい方は、グーグル先生にお聞きするとすぐに答えてくれるはずです。

参照サイト名:Google Developers Console

その後、実際に利用する事になりますが、続きはまた次回にしたいと思います。
それではまた!

cssやjsファイルを確実に更新させる

こんにちは山田です。
身内ルールと思っていたものが実は広く一般的なやりかただったこと
というものに遭遇しました。
今日はそのお話しです。

開発環境:ASP.NET 2.0

CSSファイルに修正を加えて、よし動いたと思っていたら、
依頼者から「変わってないんだけど~」の声
ブラウザを更新してみると、、、

要するにクライアント側のキャッシュを読んでいたのが原因です。
これにクエリストリングを追加すると
新しいファイルでキャッシュしてくれるようになります。

<link rel="stylesheet" type="text/css" href="base.css" />

<link rel="stylesheet" type="text/css" href="base.css?date=20150101" />

クエリストリングの中身は何でもよいのですが、管理上日付が使いやすいと思います。

また、さらにファイルに更新を加えたら、クエリストリングをまたさらに書き換えてあげればOKです。
<link rel="stylesheet" type="text/css" href="base.css?date=20150102" />

2015年11月14日土曜日

Bloggerでインデックスステータスがずっと0 その2


お疲れ様です。岡田です。

前回、このブログのインデックスステータスが心停止状態になっているよ~という記事
(前回の記事:Bloggerでインデックスステータスがずっと0 その1
の末尾で「カステラ食べたい」と書いていたんですが、なんと後日リーダーがお土産でカステラをくださいました。
ありがとうございました。


その後インデックスステータスがどうなったか

いろいろやってみた前回の記事ですが、あれから3週間(もたってしまいましたが)
インデックスステータスは「ちょっと」増えました。

インデックスステータスが増えた
ちょっと増えた。

よ、、よかった、、、!!


導入してから2週間くらいは、数値が反映されないそうです。
(参考:Googleウェブマスターツールのその後「インデックスステータス」の数値がいつまでたってもゼロ?
(参考:インデックスステータスが0件から変動しない件について


よかったのはよかったのですが、4って少なくない?もっとあるんですけど。。。。

と思っていたら、大きな問題が発覚しました


ロボットによってブロックされたページがたくさん増えてた

こんなにブロックされてたなんて

4ページがインデックスに登録された裏で、38ページものページがブロックされていました。

robots.txt ファイルでブロックされているため、Google がアクセスできなかった URL です。」

ということは、前回設定したrobots.txtが悪さをしているみたい。


User-agent:* 
Allow: /search/label/
Disallow: /*archive 
Sitemap: http://stpsysdev.blogspot.jp/feeds/posts/default?orderby=UPDATED


基本方針としては、ラベルごとにページをまとめればページの内容がある程度そろうはずなので、ページとしても強くなるんじゃないかと思って、「Allow:/search/label/」を入れているのだけど、
このページたちはクロールされていないのかな?

どちらにせよ、robot.txtはこちらの意向通りに書かれているみたいなので、このままにしておくことにします。


サイトマップの中に表示されている「インデックスに登録済み」のページは「42」になっているから、
この「42」のうち「38」がブロックされているっていう意味なのかな。

ブロックされたということは、アーカイブページをブロックされたということだよね。

逆にインデックスに登録されたページがなんなのか、知りたいなぁ、、、、




続きます。

2015年11月13日金曜日

lengthとcountについて C#

こんにちは。
長年の疑問の「は」なのか「わ」なのかどちらか正しい表記か
「は」が正しいことがわかった山田です。
発音的には、waなので、「わ」が正しいが、
言葉の成り立ちとしては「は」になるみたいですね。


さておき、
C#でも、似たようなもので
lengthとcountがあります。
それぞれ配列の要素数に使われています。

使い分けについて調べてみました。

通常の配列
string[]の時はlengthを使い
コレクション
List<T>の時はcountを使っています。
(TはT型のオブジェクト)

だと思います。
(意外と情報がない、、、)

List<T> クラス

配列の長さを取得する

コレクションの方が動作が速いのでコレクションを使った方が良いとまとめてしまおうと思います。
わかったらまた追記したいと思います。