web-dev-qa-db-ja.com

会社ごとのサブドメインまたは単一のURLがWebアプリに適している

私はWebアプリケーションを作成しています。このアプリケーションは、各企業が複数のユーザーを持つ小規模企業向けです。

何が良いですか:

  1. 各企業にサブドメインを付与する(my-company.example.comでアプリにアクセスするため)

  2. 誰もがwww.example.comでサービスにアクセスします(この場合、ログインページで会社名を入力する必要があります)。

使いやすさの観点から何が良いのかを尋ねています。どちらも会社間で完全に同じように分離され、どちらも実装するためにまったく同じ量の作業を必要とします。

更新:会社の従業員のほとんど(すべてではない)がアプリを使用します。

11
Nir

だれがアプリを使用することになっているのかによります。 my companyの顧客または従業員がアプリを使用することになっている場合、サブドメインを使用する方が簡単で快適です(これにより、ロゴなどでページをパーソナライズすることもできます)。 。)。

アプリが少数の管理者レベルのタイプのユーザーのみがアクセスすることを意図している場合は、メインアプリにログインして設定するだけのほうがおそらく簡単です。

たとえば、1人のユーザーがGmailを使用する方が簡単ですが、組織ではGoogleアプリを使用する方が簡単です。セットアップには少し手間がかかりますが、私の会社に特化しています

4
Sruly

会社ごとのサブドメインを必ず使用してください。

これを行うには、2つの方法があります。

  1. company.yourcoolapp.com
  2. yourcoolapp.company.com 1

2つのオプションの違いはわずかですが、私にとっては、オプション1の場合、ソフトウェアユーザーは自分の会社がドメインでソフトウェアを使用することを許可されているように見えます(おそらくそうです)。彼らは、入力しているデータの所有権を持っているように感じるかもしれませんし、そうでないかもしれません(アプリが実際に何をするかによって異なります)。

オプション番号2の場合、ソフトウェアユーザーは、データ/アプリケーションが会社によってホストされているように、アプリがドメインの一部であることを確認します。この場合、ユーザーはたまたま使用している外部の製品ではなく、アプリが会社の一部であるように感じます。

両方のURLを設定して、一方のドメインが他方を指すようにすることもできます。これが Blackboard (教育ソフトウェアパッケージ)が私の大学で行う方法です。

  1. http://unco.blackboard.com
  2. http://blackboard.unco.ed

1 有名な法律事務所Dewey、Cheatem、およびHoweが使用する可能性があるアプリケーションを作成している場合、これは見苦しいURLになる可能性があります。 http://mycoolapp.DeweyCheatemAndHoweAttorneysAtLaw.com

8
Jared Harley

サブドメインを持っていることは、より強い所有感(そしておそらくプライバシー)を与えます。
サブドメインのランディングページを会社のロゴ、ニュースなどでカスタマイズできます。

一方、1つの中央ページを使用する場合、組織(サービスプロバイダー)の唯一のブランディングがそこにあります。

ページが1つしかない場合は、ユーザーが直接リンクを送信できるように、組織フィールドを自動的に埋めるURLをサポートしていることを確認してください。

考えてみてください。おそらく、組織を完全にスキップできます:
組織横断的なユーザーがいますか?
これは、BethがOrg Bにサービスを提供するOrg Aで機能するため、Bethは両方の組織にログインする必要があることを意味します。

[〜#〜] not [〜#〜]の場合、ユーザーは1つの中央ページからログインでき、組織フィールドに自動的に関連付けられるため、組織フィールドに入力する必要はありません。合っている物。

そうは言っても、別のサブドメインからログインする方が理にかなっています。

5
Dan Barak

私たちのアプリでは、それらを組み合わせることに決めました、そしてそれはかなりうまくいくと思います:

  • ユーザーはourapp.comにアクセスし、「サインイン」をクリックしてサインイン画面にリダイレクトできます。
  • ユーザーはサインイン画面に直接アクセスできます
  • ログインすると、すべてのユーザーがxxx.ourapp.comの「ログイン」環境に配置されます
  • ユーザーがアプリでエンティティを作成するときに、yyy.ourapp.comでサブドメイン名を付与できます
  • yyy.ourapp.comは「クライアント向け」であるため、サインインリンクを含め、ourappのブランディングは表示されません。

「ホームページに会社名を入力する」の部分は行わないことにしました。データベースとドメインモデルの観点からは、誰もが自分の「アカウント」を持ち、それでサインインするほうが良いとわかったので、次に、ユーザーを相互に関連付けるビジネスロジックを記述します。技術的なことですが、ユーザーエクスペリエンスを設計するときに、それを考慮する必要がある場合があります。

2
Rahul

それらの1つを選択する前に、次の2点を考慮する必要があります。

  1. サイトのセキュリティ。
  2. サイトSEO。

個人化サブドメイン

tight securityが必要な場合は、パーソナライズされたサブドメインに移動する必要があります。パーソナライズされたサブドメインを選択すると、サイトのセキュリティを強化するいくつかの要素があります。

  • Googleインデックス作成なし。 Googleがプライベートクライアントサイトにインデックスを作成することを回避でき、システムが危険にさらされることを心配せずに、wwwサイトのすべてに安全にインデックスを作成できます。
  • robots.txtを表示することによるサイトのハッキングを回避する。 googleがいくつかのページまたはディレクトリ構造をインデックスに登録することを安全に禁止できますが、誰かがrobots.txtを簡単に覗いて、そこに貴重なものを見つけることができます。

検索エンジン最適化よりもセキュリティを優先する場合は、パーソナライズされたサブドメインを選択できますが、実装は少しトリッキーですdnsを使用してサブドメインにcnameまたはaレコードを追加しないでください、単に追加* .yourdomain.comのレコード。ウェブサーバーからvhostを使用してサブドメインを安全に管理できるため、最初に正確な名前を知らなければ、誰もサブドメインに入ることができません。

個人用サブフォルダ

検索エンジンでサイトのランクを最適化する必要がある場合は、この方法を使用できます。 robots.txtを使用して、検索エンジンによってインデックスが作成される場所を禁止することができます。うまくいけば、誰がその場所を知っているかわかりません。また、すべてのクライアントが独自のサブドメインではなくメインサイトにアクセスするため、サイトのランクを以前の方法より高くすることもできます。


まとめ

私が個人的に最初のオプションを選択したのは、検索エンジンによって意図せずに索引付けされるページを失うことは許されないか、誰かが何らかの方法でrobots.txtを見つけたからです。これまで以上にSEOが必要な場合は、会社のブログを作成してインデックスに登録するだけで済みます。これにより、システムが危険にさらされやすくなるのではなく、より多くの人々を引き付け、ユニーク訪問数を増やし、ランクを上げることができます。

1
Hendra Uzia

2番目のソリューションでは、ユーザーが会社名を入力する必要があるという警告があり、唯一の適切なソリューションは会社のサブドメインです。このように考えてください-ソリューション1を使用して、ユーザーが実行する必要があるのは次のとおりです。

  1. サイトのURLに移動します
  2. ユーザー名を入力してください
  3. パスワードを入力してください
  4. ログインする

ソリューション2では、次のことを行う必要があります。

  1. サイトのURLに移動します
  2. 会社名を入力してください
  3. ユーザー名を入力してください
  4. パスワードを入力してください
  5. ログインする

必要がないのになぜ追加のステップを追加するのですか?また、ユーザーが会社名を正しく入力するためには、ユーザーがhowを覚えておく必要があるため、ユーザー名を会社名に入力することは、追加の認知的負荷になります。彼らが通常、頭字語や短い名前で会社を参照している場合はどうなりますか?ログインページには何が使用されますか?必要がないのに、なぜユーザーにその詳細を記憶させるのでしょうか。

0
Charles Boyung