お名前.comだとダイナミックDNSが無料で使えたよ

無料のダイナミックDNSは、毎月クリックが必要だったり、
最近特に使いづらい。(無料だから当たり前)

Buffalo(バッファロー)のダイナミックDNSは、
年額3,780円ちょっとわたしにはお高い。

ValueDomainに、ダイナミックDNS機能があるから、
ひとつドメインをとって移行しようかと考えていたところ、
お名前.comならサブドメインでもダイナミックDNSが利用できる。
(ValueDomainは、サブドメインでは使えないのでドメインが必要)

しかも専用クライアントでDiceよりわかりやすい。

マニュアルは非常にわかりづらかったのでメモ。

ネームサーバーの設定
プライマリネームサーバー: 01.dnsv.jp
セカンダリネームサーバー: 02.dnsv.jp

使う予定のサブドメインのAレコードを適当に設定

専用クライアントをダウンロード
(Windows専用。たぶん他のツールでも設定さえ間違ってなければ大丈夫だと思います)

専用クライアントからタスクを作って必要な設定を行う(参照

いますぐ実行して成功すればOK

最初、使う予定のサブドメインを管理画面から作ってなかったのでずっとエラーがでて悩みました。

こんなとき、どうやって検索エンジン最適化(SEO)したらいいかな?

コワーキングスペースを運営していて、
イベントページの検索エンジン最適化(SEO)について、
ちょっと悩んでいるのでアドバイスください。

オオサカンスペースでは、
WordPressを使ってホームページを管理しています。

イベント情報は、記事を投稿する際に開催日を付与すると、
http://www.osakan-space.com/events ページで、
開催日順に並び、開催日が過ぎると過去のイベントとして
別の欄に表示される設定になっています。

通常はこれで全く問題がないのですが、
「こういうイベントやったらいいんじゃないか?」
と軽いノリで始まったイベントが、
第2回、第3回と定例イベントになり、
息長く続くことがあります。

「カメラ講座」「Shoot from Osaka(n)」
「ソーシャル写真撮影会」などがその代表例です。

大変喜ばしいことなのですが、例えば「Shoot from Osakan」と検索すると、
上から「第1回」「第4回」と古い開催情報が上位に表示されてしまいます。

Shoot from osakan Google検索結果

各回の開催ページ

第1回目 http://www.osakan-space.com/events/963
第2回目 http://www.osakan-space.com/events/1565
第3回目 http://www.osakan-space.com/events/2271
第4回目 http://www.osakan-space.com/events/2807
第5回目 http://www.osakan-space.com/events/3719

 

過去の開催の方が内容が充実していたり、
被リンクがあったりと当然の結果ではありますが、
イベントを新聞や紙媒体で知って検索した方には、
ちょっと不親切な検索結果ということになります。

過去の掲載ページをすべて302リダイレクトで、
最新のイベントページへとも考えましたが、
過去にイベントをブログ紹介いただいた方は、
参加した時のことを書いていただいたのであって、
それはだめだろうと考えました。

また、主催者・出演者・参加者にとって、
アーカイブは重要ですのでこちらの面からも避けたい対応です。

第6回目からは、固定ページを作成してみました

第6回目 http://www.osakan-space.com/events/3918
→ http://www.osakan-space.com/shootfromosakan (固定ページ)へ302リダイレクト

最も新しいイベント(今回では第6回)の情報は常に、
固定ページに掲載し、次の回が始まるときに開催内容を
events/3918」にアーカイブとして残し、第7回の内容を
shootfromosakan」に掲載しようと考えたのです。

でも、ちょっと迷いがあります。

他のページにとりあげていただいているのに、
パーマリンクではない?
例えば、この記事は第6回について書いていただいていますが、
この記事から訪れてくれる方に次回開催以降は、
第6回の情報にアクセスできなくなります。

なんかだめな気がします。

「Shoot from Osaka(n)」で別サイトを作るというのがベストだとは思いますが、
定例開催になったイベントは多数あって、次回はやるかもしれないけど、
次々回はわからないなど、なかなか全部対応するのは難しい。

ここまで書いてくると検索エンジン最適化の問題でもあり、
不定期イベントと定期イベントの混在が問題のようでもあり、
ちょっとややこしくなってきましたが、みなさんならどう対処されますか?

 

よかったら教えてくださいね。

Google Analytics 複数のサブドメインを1つのサイトとして解析する場合

Google Analytics 複数のサブドメインを1つのサイトとして解析するために設定してみました。

オオサカンスペースでは、2つのサブドメインを利用しています。

www.osakan-space.com (CPIサーバー WordPress)
www2.osakan-space.com (さくらVPS)

この度、広告を出すことになり、
ふたつのサブドメインをまたいだ解析が必要になりました。

手順のメモ:

トラッキングコード発行時に、
サブドメインのトラッキングを「オン」にする。
(プロパティ – トラッキング情報)

_gaqの「_setDomainName」 に、
「osakan-space.com」がセットされる。

<script type=”text/javascript”>// <![CDATA[
var _gaq = _gaq || [];
_gaq.push([‘_setAccount’, ‘UA-27931011-1’]);
 _gaq.push([‘_setDomainName’, ‘osakan-space.com’]);
_gaq.push([‘_trackPageview’]);

(function() {
var ga = document.createElement(‘script’); ga.type = ‘text/javascript’; ga.async = true;
ga.src = (‘https:’ == document.location.protocol ? ‘https://ssl’ : ‘http://www’) + ‘.google-analytics.com/ga.js’;
var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(ga, s);
})();
// ]]></script>

 

たぶんこれでOK。
*wwwとwww2には、同じ名前のURLがない前提。

Googleスプレットシート(UTF-8)で作ったファイルをShift JISにすると「全角ハイフン(−)」が「?」になる

Googleスプレットシート(UTF-8)や各種DBからダウンロードしたファイルの文字コードを、
Shift-JISに変更しようとすると「全角ハイフン(−)」が文字化け(?)する問題。

全角ハイフン「−」やら「〜」には見た目はおんなじだけどたくさん種類があって、
エンコードを変更しようとするとなにやらこんな現象が起こるらしい。

いつもの対処は、全角ハイフンを違う文字「★」に置換して、
エンコーディング変更して、「★」を再度「−」に変更してたけど、
そこで、CotEditorのエンコードディング設定を、
「日本語(Shift JIS)」から「Shift JIS X0213」に変えたら化けなくなりました!

解決!

情報提供: @msng ありがとう。

ScanSnapで、裏が白紙の名刺も裏に情報がある名刺も1名刺1つのPDFファイルにまとめて連続でスキャンする方法

名刺がいっぱいあって、裏が白紙だったり、情報が書いていたり…

jpgでスキャンすると表裏がバラバラのファイルになっちゃいます。

かといって、スキャンした名刺が全部ひとつのPDFファイルなんて、
困っちゃいます。

そこで、裏表セットで1つのPDFファイルに保存されるよう設定をいじってみました。

スキャンしたデータを、Evernoteに入れるのか、Googleドライブか、DropBoxか…そこがまた難しい。

使用したのは、ScanSnap S1500です。

 

・「白紙ページを削除」のチェックは外す

読み取りモードオプション_と_ScanSnap_Manager_-_設定
「設定ページごとにPDFファイルを作ります」欄に「2」を入力。

PDFフォーマットオプション_と_ScanSnap_Manager_-_設定

 

これで、裏表セットで1つのPDFファイルに分割されます。

 

ファイル形式ではPDFを選び、「検索可能なPDFにします」にチェックを入れ「全ページ」を選択

ScanSnap_Manager_-_設定

Google Custom Search APIを、Google Apps Scriptから使ってみた

Google Custom Search APIを使う手順

API Keyを取得(*1)

Cloud Consoleに行く
プロジェクトを選ぶか作る
サイドバーの「APIs & auth」を選んで「Custom Search API」のStatusを「ON」にする
サイドバーの「Registered apps」を選んで、メイン画面に現れる「REGISTER APP」をクリック、名前をつけて、プラットフォーム(今回はWeb Application)を選ぶ。(電話かSMSで認証をする)
API Keyを取得(今回は、Server Key)

検索エンジンID(cx)を取得(*2)

Custom Searchのコントロールパネルに行く
既存の検索エンジンを選択し(ない場合は新しい検索エンジンを作成)、基本タブの検索エンジンIDを取得(cx)

Google Apps Scriptで取得する

参考にしたページ

function urlfetch(){

var url = ‘https://www.googleapis.com/customsearch/v1?key=【*1 API Key(Server Key)の値】&cx=【*2 検索エンジンID(cx)の値】&q=【検索ワード】’;
var response = UrlFetchApp.fetch(url);
var json = response.getContentText();
var data = JSON.parse(json);
Logger.log(response);//ログに取得したデータを表示
//ひとつめのタイトルの場合こんな感じ→ Logger.log(data.items[0].title);
}

Googleドキュメントのスプレットシートで生年月日から年齢を算出する方法

Googleドキュメントのスプレットシートで生年月日から年齢を算出する際にちょっと躓いたのでメモ

=int(yearfrac(生年月日のセル,today(),1))

ソースは、こちら。ありがとうございます。

エクセルでは、DATEDIF関数を使うのが一般的だそうですが、

=DATEDIF(生年月日のセル,TODAY(),"Y")

DATEDIF関数は、Googleスプレットシートでは今のところサポートされていないようです。

Gmailの連絡先にcsvファイルをインポートする際に、ふりがなが消えてしまったり、すべてがメモ欄に入ってしまったりする問題を解決

Gmailの連絡先にcsvファイルをインポートする際に、
ふりがなが消えてしまったり、
すべてがメモ欄に入ってしまったりする問題をようやく解決できたのでメモ。

iPhoneのアドレス帳管理が発端

iPhoneの連絡先の管理に、Gmailの連絡先を使っています。

昔は、ふりがな欄がなく使いづらかった!
でも、最近はふりがな欄も増え徐々に改善されてきています。

いまは、「iCloudあるよ」と言われそうですが、
ずっとiPhoneを使うかどうかはっきりわからないから、
できればGmailの連絡先がいい。

macもWindowsも使う環境で、
将来Androidに変わることも視野に入れると、
Gmail連絡先がベストなんじゃないかと今のところは考えています。

でも!

Gmailの連絡先って癖があってとってもわかりづらい。
また、ヘルプの情報量が少なすぎてさっぱり…

先人のブログをたどるしかないのがもどかしいところ。

「ふりがなが消えちゃう」「項目すべてがメモ欄に入る」
とぶつかりながら放置していましたが、
ようやく理解できた(と思う)ので共有。

ふりがながインポートされない問題

姓名がわかれてないからと
「Name」に姓名をつなげたデータ
「Yomi Name」にふりがなを入れる
と、ふりがなは無視される。

解決方法
ちょっと気持ち悪いけど、
「Family Name」
「Family Name Yomi」
の項目に入れる。

すべてがメモ欄に入ってしまったりする問題

「Name」に入れた名前だけが反映されて
、それ以降の項目が全部メモ欄に入ってしまう問題。
「Family Name」「Given Name」がないと起こるようです。
このふたつは、必須項目のようです。
ココにはそんなん書いてない。

Gmailの連絡先にインポートするデータを作る手順

Gmailの連絡先で1件だけ手動でデータを作る
作ったデータをエクスポート
不要な項目を削除(「Family Name」「Given Name」は消さない)
項目の順序に関しては見やすいように適宜入れ替えてもOK

大量にエクセルでインポートデータを作成するときは、
1シート目に元データをもってきて、
2シート目に変数(「E-mail 1 – Type」「Custom Field 1 – Type」などの値を一括管理)
3シート目にエクスポート用データを作るのがよさそう。

また、iPhoneへは「メール/連絡先/カレンダー」を開いて、
「Excange」か「CardDAV」にプッシュさせれば常にアドレス帳は最新に。

わたしが使ったリスト項目

Group Membership(例:Friend ::: * My Contacts)「My Contacts」に入れないとiPhoneに同期されない
Family Name(姓名がつながったデータ)
Family Name Yomi(生命のふりがな)
Organization 1 – Name(会社名)
Given Name(空欄)
Birthday(誕生日)
Gender(性別)
E-mail 1 – Type(メール)
E-mail 1 – Value(メールアドレス)
E-mail 2 – Value(Gmail)
E-mail 2 – Type(Googleアカウント)
Phone 1 – Value(電話番号)
Custom Field 1 – Type(LINE ID)
Custom Field 1 – Value(LINEのID)
Address 1 – Formatted(住所)
Address 1 – Type(空欄)
Address 1 – Street(空欄)
Address 1 – Postal Code(郵便番号)

インポートできる項目を一覧にしてみました(たぶんもっとあります)

Name
Given Name
Additional Name
Family Name
Yomi Name
Given Name Yomi
Additional Name Yomi
Family Name Yomi
Name Prefix
Name Suffix
Initials
Nickname
Short Name
Maiden Name
Birthday
Gender
Location
Billing Information
Directory Server
Mileage
Occupation
Hobby
Sensitivity
Priority
Subject
Notes
Group Membership
E-mail 1 – Type
E-mail 1 – Value
E-mail 2 – Type
E-mail 2 – Value
E-mail 3 – Type
E-mail 3 – Value
IM 1 – Type
IM 1 – Service
IM 1 – Value
Phone 1 – Type
Phone 1 – Value
Phone 2 – Type
Phone 2 – Value
Phone 3 – Type
Phone 3 – Value
Phone 4 – Type
Phone 4 – Value
Phone 5 – Type
Phone 5 – Value
Phone 6 – Type
Phone 6 – Value
Phone 7 – Type
Phone 7 – Value
Phone 8 – Type
Phone 8 – Value
Phone 9 – Type
Phone 9 – Value
Address 1 – Type
Address 1 – Formatted
Address 1 – Street
Address 1 – City
Address 1 – PO Box
Address 1 – Region
Address 1 – Postal Code
Address 1 – Country
Address 1 – Extended Address
Address 2 – Type
Address 2 – Formatted
Address 2 – Street
Address 2 – City
Address 2 – PO Box
Address 2 – Region
Address 2 – Postal Code
Address 2 – Country
Address 2 – Extended Address
Address 3 – Type
Address 3 – Formatted
Address 3 – Street
Address 3 – City
Address 3 – PO Box
Address 3 – Region
Address 3 – Postal Code
Address 3 – Country
Address 3 – Extended Address
Organization 1 – Type
Organization 1 – Name
Organization 1 – Yomi Name
Organization 1 – Title
Organization 1 – Department
Organization 1 – Symbol
Organization 1 – Location
Organization 1 – Job Description
Relation 1 – Type
Relation 1 – Value
Website 1 – Type
Website 1 – Value
Event 1 – Type
Event 1 – Value
Custom Field 1 – Type
Custom Field 1 – Value

Googleコンタクト(連絡先)に関するヘルプ
https://support.google.com/mail/topic/1669024?rd=1

GoogleAppsだと「連絡先」を、まるでスプレットシートみたいに誰かに共有したりできることを今回知りました。
地味に便利だよ。

WordPressのメール投稿プラグイン『Ktai Entry』をGmailアカウントで使ってみたらエラーでたよ

メール投稿プラグイン Ktai EntryをGmailアカウントで使ってみた

ダウンロードしてインストール。

最初は、『Bad Gateway POP3 connect: Error [] 』

502 Bad Gateway メール投稿プラグイン Ktai EntryをGmailアカウントで使ってみた
これはなんだろうと調べていくと、メールサーバーは『pop.gmail.com』ではなく、
『ssl://pop.gmail.com』にしないといけないっぽい。
(そんなん知らんし!笑)

設定例:
メールサーバー ssl://pop.gmail.com
ポート 995
ログイン名 (Gmail アドレス)
パスワード (パスワード)
参考 http://antonsan.net/2011/0410223735

↓こんな感じでいいみたい
メール投稿プラグイン Ktai EntryをGmailアカウントで使ってみた

続いて、このエラー。投稿受付メールアドレス(オプション)が間違ってる。
There is 1 message(s).
Error at #1: Invalid recipient address.
Retrieval completed.

投稿受付メールアドレス(オプション)は、一度設定すると消すことができないっぽい?
Gmailは迷惑メールいっぱい来そうだから、20桁の大文字小文字数字交じりのアカウントに、
さらに20桁の大文字小文字数字交じりのエイリアスをつけておいた。(これでいけるかな?)
次のエラーは、これ。
There doesn’t seem to be any new mail.
単に新しいメールがないって言ってるみたいだ。
次のエラー。
There is 1 message(s).
Error at #1: There is a post #137 with the same content.
Retrieval completed.
さっきの投稿と内容いっしょやんかって!(テストだからね!)
エラーいっぱいだった、けど動きそうでよかった。

 

ここが詳しかった

WordPress Plugins/JSeries » Ktai Entry エラーメッセージ
http://wppluginsj.sourceforge.jp/ktai_entry/errors/

あとは、投稿したURLが自動でリンクになるといいのだけど。