Criando o meu WordPress Crawlable com WordPress

9

Eu li o seguinte e tentei aplicar este esquema ao meu site que está executando o WordPress: enlace

Se você visitar meu site em enlace , verá que ele carrega as postagens na home page e a URL se torna enlace quando esta mensagem é carregada. Uma versão estática do mesmo conteúdo está disponível para o rastreador em enlace mas se um visitante usando um navegador o visitar, ele será redirecionado para enlace (isso é feito com javascript).

Para fornecer ao rastreador o ?_escaped_fragment_= necessário, usei um hack do WordPress que encontrei na rede: enlace e agora o GoogleBot pode ver o conteúdo das minhas páginas ativadas por AJAX. Eu pensei que tudo estava feito.

Mas quando colo um link de postagem no Facebook (isto é) não consigo ler o conteúdo da página, imaginei que meu site não estava realmente respeitando o esquema descrito na documentação do Google, já que o Facebook o está apoiando. você cola enlace ele vai funcionar). Então, como estou usando o plugin jQuery.address para obter meu hashbang (#!), Fui ao site deles e baixei os arquivos de amostra deles para ver quais eram as diferenças entre seus arquivos e os meus e percebi que eles provavelmente estavam usando uma função php para criar os instantâneos HTML necessários: enlace porque é por isso que eu acho que o Facebook não consegue ler o meu.

<?php

    error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));

    $fragment = $_REQUEST['_escaped_fragment_'];
    $file = 'data/' . (isset($fragment) && $fragment != '' && $fragment != '/' ? preg_replace('/\//', '', $fragment) : 'home') . '.xml';
    $re = '/(^<[^>]*>)|(\n|\r\n|\t|\s{2,4})*/';

    $handle = fopen($file, 'r');
    if ($handle != false) {
        $content = preg_replace($re, '', fread($handle, filesize($file)));
        fclose($handle);
    } else {
     $content = 'Page not found!';
        header(php_sapi_name() == 'cgi' ? 'Status: 404' : 'HTTP/1.1 404');
    }

?>

Então, meu palpite é que eu poderia talvez usar uma função php similar para servir os snapshots HTML, em vez de usar o hack do WordPress, mas eu precisaria adaptá-lo para o WordPress. O problema é que eu não sou programador e fiz o meu melhor até agora.

Meu post está neste formato: enlace e a versão estática está disponível em enlace (Onde anne-au-cherry é a lesma do post e muda dependendo da página que estamos vendo).

Então, minha pergunta é se alguém poderia confirmar que estou no caminho certo e, se possível, também ajudar a criar essa função PHP?

Muito obrigado pelo seu tempo e ajuda!

    
por Gab 12.08.2011 / 04:14

3 respostas

1

O que eu fiz na verdade é não usar hashbangs como o WraithKenny sugeriu.

Usando o plug-in de endereço jQuery com o método $ .address.state (value) para definir o caminho base do site que é utilizado no gerenciamento de estado HTML5 e o método $ .address.value (value) para definir o valor de vinculação profunda atual eu era capaz de fazer o que eu queria.

enlace

As postagens (clique na miniatura da imagem) são carregadas via AJAX e a URL muda ao mesmo tempo, as postagens existem por conta própria usando, é claro, a mesma estrutura permalink para que seja totalmente rastreável.

O único problema será para navegadores mais antigos que, acho que (precisa ser verificado), ainda verão os hashbangs.

Como não sou um desenvolvedor, levei muito tempo para entender. : - / Mas estou muito feliz com os resultados agora; -)

Endereço do jQuery: enlace

    
por Gab 20.02.2012 / 18:28
4

Especificamente EVITE usando "hashbang" ("! #") para fazer com que os sites WordPress com tecnologia AJAX sejam rastreáveis.

Você realmente não quer usar o método "hashbang" em um site WordPress.

O "! #" é mais como um patch hacky para sites que não podem fornecer um análogo estático à sua versão AJAX. Seu uso em geral não é recomendado pelo Google, a menos que nenhuma alternativa esteja disponível.

Não há nenhum benefício para implementar um sistema de hashbang no WordPress. Uma solução AJAX front-end para WordPress deve trabalhar em torno do esquema de URL existente (sem hash, sem bang).

Resumo: o WordPress é naturalmente rastreável; simplesmente não o quebre usando hash-bangs.

    
por WraithKenny 31.01.2012 / 19:44
1

Se você está se referindo especificamente ao Facebook não mostrando corretamente as meta-informações para sua página, você deve procurar o plugin OpenGraph para WordPress, pois ele adicionará os metadados de atributo og: apropriados. enlace

Além disso, você pode adicionar um link como este no cabeçalho

<link rel="canonical" href="link_back_to_real_post_url">

E veja se isso faz alguma coisa.

Eu tenho que perguntar, por que você está fazendo isso? O Twitter está sob grande disputa por essa estrutura de URL, precisamente porque é difícil rastrear. Não estou dizendo que você não deveria fazer isso, mas muito curioso sobre qual é o motivo:)

    
por brandwaffle 23.12.2011 / 16:39

Tags