Unselected Kid Blog

プログラミングを中心に好きなことを好きなように書くブログ

恥ずかしいバズり方をした話

以下の記事が 1019はてブ がつき,はてなブックマークのランキングも1番上にまで来ました.記事自体への 3903 アクセスありました.

diypcrooms.qrunch.io

なぜ恥ずかしいバズり方なのかと言うと,日本語ががばがば過ぎてバズったからだ.
この記事の内容は2つの記事の内容をコピペした物でした.コピペ時になぜか濁点が抜けしまいました.そこではてブのコメントで大量の指摘コメントがつきました.
寝る前のノリと勢いで投稿するもんじゃありませんね.この記事も寝る前のノリと勢いで書いているので何も反省しないとバレバレですが
このことに関してあんまり書く気はなかったけど,コメントを見ていて気になるものがあったのでこのネタで記事を書きます.

本題に言及すると link list的な紹介serviceはdemeritが勝ると思う。流入も薄く初期は改善の為の測定noiseになる。CGM serviceだと流入対象的にtest投稿が増える。初期ほどorganicが大切。初期を脱すればゴミみたいな流入は不要。

organic が大切だと言うのは,激しく同意します.そしてこういった記事からの流入が直接コンバージョンに結びつくことは少ないです.
ただ紹介service に投稿するいいことも紹介したい.こういったサービスを見ている人にはブログなどをやってる方も少なくない.そこでしっかりとした記事でサービスを紹介してもらえればサービスを理解したユーザに届けてもらえる.ただの新しもの好きな人々に知ってもらうのが目的ではなくメディアを運営している人に知ってもらうきっかけを得るために自分は投稿しています.
実際に記事を公開後にブログなどで紹介頂いたこともあります.

最後に

何が正解かはわかりませんが,僕はこんな理由でこの記事にもリンクを貼っておきますね.
www.kagusearch.com

おやすみなさーい

Jenkins で Ruby on Rails をデプロイ

今回目指す形

Github のmasterブランチにプッシュされた場合にRailsのデプロイと再起動を行う.

Jenkins をインストール

インストールは yum でおk

yum -y install java-1.7.0-openjdk
yum install -y java-1.8.0-openjdk-devel
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
yum install -y jenkins

Jenkins と Githubの連携

GitHub plugin のインストール

Jenkinsの管理からプラグインの管理にてインストール(ついでに必要となる ruby, rake, rbenv もインストールしておく)

GitHub側の設定

SSH keyの登録

サーバでSSH keyを作成する.(以下はjenkinsユーザにて行う)

ssh-keygen

ssh configを設定しておく

Host github github.com
  HostName github.com
  IdentityFile ~/.ssh/id_git_rsa #ここに自分の鍵のファイル名
  User git

公開鍵を GitHub の設定より設定しておきます.

GtiHubをHookするJenkinsのジョブ設定

「Settings」=> 「Server Hooks」=>「 Jenkins (Github plugin)」で「Jenkins Url」に[JenkinsのURL]/github-webhookを設定する.

Jenkinsの起動とジョブの作成

service jenkins start

localhost:8080 で起動するので Nginxで80portに設定する.
接続するとパスワードを求められるので以下のファイルからコピーする.

cat /var/lib/jenkins/secrets/initialAdminPassword

接続できたらジョブを作成から フリースタイル・プロジェクトのビルド を選択する.
ソースコード管理はGitを選択しプロジェクトURLを設定する.(master以外のブランチも選択可能)
ビルド・トリガには GitHub hook trigger for GITScm polling を選択しておく.
ビルド環境では,rbenv build wrapperを選択し Preinstall gem list にて bundler,rake を行う.
ビルドは,シェルを選択し以下のように設定する.

cd /var/www/dev-sample/
git pull 
bundle install
rails db:migrate
ps aux | grep unicorn | grep -v grep | awk '{ print "kill -9", $2 }' | sh
bundle exec unicorn_rails -c config/unicorn.rb -E production -D

これでmasterブランチにプッシュされれば自動でデプロイが行われる.

Centos7 + Nginx + Ruby on Rails をVPSにセットアップ その2

独自ドメインSSL + Http2化

ConoHa + お名前.com に独自ドメイン設定

お名前.comで,DNSレコード設定で 登録したいURL Type A で ConoHa の ip を設定する. VPS設定 で IPアドレス の逆引きホスト名に登録したいURLを登録します.

SSL + Http2化

参考文献

qiita.com

SSLは,Let's Encrypt で発行してもらいます.

その為,準備としてNginx を止めます.

systemctl stop nginx

そして ipv6 も無効化しておきます.
ipv6 の ConoHa でポートを閉じておきましょう. cerbot をインストールして自動設定してもらいます.
メールアドレスを聞かれるので設定するのはそこだけです.

yum install epel-release
yum install certbot
certbot-auto certonly --standalone -d URL

次に Nginx の設定です. etc/sysctl.conf に設定した.

    server{
        listen       443 ssl http2;
        server_name URL;
        ssl on;
        ssl_certificate /etc/letsencrypt/live/URL/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/URL/privkey.pem;
        location / {
           proxy_pass http://unicorn;
        }
    }

あとはこのサイトで HTTP2 をテストすることができます.
HTTP/2 Test | A simple HTTP/2.0 test tool

Capistrano で自動デプロイ

qiita.com

Gemfile に追加

group :development, :test do
  gem 'capistrano'#, '~> 3.2.1'
  gem 'capistrano-rails'
  gem 'capistrano-rbenv'
  gem 'capistrano-bundler'
  gem 'capistrano3-unicorn' #Unicornの起動を簡単に行える
end

Capistrano の設定

初期テンプレートファイルを作ってくれるコマンドを叩きます.

bundle exec cap install

作られた Capfile に以下を追記します.

# Load DSL and Setup Up Stages
require 'capistrano/setup'

# Includes default deployment tasks
require 'capistrano/deploy'

require 'capistrano/setup'
require 'capistrano/deploy'

# rbenvを使用している場合
require 'capistrano/rbenv'

# デプロイ先のサーバで、ユーザディレクトリでrbenvをインストールしている場合
set :rbenv_type, :user
set :rbenv_ruby, '2.5.0'

require 'capistrano/bundler'
require 'capistrano/rails/assets'
require 'capistrano/rails/migrations'

require 'capistrano3/unicorn'

デプロイ設定

共通部分の設定を config/deploy.rb に記述する

lock '3.10.1'
set :application, "sample"
set :repo_url, "https://GitHub_Personal access tokens:@github.com/GitHub_User/sample.git"
set :deploy_to, '/var/www/sample'
set :rbenv_ruby, '2.5.0'
set :scm, :git
set :log_level, :debug
set :pty, true
set :linked_dirs, %w{bin log tmp/pids tmp/cache tmp/sockets bundle public/system public/assets}
set :default_env, { path: "/usr/local/rbenv/shims:/usr/local/rbenv/bin:$PATH" }
set :keep_releases, 5

after 'deploy:publishing', 'deploy:restart'
namespace :deploy do

  desc 'Restart application'
  task :restart do
    invoke 'unicorn:restart'
  end
end

Railsアプリの稼働ディレクトリである/var/www/sampleと設定 config/unicorn/staging.rb

@app_path = '/var/www/sample'
working_directory @app_path + "/current"

worker_processes 2
preload_app true
timeout 30
listen "/tmp/unicorn.sock", :backlog => 64
pid "/var/www/sample/shared/tmp/pids/unicorn.pid"

stderr_path "#{@app_path}/log/unicorn.stderr.log"
stdout_path "#{@app_path}/log/unicorn.stdout.log"

before_fork do |server, worker|
  ENV['BUNDLE_GEMFILE'] = File.expand_path('Gemfile', ENV['RAILS_ROOT'])
end

before_fork do |server, worker|
  if defined?(ActiveRecord::Base)
    ActiveRecord::Base.connection.disconnect!
  end

  old_pid = "#{server.config[:pid]}.oldbin"
  if File.exists?(old_pid) && server.pid != old_pid
    begin
      Process.kill("QUIT", File.read(old_pid).to_i)
    rescue Errno::ENOENT, Errno::ESRCH
    end
  end
end

after_fork do |server, worker|
  if defined?(ActiveRecord::Base)
    ActiveRecord::Base.establish_connection
  end
end

/config/environments/staging.rbは、production.rbをコピー

cp /config/environments/production.rb /config/environments/staging.rb

/config/deploy/staging.rbに対象のサーバとSSHの設定を記述

set :rails_env, "staging"
set :unicorn_rack_env, "staging"

role :app, %w{IP:PORT}
role :web, %w{IP:PORT}

server 'ip', user: 'USER', roles: %w{app web}, port: PORT
set :ssh_options, {
  keys: %w(~/.ssh/SSH_RSA),
  forward_agent: false,
  auth_methods: %w(publickey)
}

最後にデプロイコマンドです.

bundle exec cap staging deploy

個人開発Webサービスを公開するときにやったことリスト

はじめに

サービス開始時に何をやったかリストアップする機会があったので備忘録としてここにも書いとく 2016年9月15日にリリースしたamazonの家具を寸法と価格から検索できる「家具search|Amazon,楽天,Yahooの家具をサイズ検索!」をリリースしたときに行った作業をです.

www.kagusearch.com

一様最高 1 ヶ月 15,000 円ほどの収益を上げていますが,2017年通年では 10万 ほどでした.
ここ最近 Google 先生になぜかインデックス数と検索順位ともにあれな感じにされているので収益が上がらないのが実情です.

サービスを公開するときにやったことリスト

ほぼ基本的な事項のみ
これもやっとけみたいなのあればコメントいただけると助かります.
モンバイルファーストインデックス始まったみたいなのでスマホ用サイトとPC用サイトの情報格差はなくしたほうがいいらしいです.

  • サービス公開用サーバのセットアップ
  • SEO
    • ターゲットキーワードの設定
      • 競合サイトのターゲットキーワード調査
      • キーワードプランナーを利用したキーワードの検索数調査
      • Google サジェストを利用した周辺ワード調査
    • url正規化
      • http通信はhttps通信にリダイレクト
      • トラディショナルスラッシュの設定
      • URLの一本化
    • Google Bot 用 サイトマップ (sitemap.xml) の作成
    • メタタグの設定
      • title,descriptionの設定
      • favicon.icoの作成と設定
      • SNSシェア用のtitle,description,画像の設定
    • ユーザ向けサイトマップの作成
    • 画像の圧縮
    • 見出しタグの設定
    • HTML,JavaScriptCSS の圧縮
    • Search Console の設定
      • サイトマップの登録
      • robots.txt の登録
    • Google Analytics
      • コンバージョン設定
      • Google Search Console との連携
  • ランディングページ もしくは help ページの作成
  • 利用規約ページの作成
  • サイト紹介の作成
  • スクリーンショット -サービスの紹介文章
  • 紹介動画
  • webサイト評価ツールで一定の評価を得る
  • 独自ドメインとSSL証明書の設定
  • リリースと宣伝開始

ここまでやるとだいたい PageSpeed Insights にて90点くらい取れています. f:id:UnselectedKids:20180124024121p:plain f:id:UnselectedKids:20180124024132p:plain しかし検索順位などはメタメタな感じです.
誰か理由を教えてほしい...

Centos7 + Nginx + Ruby on Rails をVPSにセットアップ その1

はじめに

自分用の備忘録です.
参考にしたURLを貼っているのでそこも読みつつ進めていってください.

セキュリティの初期設定に関しては以下のチェックシートを参考にしながらやってます.
セキュリティ対策チェックリスト [VPS・CentOS7編] - Qiita

初期設定

yum update

sudo yum -y update

ユーザ作成とsudo許可

CentOSでuserをsudo可能にする - Qiita

$ useradd sampleuser
$ passwd sampleuser
$ visudo

sampleuserにsudoを許可

sampleuser  ALL=(ALL)       ALL

sshをprot22から変更

CentOS7でSSHのポート番号を変更する - Qiita
22番ポートは攻撃の対象となるので2222番ポートに変更する.

vi /etc/ssh/sshd_config

sshd_configのProtを 22 から 2222 に変更

- # Port 22
+ Port 2222
#sshdを再起動
systemctl restart sshd
# ssh.xmlのコピーのssh-2222.xmlを作成
cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh-2222.xml
vi /etc/firewalld/services/ssh-2222.xml

/ssh-2222.xml を編集

-  <port protocol="tcp" port="22"/>
+  <port protocol="tcp" port="2222"/>
#2222ポートを許可
firewall-cmd --permanent --add-service=ssh-2222
#ssh(22ポート)のfirewallの許可一覧から削除
firewall-cmd --remove-service=ssh --zone=public --permanent
#firewallを再起動
firewall-cmd --reload

作成したユーザに秘密鍵公開鍵認証ログインを設定

ローカルPCにて鍵作成と鍵送信

ssh-keygen
cd .ssh
mv id_rsa vps_rsa
mv id_rsa.pub vps_rsa.pub
chmod 0600 vps_rsa vps_rsa.pub
#scpで鍵を送信
scp ./vps_rsa.pub sampleuser@ip

リーモートサーバにて鍵のセットアップ

mv vps_rsa.pub .ssh/authorized_keys

ローカルからsshができるか確認[sampleuser@ip ~]$になれば成功している.

ssh -i .ssh/id_rsa.pub sampleuser@ip

ローカルで ssh config もついでに書いておく.

Host vps
     HostName ip
     Port     2222
     IdentityFile ~/.ssh/vps_rsa
     User sampleuser

rootユーザへ直接ログインを禁止

rootでのSSHログインを禁止 - SSHサーバーの設定 - Linux入門 - Webkaru
configにてルートログインを禁止

sudo vim /etc/ssh/sshd_config
- PermitRootLogin yes
+ PermitRootLogin no
# sampleuser だけ ssh を許可
+ AllowUsers sampleuser

sshd を再起動

sudo systemctl restart sshd

パスワードログインを禁止

[CentOS]sshのパスワード認証方式を無効にする | ごった煮 - tips about programming and building a server
よりセキュア―な秘密鍵認証を利用するのでパスワードログインを禁止.
必ず秘密鍵認証でログインできることを確認してから行ってください.

sudo vim /etc/ssh/sshd_config
- PermitEmptyPasswords yes
- PasswordAuthentication yes
+ PermitEmptyPasswords no
+ PasswordAuthentication no

sshd を再起動

systemctl restart sshd

Denyhosts 導入

CentOSでSSHへのブルートフォースアタック(総当り)への対策2
何度もログインを試みるIPをブロックする Denyhosts を導入する.

yum install denyhosts
systemctl start denyhosts
systemctl enable denyhosts

/etc/denyhosts.confの以下のように編集

# ログインが成功した場合にリセットする(たまに失敗したりしていつか入れなくならないように)
+ RESET_ON_SUCCESS = yes
- #RESET_ON_SUCCESS = yes

ログインできなくなった時は以下のファイルから自分のipアドレスを削除しましょう.

/etc/hosts.deny
/var/lib/denyhosts/hosts
/var/lib/denyhosts/hosts-restricted
/var/lib/denyhosts/hosts-root
/var/lib/denyhosts/hosts-valid
/var/lib/denyhosts/users-hosts

Nginxセットアップ

パッケージのみで CentOS の Nginx を HTTP/2 対応にする - Qiita

インストール・起動・デフォルトで再起動設定

yum -y install epel-release 
yum -y install nginx  
systemctl enable nginx  
systemctl start nginx
systemctl status nginx.service

http、httpsをfirewallの許可一覧に追加
最後のfirewall のstatsの public に http、https が追加されていれば完了

firewall-cmd --permanent --add-service=http 
firewall-cmd --permanent --add-service=https
firewall-cmd --add-service=https 
firewall-cmd --reload
firewall-cmd --list-all-zones

Nginx セキュリティの設定

ここを見ながら設定していきました.
nginx/Railsのセキュリティ対策メモ - Qiita

ここから設定する項目の意味はここに載っているので読んでおきましょう.

セキュリティを強化する7つの便利なHTTPヘッダ

Nginxのバージョン番号を返さない

まずバージョン依存の虚弱性をつかれないようにNginxのバージョン情報などをレスポンスとして返さないようにする. /etc/nginx/niginx.confに以下を追加

http{
# Nginxのバージョン番号をエラーページとServer headerに含まれないようにします
server_tokens off;

X-XSS-Protection

「X-XSS-Protection」はWebブラウザのクロスサイトスクリプティングXSS)に対するフィルタ機能をを強制的に有効にするというものです.
/etc/nginx/conf.d/default.conf

#XSS対策
add_header X-XSS-Protection "1; mode=block";

ちなみにRailsを利用する場合にはデフォルトで設定されるので設定不要

Content-Security-Policy

Content-Security-Policy (以下CSP) を利用する場合、実行を許可するスクリプトの正しいドメインをブラウザに向けて指定することにより、XSS の発生する箇所を削減・根絶することができます。CSP をサポートするブラウザは、サーバから指定されたホワイトリストに載っているドメインスクリプトのみ実行し、他のスクリプトはすべて無視します。

Content Security Policy (CSP) - HTTP | MDN
/etc/nginx/conf.d/default.conf に以下を追記

add_header Content-Security-Policy "default-src 'self'";

Strict-Transport-Security

通常http通信をhttps通信にリダイレクトすると思います.この時ユーザ側は一旦http通信を行ってしまうので中間者攻撃を受けてしまうリスクが生じます.
Strict-Transport-Securityを利用することでWeb サイトはブラウザに対して、そのサイトでは HTTP を使用せず、代わりに HTTPS へ置き換えてアクセスすることを試みるように伝達することが可能になります.
HTTP Strict Transport Security - Web セキュリティ | MDN
/etc/nginx/conf.d/default.conf に以下を追記

add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";

X-Frame-Options(クリックジャッキング対策)

クリックジャッキング対応として、自身と生成元が同じフレーム内に限りページを表示する設定をします.
/etc/nginx/conf.d/default.conf に以下を追記

add_header X-Frame-Options SAMEORIGIN;

X-Content-Type-Options

サーバーが応答ヘッダー "X-Content-Type-Options: nosniff" を送信する場合、script 要素と styleSheet 要素は、誤った MIME タイプでの応答を拒否します。これは、MIME タイプの問題を悪用した攻撃を防ぐためのセキュリティ機能です。 MIME タイプのセキュリティ リスクの軽減 (Windows)

/etc/nginx/conf.d/default.conf

add_header X-Content-Type-Options nosniff;

設定を反映

Nginx を再起動して Welcame to Nginx が表示されれば完了.

systemctl restart nginx

Ruby on Rails のセットアップ

依存パッケージインストール

yum install gcc-c++ glibc-headers openssl-devel readline libyaml-devel readline-devel zlib zlib-devel git

rbenvインストール

git clone https://github.com/sstephenson/rbenv.git /usr/local/rbenv
echo 'export RBENV_ROOT="/usr/local/rbenv"' >> /etc/profile
echo 'export PATH="${RBENV_ROOT}/bin:${PATH}"' >> /etc/profile
echo 'eval "$(rbenv init -)"' >> /etc/profile

ruby-buildインストール

git clone https://github.com/sstephenson/ruby-build.git /usr/local/rbenv/plugins/ruby-build

Ruby install

お手元のバージョンをお使いください.
インストールとバージョンを指定

rbenv install -v 2.5.0
rbenv global 2.5.0

Ruby on Rails install

gem update --system
gem install --no-ri --no-rdoc rails
gem install bundler
rbenv rehash

Rails アプリの作成

Railsアプリを作成して / にアプセスすると hoge を表示する.

rails new sample
cd sample 
rails g controller index
vim app/view/index/index.html.erb # hogeを表示する
vim config/routes.rb # root :to => 'web#index'

Unicorn セットアップ

Nginx + Unicorn + Rails - Qiita
Gemfile に unicorn を追加

- gem 'puma'
+ gem 'uncorn'
bundle install

uncornの設定ファイルを以下のように作成する. /config/unicron.rb

File.expand_path: https://ruby-doc.org/core-2.2.0/File.html#method-c-expand_path
rails_root = File.expand_path('../../', __FILE__)
worker_processes 2
working_directory rails_root

listen "#{rails_root}/tmp/unicorn.sock" 
pid "#{rails_root}/tmp/unicorn.pid" 

stderr_path "#{rails_root}/log/unicorn_error.log"
stdout_path "#{rails_root}/log/unicorn.log"

デーモン化起動

unicorn_rails -c config/unicorn.rb -E development -D

停止

ps ax|grep unicorn|grep -v grep
kill 番号

Nginx と Unicorn を接続

defaultを直接いじる前にバックアップはとっておきましょう.
/etc/nginx/conf.d/default.conf

upstream unicorn {
  server unix:/Rails_root_path/tmp/unicorn.sock;
}

server {
    listen       80;
    server_name  localhost;

    add_header Content-Security-Policy "default-src 'self'";
    add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";
    add_header X-Content-Type-Options nosniff;
    add_header X-Frame-Options SAMEORIGIN;

    location / {
         proxy_pass http://unicorn;
    }
}

Nginxリスタート

systemctl restart nginx

これで hoge が表示されれば設定は完了です.

プチビジネス月次レポート 2017年5月号

はじめに

今回の1ヶ月レポート対象は、2016年9月15日にリリースしたamazonの家具を寸法と価格から検索できる「家具search|Amazon,楽天,Yahooの家具をサイズ検索!」です。

www.kagusearch.com

学生の内にサービス立ち上げ経験を得たくてプチビジネスとして初めた。 作るのは非常に楽しいのですが冷静に分析する機会を作らないとなかなか難しいので、分析を行う。理由とその時何を考えていたかのログをとる意味で書いていくつもりです。 学生の内にサービス立ち上げや運営してみたい人の参考になればいいなー

サービスの目標

 去年は、1 ヶ月運営費用が 12 $ 位なので 1.5万円 を 3~4 月に回収すること。これは達成しました。具体的には、2月 11,012円、3月 9,597円となりました。

 今年度の目標は去年の倍額を稼ぐことです。つまり、20,609円の倍額である41,218円を2ヶ月で稼ぐことです。

注意事項

Google analyticsの詳細なデータの開示が利用規約違反にあたるので四捨五入した値を公開することにします。 Amazon アソシエイトは大丈夫そうなので生の値で公開します。 なので全て約〇〇だと思って見ていただければ幸いです。

5月

行ったこと

  • サイトのリニューアル
    • 楽天の追加
    • Yahooショッピングの追加

データ・ユーザ分析

  • Google Analytics
    • 前月→今月
    • UU:614→520↓
    • PV:2272→2474↑
    • 直帰率:47.96%→57.45%↓
    • ページ/セッション:2.99→3.35↑

全体として好調に推移している。

  • バイス種別
    • desktop:56%→63%↑
    • mobile:38%→34%↓
    • tablet:5%→2%↓

mobileの割合が大きく伸びた。tabletが増えた理由はなぞ。

  • 集客

    • Direct:450→298↓
    • Organic Search:250→216↓
    • Referral:35→160↑
    • Social:16→58↑
  • Amazon アソシエイト

    • amazon商品ページ移動数:808→735↑
    • 注文数:78→42↑
    • 売上:約23,0943円 → 約230,743円↑
    • 利益:約7,447円 → 約 6893円↑

失敗と反省

 web記事での紹介からアクセス数はある程度稼げていますが一時的なものです。家具サイズ検索など1位だった検索順位を取り戻さないと収益は6月以降は収益性が下がっていくことは明白です。

Amazon,楽天,yahooショッピングの家具サイズ検索サイト「家具search」を作った

作成したサイト概要

一言で言えば,Amazon楽天,yahooショッピングで家具を幅、奥行き、高さ、価格の範囲指定してサイズ検索できるサービスです。
実物はこちら→家具search

www.kagusearch.com


家具search | Amazon,楽天,Yahooの家具をサイズから検索できるサービス

きっかけ

棚をECサイトで探す場合、「棚 150」とかで検索すると思います。
しかし検索結果にはサイズは表記されません。
そのため幅150cmと思ってクリックすると違った大きさのものだったりするのが非常にイライラされられます。
他にも高さや奥行きなどの要素も含んだ検索はAmazonでは現状不可能です。 またmmとcmと表記が統一されておらずいい感じに検索できません。
しかもAmazonならカテゴリを選択しないと価格の絞込さえできません。

そこで家具を幅、奥行き、高さ、価格を範囲指定して検索できる家具サイズ検索サイトを作ろうと思いました。

使い方

トップページや各ページにあるこのフォームに幅,高さ,奥行き,価格が 最小値 < 最大値 になるようにしてください。

f:id:UnselectedKids:20170517235143p:plain:w600

aはアマゾン、YはYahooショッピング、Rは楽天を意味します。下の画像の場合は値段が amazon < Yahooショッピング < 楽天 であることを意味します。

f:id:UnselectedKids:20170517235811p:plain:w300

最後に

皆様にぴったりサイズの家具との出会いがありますように! twitter、fasebook、はてなブックマークなんかのソーシャルシェアをして頂けると助かります。 利用した感想ご意見などは以下のフォームで送っていただけると幸いです。
家具searchに関して