web-dev-qa-db-ja.com

ユーザーはユーザー名を変更できますか?

したがって、ユーザー名を新しいものに変更する必要があります。アプリケーションでこれを実行できますか?

あなたのプロフィールを指す一意のURLがあるとします。 (人間が読める/ site.com/joesoap/のように仮定します。これはSEOの神々を笑顔にします。 josephsoapに変更すると、古いリンクはすべて機能しなくなります(例:Twitter)。それはUXの神々を泣かせます。古いURLでリダイレクトを維持し、新しいURLに転送することができます。次に、人々がリダイレクトですべてのニースの名前を詰まらせるという問題に座ります。それはすべての将来の顧客を泣かせます。

ここには3つのオプションがあります。

  1. 1つは、URLを/ site.com/73622/joesoap/のようにする73622serIDです変更しない(たとえば、ux.stackexchange.comのように)。それほど美しくはありませんが、ユーザー名を好きなだけ頻繁に変更するのは簡単です。

  2. もう1つは、単純に変更させないユーザー名(例:facebook)です。

  3. まだ考えていませんが、お勧めしますですので、あなたの深い洞察で私たちを驚かせます。

どのようにしてそれを行うのですか?

71
JohnGB

名前を変更させます。結婚する女性は夫の姓を使用することがあり(時々)、ウェブサイトで彼女の名前を変更することを許可しないと、彼女の経験が悪くなる可能性があります。

私はオプション#1の大ファンです。私はここUXのWebサイトで自分のID番号を調べて、自分が#5737であることを確認する必要がありました。見えないところで、頭の中で、いい意味で。 URLがどの程度「きれい」である必要があるのか​​わかりません。それは確かに長いGUIDで醜くなりますが、サイトのアドレスの後に単純なID番号を押しつぶすと、私には非常に受け入れられるようです。

私もSEOの神々がバージョン#1を気にしているとは思わない。

42
LarsTech

これに対するいくつかのサービスで使用されている解決策は、個別のユーザー名と表示名を持つことです。ユーザー名はサイトへのポータルです。ログイン方法、URLのベース(通常)、場合によってはユーザーがあなたを見つける方法。

Twitter はSEOが優れているが、表示名を変更できるため、おそらく最も関連性の高いソリューションです。ほとんどのユーザーがあなたを知っている名前は変更できませんが、ユーザーのreal nameを変更するとシステムは正常に動作し、人々はあなたの本名であなたを検索できます(ユーザー名の方がはるかに簡単です)特に検索で)。

更新:どうやらTwitter doesユーザー名とURLを変更できますが、名前の変更後もフォロワーは引き続きあなたをフォローします。私を訂正してくれたJohnGBとDaniel Newmanに感謝します。 Twitterのソリューションがこれ以上好きになったかどうかはわかりませんが、ユーザーに自由を与えることができます。

Steam は、これを実装して、ユーザー名がログインに使用する秘密であり、友達は常にあなたの表示名であなたを見つけます-これは、文字通り、いつでも変更できます。個人的には、友達リストの半分が週に一度名前を変更するので、これは非常に迷惑だと感じました。 Steamでは、友達が以前に使用した名前をすべて表示できますが、ユーザーが表示名のみを頻繁に変更すると、誰が誰であるかを知るのが非常に困難になる可能性があります。

Skype には、ユーザーの検索に使用するユーザー名があり、アプリケーション内でのみ名前を表示します。 Skypeはこれを「本名」と呼んでいますが、いつでも変更できるため、多くの人が好きな映画のキャラクター、4chanミームなどに変更します。ユーザー名でいつでも誰かを見つけることができるので、これは興味深い設定ですが、Steamのように、プロフィールを表示しないと、友達リストの半分の人が誰なのかを特定するのが難しいことがよくあります。

SteamとSkypeはTwitterよりもサイトとの関連性が低い(私はそう思う)かもしれませんが、変更されるのはURLだけではないことに注意してください。 GoogleがJoe Soapを見つけることができることは重要ですが、サイト上のJoe Soapの接続がJoe Soapとして出会った人を見つけることができることは間違いなくより重要です。 Facebookは「実名のみ」の環境とこのポリシーの積極的な適用により、この問題をかなりうまく回避しましたが、別のサイトで作業することを期待していません。

15
Ben Brocka

いくつかの部分からなるオプション3を考えました。私はおそらく過度に冗長になっていますが、すべてのケースをカバーしたことを確認したいと思います:)

  1. たまにしか名前の変更を許可しないでください(上記のJane Smith/Jane Doeの例のような実際の名前の変更に対応するには、3か月で十分です)。

  2. 過去のデータベースの列を維持します。たとえば、4つの名前の変更-これは、名前の変更の1年の履歴に相当します-名前の変更の日付と同じなので、それらの名前の変更後にクリーンアップできます。 「有効期限」。

  3. ユーザーが名前を変更すると、URLはすぐに変更されます。他のユーザーが古い名前を使用していない場合、サイトの訪問者は "ユーザーが見つかりません"ページを取得し、新しい場所を示すバナー(パート4で説明)が表示されます。ある時点で別のユーザーが古い名前を使用した場合、サイトの訪問者はその新しいユーザーのページを取得します。ここで、最も重要なパート4が登場します。

  4. 訪問者がユーザーの「過去」の名前(パート2を介して)で参照されているURLにアクセスする場合、「[user1の新しい表示名]以前に名前[ user1の古い表示名]-代わりにユーザーのページにアクセスしようとしましたか?」もちろん、新しい表示名は新しいページへのハイパーリンクです。ユーザー名が元のユーザーのリストから期限切れになる前に数手で通過する可能性があるため、このバナーに複数のユーザーを表示する機能を含めるようにしてください(つまり、[user1の新しい表示名]と[user3の新しい表示名]以前は[user1/user3の古い表示名]という名前でした。).

  5. (オプション)「以前に使用された」名前が他の誰か(user2)に属している場合、訪問者のコンピューターにそのページにアクセスしたときにCookieを配置します。ユーザー1の新しい名前をクリックせずにページを離れた場合は、カウンターをインクリメントします。 Cookie(おそらく、ページへの次のアクセス時に行われます)。カウンターが特定の数(たとえば、3)に達し、ビジターがuser1のページに一度も行ったことがない場合は、本当にuser2のページを表示したいと考え、バナーの表示を停止します。ビジターdidがクリックスルーした場合、カウンターをゼロにリセットします。もちろん、以前に使用した名前が現在使用されていない場合は、Cookieは必要ありません。

全体的な考え方は、古いリンクを使用していた人々は、これまでに使用されたすべての名前のリダイレクトでシステムを詰まらせることなく、リンクを見つけて新しいリンクに更新する機会が与えられるということです。

私はまた、ある種の小さな「これは何ですか?」バナー上のリンク。これは、DHTML/CSS/JSを介して小さなページはめ込みポップアップを作成し、名前の使用ポリシーを説明するため、誰かがuser2のページにアクセスした場合、user1のページへの参照と(一部の場合) 5が実装されています)バナーは最終的になくなることをお勧めします.

また、要求されたユーザー名が現在別のユーザーの「以前に使用された」リストにあるかどうかを検出し、それらにそれらを通知するcanを登録システムおよび名前変更システムに実装することもおそらく良いでしょう。名前を付けますが、そのページの訪問者には翌年のリダイレクトバナーが表示されます(ただし、その名前が他のユーザーの以前に使用されていたリストに残ることはあります)。また、ユーザーが名前を変更しようとしたときに、古いURLにアクセスしようとすると、訪問者がページに移動しなくなるが、訪問者にページへのリンクを提供して、訪問者がそれらを見つけやすくなるようにアドバイスする必要があります。

15
Doktor J

ポイント1と同様のポイントがありますが、ユーザーの[〜#〜] id [〜#〜]を公開していません(これにより、一部の情報を削除します)。

代わりに、特定のユーザー名がいつでも1人のユーザーによって保持されていると仮定します。したがって、URLは単に時刻(または日付)を埋め込むことができます。

http://somewebsite.com/2011-10-05/ausername

次に、マッピングを維持するだけの問題です<period of time> + <user name> <--> <user id>データベースのどこかにあり、頻繁な変更を禁止するポリシーでバックアップできるため、データベースが詰まらないようにできます。

もちろん、ユーザーが望むだけ表示名を変更できるようにすることをお勧めします。現在は短いユーザー名を使用していますが、フルネームを表示したくないという意味ではありません。

および関連する注意事項として、ユーザー名をログイン名として使用しないこともお勧めします(秘密に保持されている電子メールアドレスはログイン名として不思議に思います)

9
Matthieu M.

要するに:状況によって異なります。フォーマル/プロフェッショナル向けではない場合はオプション1、フォーマル/プロフェッショナル向けの場合はオプション2。

オプション1が好きです。私がこれまでに使用したさまざまなユーザーグループは、URLにほとんどまたはまったく注意を払っていないため、URLの構築が特定のユーザーグループの問題であることがわからない場合は、これを使用します。

しかし、私はユーザー名の変更を許可するサイトで働いたことはありません。これは完全にコンテキスト依存です。ユーザー名を変更すると、サイトの認識方法、特に信頼と専門性に影響を与える可能性があります。変更する機能を提供する前に評価する必要があります。

4
gef05

ユーザーが自分の名前を変更できるようにしますが、数か月に1回だけです。その場合、古いユーザー名も数か月間ブロックされるため、他のユーザーはそれを使用できません。誰かがblockedページにアクセスすると、画面が訪問者にユーザーが彼女の名前を変更したことを通知し、今後もその人のページにアクセスできるようにしたい場合は、ブックマークを更新する必要があります。

4
kba

名前の変更を許可します。古いURLへのリダイレクトを維持し、新しいURLに転送しますntil他の誰かが名前を取得します。

1

ユーザー名の変更を許可しても害はないと思いますが、ユーザーがユーザー名を2回以上変更できないようにする必要があると私は確信しています。ユーザーは最初のユーザー名を選択し、それを再度変更する機会を与えられます。ユーザーに元の名前と新しい名前の間で変更するオプションを提供することは、公開されているユーザー名を使用するすべての自己作成プロジェクトで許可するオプションです。

このアプローチの利点は、ユーザーがなんらかの理由でユーザー名を変更した場合(コミュニティーでの評判が悪い、トローリング)、コミュニティーに表示されたときにユーザー名が地下に表示されるときに、「以前は[ここに古いユーザー名]と呼ばれていた」という行がそのように表示されることです。彼らの新旧の名前で識別できます。

古い名前に切り替えても、下の線は表示されます。

1

URLの一部としてユーザー名を使用する場合、ユーザーが自分の名前を変更することを許可しないでください。そうしないと、どんなに賢くしてもデッドリンクの問題が発生します(ここでの回答のいくつかは非常に良いですが、ある時点で、古いURLは最終的にはデッドまたは間違っているでしょう、そしてコメントしたように、ブログ投稿からのリンクはほとんどの場合、更新されることはありません)。

1
awe

デッドリンクまたは誤解を招くリンクはあまりにも一般的です。
永続的にリンクできるURLを構成する何かをユーザーに変更させることは、良い習慣ではないと思います。
一部のサイトと同様にpermalinkを実装できますが、ユーザーはブラウザのURLをコピーするだけです。
オプション1またはそれに似たものをお勧めします。

ユーザー名を最終的に変更できるようにするここで提案されたオプションは、ある時点でリンク切れや誤った宛先につながる可能性があります。

1
Petruza

ユーザーを満足させ、SEOを適切に機能させる中間的なアプローチを提案します。

ユーザーがユーザー名を変更できるようにしますが、90日に1回のみです。彼らの古いユーザー名は、301リダイレクトで90日間新しいユーザー名にリダイレクトしています。

利点:

  • 検索エンジンが新しいユーザーを見つけるには90日で十分です
  • 新しいユーザー名が意図しない結果となった場合、ユーザーはロールバックする可能性があります
  • ユーザー名は、90日間使用されなかった後にリリースされるため、永久に予約されるわけではありません。
  • URLに醜い無意味なIDはありません
0
Peter Smit