2Logo WordpressFixação Rich Snippets Testing Tool para Microdados

Sobre 2 Anos atrás, publicou um artigo sobre como corrigir problemas com temas WordPress que não passou the Rich Snippets Testing Tool Google. Desde então, muitas mudou - WordPress ea maioria dos temas tem um melhor suporte, HTML5 e CSS3 chegaram, e Google, Yahoo e Bing se reuniram e decidiram se concentrar em microdados, via schema.org. Na época microformats parecia a maneira mais fácil para marcar páginas, ea ferramenta de teste teve o apoio mais abrangente para estes. A mudança para Microdados e as mudanças para WordPress necessário um novo artigo: é isso!

Em vez de ter vários artigos separados para diferentes temas que eu decidi tentar fornecer todas as informações em 1 orientar. Isto torna mais fácil de manter-se atualizado, e significa que há apenas 1 ponto central para todos os pedidos e discussão. Ele também faz mais sentido como vários dos passos são os mesmos, independentemente do que tema que você está usando. Eu não estou indo para cobrir todos os extras opcionais neste artigo, apenas o básico para obter o seu site para validar com a ferramenta. Uma vez que você conseguiu que você deve encontrar a adição de marcação extra é relativamente fácil. Então vamos começar ...

Adicionar um link do seu perfil do Google para o seu site

Você vai ver em meu pro-file google que eu tenho um link pub lic a https://diymediahome.org - Você vai precisar do mesmo para o seu próprio site. Idealmente, você vai precisar de todos os seus autores a ter um perfil google que está ligada ao seu site da mesma forma como este.

  1. Faça login na sua google pró-file
  2. Role para baixo até ver a ligações seção em algum lugar em direção ao canto inferior direito da página
  3. Clique no editar link
  4. Sob o contribuinte para sec-ção clique Adicionar link de cus-tom
  5. Certifique-se a caixa à direita do texto contribuinte para é definido para público
  6. Digite seu nome do site (e.g. DIY Media Home) e endereço (e.g. https://diymediahome.org)
  7. Clique em Salvar

Adicione um link do seu site para o seu perfil do Google

Agora precisamos adicionar um link em sua página de autor de seu perfil do Google. tem 2 altern-at-ive maneiras de fazer isso, Eu altamente reco-consertar usando o Yoast ESTE plug-in.

  1. Instale o Yoast ESTE plu-gin OR adicione o seguinte código para o arquivo functions.php do seu tema
    update_contactmethods função( $contactmethods ) {
    // Adicionar Google Profiles
    $ contactmethods['Googleplus'] = 'Google ';
    // Adicionar Twitter
    $ contactmethods['Twitter'] = __( 'Username do Twitter (sem @)', 'Wordpress-seo' );
    
    retornar $ contactmethods;
    }
    add_filter( 'user_contactmethods', 'update_contactmethods', 10, 1);
  2. Vá para o seu perfil do autor na interface de administração do WordPress (pairar sobre Usuários no menu do lado esquerdo, e clique em Seu Pro-file)
  3. No Google+ campo adicionar um link para o seu pro-file google (e.g. https://plus.google.com/104657888470728381512 /)
  4. Certifique-se de que você quer, ou seus outros autores do site fazer a mesma coisa, e cada link para seus próprios perfis do Google
  5. Agora, se você estiver usando o Yoast plu-gin, ir para o ESTE menu e selecione Títulos e Metas, clamber no Casa menu no topo da página e no Autor high-light-ing caixa suspenso selecione o usuário que você deseja usar como o autor da página inicial
  6. Se você é insistente sobre não usar o plugin Yoast você terá que adicionar manualmente o código a seguir para header.php (presumindo-ing você tem um). Não se esqueça de mudar o meu perfil url google para o seu. Este código irá usar perfil url google o post do autor, se houver um válido, e vai usar um padrão (seu) se não houver.
    <link rel ="autor" href ="<?php $ gplus = 'https://plus.google.com/115369062315673853712/posts '; se ( is_singular() ) {$ post mundial; $gplus = get_the_author_meta( 'Googleplus', $pós->post_author );} echo $ gplus; ?>"/>

Corrigir erros de um campo ausente "atualizada"

A maioria dos temas wordpress incluir informações sobre quando o artigo foi publicado na área de informação pós, mas muito poucos incluem também quando ele foi atualizado. É uma pena, porque atualizados é necessária enquanto publicada na verdade não é! Adicionando é fácil embora, e novamente, existem 2 maneiras, a maneira correta ea maneira corte rápido. Eu recomendo a maneira correta de curso, mas, se necessário, você pode recorrer à corte rápido. Nós também vamos mudar de microformats de microdados ao mesmo tempo.

A maneira correta

Nós vamos adicionar algumas informações adicionais para enviar cabeçalhos, tanto para os motores de busca e para os nossos vis-it-ors. Teremos de fazer isso por mensagens, páginas, arquivos e na página inicial.

  1. Precisamos encontrar o arquivo que contém o código que gera o link publicado. Isso certamente vai usar a função wordpress get_the_date(). Você pode pesquisar através de seus arquivos de tema, ou se referir a detalhes específicos temáticos abaixo detalhes de onde eu ter fornecido para os lotes de temas
  2. Vamos verificar se as datas publicadas e atualizadas são as mesmas. Se forem, vamos apenas adicionar o extra dateUp-datado itemprop mas se eles são diferentes que irá imprimir algum texto extra para o visitante
  3. Nós vamos adicionar o fol-low-ing (e modificá-lo como explica)
    <?php if(get_the_date()== Get_the_modified_date()): ?>
    
    //vamos usar o código original apenas com a classe atualizada adicionado
    / / Colocar o código original do tema aqui
    / / Remove qualquer class =""
    //adicionar itemprop ="datePublished DateCreated DateModified" ao HTML tag em torno de get_the_date() função
    
    <?php mais: ?>
    
    //vamos usar um pouco de código apenas com a data atualizada adicionado
    / / Copie o código original do tema para aqui e, em seguida, modificá-lo como abaixo
    / / Remove qualquer class =""
    //adicionar itemprop ="datePublished DateCreated" ao HTML tag em torno de get_the_date() função
    / / Adiciona uma nova tag html para a linha onde você quer que ele apareça como abaixo
    / / Atualizado <?php echo get_the_modified_date() ?>
    
    <?php endif; ?>
  4. Você quer ter de descobrir o código do tema original e editá-lo, ou consulte os detalhes para temas específicos abaixo.
  5. Você pode ter que repetir esta edição para vários arquivos

O corte rápido

Nós estamos indo para enganar e fornecer a data de publicação como a data atualizada, mesmo se o post realmente foi atualizado mais recentemente. Se o post foi atualizado, então nós vamos realmente ser o fornecimento de informações incorretas, mas vai ainda val-id-comi. É realmente melhor para fazê-lo corretamente, se possível, mas se você for insistente em fazê-lo desta maneira ler. Como acima teremos de fazer isso por mensagens, páginas, arquivos e na página inicial.

  1. Como acima, precisamos encontrar o arquivo que contém o código que gera o link publicado. Isso certamente vai usar a função wordpress get_the_date(). Você pode pesquisar através de seus arquivos de tema, ou consultar a tabela abaixo, onde eu tenho desde detalhes para os lotes de temas
  2. Encontre o HTML ele-mento que sur-arredonda a data (frequentemente terá class="published").
  3. Editar o elemento através da eliminação da classe e adicionando a seguir em vez itemprop="datePublished dateCreated dateUpdated"
  4. Como acima, você pode precisar repetir essa edição em múltiplos arquivos

Substituindo os microformatos embutidos (porque misturar formatos de rich snippet quebra coisas)

Por wordpress padrão ainda está usando marcação microformato para comentários, que, infelizmente, parece quebrar marcação microdados de coisas como receitas. A melhor maneira de corrigir isso é para remover a marcação microformat e substituí-lo com marcação microdados. Infelizmente, as funções essenciais wordpress que produzem essa marcação não tem um filtro ou gancho convenientemente localizado para que isso requer um pouco de mexer sobre.

Substituindo vcard na seção de comentários

  1. O que vamos fazer é usar um comentário de retorno de chamada para alterar a saída de comentários. Muitos temas já utilizam uma chamada de retorno que podemos modificar, e para aqueles que não o fazem, vamos adicionar um baseado no padrão wordpress
  2. Verifique se você já tem um tema comentário callback - busca de seus arquivos de tema para a função wp_list_comments. Se ele inclui o código callback= ou 'callback' => então ele está usando um callback que você deve ser capaz de encontrar (provavel-mente no functions.php) olhando para o nome da função de callback, que é a parte depois do sinal = ou seta, e.g. wp_list_comments( array( 'callback' => 'twentyten_comment' ) ); ou wp_list_comments('type=comment&callback=bones_comments');. Se isso não acontecer, então teremos de acrescentar um adicionando callback=diymh_comment ou array( 'callback' => 'diymh_comment' ) para a linha.
  3. Se você precisava para adicionar um comentário callback, então você vai precisar adicionar o seguinte código ao functions.php
    função diymh_comment($comentário, $args, $profundidade) {
    $GLOBALS['Comentário'] = $ Comment; ?>
    <que <?php comment_class(); ?> id ="li-how<?php comment_id() ?>">
      <id = div"comment-<?php comment_id(); ?>">
    <class = div"comment-autor novcard">
    <?php echo get_avatar($comentário,$size = '48 ',$default = '<path_to_url>' ); ?>
    
    <?php printf(__('<citar class ="fn">%é</citar> <span class ="diz">diz:</palmo>'), get_comment_author_link()) ?>
    </div>
    <?php if ($comment->comment_approved '0 == ') : ?>
    <em><?php _e("Seu comentário está aguardando moderação.") ?></em>
    <br />
    <?php endif; ?>
    
    <class = div"como commentmetadata meta"><um href ="<?php echo htmlspecialchars( get_comment_link( $comment->Comment_id ) ) ?>"><?php printf(__('% 1 $ s em% 2 $ s'), get_comment_date(),  get_comment_time()) ?></a><?php edit_comment_link(__('(Editar)'),'','') ?></div>
    
    <?php comment_text() ?>
    
    <class = div"responder">
    <?php comment_reply_link(array_merge( $args, ordem('Profundidade' => $profundidade, 'Max_depth' => $args['Max_depth']))) ?>
    </div>
      </div>
    <?php
    }
  4. Você vai notar que este código tem um class="novcard" em vez do original class="vcard".
  5. Se o tema tinha a seu próprio retorno de chamada que você precisa para encontrar a função de retorno de chamada e substituir todas as instâncias de class="vcard" com class="novcard"

Substituindo hfeed no cabeçalho

  1. Próximo, precisamos também remover todas as instâncias de class="hfeed", que são usualmente encontrados em header.php. Substitua todas ocorrem-rências de hfeed com nohfeed

Substituindo hentry e título rich snippets

  1. Podemos substituir esses elementos com um par de funções puras adicionado ao functions.php
    função diymh_replace_hentry($aulas){
    se(($key = array_search('Hentry', $aulas)) !== False) $aulas[$chave]= 'Nohentry';
    retornar $ aulas;
    }
    add_filter('Post_class','Diymh_replace_hentry');
    
    função diymh_microdata_title($título) {
        return '<período itemprop ="nome">. $ Title.</palmo>';
    }
    add_filter('The_title', 'Diymh_microdata_title', 10, 2);

Adicionando o tipo de informação (e.g. Artigo, Receita, etc) para o cabeçalho artigo

  1. Primeiro, decidir que tipo de trabalho que você está publicando - provavelmente um artigo. Ter um olhar para a lista de schema.org
  2. Encontre o HTML tag que já contém a função post_class()
  3. Adicione o código itemscope itemtype="https://schema.org/Article" (substituir o artigo, se você escolheu um tipo diferente de trabalho)

Finalmente, para evitar quebrar todos os estilos

  1. Você terá que editar style.css do seu tema e fazer uma operação de busca / substituição para substituir todas as instâncias do .vcard com .novcard e substituir todas as instâncias .hfeed com .nohfeed para que as nossas mudanças não atrapalhar qualquer CSS styl-ção de nossos comentários

Corrigir quaisquer outros erros

Quaisquer outras alterações necessárias serão detalhados em um por tema base abaixo. Se você tem um tema que você é incapaz de corrigir, por favor postar um comentário. Se é um tema livre, por favor deixe-me saber o nome do tema, e se é um tema premium por favor me avise para que eu possa lhe fornecer um endereço de e-mail para enviar uma cópia compactada para.

detalhes específicos temáticos

Antes apenas realizar essas edições não se esqueça de realizar as etapas para vincular seu perfil do Google e seu site para o outro, e instalar Yoast ESTE, ou adicione o código acima fornece.

 

Twenty Ten 1.5

Em functions.php substituir este

função twentyten_posted_on() {
printf( __( '<span class ="%1$é">Postado em</palmo> %2$é <span class ="meta-setembro">por</palmo> %3$s ', 'Twentyten' ),
'Meta-prep-autor meta-prep',
sprintf( '<um href ="%1$é" title ="%2$é" rel ="marcador"><span class ="entry-data">%3$é</palmo></a>',
get_permalink(),
esc_attr( get_the_time() ),
get_the_date()
),
sprintf( '<span class ="autor vcard"><a class ="url fn n" href ="%1$é" title ="%2$é">%3$é</a></palmo>',
get_author_posts_url( get_the_author_meta( 'ID' ) ),
esc_attr( sprintf( __( 'Ver todas as mensagens de% s', 'Twentyten' ), get_the_author() ) ),
get_the_author()
)
);
}

Com esta

função twentyten_posted_on() {
se(get_the_date()== Get_the_modified_date()){
printf( __( '<span class ="%1$é">Postado em</palmo> %2$é <span class ="meta-setembro">por</palmo> %3$s ', 'Twentyten' ),
'Meta-prep-autor meta-prep',
sprintf( '<um href ="%1$é" title ="%2$é" rel ="marcador"><período itemprop ="datePublished DateCreated DateModified">%3$é</palmo></a>',
get_permalink(),
esc_attr( get_the_time() ),
get_the_date()
),
sprintf( '<span class ="autor vcard"><um itemprop ="autor" href ="%1$é" title ="%2$é">%3$é</a></palmo>',
get_author_posts_url( get_the_author_meta( 'ID' ) ),
esc_attr( sprintf( __( 'Ver todas as mensagens de% s', 'Twentyten' ), get_the_author() ) ),
get_the_author()
)
);
}
outro{
printf( __( '<span class ="%1$é">Postado em</palmo> %2$é <span class ="meta-setembro">por</palmo> %3$é.  Atualizado <período itemprop ="DateModified">%4$é</palmo>.', 'Twentyten' ),
'Meta-prep-autor meta-prep',
sprintf( '<um href ="%1$é" title ="%2$é" rel ="marcador"><período itemprop ="datePublished DateCreated">%3$é</palmo></a>',
get_permalink(),
esc_attr( get_the_time() ),
get_the_date()
),
sprintf( '<span class ="autor vcard"><um itemprop ="autor" href ="%1$é" title ="%2$é">%3$é</a></palmo>',
get_author_posts_url( get_the_author_meta( 'ID' ) ),
esc_attr( sprintf( __( 'Ver todas as mensagens de% s', 'Twentyten' ), get_the_author() ) ),
get_the_author()
),
get_the_modified_date()
);
}
}

Em functions.php substituir este

<class = div"comment-author vcard">

Com esta

<class = div"comment-autor novcard">

Em header.php substituir este

<id = div"invólucro" class ="hfeed">

Com esta

<id = div"invólucro" class ="nohfeed">

Em loop.php (3 casos), loop-single.php, loop-page.php e loop-attachment.php substituir este

<id = div"pós-<?php the_ID(); ?>" <?php post_class(); ?>>

Com esta

<id = div"pós-<?php the_ID(); ?>" <?php post_class(); ?> itemscope itemtype ="https://schema.org / artigo">
vinte onze 1.5

pt-ção muito em breve ...

Annotum Base de Dados 1.1.1

Em 7 arquivos (funções recursos de articles.php, -article.php tipo trecho , trecho trecho-default.php, -article.php tipo de conteúdo , content page.php, content content-default.php, content artigo-pdf.php) substituir

<artigo <?php post_class('Artigo cheio "); ?>>

com

<artigo <?php post_class('Artigo cheio "); ?> itemscope itemtype ="https://schema.org / artigo">

 

Deixe uma resposta

2 Comentários