2015年10月27日火曜日

robots.txtの書き方

こんにちは山田です。 肌寒くなってまいりましたね。10月も、もう終わりです。 秋の味覚の栗を探したい気持ちを抑えつつ、SEO対策の話です。 今回は、クロール最適化の方法の一つとして、robots.txtについてお話しします。 まず、検索エンジンのロボットが、サイトの中で最初にアクセスするファイルがrobots.txtになります。 もし、テストページなどをアップロードしてクローラーにインデックスされたくない場合は robots.txtで拒否して、インデックスしてお欲しいページに誘導してあげましょう。 さて、以下に書き方についてまとめてみました。ご参考になればと思います。 robots.txtの書き方 ■ファイル名 robots.txt ■ファイルの置き場所 ドメインのルートドメイン ■サイト内すべてのロボットを拒否したい場合 User-agent:*  Disallow:/ ■特定のロボット+特定のディレクトリやページ User-agent:...

2015年10月26日月曜日

「datepicker」の色々。

こんにちわ、開発者のⅠです。 先日、北海道では雪が降ったそうです。 その他の地域も急に冷え込んできましたが、みなさん体調はいかがでしょうか? さて、前回の投稿ではお伝えできなかった、「datepicker」の各プロパティについて補足しようと思います。 このプロパティに任意の値 ( と言っても、それぞれ選択肢は限られておりますが…… )を設定することで、希望のデザインにカスタマイズすることが可能です! 例えば、”numberOfMonths” というプロパティでは一度に表示するカレンダーの数を指定できます。 「1」を指定すれば一ヶ月分、「2」を指定すれば二か月分……という感じですね。 まだまだ他にもプロパティは存在しており、    「changeMonth : true(”月”を変更できる) / false(変更不可)」   「changeYear : true(”年”を変更できる)...

2015年10月23日金曜日

サーバーコントロールの属性を書き換える方法

どうも山田です。 ASP.NET環境で開発を行っているシステム屋です。 デザイン側の属性を書き換える方法の覚書です。 意外と便利です。 aspx  <a href="#" class="btnNegative" runat="server" id="linkToTop"> C# lintToTop.Attributes.Remove("href"); lintToTop.Attributes.Add("class", "btnDisabledNotGray m20"); lintToTop.Attributes.Clear(); ①href属性を削除 ②class属性を上書き ③すべての属性を削除...

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

お疲れ様です。岡田です。 ちょうどひと月前の9月末にブログをBloggerへ移設してきたのですが、標題のとおり、Search Consoleで見れる「インデックスステータス」がずーーーーーーっと0になっているので、気になっていました。 序盤はコンテンツが少ないですし、新しいサイトなので、クローラーが来づらいのかなぁと、勝手な想像を巡らせていたのですが、1か月を過ぎた今もまだ「0」のままなので、いい加減どうにかしないとと思いました。 「ピーーーーーーーーーーーーーー」(心停止状態) クロールエラーはないか Search Consoleの左メニューにある「クロール」のところをちゃんと見てみます。 まず先頭の「クロールエラー」。 「サイトエラー」と「URLエラー」の2項目ありますが、どちらの「過去90日間エラーが検出されませんでした」となっているので、大丈夫っぽいですね。 クロールの統計情報を確認 次に、「クロールの統計情報」を見てみます。 「過去90日間のGooglebotの活動」とあるので、グラフに動きがあるということは、クロールできてるっていうことなんでしょう。たぶん。。。 10月7日に3ページ、クロールされてるみたい。その後ぼちぼち robots.txtを確認 Bloggerでブログを作ると、デフォルトのrobot.txtはこんな風になっているのです。 User-agent:...

2015年10月22日木曜日

タイニーPNG のAPIを利用した画像圧縮アプリケーションの作成

こんにちわ山田です。 昨日は、オリオン座流星群がよく見えたそうですね。 まったく見れなかったです、、。 たまたま夕方のニュースで情報を得ていたので、楽しみにしていたら 朝になるまで思い出せませんでした。 そんなこんなで、画像を外部のサービス(API)を利用して 圧縮して、画像サイズを小さくするメソッドを作成したので、その覚書です。 開発環境 ASP.NET 開発言語 C# 使用したのは、TinyPNGでほぼ公式のリファレンス通りに実装しました。  画像→byte配列にするのが苦戦しました。ここを参考にさせていただきました。  呼び出し元     protected void ButtonUpload_Click(object sender, EventArgs e)    {   ...

2015年10月20日火曜日

クエリの速度を見る方法

こんにちわ山田です。 MSのManagement Studio を使った SQL Server の操作で クエリの実行速度の計測方法を知ったのでその覚書です。 いつも使っているクエリの実行の右隣に、 「実行プラン」と「クライアント統計」というアイコンがあります。 選択して、いつも通りクエリを実行すると、なんと!実行速度がさくっとでます! 外部結合をたくさんして、サーバーの負荷がかかっているのかなと心配になったら ここの一番下の、「サーバー応答の待機時間」を見れば処理にかかった時間を見ることでき...

該当するページ内リンクを他のタブで全て開く方法

こんにちは!Sです! 今日はページ内リンクを一気に開く方法を調べていたので、その覚書と共有です。 下記のように書けばページロードした際にページ内リンクが一気に別タブで開きます。 しかしこの場合ヘッダーやフッダーなどのあらゆるリンクを開くのでページ数の多いサイトでは本当に恐ろしいことになります・・・ <script type="text/javascript"> <!-- window.onload = function () { for (var i = 0; i < document.links.length; i++) { var ele = document.links[i]; if (ele.href.match(/^http/)) { window.open(ele); } } } function openwin()...

「datepicker」を日本語化する

こんにちわ、開発者のⅠです。 前回紹介したdatepickerについて、各表記をデフォルトの”英語”から”日本語”に変更してみたいと思います。 それでは、datepickerの各プロパティに対して表示させたいもの(日本語)を設定してあげましょう。 /* 日本語化してみよう */ jQuery(function($){     $.datepicker.regional ['ja'] = {         closeText : '閉じる',         prevText : '<前',         nextText : '次>',         currentText : '今日',  ...

2015年10月19日月曜日

jQuery UI の「datepicker」とは?

こんにちわ、開発者のⅠです。 今回は、datepickerについてお話したいと思います。 このdatepickerは、カレンダーを表示させて日付を選択させるUIを実現するために用いるjQuery(Javascriptのライブラリ)の一つです。 まず利用するためには、j Query 本体を読み込む必要がありますが、自分のローカルに保存する必要はなく、以下の様にソースに直接書き込むことでインターネット経由で読み込むことが可能です。 <script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script> ただし、デフォルトの状態では年や月などの表記はすべて英語になってしまいます……。 デザインを変更するには、その設定を記述する必要が有りますが、その話は...

グーグルアナリティクスで、好きなキャンペーンコードで集計する方法

こんにちは山田です。 グーグルのキャンペーンコードの設定方法を以前お話ししたのですが、 必要なURLが長すぎて私の場合、 使えないことがわかりました。 その対処方法として、目的のURLに対して、 決まった任意のキャンペーンコードをつけて書けるようにするのが目的です。 調べてみたらそこまで難しくなく以下の手順を書きます。 ①目的のURLのクエリストリングに任意のパラメータを振ります。 www.sample.com/?trid=id201410 ②グーグルアナリティクスを開き 行動→すべてのページ 右上の検索窓に、「trid=」と入れます すると検索結果に、パラメータn値がid201410のものを一覧表示させることができます。 元々あるキャンペーン機能と違い、キャンペーン名を保持することができない点がありますが。 なんとか使えそうです。 ここを参考にしています。 http://...

2015年10月16日金曜日

インライン式 <%= %> と <%# %>の違い

インライン式 <%= %> と <%# %>の違い こんにちわ、山田です。 ASP.NETを使っていてよくわからなかったところがあったのでまとめました。 この書き方、調べたらインライン式というらしい。 自分がよく使うものをまとめてみました。 ■埋め込みコードブロック【<%= %>】 Response.Writeで代用できるブロック 値(string)を返す時はこれを使用する (例) <%= shopName %>    ↑ソースファイル(csファイル)でprotectedのもの ■データバインド式【<%# %>】 RepeaterサーバーコントロールなどでBindしている場合(Eval)はこれを使う (例)  <asp:Repeater runat="server" ID="shopList">  ...

jquery.lazyload.jsを使ってみた(画像の遅延読み込み)

こんにちは開発者のKです。 スマートフォンでWebページを閲覧する機会が増えた昨今、比較的貧弱な3G回線でもスムーズに閲覧できるように サーバへのリクエスト数やダウンロードするリソースの容量はなるべく抑えたいですよね。 通常ページ容量の大半を占めるのは画像だと思いますので、その一つの解決策として画像の遅延読み込みを実装したjqueryのプラグイン「jquery.lazyload.js」を使ってみましたので所感を述べたいと思います。 遅延読み込みについて 通常ブラウザはHTMLを1行目から順に解析していき、imgタグやcssのbackgroudで指定された画像を発見した際、即時画像のダウンロードを開始します。 画像の遅延読み込みとは、この読み込みタイミングを遅延させ、ページを一度表示し終わった後に非同期でダウンロードしようというものです。 ブラウザの表示領域は限られていますから、表示領域の外にある画像は、あとから読み込んでも影響は少ないよね、という考え方です。 これにより、最初にページ読み込みが完了までのページ容量を削減し、表示速度の高速化が期待できます。 使い方 簡単な使い方は以下の通りです。 jquery本体とlazyloadを読み込みます。 遅延読み込みさせたいimgタグにlazyクラスを付与します。このクラス名は任意に変更可能です。srcには仮で表示させる画像を指定しておき、data-originalに本来表示させる画像のURLを指定します。 step2で付与したlazyクラスを持つ要素に対して、lazyloadを実行します。その際、様々なオプションを渡すことができます。 $(function...

2015年10月15日木曜日

Googleアナリティクスのカスタムキャンペーンとは

こんにちわ山田です。 グーグルアナリティクスにてアクセスの解析に欲しい機能がありました。 リファラーのない、広告やメルマガからの流入を測定する方法です。 調べてまとめてみました。 目的のURLのクエリストリングに計測パラメータを付けることにより実現します。 ■グーグルから便利なURL生成ページがあります https://support.google.com/analytics/answer/1033867?hl=ja パラメータ 対応するディメンション 設定する項目 必須/オプション utm_source 参照元 媒体名を指定 必須 utm_medium メディア 広告の種類を指定 必須 utm_campaign キャンペーン 広告のキャンペーン名を指定 ...

2015年10月14日水曜日

知っておくと便利なURLスキーム

こんにちは山田です。 本日はブラウザから「地図を見るボタン」を選択した際に、地図アプリが立ち上がり、指定した位置を開く という物を作っている時に気づいたことのお話しです。 URLスキーム?? という謎の言葉が何度が飛び交いました。 ということで調べてみました。 URLスキームとは? たとえば↓のものです。 http://maps.apple.com/maps?q=渋谷駅 先頭は地図のアプリを開くことを指しており、 q命令らしく q以降で命令の内容を指定しています。 つまり、地図のアプリケーションを起動⇒渋谷で検索 という流れになります。 参考までに詳しく乗っているリンク先に記載されている情報を転載させていただきます。めもめお、、、 表:「マップ」のURLスキームで使用できるおもなパラメーター パラメーター     内容 q    ...

2015年10月13日火曜日

~正規表現を使って文字列を取得してみる~

始めまして、開発者のⅠです。 日々の開発で経験したことなど、色々と書かせていただきますので宜しくお願い致します。 さて、今回は正規表現を用いて文字列を取得する方法について書いてみたいと思います。 正規表現については、どこかで耳にしたことがあると思います。それをここで全て説明するのは難しいので省略いたしますが、一言でいうと「抽象的な文字列の表現」と言えます。 ※参考URL:http://www.mnet.ne.jp/~nakama/ この正規表現を利用して、例文から条件と合致する文字列を取得してみたいと思います。 正規表現を使って日付と曜日を取得してみましょう。 ----------------------------------------------------------------------- string sentence = "2015年10月13日火曜日, 天気は晴れです,...

2015年10月9日金曜日

SQL 算術オーバーフロー エラー

「expression をデータ型 datetime に変換中に、算術オーバーフロー エラーが発生しました。」 こんにちはYです。 クエリを実行中、上記のエラーが発生してちょっと調べてみました。 declare @datetimedisp datetimeset @datetimedisp = 20160101select    *from    mst_table where   1 = 1 どうやら、int型の20160101をdatetime型に暗黙的キャストをSQLServerが行っていたらしく、 キャストの失敗が原因でこのようなエラーが起きていたのだとわかりました。 正しくは 「2016-01-01」または「2016-01-01 00:00:00」と代入するのが正しいようです。 久しぶりに触って忘れていたこ...

2015年10月7日水曜日

iOS9のATS絡みの審査とリジェクトについて

Zメンです。iOSの開発に関するあれこれを書いていきます。 ■iOS9で出てきたATSってなに? iOS9が出てから(っていうか出る前から)開発者の間でATS絡みの話題が結構出てますね。 ATS自体はいまさら感がありますが、結局審査の時どうなるの?というところが意外と触れられてないです。 ちなみにATSはAppTransportSecurityの略ですね。 簡単に言うと 「今後アプリでの通信は全てHTTPSが推奨ですから!」 「HTTPで通信しようとしたらHTTPSに強制変換しますから!!」 な話です。 これが結構曲者な感じで、 HTTPSといっても『あれね、SSLね』ではなくて、具体的には  ○TLS バージョン 1.2 以上  ○接続時に使用できる暗号スイートに制限がある  ○サーバ証明書に制限がある    ・SHA256 以上のフィンガープリント    ・2048 ビット以上の...

wgetでサイト内のリンク切れチェック(いろいろ実験)

以前、wgetでサイト内のリンク切れチェックの記事でwgetのspiderオプションを紹介しましたが、実施するにあたって 「-recursive -level 1」とすると指定ページだけチェックして終わり?もしくは指定したページからリンクされたページまで辿る? 同一URLのリンクが複数貼られていた場合、毎回チェックしにいくのか リダイレクトされるURLの場合、リダイレクト先まで追ってくれるのか 一斉に大量のリクエストを送ってサーバに負荷をかけ過ぎないか のような疑問が浮かんだので、実際に実験してみました。 準備 以下の様なリンク構造を持ったサイトを用意しました。 やかましい矢印は他ページへのリンクを表しています。/detail/4.htmlからはトップページ(index.html)へ302リダイレクトするようにしています。 結果 -recursive...