【初心者向け】LP作成時のポイントと基本

LP(ランディングページ)を作成した経験がまだ少ない方にとって、「何から始めればいいのか」「どんなポイントに気をつければ効果的なページになるのか」が分かりにくいと感じることもあるかと思います。

そこで今回は、LP制作における基本的な考え方から、実際に制作する際の注意点まで、初心者の方にもわかりやすくまとめました。これからLPを作る方や、今よりもっと効果的なLPを目指したい方の参考になれば幸いです。

1. LPとはなんなのか

LP(ランディングページ)とは、ユーザーが広告や検索結果などをクリックした際に最初に訪れる“専用ページ”のことです。商品の購入や資料請求、予約など、ひとつの目的(コンバージョン)に特化して設計されているのが特徴です。
通常のWebページとは違い、余計なリンクや情報を省き、「この行動をしてもらう」ことに集中したページです。
つまり、LP制作では、ユーザーを誘導するための構成が重要になってきます。
初心者の方は、まずは事例集のサイトを見てイメージを掴むのもおすすめです。
[ SANKOU!Webデザイン制作の参考になる国内のステキなサイト集 ]

2. LPのゴールを明確にする

まず大切なのは、このLPで何を達成したいのかをはっきりさせることです。購入なのか、登録なのか、問い合わせなのか。目的が明確であればあるほど、伝える内容や導線もブレません。

3. ターゲットを具体的にイメージする

このページは誰に向けたものなのか?ターゲットが変われば、伝え方も変わります。だからこそ、ペルソナを設定して、その人の目線で考えることが大切です。

ターゲットに合わせて変更すべき主要な点

・配色


左の配色は、若者向けの飲料水やスポーツ用品などが連想され、左の配色では、大人の男性のスーツや時計などの商品が連想されます。

・フォント、文字サイズ(文字間)


フォントと、文字間、太さを変えてみました。左の文字はゆったりとした優しい印象を受け、右の文字では力強くスピード感がある印象です。

・写真、イラストのテイスト


左のイラストは、よりイラストチックなものになっており、朗らかな印象です。右のイラストは細部まで写実的に描かれており、より真面目な印象を受けます。

4. ファーストビューで離脱させない

ページを開いた瞬間、「自分に関係ある」と思ってもらえるかが勝負です。商品名やベネフィット、CTAなど、伝えるべき情報はファーストビューでしっかり伝えましょう。
キャッチコピーはなるべく端的でわかりやすいものを選びましょう。また、文字のサイズや太さ、色に着目して、情報に優劣を持たせることがコツとなります。

5. 「読みやすさ」より「伝わりやすさ」

説明を丁寧にするよりも、端的に伝えることを意識しましょう。長文よりも、短く・見出しや箇条書きで整理された情報の方が、読み手にスッと届きます。
before afterの画像では、文字サイズを変更しただけですが、この商品が何を訴求しているのかが一目で伝わってきます。

6. ユーザーの疑問・不安を先回りして解消する

「本当に効果ある?」「高くない?」というような不安は、レビューやQ&A、保証などを活用してあらかじめ解消しておきましょう。信頼感につながります。
下記のように、ピンタレストにはたくさんの事例が載っているので、ぜひ参考にしてみてください。
[ Pinterest – レビューデザイン例 ]
[ Pinterest – 保証デザイン例 ]

7. スマホでの見やすさは必須

今や多くのユーザーはスマホでLPを見ています。画面サイズや操作性、文字の読みやすさなど、スマホ前提での設計が必要不可欠です。

要素 最低サイズ 推奨サイズ(視認性重視)
本文(p) 14px 16px〜18px
見出し(h2〜h3) 18px 20px〜24px
ボタンテキスト(CTA) 14px 16px〜18px
ナビゲーション・リンク 14px 14px〜16px

おわりに

いかがでしょうか。LPでは、限られたスペースの中でいかに情報を精査し、「伝えるべきことを的確に伝えるか」が非常に重要になってきます。そのためには、まずページのゴールを明確に設定し、誰に向けて何を届けたいのか、ターゲット像をしっかり描くことが欠かせません。

伝えたいことが多すぎて整理できなかったり、構成に迷ってしまう時は、一度立ち止まって「このLPで本当に伝えたいことは何か?」を見つめ直すのがおすすめです。

LP制作で壁にぶつかったときには、ぜひこのコラムの内容を参考にしてみてください。

【WordPress】絞り込み検索を行う方法を解説【プラグインなし】

WordPressで求人情報や商品一覧などを掲載する際、ユーザーが希望条件に合った情報を素早く見つけられるよう「絞り込み検索」の機能が求められることがあります。
この記事では、プラグインを使わずに、複数条件での絞り込み検索を実装する方法を紹介します。対象読者は、WordPressでのカスタマイズにある程度慣れている方向けです。
それでは、早速基本的な実装ステップを見ていきましょう。

1. 完成イメージ

完成イメージは以下のとおりです。

必要最低限のスタイルのみ当てています。
求人一覧画面で、初期表示はすべての求人が表示されます。
任意の項目をチェックした後に、「検索」を押下すると条件に合致する求人のみが表示れます。

2. 実装手順

2-1. カスタム投稿タイプと分類項目(タクソノミー)を定義する

まずは、求人情報などを投稿するためのカスタム投稿タイプ「job」を登録します。あわせて、「勤務地」「職種」「雇用形態」といった検索条件となるカスタムタクソノミーを用意します。
以下をfunctions.phpに記述してください。


/* ==========================================================
// カスタム投稿タイプとタクソノミーの追加
========================================================== */
// カスタム投稿タイプ「job」
function register_job_post_type() {
    register_post_type('job', [
        'label' => '求人',
        'public' => true,
        'has_archive' => true,
        'supports' => ['title', 'editor'],
        'rewrite' => ['slug' => 'jobs'],
    ]);
}
add_action('init', 'register_job_post_type');
// タクソノミー「勤務地」
register_taxonomy('job_location', 'job', [
    'label' => '勤務地',
    'hierarchical' => true,
    'public' => true,
]);
// タクソノミー「職種」
register_taxonomy('job_category', 'job', [
    'label' => '職種',
    'hierarchical' => true,
    'public' => true,
]);
// タクソノミー「雇用形態」
register_taxonomy('employment_type', 'job', [
    'label' => '雇用形態',
    'hierarchical' => true,
    'public' => true,
]);

投稿タイプやタクソノミーは作成したい投稿内容に合わせて適宜調整してください。

2-2. 検索機能を追加する

続いて検索機能を追加します。
検索機能は、WordPressで投稿データを読み込む直前に実行することができる「pre_get_posts」というアクションフックを使用することで実現できます。
以下のコードをfunctions.phpに記述してください。


/* ==========================================================
// 検索機能
========================================================== */
function filter_job_search_query($query) {
  if (!is_admin() && $query->is_main_query() && is_post_type_archive('job')) {

    $tax_query = ['relation' => 'AND'];

    // 勤務地
    if (!empty($_GET['job_location'])) {
      $tax_query[] = [
        'taxonomy' => 'job_location',
        'field' => 'slug',
        'terms' => [sanitize_text_field($_GET['job_location'])], // 配列にする
      ];
    }

    // 職種(複数チェック対応)
    if (!empty($_GET['job_category'])) {
      $tax_query[] = [
        'taxonomy' => 'job_category',
        'field' => 'slug',
        'terms' => array_map('sanitize_text_field', $_GET['job_category']),
        'operator' => 'IN',
      ];
    }

    // 雇用形態(複数チェック対応)
    if (!empty($_GET['employment_type'])) {
      $tax_query[] = [
        'taxonomy' => 'employment_type',
        'field' => 'slug',
        'terms' => array_map('sanitize_text_field', $_GET['employment_type']),
        'operator' => 'IN',
      ];
    }

    // tax_queryがあればセット
    if (!empty($tax_query)) {
      $query->set('tax_query', $tax_query);
    }

    // フリーワード
    if (isset($_GET['s']) && $_GET['s'] !== '') {
    $query->set('s', sanitize_text_field($_GET['s']));
    }
  }
}
add_action('pre_get_posts', 'filter_job_search_query');

それぞれの処理は、「その値が設定されていれば」というif文で分岐しているので、何も値が設定されていなければ、投稿データが全件表示されます。

2-3. 絞り込み検索用のテンプレートを作成する

次に、検索フォームと検索結果を表示するテンプレートファイルを作成します。
 
■検索フォーム
今回は「template-parts」というフォルダの中に、job-search-form.phpというフォーム用のテンプレートパーツを作成します。


<form method="get" action="<?php echo get_post_type_archive_link('job'); ?>">
  <div class="form__inner">
    <input type="text" name="s" placeholder="フリーワード" value="<?php echo get_search_query(); ?>">
  
    <!-- 勤務地 -->
    <select name="job_location">
      <option value="">勤務地を選択</option>
      <?php
      $locations = get_terms('job_location');
      foreach ($locations as $loc) {
        echo '<option value="' . esc_attr($loc->slug) . '">' . esc_html($loc->name) . '</option>';
      }
      ?>
    </select>
  
    <!-- 職種 -->
    <div>
      <h2>職種</h2>
      <?php
      $categories = get_terms('job_category');
      foreach ($categories as $cat) {
        echo '<label><input type="checkbox" name="job_category[]" value="' . esc_attr($cat->slug) . '"> ' . esc_html($cat->name) . '</label>';
      }
      ?>
    </div>
  
    <!-- 雇用形態 -->
    <div>
      <h2>雇用形態</h2>
      <?php
      $types = get_terms('employment_type');
      foreach ($types as $type) {
        echo '<label><input type="checkbox" name="employment_type[]" value="' . esc_attr($type->slug) . '"> ' . esc_html($type->name) . '</label>';
      }
      ?>
    </div>
  
    <button type="submit">検索する</button>
    <a href="<?php echo get_post_type_archive_link('job'); ?>">クリアする</a>
  </div>
</form>

ここでのポイントは、formタグのmethodにgetを、actionに求人一覧画面のURLを設定している点です。
これにより、求人一覧画面のURLの末尾に、検索条件データを追加して送ることが可能になります。
 
■検索結果を表示するテンプレート
最後に、求人一覧を表示するテンプレートを作成します。
カスタム投稿タイプ「job」を追加したので、「archive-job.php」ファイルを作成します。


<main id="content" role="main">
  <h1 class="h1">求人一覧</h1>

  <?php get_template_part('template-parts/job-search-form'); ?>

  <?php if (have_posts()) : ?>
    <ul class="job-list">
      <?php while (have_posts()) : the_post(); ?>
        <li class="job-item">
          <a href="<?php the_permalink(); ?>">
            
            <div class="title-area">
              <h2><?php the_title(); ?></h2>
              <div class="job-meta">
                <!-- 勤務地 -->
                <p>
                  <strong>勤務地:</strong>
                  <?php
                  $terms = get_the_terms(get_the_ID(), 'job_location');
                  if ($terms && !is_wp_error($terms)) {
                    echo esc_html($terms[0]->name); // 1つだけ表示
                  }
                  ?>
                </p>
  
                <!-- 職種 -->
                <p>
                  <strong>職種:</strong>
                  <?php
                  $terms = get_the_terms(get_the_ID(), 'job_category');
                  if ($terms && !is_wp_error($terms)) {
                    echo esc_html(implode(', ', wp_list_pluck($terms, 'name')));
                  }
                  ?>
                </p>
  
                <!-- 雇用形態 -->
                <p>
                  <strong>雇用形態:</strong>
                  <?php
                  $terms = get_the_terms(get_the_ID(), 'employment_type');
                  if ($terms && !is_wp_error($terms)) {
                    echo esc_html(implode(', ', wp_list_pluck($terms, 'name')));
                  }
                  ?>
                </p>
              </div>
            </div>

            <!-- 抜粋 -->
            <div class="job-excerpt">
              <?php the_excerpt(); ?>
            </div>
          </a>
        </li>
      <?php endwhile; ?>
    </ul>

    <!-- ページネーション -->
    <div class="pagination">
      <?php the_posts_pagination(); ?>
    </div>

  <?php else : ?>
    <p>該当する求人が見つかりませんでした。</p>
  <?php endif; ?>
</main>

検索フォームの部分は、直前で作成した検索フォームをget_template_partで読み込みます。
また、「2-2. 検索機能を追加する」で、すでに記事読み込み直前に検索機能が実行されるようになっていますので、このテンプレートファイル側では条件分岐などを意識する必要はありません。

2-4. フロントで動作を確認する

最後にフロント側で動作を確認してみましょう。
任意のチェックボックスを選択し、検索ボタンを押下すると対象の求人のみが表示されるはずです。

おわりに

いかがでしたでしょうか?
少しコード量が多く感じられたかもしれませんが、カスタム投稿タイプやカスタムタクソノミーの追加にプラグインを使えば、もう少しスッキリさせることも可能です。
ただ、プラグインを使わずにphpのみで完結することで、裏側の処理が明確になり、後々タクソノミーの追加や検索条件のカスタマイズが柔軟にできるようになるというメリットもあります。
記事の検索機能はサイト制作で求められることも多いので、是非この機械にお試しください。

FigmaからHTMLコードを自動生成するAIツール3選

最近では、FigmaのデザインからHTMLやReact、Vueなどのコードを自動生成してくれるAIツールが続々と登場しています。しかし、各ツールの違いやメリット・デメリットがわからず、手が出せていないという方も多いのではないでしょうか。今回はAIツールの中でも、初心者にも使いやすく、Figmaとの連携がスムーズなツールをご紹介します。

1. Anima(アニマ)

[ Animaプラグイン紹介ページはこちら ]
[ Anima公式サイトはこちら ]

Animaは、FigmaやAdobe XD、Sketchと連携して、デザインからHTML・React・Vueなどのコードを生成してくれるプラグイン型ツールです。使用するにあたっては、Animaにログインする必要があるので、事前にアカウント登録をしておきましょう。

Figmaでの使い方は非常に簡単で、Animaプラグインをインストール・起動後、作成したデザインのフレームやコンポーネント(インスタンス)を選択するだけで、コードが自動生成されます。また、HTML・React・Vueの出力形式もコード生成後にワンクリックで変換することが可能です。

特徴

・デザインをそのままHTML/CSS、ReactやVueのコードに変換できます。
・ボタンやフォームなどのインタラクション設定も可能。
・レスポンシブ対応やアニメーションもサポートしています。
・無料プランあり。有料プランは月額$24〜。(2025年7月現在)

デメリット

・自動生成されたコードは読みやすいとは限らず、調整が必要なことがあります。
・高度なレスポンシブ対応や構造の最適化は自分で行う必要があります。

2. Locofy(ロコフィ)

[ Locofyプラグイン紹介ページはこちら ]
[ Locofy公式サイトはこちら ]

LocofyはFigmaやAdobe XDのデザインからHTML/CSS、React、Next.jsなどのフロントエンドコードを自動生成できるプラグインです。使用するにあたっては、Locofyにログインする必要があるので、事前にアカウント登録をしておきましょう。

Figmaでの使い方は、Locofyにログインした状態でプラグインを起動し、コードに変換したいデザイン要素を選択するだけです。ただ、β版の時は無料で使用可能でしたが、現在は20分間のワークショップ(動画)に参加してLDMトークン(Locofyのクレジットシステム)を取得する必要があるようなので注意が必要です。

特徴

・Figmaプラグインとして動作し、操作はGUIベースで初心者でも使いやすい。
・ReactやNext.jsなどの主要なフレームワークに対応。
・有料プランは月額$33〜。(2025年7月現在)

デメリット

・英語UIのため操作に少し慣れが必要。
– 設定が細かく手軽さには欠ける面がある。

3. ChatGPT

[ ChatGPT公式サイトはこちら ]

ChatGPTはOpenAIが提供するAIチャットツールで、自然言語での質問に対してプログラムコードやHTML、CSSなどの回答を返すことができます。コーディング以外で使用されている方も多いと思いますが、Figmaのデザイン情報をテキストや画像で共有すれば、HTMLコーディングを支援する使い方も可能です。

特徴

・Figmaのデザイン内容を説明文やスクリーンショットとして渡すと、HTMLやCSSのコードを自動生成してくれます。
・「FLOCSSで書いて」「PugとSCSSで」など、具体的な指示を出せばその通りに生成可能。
・無料プランあり。有料プランは月額 $20(2025年7月現在)
※HTMLやCSSの出力精度・柔軟性は有料プラン(GPT-4oモデル)の方が高い。

デメリット

・Figmaの構造をそのまま読み取ることはできないため、デザイン意図を言葉で正しく伝える必要がある。
・レイアウトの細かいズレやブラウザ対応などは、手動で修正する必要がある。

おわりに

今回はFigmaのデザインデータから自動でHTMLコードを生成するAIツールを紹介しました。
いずれのAIツールもWebデザイナーにとって大きな手助けとなりますが、現状ではあくまで「たたき台」として使うのが基本となります。ただし、効率よく作業を進める上では大きな手助けとなるので、この記事で興味を持った方は、まずFigma上でプラグインを試してみる、ChatGPTに構造を伝えてコードを生成させてみる、といったところから始めてみてはいかがでしょうか。

【表参道】インスタで話題のおしゃれなカフェ4選

表参道には雰囲気や味にこだわったカフェやレストランが数多く立ち並んでいます。
今回はその中でも、Instagramで話題になっている人気のお店を厳選してご紹介します。
美味しいのはもちろん、つい写真を撮りたくなるような空間ばかりです。カフェ巡りの参考に、ぜひチェックしてみてください。

1. 表参道バンブー

東京の真ん中とは思えない、緑に囲まれた一軒家のイタリアンレストランです。裏路地にあるため、普段歩いていると気づきにくいお店ですが、西洋風な建築物はとても可愛らしいです。平日のランチは3,080円から。コース・セット予約限定でアニバーサリーケーキの注文も可能となっています。一番のおすすめはドリンクです。アート作品のようにデザインされているドリンクは味も美味しく写真映えもします。

出典元:食べログ
店名 表参道バンブー
住所 東京都渋谷区神宮前5‑8‑8
営業時間 11:00〜21:30(料理L.O 19:30/ドリンクL.O 21:00)、無休(年末年始除く)
公式Instagram @bamboo_omotesando

2. EATALY

海外リゾートのような開放感があるイタリアンレストランです。店内も広々としていますが、明治神宮を囲む開放的なテラス席がおすすめです。平日限定のランチセットは前菜、パスタorピザそして食後のドリンクも付いて2,500円です。また、クリームがたっぷり入ったマリトッツォもおすすめです。デザートにいかがでしょうか。

出典元:EATALY公式サイト
店名 イータリー 原宿店(EATALY)
住所 東京都渋谷区神宮前1‑14‑30 ウィズ原宿 3F
営業時間 11:00〜22:00(L.O 21:00)、ウィズ原宿営業日に準ずる(定休日なし)
公式Instagram @eataly.tokyo

3. GENTLE Italian & Sushi Bar(表参道)

緑の中にひっそりと佇むレストラン。プライベートダイニングとなっており、地中海料理を味わうことができます。ダイニングとお寿司で提供が分かれており、Instagramで話題となっているのは、お手軽なお値段でランチコースを楽しめるダイニングです。ランチコースは3,850円。食器も一つ一つデザイン性が高く、目でも楽しめるレストランです。また、ランチコースが夏仕様に新しくなったので、ぜひ夏の間に行ってみてはいかがでしょうか。

出典元:食べログ
店名 GENTLE Italian & Sushi Bar(表参道)
住所 東京都渋谷区神宮前5‑47‑6
営業時間 【火~金】
ランチ :11:30〜15:00(LO14:00)
ディナー:17:00〜23:00(LO22:00)
【土日祝】
ランチ  :11:30〜15:00(LO14:30)
ティタイム:14:30~17:00
ディナー :17:00〜23:00(LO22:00)
※お鮨のランチは予約制にて承っております。
※日祝は 21:00ラストオーダー
定休日  :平日の月曜日(祝祭日の場合は翌火曜日)
公式Instagram @gentle_tokyo

4. THE_B

流行りのアサイーをお腹いっぱい食べれる、アサイーボウルとサラダのお店です。口コミでは、”今までのアサイーボウルの中で一番美味しかった!”というものが多くあります。実際に食べてみると、たっぷり入ったもちもちのアサイーがとても美味しく、体が元気になった気がしました。店内の席は数個しかなく少なめなので、よく行列ができており、朝の10:00ごろから整理券が発行されます。テイクアウトは12:00から利用できるので、並びたくない方はそちらを利用してみてください。

出典元:食べログ
店名 THE_B
住所 東京都港区南青山5‑10‑2 第2九曜ビル 1F
営業時間 10:00〜19:30(ラストオーダー19:00)、定休日なし
公式Instagram @the_b_vegan

おわりに

いかがでしたでしょうか。少し前までは”インスタ映え”と若干揶揄される表現でしたが、今ではSNSで人気になるお店は目でも楽しめて、味も美味しいものが多くなっています。マーケティングの面も含めて見てみると、「写真に撮りたくなる」「誰かにシェアしたくなる」という要素が、いかに飲食店の集客において重要かがよくわかります。表参道にお越しの際は、ぜひ今回ご紹介したお店を参考に、“お気に入りの一軒”を見つけてみてください。

【初心者向け】AIコードエディタ「Cursor」をWeb制作で使う方法を解説

皆さんはAIツール、使っていますか?筆者は主にChatGPTを利用していますが、AI技術の進化はとても早く、最近はテキスト生成だけでなく、医療分野での画像診断や契約書類のリーガルチェックなど、様々な業界に特化したAIも出てきています。それは、Web制作や開発の現場でも同様で、特に注目されているのが、AIと連携してコード補完やレビューを行えるエディタ「Cursor(カーソル)」です。今回は、初心者の方でも簡単に始められるように、Cursorの導入方法から実際の使い方まで、わかりやすく解説します。

1. Cursorとは

Cursorは、「GitHub Copilot」というAIコード補完ツールをベースにして作られたAIコードエディタです。UIはVisual Studio Code(VS Code)をベースにしており、VS Codeから拡張機能の移行も簡単に行えます。コードの生成はもちろん、レビューも行うことができるため、効率よくWeb制作や開発が進めることができます。

GitHub Copilotとの違いは?

GitHub Copilotでも、すでにコードの「予測」や「補完」といった機能は利用可能でした。
Cursorの大きな特長の一つは、コード全体のレビューを行えるという点です。GitHub Copilotでは精度が十分でなかったコード全体のリファクタリングやレビューといった用途にも、Cursorは対応しています。さらに、GitHub Copilotがあくまでエディタの拡張機能であるのに対し、Cursorはインストールして使用する独立したテキストエディタである点も大きな違いです。

2. Cursorの導入方法

それではここから、Cursorの導入方法について解説します。
Cursorの公式サイトにアクセスします。
右上のダウンロードをクリックします。キャプチャはMacOSのダウンロードリンクになっていますが、お使いのOSに合ったダウンロードリンクをクリックしてください。

Cursorをインストールすると、アカウント作成かログインを求められます。本記事では新しくアカウントを作成する方法で解説するので、「Sign Up」をクリックします。

メールアドレスを入力すると認証コードが送られてくるので、入力しましょう。以上でアカウントの作成は完了です。

「Cursorアプリからこの画面に来た場合はログインしてください」といった内容のポップアップが出るので、「Yes, Log In」をクリックします。

ここからアプリの初期設定に入ります。すでにVS Codeをお使いの場合は、「Import from VS Code」をクリックします。

すべての設定を引き継ぐ場合、「Import」をクリック。拡張機能は引き継ぎたくない場合、「Import without extentions」をクリックしてください。

テーマはお好みのものをクリック

Quick Startの画面は、特にこだわりが無ければ初期表示の状態で「Continue」をクリックで問題ありません。

AIの精度向上のためのデータの共有に同意できる場合チェックを入れます

「Language for AI」はAIからの返答言語なので、「Japanese」を選択します。ターミナルからCursorアプリを起動したい場合、Open from Terminalの項目の「Install」もクリックします。

以上で初期設定は完了です。

3. Cursorの使い方

Cursorの実際の使い方について解説します。
初期設定が完了すると以下のような画面になります。左側がファイル表示エリア、右側がAIとチャットを行うエリアです。

まずは空のディレクトリ「cursor_practice」を任意の場所に作成し、「Open project」から開きます。
それでは早速AIに指示してみましょう。今回は、以下のようなプロンプトを入力してみました。

出力結果が以下です。数秒でhtmlファイルとcssを作成してくれました。内容に問題なければ、チャットエリア右下の「Accept all」をクリックします。

VS Codeから引き継いだ、Live Previewプラグインで表示確認をしてみます。よく見るレイアウトのトップページになっています。レスポンシブ対応については、一部追加で指示が必要そうな箇所もありましたが、概ね問題ありませんでした。

これをそのまま使うということは少ないですが、普段忘れがちなtableタグやcssのグラデーションなど、web検索で一から調べると地味に時間がかかるものを、このAIで生成できたら、それだけで時間の節約になると感じました。

一部を修正したい場合

生成したコードの一部を修正したい場合、該当箇所をカーソルで選択し、「Add to Chat」をクリックします。

すると、チャットの上部にアットマーク(ファイル名の該当行)といった表示が追加されます。その状態で、プロンプトを入力してみましょう。

プロンプトに応じた修正をCursorが行ってくれます。問題なければ右下の「Accept」をクリックします。

ボタンが緑色になり、ホバー時の動きも少し派手になりました。

おわりに

いかがでしたでしょうか?
筆者自身、まだ使い始めたばかりで、十分に使いこなせているわけではありませんが、それでも非常に効率よくコーディングを進められると感じました。今後の案件でも少しずつ活用していきたいと思います。
また、今回は記事の都合上ご紹介できませんでしたが、Cursorではコード全体のリファクタリングも行うことができます。コーディングを始めたばかりの頃は、どうしても可読性や保守性の低いコードを書いてしまいがちですが、AIにリファクタリングしてもらうことで、「可読性・保守性の高いコードとはどういうものか」を学ぶ良い機会にもなると感じました。
ぜひ、サイト制作や開発業務にCursorを活用してみてください。

ChatGPTの会話ログをNotionで管理できる!Chrome拡張機能「Chat to Notion」の紹介

最近、業務の中でもChatGPTを利用する機会が増えています。しかし、日々のやり取りが増えるにつれて「あの質問の回答どこだっけ?」と過去ログを探すのが手間になってきた方も多いのではないでしょうか。

ChatGPTの画面内でも履歴は残りますが、検索性や整理のしやすさという点ではやや不便です。また、質問と回答を後から再活用しようと思っても、自分で整理するのは労力がかかります。

そこで今回は、ChatGPTのログをNotionに保存・整理できるツール「Chat to Notion」について紹介したいと思います。

1. Chat to Notionとは?

[ Chat to Notion – Chrome ウェブストア ]

「Chat to Notion」は、ChatGPTの会話ログをNotionのデータベースに自動で保存できるツールです。Chromeの拡張機能として提供されており、ブラウザ上のChatGPTでのやり取りをワンクリックでNotionに送信することができます。

2. Chat to Notionの導入方法

「Chat to Notion」の導入は比較的シンプルです。導入にあたってはChatGPTとNotionのアカウントが必要ですが、どちらも利用しているという前提で今回はアカウント設定の流れについては割愛します。

2-1. Notionにデータベースを作成

まずはNotion側の準備です。ChatGPTの会話ログを保存するため、新規ページに空のデータベースを作成します。



今回はページタイトルを「Chat to Notion」で作成しました。また、テーブルのプロパティは「タイトル」「タグ」「日付」「URL」を設定しておきます。保存先となるデータベースを用意しておかないと「Chat to Notion」は機能しないので、必ず用意してください。

2-2. Chrome拡張機能「Chat to Notion」をインストール

Chromeウェブストアで「Chat to Notion」を検索し、拡張機能をインストールします。



インストールが完了したら、使いやすいようにピン留めしておきましょう。


2-3. Notionデータベースとの連携

ピン留めした「Chat to Notion」のアイコンをクリックすると、以下の画面が表示されます。「ページを選択する」ボタンをクリックしてください。



以下の画面が表示されるので、手順2-1で作成したページ「Chat to Notion」を選択して「アクセスを許可する」ボタンをクリックします。



以上でデータベース連携は完了です。

2-4. ChatGPTの会話ログを保存する

ChatGPTで会話ログを開くと、回答部分にピンマークが表示されるようになっています。このピンマークをクリックするとポップアップが表示されるので、保存先が指定したページ(Chat to Notion)になっているのを確認して、「保存」ボタンをクリックしてください。



保存完了後にNotionデータベースに戻ると、先ほど保存した会話ログがデータベースに追加されています。この時、作成日やタグも一緒に登録しておくと、あとで検索する際に探しやすくなります。



また、回答の一部ではなく会話ログすべてを保存することもできます。すべて保存する場合はブラウザのアドレスバー横にあるアイコンをクリックして「全チャットを保存」ボタンをクリックしてください。


おわりに

今回はChatGPTの会話ログをNotionに保存・整理できるツール「Chat to Notion」について紹介しました。
ChatGPTを業務で活用する中で、「得られた知見をいかに蓄積・整理し、再活用できるか」は重要なポイントです。ChatGPTのログ管理に困っている方、ナレッジの整理を効率化したいと考えている方は、ぜひ一度「ChatGPT to Notion」を試してみてはいかがでしょうか。

気軽で便利!表参道のチェーン店ランチまとめ

表参道には洗練された雰囲気のカフェやレストランなど一流なお店ばかりかと思いきや、気軽に立ち寄れるチェーン店が点在しています。
今回は、駅から徒歩圏内にある表参道駅周辺にあるチェーン店を、まとめてみました。
少し時間を潰したい時や、選んでいる暇がない時にぜひご活用ください。

1. マクドナルド 南青山店

表参道駅から徒歩約4分の青山オーバルビル地下1階に位置するマクドナルドです。朝早くから営業しており、朝食やランチ、ちょっとした休憩に便利です。店内は広々としており、無料Wi-Fiも完備。ショッピングの合間に立ち寄るのにも最適です。

出典元:食べログ
店名 マクドナルド 南青山店
住所 東京都渋谷区神宮前5-52-2 青山オーバルビルB1F
営業時間 6:30~23:00(年中無休)
定休日 なし
座席 154席
Wi-Fi あり
電源 一部の席にコンセントあり
マップ https://maps.app.goo.gl/CbC51AxQETSrwGqK9

2. 丸亀製麺 青山オーバル店

マクドナルドと同じ「青山オーバルビル」内にあります。
ランチタイムはビジネスマンで賑わいます。平日は少し列ができるのでご注意ください。セルフサービスなので、さっと食事を済ませたいときにもぴったりです。

出典元:食べログ
店名 丸亀製麺 青山オーバル店
住所 東京都渋谷区神宮前5-52-2 青山オーバルビルB1F
営業時間 11:00~21:00(ラストオーダー20:30)
定休日 不定休
座席 63席
Wi-Fi なし
電源 なし
マップ https://maps.app.goo.gl/yDuGKfxzv13Qh2QW7

3. ケンタッキーフライドチキン 表参道・北青山店

表参道駅B2出口から徒歩約2分の場所にあるケンタッキーです。店内は落ち着いた雰囲気で、テイクアウトにも便利で、2階席でゆっくり食事を楽しむことも可能です。

出典元:食べログ
店名 ケンタッキーフライドチキン 表参道・北青山店
住所 東京都港区北青山3-10-7
営業時間 10:00~22:00
定休日 不定休
座席 40席(1階注文カウンター、2階に28席の飲食スペースあり)
Wi-Fi なし
電源 なし
マップ https://maps.app.goo.gl/VqHLZNxjWLwhjFtFA

4. クアアイナ 青山本店

表参道駅B1またはB3出口から徒歩約1分の場所にあるハワイ発のハンバーガーショップです。ボリューム満点のハンバーガーやサンドイッチが人気で、店内はハワイの雰囲気を感じられるインテリアが魅力です。ハンバーガーだけでなく、パンケーキやサラダもあります。友人とのランチや小腹が空いた時にもおすすめです。

出典元:食べログ
店名 クアアイナ 青山本店
住所 東京都港区南青山5-10-21
営業時間 月~金 11:00~21:00(L.O.20:30)、土日祝 10:00~21:00(L.O.20:30)
定休日 不定休
座席 65席(テーブル57席、カウンター8席)
Wi-Fi なし
電源 なし
マップ https://maps.app.goo.gl/ArVxpfJZDcgfsNRK6

5. スターバックスコーヒー 表参道 神宮前4丁目店

表参道駅から徒歩約5分の場所にあるスターバックスです。落ち着いた雰囲気の店内で、作業や読書に適しています。無料Wi-Fiと電源が利用できるため、長時間の滞在にも便利です。また、平日は7:00~22:30までと長く営業しているのでどんな時間にも活用できます。

出典元:食べログ
店名 スターバックスコーヒー 表参道 神宮前4丁目店
住所 東京都渋谷区神宮前4-3-4 Barbizon7 ANNEX
営業時間 月~金 7:00~22:30、土日祝 8:00~22:00
定休日 不定休
座席 90席
Wi-Fi あり
電源 一部の席に電源あり
マップ https://maps.app.goo.gl/GuvJo77bJMt6VH7n9

おわりに

表参道というと少し敷居が高いイメージがあるかもしれませんが、実は気軽に立ち寄れるチェーン店もたくさんあります。ショッピングや観光の合間に、ほっと一息つける場所としてとても便利です。ぜひ、自分のスタイルに合ったお店を見つけて、表参道をもっと楽しんでみてください。

DOLではWordPressを使用したサイト制作を多数手がけております。今回ご紹介した内容を実際のプロジェクトで活用したい場合や、さらに詳しいカスタマイズや開発のサポートが必要な場合は、ぜひ「DOLに制作を相談する」ボタンからお問い合わせください。

WEBやUI / UXの観点で見る、麻布台ヒルズが分かりづらいと言われる理由

新しい都心のランドマークとして話題になった麻布台ヒルズですが、開業したのは2023年11月と、早くも1年近くの月日が経とうとしています。実際に訪れた人からは「今どこにいるのか分からない」「目的地にたどり着きにくい」という声が少なくありませんが、実際のところはどうなのか気になり、訪れてみました。

「分かりづらい」と感じる背景には、情報の伝え方やUI/UXに課題があり、これは日々のWEBデザイン業務にも活かせるのでは?という視点から、今回のコラムでは「なぜ麻布台ヒルズは分かりづらいと言われるのか?」を、WEBデザインやUI/UXに関連付けて紹介していきます。

1. 麻布台ヒルズとは?

麻布台ヒルズは2023年の11月に開業した複合商業施設です。「森JPタワー」や「ガーデンプラザA〜D」、レジデンス(住居)や商業施設などから構成されています。

麻布台ヒルズ公式サイト
とても敷地が広く、世界的に有名な建築デザイナーが建築デザインを手掛けているということもあり、洗練された印象を受ける一方で、複数の建物から構成されている点や、元々の地形が坂道のため施設内にエスカレーターが多い点など、“分かりづらい”と感じるポイントが少なくありません。

2. 麻布台ヒルズが分かりづらい理由を深堀り

具体的にどのような点で”分かりづらい”と感じてしまうのか、筆者が訪問して感じたことを上げていきます。

2-1. 施設全体の構造が初見で把握しづらい

冒頭でもご紹介したように、麻布台ヒルズは複数の建物で構成されています。初めて訪れると、まずはその位置関係を把握する必要がありますが、全てが直線上に並んでいるというわけではなく、全体像を把握するのに少し時間がかかります。最寄り駅である神谷町駅から麻布台ヒルズに入ると、最初に目に入る頭上の案内サインがかなり複雑でした。

頭上の案内サインの写真。複数の建物が存在するため、どうしても項目が多くなってしまう。

これをWebデザインに関連付けると「ナビゲーションが整理されていない状態」に近い気がしました。グローバルナビゲーションにカテゴリが詰め込まれすぎていたりすると、ユーザーは目的のページを見つけるのに時間がかかってしまいます。多少情報を削ってでも、シンプルにしたほうがユーザーの負担を少なくできるかもしれません。

2-2. 各エリアの“視覚的な差”が少ない

神谷町駅から麻布台ヒルズに入り、最初にたどり着くのは「ガーデンプラザA」というエリアになります。例えば「ガーデンプラザA」から「ガーデンプラザB」に向かう場合、案内サインを頼りに進むことになりますが、いずれのエリアも内装デザインが似ており、「エリアを移動した」ということが、明確に分かりづらいと感じました。そのため、案内サインをよく見ながら進まないと、気づいたら「ガーデンプラザC」まで来てしまった、ということが起こり得ます。

ガーデンプラザAの雰囲気
ガーデンプラザBの雰囲気
ガーデンプラザCの雰囲気
ガーデンプラザDの雰囲気

これはWEBデザインで例えると、カレント(現在地)表示やパンくずリストが不足しているサイトのような状態だと思います。ユーザーがサイトを回遊しているうちに、今自分がどこにいるのかわからなくなった時に、理解を助けるのがカレント表示やパンくずリストです。施設における「現在地」表示は、案内図などがその役割を担います。それだけでも一定の効果はありますが、内装デザインに変化を持たせることで、ユーザーがより現在地を意識しやすくなり、施設全体の構造理解も促進されると感じました。

もちろんあえてシームレスな作りとしているというデザイナーの意図があるのかもしれませんが、ユーザーに伝わらなければ意味がないという点では、WEBデザインも同様なので、筆者自身も気をつけたいところです。

2-3. 高低差があり、階層構造が分かりづらい

麻布台ヒルズは、元々坂道に沿って住宅やマンションが建ち並ぶ、閑静なエリアでした。そのような土地に建物が作られている関係上、必然的に施設内にエスカレーターが多くなります。また、B1からエスカレーターで上がると、心理的には1フロア上がるのが自然かと思いますが、隣のビルのB1にたどり着く、ということがありました。(構造上仕方がないのかもしれませんが)

ガーデンプラザCのエスカレーター。乗る前のフロアは「B1」だが..
登った先は、タワープラザの「B1」となっている

麻布台ヒルズは複数のビルで構成されており、WEBサイトで例えると、ひとつの大きなサイトの中にサービスサイトや採用サイトといった個別サイトが存在している状態に近いと思います。このような構造のサイトでは、「どれがメインのサイトなのか」「中にいくつの個別サイトが含まれているのか」といった全体像が把握できないと、ユーザーにとって回遊しづらいサイトになってしまいます。特に麻布台ヒルズの場合は、エリアによってフロアが変わることもあるため、建物ごとの階層構造に関する案内が、より多くの場所で提示されていると、理解がスムーズになると感じました。

3. 麻布台ヒルズの良い点

良くない点ばかりを上げてしまいましたが、私が実際に訪問して感じた、麻布台ヒルズの良い点もあげていこうと思います。

3-1. デジタルマップが非常に便利

麻布台ヒルズは、施設内に一定間隔で館内案内図が置いてありますし、頭上の案内サインもあるので、それらを見ながら目的地に行くこともできますが、公式サイトにあるデジタルマップが非常に便利でした。
デジタルマップURL
こちらのデジタルマップでは、出発地点と目的地点を入力することで、最短のルートを地図上に表示してくれます。視認性も高く、この地図があれば迷わず目的地にたどり着けると感じました。多くの商業施設の館内MAPはPDFファイルのみであることが多い中で、このようなデジタルマップを採用している点は、さすが最新の商業施設だなと思いました。個人的には最も推したい点です。

館内案内図にも一応デジタルマップの案内はある(もっと大きく表示してあってもよさそう!)

3-2. デザイン性の高い建物と、都内とは思えないゆったりした敷地

もう一つ良いと思った点としては、何と言っても建物のデザインが凝っていておしゃれです。建築に関するデザインは専門外ですが、それでも素人目にも分かるほど、デザインに強いこだわりを感じました。

タワープラザの前の構造物
ガーデンプラザAの外壁

また、敷地もゆったりしており、弊社のある表参道や渋谷エリアに比べると、人の密度も程よく、ちょうど今くらいの暖かい時期に散歩するにはぴったりの場所だと思いました。座れる場所も適度に配置されているので、コーヒーを片手にくつろいでいる人がたくさんいました。



施設内にはアートなども展示されている

おわりに

いかがでしたでしょうか?
筆者個人的にはゆったりと過ごすことができ、とても良い場所だと思いましたが、ユーザービリティの面ではいくつか課題が見えました。WEBデザインやUI/UXにも通じる発見も多くあり、日常の中でさまざまなデザインに目を向けることの大切さを改めて感じました。今後も、こうした日常の気づきをデザイン業務に活かし、ユーザーにとってより分かりやすいデザインを提供していきたいと思います。

会員制サイトの構築に使えるサービス3選

通常のWeb制作案件は会社サイトや採用サイトなど、誰でも閲覧可能なオープンサイトの制作依頼が主ですが、ファンクラブやセミナー・研修といった、クローズドな会員制サイトの構築依頼が来ることがあります。会員制サイトはプラグインや有料テーマを利用すれば、WordPressでも作ることが可能ですが、セキュリティ対策や運用後のメンテナンスなどを考慮すると、外部のサービスを利用する方が望ましい場合があります。

そこで今回は、国内でよく使われる会員制サイト構築システムの「SPIRAL」「クライゼル」「Smart Core」について、それぞれの特徴やメリット・デメリットを交えて紹介したいと思います。

1. SPIRAL(スパイラル)

[ SPIRAL® ver.2 – ローコード開発プラットフォーム ]

「SPIRAL」は、スパイラル株式会社が提供する、ローコードでアプリケーションやWebサイトが作成できるプラットフォームです。メールマガジン、アンケート、問い合わせ管理、会員サイトなど、様々なWebアプリを作成することができます。

「ローコード開発」と謳っているとおり、本来であればプログラミングの知識が必要なWebアプリを、クリック操作だけで簡単に作ることができます。また、セキュリティ対策にも力を入れており、金融・製造・学校・官公庁など13,000社を超えるあらゆる業界での導入実績があります。

メリット

・国産サービスであり、金融機関レベルの高いセキュリティが標準装備。
・データベース・フォーム・メール配信など、会員制サイトに必要な要素がオールインワン
・開発知識がなくても比較的簡単にフォームや管理画面を構築できる。

デメリット

・柔軟なデザインや動的な表示の自由度はやや低い。
・高機能ゆえに、初期設定や運用にある程度の学習コストがかかる。
・月額利用料が数万円〜と、個人や小規模事業者には少しハードルが高め。

2. クライゼル(KREISEL)

[ クライゼル ]

「クライゼル」はトライコーン株式会社が提供する、顧客管理やメール配信、フォーム作成、会員サイト作成などの機能を備えたクラウド型のCRM(顧客管理システム)サービスです。

Webマーケティングの現場のヒアリングをもとに開発されたサービスのため、マーケティングに必要な機能がそろっています。また、料金はレコード数変動性のため、データベース、メール配信数、フォーム作成数は使い放題となっています。サービス開始以来事故ゼロの高セキュリティで、官公庁や大企業など1,000社を超える導入実績があります。

メリット

・日本製のツールで、各機能ごとのマニュアルやカスタマーサポートが充実している。
・ドラッグ&ドロップで構築できる編集機能により、非エンジニアでも管理しやすい。
・Salesforceやkintoneなどの外部システム、APIや外部決済システムとの連携が可能。

デメリット

・自社ドメイン利用や細かなカスタマイズには別途相談・見積が必要なケースがある。
・プランにより、利用ユーザー数やコンテンツ容量に制限がある。

3. Smart Core(スマートコア)

[ SmartCore ]

「SmartCore」は株式会社イーストゲートが提供する会員管理システムです。会員データベース管理やマイページ、コンテンツ作成、メッセージ配信など、会員管理と団体ポータル運営に必要な機能が揃っています。
30以上あるオプション機能はニーズに合わせて、自由にカスタマイズすることができます。そのため最初は基本機能のみで開始して、サービスの発展に合わせてオプション機能を追加していくことで、無駄なコストを抑えて運用することができます。

メリット

・高い柔軟性と拡張性があり、団体種別に合わせた独自機能を追加できる。
・使用するデータベース容量を要素ごとに設定できるので、低コストで運用できる
・個人情報の保護を第一に考えられたシステムでセキュリティが充実している。

デメリット

・パッケージ価格制のため、初期費用や月額費用がやや高め。
・専用環境での開発・運用となるため、カスタマイズにはエンジニアの関与が必須。
・デモや設計打ち合わせなど、導入までに一定のリードタイムが必要。

おわりに

今回は会員制サイト構築システムについて紹介しました。冒頭で述べたように、WordPressでも会員制サイトを構築することはできますが、セキュリティ対策や障害対応などをすべて自社で担うことを考えると、やはり選択肢としては厳しいかと思います。一方、SPIRALやクライゼル、SmartCoreといった外部サービスを使えば、セキュリティや運用体制の整備が前提となっているため、安心して運用することが可能です。ランニングコストはかかりますが、長期的に見れば非常に合理的な選択肢と言えます。
目的・規模・社内体制に応じて最適なシステムを選ぶ際の参考になれば幸いです。