A versão que é entregue aos usuários quando é feito o download do WordPress,  ou este é instalado através de um script como Softaculous, o WordPress é um pacote que por si só tem alguma segurança. No entanto, com o decorrer do tempo, com a instalação de templates, alterações ao código entre outros processos que podem ser feitos pelos desenvolvedores e/ou usuários, a segurança da instalação WordPress torna-se cada vez mais importante, nem que seja pelo simples fato de não querer perder o trabalho que já fez. Assim, você irá querer fazer tudo o que puder e estiver ao seu alcance para manter a instalação do WordPress segura. Para isso, você poderá adotar algumas medidas simples que irão acrescentar segurança à instalação wordpress, e ao mesmo tempo que o faz, estará também a otimizar a sua instalação.

Muitos dos processos que poderão tornar uma instalação WordPress mais rápida são os mesmos processos que podem tornar qualquer website mais rápido, como a redução dos pedidos HTTP e da otimização de imagens. No artigo Estratégias para otimizar a velocidade de carregamento do WordPress poderá conhecer alguns métodos que o ajudarão a otimizar desde já a sua instalação WordPress!

SEO

1. ELIMINAR CONTEÚDO DUPLICADO

Por defeito as capacidades do WordPress lidar com o conteúdo duplicado não são muito famosas, mas felizmente não é difícil de alterar esta situação, podendo inclusive utilizar vários métodos para o fazer, tirando partido de algumas ferramentas e técnicas disponíveis para tal, como as seguintes: tags meta nofollow, tags meta noindex, diretivas para os robots, tags canonicas e o uso de excertos para os artigos. Agora, o que é que cada um destes itens pode fazer e como é que ajuda a eliminar o conteúdo duplicado?

As tags meta nofollow e no index são tags que estão localizadas no ficheiro header.php, dentro da secção <head>. Nessa secção, poderá encontrar algo semelhante a isto:

<meta name="googlebot" content="index,archive,follow" />
<meta name="msnbot" content="all,index,follow" />
<meta name="robots" content="all,index,follow" />

Este trecho de código informa os motores de busca (neste caso informa especificamente o Google, Bing e outros que sejam do mesmo método) que a página inteira deve ser indexada, seguida e arquivada. Isto é ótimo para páginas de artigos únicos, como por exemplo a página Sobre. No entanto estes parâmetros podem ser alterados ao seu gosto, e caso pretenda controlar o conteúdo duplicado, poderá atribuir noindex e noarchive, seguindo o exemplo abaixo:

<meta name="googlebot" content="noindex,noarchive,follow" />
<meta name="robots" content="noindex,follow" />
<meta name="msnbot" content="noindex,follow" />

Assim estamos a informar aos motores de busca que não queremos que a página seja incluída nos resultado de pesquisa ao mesmo tempo que informamos que poderá scanear a página e seguir os links que estão incluídos na mesma. Isto faz com que a página não apareça nos resultados de pesquisa efetuadas nos motores de busca como conteúdo duplicado.

Por outro lado podemos ainda informar aos motores de busca que não queremos que uma determinada página não seja nem indexada, nem arquivada nem seguir nenhum dos links contidos na mesma. Para isso, basta seguir o exemplo abaixo:

<meta name="googlebot" content="noindex,noarchive,nofollow" />
<meta name="robots" content="noindex,nofollow" />
<meta name="msnbot" content="noindex,nofollow" />

Agora que introduzimos e explicamos a utilização das tags, qual é o melhor método para fazer o controlo de conteúdo duplicado? Ao utilizar um conjunto estratégico de tags condicionais no ficheiro header.php do seu template, é possível encaminhar o motor de busca para todos os tipos de páginas, permitindo-lhe controlar ao máximo a indexação e a pesquisa dos motores de busca dentro do seu website. Para isso, utilizamos o seguinte código:

<?php if(is_home() && (!$paged || $paged == 1) || is_single()) { ?>
<meta name="googlebot" content="index,archive,follow,noodp" />
<meta name="robots" content="all,index,follow" />
<meta name="msnbot" content="all,index,follow" />
<?php } else { ?>
<meta name="googlebot" content="noindex,noarchive,follow,noodp" />
<meta name="robots" content="noindex,follow" />
<meta name="msnbot" content="noindex,follow" />
<?php } ?>

Este trecho de código irá fazer com que se a página atual for a página inicial ou uma pagina de artigo único, então os motores de busca podem indexar e seguir o conteúdo da página, caso contrário e uma vez que a página não é a página inicial nem uma página de artigo único, será uma página de categorias ou tags e assim é conteúdo duplicado, não interessando para ser indexado, atribuindo assim os atributos de forma a que a mesma não seja indexada.

Caso você pretenda manter as páginas de tags e categorias nos resultado de pesquisa, basta alterar a primeira linha do trecho de código acima para o seguinte:

<?php if(is_home() && (!$paged || $paged == 1) || is_category() || is_tag() || is_single()) { ?>

Caso você pretenda fazer uma abordagem mais intrinseca e tirar partido das tags existentes, deixamos-lhe aqui a lista:

  • is_home()
  • is_admin()
  • is_date()
  • is_404()
  • is_category()
  • is_page()
  • is_author()
  • is_search()
  • is_paged()
  • is_tag()
Caso pretenda determinar especificamente uma página de arquivo baseada em data, poderá utilizar o is_archive().

2. NÃO INDEXAR UM ARTIGO ESPECÍFICO

Se por alguma razão pretender que um determinado artigo não seja indexado pelos motores de busca, poderá utilizar plugins que irão sobrecarregar a sua instalação WordPress ou em alternativa tirar partido de um pequeno trecho de código que resolve de forma rápida e fácil o seu problema. A única coisa que terá de alterar será o ID do artigo, e inserir o seguinte código dentro da tag <head> no ficheiro header.php do seu template:

<?php if ($post->ID == 100) { echo '<meta name="robots" content="noindex,noarchive">'; }

Onde tem o número 100, altere-o para o ID do artigo que você não quer indexar nem arquivar, e terá o problema resolvido em pouco tempo e de forma rápida.

3. EXCLUIR PÁGINAS ESPECÍFICAS DOS MOTORES DE BUSCA

Se por alguma razão pretender que uma determinado página não seja indexada pelos motores de busca, poderá utilizar plugins que irão sobrecarregar a sua instalação WordPress ou em alternativa tirar partido de um pequeno trecho de código que resolve de forma rápida e fácil o seu problema. A única coisa que terá de alterar será o ID da página, e inserir o código específico para cada uma das situações dentro da tag <head> no ficheiro header.php do seu template:

Artigo:

<?php if(is_single('100')) {?>
<meta name="googlebot" content="noindex,noarchive,follow" />
<meta name="robots" content="noindex,follow" />
<meta name="msnbot" content="noindex,follow" />
<?php } ?>

Página:

<?php if(is_page('100')) { ?>
<meta name="googlebot" content="noindex,noarchive,follow" />
<meta name="robots" content="noindex,follow" />
<meta name="msnbot" content="noindex,follow" />
<?php } ?>

Categoria:

<?php if(is_category('100')) { ?>
<meta name="googlebot" content="noindex,noarchive,follow" />
<meta name="robots" content="noindex,follow" />
<meta name="msnbot" content="noindex,follow" />
<?php } ?>

Tag:

<?php if(is_tag('nome_da_tag')) { ?>
<meta name="googlebot" content="noindex,noarchive,follow" />
<meta name="robots" content="noindex,follow" />
<meta name="msnbot" content="noindex,follow" />
<?php } ?>

Várias Tags:

<?php if(is_tag(array('nome_da_tag1','nome_da_tag2','nome_da_tag3'))) { ?>
<meta name="googlebot" content="noindex,noarchive,follow" />
<meta name="robots" content="noindex,follow" />
<meta name="msnbot" content="noindex,follow" />
<?php } ?>

Artigos com determinadas tags:

<?php if(has_tag(array('nome_da_tag1','nome_da_tag2','nome_da_tag3'))) { ?>
<meta name="googlebot" content="noindex,noarchive,follow" />
<meta name="robots" content="noindex,follow" />
<meta name="msnbot" content="noindex,follow" />
<?php } ?>

4. PREVENIR CONTEÚDO DUPLICADO POR COMENTÁRIOS PAGINADOS

Desde a versão 2.7 do WordPress que os comentários podem ser paginados, determinando que um X número de comentários apareça em cada página. Se você utiliza WordPress com esta funcionalidade, poderá ocorrer você ter conteúdo duplicado, pois para cada página de comentários, você tem o mesmo conteúdo repetido. Para resolver esta questão, terá de inserir um pequeno trecho de código no ficheiro functions.php presente na pasta do seu template:

function noDuplicateContentforComments() {
global $cpage, $post;
if($cpage > 1) {
echo "\n".'<link rel="canonical" href="'.get_permalink($post->ID).'" />'."\n";
}
}
add_action('wp_head', 'noDuplicateContentforComments');

O que este código faz é criar links canônicos para todos os comentários paginados, e assim os motores de busca irão utilizar esta informação de forma a garantir que o permalink original do post é usado como o artigo atual.

Recomendamos também a utilização do plugin SEO para WordPress do Yoast.

Abraço!