Práticas recomendadas de HTTPS para SEO e usabilidade

8

Considere uma página, http://example.comque pode ser exibida publicamente e quando um usuário se autentica. Agora, suponha que você ative o HTTPS para todas as páginas quando um usuário fizer login no seu site, mas apenas quando estiver conectado. Sua página http://example.comagora se torna https://example.compara todos os usuários conectados. Se o usuário conectado gostar da sua página e decidir vincular a ela por meio de uma postagem de blog ou site de mídia social, há uma boa chance de que eles usem a versão HTTPS do URL.

De uma perspectiva de SEO, qual é a sua estratégia para evitar problemas de conteúdo duplicado entre os dois URLs?

O que deve acontecer se um usuário chegar ao URL HTTPS, mas não estiver conectado ou não tiver uma conta? Deve haver um redirecionamento para a versão HTTP? Se sim, como você lidaria com isso?

Meu instinto é que, para todas as páginas que podem ser exibidas publicamente e enquanto estiverem logadas, a página deve primeiro detectar se o usuário está logado. Se logada, ela permanece HTTPS ou usa um redirecionamento 302 da versão HTTP para HTTPS. Se o usuário não estiver conectado e chegar à versão HTTPS da URL, ele usará um redirecionamento 301 para a versão HTTP. No entanto, gostaria de receber uma solução mais elegante ou eficaz.

Edit : Eu estava assumindo que, se um usuário estiver logado, todo URL deve ser HTTPS (ou pelo menos isso deve ser uma opção), mas, como fiz uma pesquisa um pouco mais, talvez essa suposição estivesse errada. A maneira como vejo as pessoas implementando é que elas habilitam o HTTPS apenas para páginas que enviam e recebem dados confidenciais: login, checkout do carrinho de compras, gerenciamento de perfis de usuários etc. Estou tentando descobrir qual modelo é o melhor.

Aparentemente, o Google Mail oferece aos usuários a opção de usar ou não HTTPS em todas as páginas através de uma configuração no perfil do usuário. Essa é certamente uma opção, mas eu ainda precisaria abordar o comportamento de páginas publicamente disponíveis para todos os estados de autenticação.

Como estou criando um sistema de gerenciamento de conteúdo que será usado por outras pessoas, preciso garantir que esteja certo. Quais configurações devem estar disponíveis para o proprietário do site? Neste ponto, estou pensando em um controle granular de cada página (esteja ela protegida ou não com SSL) e também de todo o site. No entanto, fornecer esse nível de controle pode ser um erro se as pessoas não entenderem todos os problemas e puderem causar problemas de segurança. Essa talvez seja a primeira questão. Quais são os níveis apropriados de controle e quais são os padrões inteligentes? A segunda é como as páginas devem se comportar para o usuário. De uma perspectiva de SEO, acho que o processo que descrevi acima ou usando orel="canonical" (como o jmb sugeriu) funcionaria, mas pregar o comportamento da página para que ela seja segura e perfeita também é essencial.

Virtuosi Media
fonte

Respostas:

6

Você pode querer examinar <link rel="canonical" />. Consulte http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html . Nos comentários, alguém do Google diz que pode ser usado para problemas de http / https.

Advertência: Não sei se e até que ponto <link rel="canonical" />é suportado por outros mecanismos de pesquisa que não sejam Google, Yahoo e Bing. Se outros mecanismos forem importantes para o seu site, verifique as perguntas frequentes.

Do ponto de vista do usuário: O redirecionamento de um usuário que está conectado de http para https é inseguro (se bem entendi que você deseja criar um processo contínuo). No momento em que ele chega ao site (antes do redirecionamento), ele transfere seu cookie de sessão via http, tornando-o vulnerável ao seqüestro de sessões. Esse usuário precisa fazer login novamente a partir de uma página https.

Caso um usuário chegue por https e não esteja logado: Dependendo das circunstâncias (tamanho do site, volume de tráfego esperado, número esperado de vezes que isso acontecerá), você poderá simplesmente mantê-lo em https. Consulte também HTTPS para o site inteiro e /programming/174348/will-web-browsers-cache-content-over-https para discussões sobre a execução de um site em https (parcialmente no seu caso).

Atualizar:

Quais são os níveis apropriados de controle e quais são os padrões inteligentes?

Níveis adequados de controle:

  • Seguro (https ativado, incluindo a página de login e tudo a partir daí)

e

  • Inseguro (sem https).

Não há meio termo, se você quiser "acertar". Consulte também http://paulmakowski.wordpress.com/2009/07/20/http-post-https-bad-idea/ e /programming/274274/is-it-secure-to-submit -de-um-http-formulário-para-https

Padrão: depende de quem são seus clientes.

jmb
fonte
Eu estava pensando sobre isso como uma opção também. A razão pela qual eu não tinha certeza disso é porque, embora ele resolva o problema de SEO, ele não aborda como a página deve se comportar para um usuário. Alguma ideia?
Virtuosi Media
Bom ponto, eu atualizei minha resposta.
jmb
A regeneração da sessão em cada carregamento da página resolveria o problema de seqüestro de sessão?
Virtuosi Media
Obrigado. Mais uma pergunta: como você acha que as pessoas visualizariam um CMS que exigia um certificado SSL se aceitassem o registro do usuário?
Virtuosi Media
Eu acho que depende muito do público-alvo. Os bancos considerariam isso um requisito, mesmo em áreas não essenciais que não envolvam informações financeiras. Uma organização sem fins lucrativos com um orçamento provavelmente desaprovará o custo e a complexidade adicional.
jmb
2

Não há estratégia de SEO para páginas SSL. Parte da definição de armazenamento em cache é esta:

If the request is authenticated or secure (i.e., HTTPS), it won’t be cached.

consulte: tutorial sobre armazenamento em cache

Portanto, para impedir a sobreposição com páginas não SSL, onde isso pode prejudicar a classificação, é ter suas páginas sensíveis a SSL em URLs completamente diferentes.

Ironicamente, eu vi motores de busca realmente armazenar e manter links com o URL HTTPS neles. Isso é contrário ao que normalmente deveria acontecer, mas ocorre nos casos em que a página é uma área de login, é a página inicial ou possui pragma de cache reescrito para permitir o armazenamento em cache. Eu diria que evite isso, se possível, pois sua página geralmente cairá no PageRank.

Talvi Watia
fonte
11
Obrigado, Talvi, mas acho que você pode ter entendido mal a minha pergunta, que não era sobre cache do navegador. Como os mecanismos de pesquisa rastreiam e indexam páginas https, isso significa que você está enfrentando problemas de conteúdo duplicado se alguém vincular à versão https. Alterar o URL não ajuda, porque http e https já são dois URLs diferentes aos olhos do mecanismo de pesquisa. Com URLs diferentes, você está efetivamente dividindo seu PageRank. O cerne da minha pergunta era como se poderia desenvolver uma estratégia para evitar o problema de conteúdo duplicado. Infelizmente, não acho que o link do cache ajude a resolver isso.
Virtuosi Media
Concordo com o Virtuosi Media - os mecanismos de pesquisa geralmente não têm problemas com os URLs https: // -.
John Mueller
11
@virtuosi Você me pegou lá. Espancar o mecanismo de busca com um objeto contundente, talvez?
Talvi Watia
2

O redirecionamento 302 não transfere a classificação de pesquisa - portanto, você pode perder a classificação de pesquisa se você massificar seu site.

301 pode alterar as definições de favoritos, eu não gostaria constantemente de 301 meus usuários.

Além disso, verifique se a versão http inclui um formulário de login para que o usuário possa retornar rapidamente à versão https.

Agora, a grande dúvida é: se os dados estão visíveis no http, por que você tem uma versão https? Quais dados você está ocultando com a criptografia https que ainda não existe?

Você pode criar uma área de membro https ou postar formulários no URL https a partir da página http ou de muitas outras opções que não incluam o site inteiro em http e https.

Além disso, sua ideia parece viável - mas eu não tenho informações privilegiadas sobre como o Google e os outros sites funcionam e você realmente não pode ter certeza de como isso afetará sua classificação (e é um caso tão delicado que pode mudar drasticamente sempre que o Google atualizar o algoritmo).

Nir
fonte
Acho que eu estava assumindo que, se um usuário estiver logado, todo URL deve ser https, mas, como eu fiz um pouco mais de pesquisa, talvez esse pressuposto esteja errado. A maneira como vejo as pessoas implementando é que elas habilitam apenas https para páginas que enviam e recebem dados confidenciais: login, checkout de carrinho de compras, gerenciamento de perfil de usuário etc. Estou tentando descobrir qual modelo é o melhor. Como estou construindo um sistema de gerenciamento de conteúdo que será usado por outras pessoas, preciso garantir que esteja certo.
Virtuosi Media