JetEngineで不動産サイトを作るなら何をデータ化するべきか

jetengine-real-estate-data-site-thumbnail

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

不動産サイトをElementorだけで作ろうとすると、最初は物件紹介ページを1枚ずつきれいに作れます。写真を置いて、価格を書いて、間取りや駅徒歩をテキストで並べる。数件ならそれで十分です。ただ、物件数が増えた瞬間に、更新のしんどさが出てきます。

この記事では、JetEngineを使って物件情報をページではなくデータとして持つ考え方を整理します。完成形は、物件一覧、物件詳細、条件検索の入口を持つ小さな不動産サイトです。検索や地図まで一気に全部作る話ではなく、まず何をデータ化しておくと後で崩れにくいかに絞ります。

この記事の結論

不動産サイトでは、物件名、価格、所在地、間取り、面積、駅徒歩、公開状態、物件画像を別々の入力項目に分けます。Elementor側では1件分の一覧テンプレートを作り、JetEngineのListing Gridで同じ型を繰り返します。最初から契約管理や会員情報まで入れようとすると、かなり複雑になります。

JetEngineの公式ページでも、動的サイト構造、一覧、クエリ、プロフィール、フィルター連携などが紹介されており、不動産デモでは物件詳細ページや物件カタログ、絞り込みを中核にした構成が示されています。ここで考えるべきなのは、プラグイン名を覚えることより、物件情報をどの単位で分けるかです。

JetEngine公式ページを見てみる

JetEngineで不動産サイトの物件情報をデータ化する全体像

この記事で分かること

  • 不動産サイトで最初に作るべきデータの箱(CPT)の考え方
  • 価格、所在地、間取りなどを入力項目に分ける理由
  • Elementorで物件カードと物件詳細を表示する流れ
  • Query Builderや絞り込み検索を後から足しやすい設計
  • 会員情報や契約管理まで広げる前に注意する境界線

まず何を作るのか

今回の例では、賃貸・売買の物件を管理するミニ不動産サイトを作ります。データの箱(CPT)は property、管理画面の表示名は「物件」とします。1件の投稿が1つの物件です。固定ページを物件ごとに増やすのではなく、物件CPTに情報を入れて、一覧と詳細ページに流し込みます。

ページ構成は3つです。1つ目は「物件一覧」。ここに公開中の物件カードを並べます。2つ目は「物件詳細」。写真、価格、所在地、間取り、面積、駅徒歩、特徴を表示します。3つ目は「エリア別・条件別の検索導線」。最初は簡単なリンクやQuery Builderで始め、必要になったら絞り込み検索(JetSmartFilters)を足します。

ここで少し迷いやすいのは、「物件説明」の長文に全部書けば早いのでは、という判断です。たしかに1件だけなら早いです。でも価格で並べ替える、エリアで探す、公開中だけ出す、駅徒歩10分以内だけ見せる、という運用を考えると、長文に埋め込んだ情報は使い回しにくくなります。

JetEngineでどのデータを持たせるのか

物件CPTには、検索・並び替え・一覧表示に使う情報を分けて持たせます。入力項目として分けるかどうかの判断基準は、「後で条件に使うか」「一覧カードで別々に見せるか」「担当者が更新しやすいか」です。

画面ラベル フィールド名 サンプル値 使い道
物件価格 property_price Number 49800000 価格表示、価格順、価格帯検索
所在地 property_area Select 東京都渋谷区 エリア検索、一覧ラベル
最寄駅 nearest_station Text 渋谷駅 詳細表示、カード補足
駅徒歩 walk_minutes Number 5 徒歩条件検索
間取り room_plan Select 2LDK 絞り込み、カード表示
専有面積 floor_area Number 55.2 詳細表示、面積順
築年数 building_age Number 8 条件検索、詳細表示
公開状態 property_status Select 公開中 / 商談中 / 成約済み 表示条件、バッジ
物件画像 property_gallery Media / Gallery 外観・室内写真 カード、詳細ギャラリー

価格は文字ではなく数値で持つのが大事です。「4,980万円」と文字で入れると見た目は自然ですが、価格順や範囲検索が面倒になります。入力は 49800000、表示時に「4,980万円」のように整える方が、後から使いやすいです。

不動産サイトで物件CPTに持たせる入力項目の例

所在地も悩みどころです。住所全文を1つのテキストにすると、地図表示やエリア検索に使いにくくなります。最初は「都道府県」「市区町村」「町名」まで細かく分けすぎる必要はありませんが、少なくとも検索で使う粒度は別項目にしておきます。たとえば小規模サイトなら property_area をSelectにして、「渋谷区」「新宿区」「世田谷区」のような選択肢から選ばせるだけでも管理しやすくなります。

Elementor側ではどう表示するのか

Elementor側では、1件分の物件カードを作ります。これが一覧テンプレート(Listing Item)です。カード内にはDynamic Imageで物件画像、Dynamic Fieldで価格や駅徒歩、Dynamic Linkで詳細ページへのリンクを配置します。公式ドキュメントでも、Listing GridはCPTやカスタムフィールドのデータを動的に表示するためのウィジェットとして説明されています。

カードの構成例はシンプルで構いません。上に物件画像、下に物件名、価格、エリア、駅徒歩、間取り、ステータスバッジ。最初から比較表、地図、スライダー、会員限定表示を全部入れると、どこで崩れているのか分からなくなります。まずは「一覧で同じ型のカードが自動で増える」状態を作るのが先です。

JetEngineの一覧テンプレートで物件カードを繰り返し表示する例

一覧ページにはListing Gridを置き、対象を物件CPTにします。表示件数は最初なら12件程度、列数はPCで3列、タブレットで2列、スマホで1列のように考えます。物件画像の縦横比がばらばらだとカードの高さが崩れやすいので、Elementor側の画像比率やカード高さも確認します。ここは地味ですが、実際に見た目が乱れやすいポイントです。

Query Builderで公開中の物件だけ出す

物件一覧では、すべての物件を出せばよいわけではありません。成約済みの物件を残したいけれど、一覧の主役にはしたくない場合があります。そこでQuery Builderを使い、公開中の物件だけを取得するクエリを作ります。

設定例として、Query名は property_available_query、Query TypeはPosts Query、Post Typeは property。Meta Queryでは property_status公開中 と等しいものだけにします。さらに価格順で見せたいなら、Order ByにMeta Value Numeric、Meta Keyに property_price を指定します。

公式ドキュメントでは、Query BuilderのクエリはListing GridのCustom Queryタブで選べると説明されています。ElementorではListing GridのCustom Queryを有効にして、先ほど作った property_available_query を選びます。ここまで作ると、担当者は物件の公開状態を変えるだけで、一覧に出す・出さないを切り替えられます。

物件CPTを価格やエリアで検索しやすくするフィールド設計

絞り込み検索を入れる前に決めること

不動産サイトでは、エリア、価格帯、間取り、駅徒歩、築年数などの絞り込みを作りたくなります。ここで必要になりやすいのが、絞り込み検索用の別プラグイン(JetSmartFilters)です。ただし、検索UIを入れる前に、JetEngine側の入力項目が検索に耐えられる形になっているかを見直します。

価格が文字列、間取りが自由入力、エリアが住所全文だけ、ステータスが担当者ごとに「公開」「公開中」「掲載中」と揺れている。この状態で検索UIを作ると、見た目はできても結果が安定しません。まずは選択肢をそろえ、数値は数値として保存します。少し面倒ですが、ここを飛ばすと後から直す範囲が大きくなります。

最初の検索は、すべての条件を入れなくて大丈夫です。たとえば「エリア」「価格帯」「間取り」の3つだけで始めます。駅徒歩、築年数、こだわり条件、地図検索は、物件数と読者の探し方を見ながら追加します。検索条件が多いほど便利に見えますが、項目が空欄だらけだと逆に使いにくくなります。

運用すると何が楽になるのか

静的なElementorページでは、物件が増えるたびにページを複製し、画像とテキストを差し替え、一覧ページにも手作業でカードを追加します。成約済みになったら詳細ページを残すか消すか、一覧のカードを消すか、関連リンクをどうするかも手で管理します。

JetEngineで物件CPTを作ると、担当者は「物件を追加」画面から入力します。写真を登録し、価格や間取りを入力し、公開状態を選びます。Elementor側のカードや詳細ページは同じ型を使うので、見た目のルールが揃いやすくなります。運用面では、デザイン編集と物件登録を分けられるのが大きいです。

物件登録から一覧反映までの管理フロー

管理画面の作業手順は、1. 物件を追加、2. 入力項目を埋める、3. 写真を登録、4. 公開状態を確認、5. 一覧と詳細をプレビュー、という流れです。慣れていない担当者が触るなら、必須項目を増やしすぎない方が安全です。未入力が多いと詳細ページに空欄が出るため、Dynamic Visibilityで「値があるときだけ表示」するルールも役立ちます。

どこから複雑になりすぎるのか

不動産サイトは、物件一覧だけなら比較的作りやすいです。複雑になるのは、問い合わせ履歴、内見予約、担当者ごとの管理、会員限定物件、契約ステータス、顧客情報、メール通知、決済、外部ポータル連携まで入れ始めたときです。ここから先は、JetEngineの設定だけで済ませるというより、個人情報、権限、バックアップ、運用ルールを含めた設計が必要になります。

たとえば会員限定物件を作る場合、Dynamic Visibilityで表示を隠すだけでは十分とは限りません。HTMLに出ている情報、メディアファイルへの直接アクセス、検索結果への混入、キャッシュの扱いも見ます。ここは「見えないから安全」と考えない方がいいです。

不動産サイトで小さく始める範囲と慎重にする範囲

管理画面で入力ミスを減らすルール

物件データは、入力担当者が毎回迷わない形にしておくことも大切です。たとえば価格欄の説明には「半角数字で入力。例:49800000」と書きます。駅徒歩は「分だけを数字で入力。例:5」とします。面積も「55.2」のように数字だけにします。見た目に出す単位はElementor側やショートコード側で付けます。

選択肢は、あとで検索条件になるものほど自由入力にしない方が安全です。間取りを自由入力にすると、「2LDK」「2LDK」「2 LDK」「2LDK以上」のように表記が揺れます。小さな違いに見えますが、絞り込み検索では別の値として扱われることがあります。最初は面倒でも、SelectやCheckboxで選択肢を固定しておく方が後で直しやすいです。

公開状態も同じです。「公開中」「商談中」「成約済み」の3つに絞るなら、それ以外の言葉を担当者が入力できないようにします。ステータスバッジの色はElementor側で整え、データ側には状態だけを保存します。ここを混ぜると、デザインを変えたいだけなのに物件データまで触ることになります。

公開前に確認したい表示チェック

物件CPTを作ったら、最低でも3種類のサンプルを登録して確認します。価格の高い物件、価格の低い物件、写真が少ない物件です。写真が1枚しかない物件でカードが崩れないか、価格が未入力の物件で不自然な空白が出ないか、成約済みの物件が一覧に混ざらないかを見ます。

スマホ表示も早めに確認してください。不動産サイトは写真、価格、間取り、駅徒歩、所在地を一度に見せたくなりますが、スマホのカードに詰め込みすぎると読みにくくなります。カードには判断に必要な情報だけを置き、詳しい説明は詳細ページに送る方が自然です。ここはデザインの好みではなく、運用後に物件が増えたときの読みやすさに関わります。

最後に、検索条件を増やす前に「未入力データがあるとどうなるか」を試します。築年数が空欄の物件、駅徒歩が不明な物件、価格が相談の物件をどう扱うか。実際の不動産情報では、すべての項目が毎回きれいに埋まるとは限りません。未入力時の表示ルールを決めておくと、後から担当者が困りにくくなります。

画像の登録ルールも決めておくと安定します。外観写真を1枚目、室内写真を2枚目以降、間取り画像は別枠で登録する、というように順番をそろえます。担当者ごとに写真の順番が変わると、一覧カードの印象も詳細ページの見やすさもぶれます。JetEngineの入力項目だけで解決する話ではありませんが、データ設計と運用ルールはセットで考えた方がよいです。

物件名も自由に付けすぎない方が扱いやすいです。「渋谷区のきれいなマンション」のような説明文をタイトルにすると、一覧では読みにくく、検索結果でも揃いません。内部管理用には物件番号 property_code を持たせ、表示タイトルは短く整える。こうした地味なルールが、物件数が増えたときの管理しやすさにつながります。

担当者向けの入力メモも効果があります。「商談中にしたら一覧には残すが、問い合わせボタンは隠す」「成約済みは詳細ページを残すが、おすすめ一覧には出さない」のように、状態ごとの扱いを書いておきます。設定そのものより、運用時の迷いを減らすことが大事です。

この構成が向いている人、向いていない人

向いているのは、Elementorで不動産会社のサイトや物件紹介サイトを作り、物件数が増えても一覧と詳細をきれいに保ちたい人です。特に、同じ項目を何度も手入力しているなら、JetEngineでデータ化する意味があります。

向いていないのは、最初から大規模な不動産ポータル、複数店舗の権限管理、顧客管理、契約管理、レインズのような外部業務システム連携まで一気に作りたいケースです。その場合は、要件定義、セキュリティ設計、パフォーマンス検証、カスタム開発の範囲を先に切り分ける必要があります。

作る前に確認したいこと

公式プラグインと有効なライセンスを使い、アップデートを維持してください。既存サイトでCPTや入力項目を変更する前にはバックアップを取り、テスト環境で一覧、詳細、検索、スマホ表示を確認します。個人情報や会員情報を扱う場合は、表示条件だけで済ませず、権限と保存範囲を別途設計します。

まとめ

JetEngineで不動産サイトを作るときは、最初に物件情報をどの単位でデータ化するかを決めます。物件CPT property を作り、価格、所在地、間取り、駅徒歩、面積、築年数、公開状態、画像を分けて持たせる。Elementor側では1件分のカードと詳細テンプレートを作り、Listing Gridで繰り返し表示する。この順番なら、静的ページから一歩進めやすくなります。

逆に、検索、会員限定、予約、契約管理まで最初から全部入れると、初心者には見通しが悪くなります。まずは公開中の物件一覧と詳細ページを安定させ、必要な条件だけを追加する。小さく始める方が、後で直しやすい不動産サイトになります。

JetEngine公式ページを見てみる