diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index 4d8f6cf0abc804af7adda73b1210afe69d5d6269..12e9793ed2eea7a2b197f1075fb1d9086c7ad6d5 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -359,7 +359,10 @@ class UsersController < ApplicationController
   def validated_profile_websites(profile_params)
     sites = profile_params[:user_websites_attributes]
 
-    websites = sites.transform_values { |w| w.merge({ url: ensure_protocol(w[:url]) }) }
+    websites = sites.select { |_, v| v[:url].present? &&  v[:url] != ''}
+                 .transform_values { |w| w.merge({ url: ensure_protocol(w[:url]) }) }    
+
+#    websites = sites.transform_values { |w| w.merge({ url: ensure_protocol(w[:url]) }) }    
 
     invalid_keys = websites.select { |_, w| w[:url].nil? }.keys
 
@@ -395,9 +398,9 @@ class UsersController < ApplicationController
                                                   user_websites_attributes: [:id, :label, :url])
 
     # Ensure that all user-supplied URLs are valid (strip ones that aren't).
-    if profile_params[:user_websites_attributes].present?
-      profile_params[:user_websites_attributes] = validated_profile_websites(profile_params)
-    end
+#    if profile_params[:user_websites_attributes].present?
+#      profile_params[:user_websites_attributes] = validated_profile_websites(profile_params)
+#    end
 
     @user = current_user
 
diff --git a/app/models/user.rb b/app/models/user.rb
index 95d508d2589d8f254b6038973f622af6e9d70afa..84021c1d997f505777a3d73f53f2720492c76027 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -1,3 +1,4 @@
+# coding: utf-8
 # Represents a user. Most of the User's logic is controlled by Devise and its overrides. A user, as far as the
 # application code (i.e. excluding Devise) is concerned, has many questions, answers, and votes.
 class User < ApplicationRecord
@@ -138,8 +139,12 @@ class User < ApplicationRecord
     website.nil? ? website : URI.parse(website).hostname
   end
 
-  def websites_for
-    user_websites.order(position)
+  def all_websites_for
+    user_websites.order(position: :asc)
+  end
+
+  def valid_websites_for
+    user_websites.where.not(url: [nil, ""]).order(position: :asc)
   end
 
   def is_moderator
diff --git a/app/views/users/edit_profile.html.erb b/app/views/users/edit_profile.html.erb
index 41d1ba83c1f6706fc2f9994e9be6183b12454cdb..f454c14216b476950573f5bb48ce0bd9739825f4 100644
--- a/app/views/users/edit_profile.html.erb
+++ b/app/views/users/edit_profile.html.erb
@@ -47,17 +47,15 @@
   <div class="post-preview"></div>
 
   <div>
-    <p>External links (your web site, blog, social media, GitHub, etc)</p>
+    <p>Extra fields -- your web site, GitHub profile, social-media usernames, whatever you want. Only values that begin with "http" are rendered as links.</p>
     <div class="grid">
       <%= f.fields_for :user_websites do |w| %>
       <div class="grid grid--cell is-12">
-	<div class="grid grid--cell is-4">
-	  <div class="grid--cell is-2">Label:</div>
-	  <div class="grid--cell is-10"><%= w.text_field :label, class: 'form-element' %></div>
+	<div class="grid grid--cell is-3">
+	  <div class="grid--cell is-12"><%= w.text_field :label, class: 'form-element', autocomplete: 'off', placeholder: 'label' %></div>
 	</div>
 	<div class="grid grid--cell is-6">
-	  <div class="grid--cell is-1">URL:</div>
-          <div class="grid--cell is-11"><%= w.text_field :url, class: 'form-element' %></div>
+          <div class="grid--cell is-12"><%= w.text_field :url, class: 'form-element', autocomplete: 'off', placeholder: 'https://...' %></div>
 	</div>
       </div>
       <% end %>
diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb
index 1442c04c625e180af8e90c688e5ddacb735f816c..6cc9673c4a463d60c1702bc0d49293fcc8864c4a 100644
--- a/app/views/users/show.html.erb
+++ b/app/views/users/show.html.erb
@@ -57,19 +57,27 @@
       <% end %>
       </div>
 
-      <% if @user.user_websites.where.not(url: [nil, ""]).size > 0 %>
+      <% unless !user_signed_in? && !@user.community_user.privilege?('unrestricted') %>
+      <% if @user.valid_websites_for.size.positive? %>
       <div>
-        <p><strong>External links</strong></p>
+        <p><strong>Extra fields</strong></p>
         <table class="table is-with-hover">
-          <% @user.user_websites.where.not(url: [nil, ""]).each do |w| %>
+          <% @user.valid_websites_for.each do |w| %>
           <tr>
             <td><%= w.label %></td>
-            <td><%= link_to w.url, w.url, rel: 'nofollow' %></td>
+            <td>
+	      <% if w.url[0,4] == 'http' %>
+	        <%= link_to w.url, w.url, rel: 'nofollow' %>
+	      <% else %>
+	      <%= w.url %>
+	      <% end %>
+	    </td>
           </tr>
           <% end %>
         </table>
       </div>
       <% end %>
+      <% end %>
      
       <div class="button-list h-p-2">
         <% if user_signed_in? %>