ブログSNS『Tumblr』を無理やりユーザー投稿型メディアとして運営した話

読了目安:15分

この記事は、「個人開発サービスに用いられている技術 Advent Calendar 2018」11日目の記事です。
10日目の昨日はiotasさんの「創作支援ツール「WorldType」に使われている技術」でした!

はじめに

駆け出しエンジニアのかしい(@rubys8arks)です。
2017年10月〜2018年11月まで、お笑いライブの検索サービス「wArally!」(現ワラリー!)をTumblrのサブブログ(※)サービスを使って運用していました。
Tumblrのいいところ、悪いところを紹介しつつ、WEBサービスとして使う場合の無理やり改変ポイントを解説します。

運営していたサイト

wArally! - お笑いライブ検索
データは更新されていませんが、無料ブログなので今でも閲覧はできます。
運営していたときはこのページに独自ドメインを設定していました。
スクリーンショット 2018-12-05 4.11.25.png
「Esten」というTumblrのテーマをカスタマイズしているのですが、オリジナルはこちらから閲覧できます。
http://esten-theme.tumblr.com/
スクリーンショット 2018-12-11 1.51.03.png
記事ヘッダーのLIKE数とコメント数、記事フッターの「VIEW|LIKE|REBLOG|SHARE」の部分などを削除しています。

Tumblrのよいところ

広告なし、デザインがすっきりキレイ

Tumblrの特徴は、なんといってもおしゃれなテーマが無料で豊富にあることです。
特に写真をメインにしたタイル型のサイトデザインが映えます。(Esten、Elise、Indyなど)
サーバー依存の広告もないので、スタイリッシュなサイトを誰でもさっと作ることができます。

無料・かんたんに独自ドメイン+SSLの設定が可能

Tumblrの設定画面から独自ドメインとSSLの設定ができます。
Cloudflareなどの外部サービスを使う必要はありません。(DNSレコードでCNAMEの設定は必要)
スクリーンショット 2018-12-05 3.24.33.png

シングルページでフロントエンドのみ自由にカスタマイズできる

既存のテーマからHTMLやCSSをカスタマイズできるほか、JavascriptやjQueryも使用可能です。(その他のライブラリは試してないのでわかりません)
Tumblrの記事一覧ページ、記事詳細ページ、検索フォームなどの基本機能がそのまま使えます。
「ページを追加」ボタンから静的ページを99個まで追加することも可能です。
Tumblr独自のタグを使って環境変数を設定したり、記事ごとの変数を取得することもできます。
(参考:Tumblr で使えるタグ
スクリーンショット 2018-12-05 3.28.26.png

Tumblrの無理やり改変ポイント

「ゲスト投稿」機能を使ってユーザーからの投稿を受け付ける

Tumblrには「ゲスト投稿」という機能があり、ユーザーからブログへの投稿を受け付けることができます。
この機能を使って、「ユーザーからのライブ情報の登録を受け付ける」というかたちをとっていました。
スクリーンショット 2018-12-05 3.27.38.png
- 名前やメールアドレスの入力が必須
- Tumblrにログインしていない場合、reCAPTCHAによる非ロボット認証が必須
- ゲスト投稿後、管理者による投稿の承認が必須
- ゲスト投稿の通知はないので、都度Tumblrにログインして投稿がないか確かめる必要がある(だいたい来てなくて落ち込む)
と制約は多くあったのですが、たまにライブ主催者の方やファンが登録してくれて、1ヶ月に50件程度はユーザーが記事を投稿してくれていました。
(首都圏で開催されるお笑いライブの全数は1ヶ月に約1000件くらいあり、手動で登録できていたのは300〜400件程度)
しかし、旅行で1ヶ月サービス運営をお休みした後から、如実にユーザーからの投稿数が減ってしまって悲しくなりました…。
休むことはお知らせはしていたのですが、ユーザーからするとせっかく投稿したのに放置される、投稿習慣がなくなるわけですから厳しかったです。
終盤はユーザーからの投稿が1ヶ月数件レベルにまで落ち込んでいたので、スクレイピングで自動登録できる現サービスに移行できてよかったです…。

「フォローする」ボタンを消す

TumblrをSNSではなく静的サイトとして運用する場合、Tumblr固有の「フォローする」ボタン(右上)は邪魔になります。

PCでは表示を消せないようなのですが、モバイルではCSSで表示を消せるのでひょいっと消しちゃいましょう。

iframe#tumblr_controls {
  display:none;
}

「スキ!」「リブログ」ボタンを消す

「フォロー」ボタンと同様、Tumblrユーザー向けの「スキ!」(Twitterでのいいね)と「リブログ」(TwitterでのRT)ボタンも不要です。
サイトのターゲットにもよりますが、日本ではTumblr利用者が少ないため、SNSとしてTumblrを利用するメリットはあまりありません。
テーマの中から「LIKE」「REBLOG」に関連する部分のhtmlを削除します。

LIKE数、コメント数を表示する部分を削除

<div class="post-counts">
    {block:IfShowPostNotesCount}
    <span class="notes-number">{NoteCount}</span>
    <span class="icon-heart icon"></span>
    {/block:IfShowPostNotesCount}
    {block:IfDisqusShortname}{block:IfShowPostCommentsCount}
    <span class="dsq-comment-count"><a href="{Permalink}#disqus_thread">0</a></span>
    <span class="icon-comment icon"></span>
    {/block:IfShowPostCommentsCount}{/block:IfDisqusShortname}
</div>

LIKEボタンとREBLOGボタンを削除

<div class="like-button">
    {LikeButton}
    <div class="like-btn">{text:Like label}</div>
    <div class="unlike-btn">{text:Unlike label}</div>
</div>
<div>
  <a href="{ReblogURL}">{text:Reblog label}</a>
</div>

Tumblrでサービス運営する際の注意点

コードのバックアップは必須

Tumblrには、Gitやはてなブログのようにファイルをブラウザ上でバージョン管理してくれるなんて便利な機能は存在しません。
変更を加えた都度、自分でテキストエディタに保存してバックアップする必要があります。
プレビュー機能もあるのですが、いかんせん挙動が安定せず、結局「保存」ボタンを押して一度管理画面を閉じないと変更が反映されません。
そしてなぜか「保存できとらんやん!!」という事態も発生します。
ブラウザ上で保存したはずのコードは戻ってこないので、管理画面を閉じる前に必ずローカルのテキストエディタにバックアップを取ることを推奨いたします…。
Tumblrのサブブログは無料で10個まで作成できるため、本番用のブログとは別に、同じテーマのブログを作っておくとオリジナルテーマと自分がカスタマイズしたテーマの差分を確認することができます。

SEOが弱い

もともとTumblrはサービス内で交流を完結させるという思想のため、GoogleのSEOは強くありません。
設定で「検索から除外する」のチェックボックスを入れなければ一応クローリングの対象にはなるのですが、あまり検索結果の上位に表示されることはないようです。
TwitterなどSNSで集客する場合はよいですが、GoogleのSEOで集客したい場合はかなりのウィークポイントとなります…。
スクリーンショット 2018-12-05 3.24.53.png

まとめ:TumblrでWEBサービス運営は無理がある、素直にポートフォリオサイトとして使おう

上述のほかにもTumblrには固有の制約がかなり多くあり、サービスの実運用で使うのは全くおすすめできません!!
ログインなしで記事投稿しようとするとreCAPTCHAの画像認証が入るため、プログラムで記事を一括自動登録、ということができず個人的につらかったです…。
結局6000記事以上を手動でぽちぽち登録するはめになり、途方もなさすぎて1年間運営している途中で何度もくじけそうになりました…。(実際放置気味の月もありました。データがたくさん入ってても入ってなくてもアクセス数はそんなに変わらず、それも徒労感を増してました(逆に言えば毎日とりあえず見る、というリピーターがついてくれてたのでありがたいですが))
Tumblrは素直にポートフォリオとして使いましょう!!
それか、さっと作れるので、細かいCSSを気にせずになんとなくの個人開発プロダクトのデザイン(モックアップ)を作ってみるのにはいいと思います。
結局ほしいものは自分の手でつくるしかないんや!!がんばれ個人開発者!!!!!!!!!!!!!!!

明日はTecco XIIIさんです!

※ Tumblrにはメインブログとサブブログの2種類のブログがある。メインブログは自分のタイムライン用という感じなので、静的サイトを作りたいのであればサブブログ推奨。Tumblrのメインブログとサブブログの違いについては公式ヘルプページを参照 メインブログとサブブログ)

Originally published at blog.warally.info

かしい@お笑いSNS作成中

外資ITコンサル(SI)→Webエンジニア転職活動中。お笑いライブの検索サイト @warally_info を運営しています。海外にもふらっとひとり旅する行動派。#ruby #rails #js #html #css

Crieitは個人で開発中です。 興味がある方は是非記事の投稿をお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください!

ボードとは?

関連記事

コメント