読者です 読者をやめる 読者になる 読者になる

AIUEO Lab2

1年のうち250日は夕飯を作る主夫が、iPhoneや料理、気になったものを紹介するブログです。

IFTTTを使ってはてなブログの予約投稿をスマートに実現する

Mac Webサービス はてなブログ

f:id:akiueos:20140311232720j:plain

メール投稿は手間がかかる

昨日は、はてなブログの投稿をメールの予約送信を使って実現する方法を書きました。

はてなブログで記事の予約投稿をする方法 - AIUEO Lab2

でも、これって面倒くさい!

上記記事の手順としては、

  1. 下書きで記事を書く
  2. (Markdownで書いている場合はHTMLに変換する)
  3. LetterMeLater.comのサイトで記事を貼り付け、送信時間を設定する。

Markdownで書いている場合は特に、2回も別の画面に移動する必要があるわけです。 これを何とか画面移動なしに、ひとつの画面でスマートに完結したい。

前回そんなことを考えながら記事を書いているうちに、最近話題の「IFTTT」を使えばできるんじゃないか?との考えが頭をよぎり、早速試してみました!

IFTTTって?

Put the internet to work for you. - IFTTT

IFTTT(イフト)とは、もともとはつながりがないアプリやWebサービスを連携して使えるようにする無料のサービスです。 IFTTTの使い方は長くなるので書きませんが、こちらに詳しく書かれていました。

【保存版】これさえ読めば大丈夫!今話題の『IFTTT』の使い方を分かりやすく解説するよ - アップス!-iPhoneの無料アプリ情報やニュースを配信中

iPhoneアプリもあるので、iPhoneだけでもできちゃいます。

IFTTT 1.3.0(無料)App
カテゴリ: 仕事効率化, ユーティリティ
販売元: IFTTT - IFTTT Inc(サイズ: 17.1 MB)
全てのバージョンの評価: (131件の評価)

はてなブログにIFTTTで予約投稿する手順

f:id:akiueos:20140313205637j:plain

  1. MarsEditでMarkdown記法で記事を書き、HTMLに変換してWordPressに予約投稿
  2. WordPressで投稿されたら、RSSFeedをIFTTTを使って自動で はてなブログにメール投稿する。

WordPressを使っていない方はhttp://wordpress.com/で無料ブログを作れば使えます。

1:MarsEditで時間指定投稿まで

このはてなブログはMarkdown記法を使って書いています。理由はHTMLを書くより楽に書けるから。 Markdownを使用していない方はHTMLでそのまま予約送信してください。

MarsEditはブログを書くのにとても便利なアプリです。はてなブログWordPressも対応しています。 予約投稿に限らず、私は普段からMarsEditでこのブログを書いています。

MarsEdit - the blog editor for WordPress, Tumblr, Blogger and more.
カテゴリ: ソーシャルネットワーキング, 仕事効率化

MarsEditでMarkdown記法からHTMLに変換する方法はこちらを参考に。

  • メニューの [Blog] > [Edit Settings...] からブログの設定画面を表示。 [Editing] タブの [Preview Text Filter] を「Markdown」に。
  • 書き終わったら「⌘+Shift+T」でリッチテキストにConvert、もう一度「⌘+Shift+T」でHTMLに変換されます。

Happy-Go-Lucky: [MarsEdit] Markdown 記法でブログを書く

あとは時間指定して投稿するだけ。MarsEditでの時間指定投稿はこちらの記事を参考に。

  • メニューバーにある[Post]-[Edit Date]をクリックして時間を指定
  • Post StatusをDraftにして、Send to Blogをクリックして終了

Macブログエディタ MarsEdit で予約投稿 (日時指定) する方法。 | 和洋風KAI

2:RSSをIFTTTではてなブログにメール投稿

ここで気を付ける点があります。

  • IFTTTでWordPressをトリガーにすると、画像URLは正常に送られるけどただのテキストで送られてしまう。
  • FEEDをトリガーにしてメール投稿すると送られる内容はXML。画像が送れない。

テキストのみのブログなら、どちらでも大丈夫です。

画像やリンクを多用しているなら初期設定のままだと、意図した表示になりません。WordPressRSSをHTMLで全文配信できるようにwp-includes/feed-rss2.phpあたりを編集すればいいんでしょうけど、私にはやり方が分かりません…。

記事を書きながら試行錯誤していますが、この記事の公開時間(13日21時)に間にあわなかったので、でき次第ここに追記します。(1日1記事書くことにしてるので、中途半端だけど公開します。) 理論的には上記に書いた方法でできるはずです。 いい方法をご存じの方は教えてください。お願いします。

追記

ちょっと無理矢理ですが、できました。

  • IFTTTの[Channels]-[Email]-[EditChannel]で登録メールをはてなブログの投稿メールアドレスに変更する。(※PINがブログに投稿されてしまうので一旦ブログを非表示にするのを忘れずに)
  • ブログに届いたPINを入れてIFTTTのEmailをアクティベートする。
  • RSSをトリガーにしてEmailに送る(このEmailはHTMLが送れます) ※[Preferences ]で[Email communication]のチェックを外しておかないと、IFTTTのお知らせがブログに投稿されます。

レシピはこちら IFTTT Recipe: WordPress(feed) to Hatena Blog via email  connects feed to email

 ※重複コンテンツとみなされないためにWordPressの設定を変えておく

  • WordPress側はGoogleにインデックスされないように設定しておくこと。そうしなければ、はてなブログ側が重複コンテンツだと判定されてしまう。

この方法を実際にやるならば、しておかなければいけないのが重複コンテンツ対策。同じコンテンツが同時に2つのサイトにあるのをGoogleは好ましく思いません。はてなブログがコピーしたコンテンツだと思われないように、WordPress側に対策します。

WordPressの[設定]-[表示設定]-[サイトの表示状態 ]を、[検索エンジンがサイトをインデックスできないようにする]にチェックしておきます。

WordPress投稿直後に反応しない場合

初めての投稿だと記事投稿直後は、IFTTTからメール投稿されるのにやや時間がかかるかもしれません。

なかなか連携されない場合は、IFTTTで[Recipe] -[EDIT]より[Check now]を押せば連携できます。2回目からはしっかり自動で投稿してくれます。

まとめ

手順がややこしいですが、一度設定してしまえばMarsEditからの投稿だけで記事の予約投稿ができるようになります。

ただ、カテゴリーやアイキャッチの設定、カスタムURLは使用できません。 こんな面倒なことをせずに予約投稿する機能が早く実装されることを望みます。


次回の記事予告

iPhoneでMarkdown記法が使えるアプリの比較をしてみた」