2Logo WordpressLa fijación de herramienta de prueba de fragmentos de Microdatos

Encima 2 Hace años publiqué un artículo sobre cómo solucionar problemas con los temas de WordPress que no pasaba la Herramienta de prueba de fragmentos enriquecidos de Google. Desde entonces ha cambiado un montón - WordPress y la mayoría de los temas tienen un mejor apoyo, HTML5 y CSS3 han llegado, y Google, Yahoo y Bing se reunieron y decidieron centrarse en microdatos, través schema.org. En el momento microformatos parecía la forma más fácil de marcar páginas, y la herramienta de prueba tenía el soporte más completo para estos. El paso a microdatos y los cambios en WordPress requiere un nuevo artículo: eso es todo!

En lugar de tener un montón de artículos distintos para los diferentes temas que he decidido tratar de proporcionar toda la información en 1 guiar. Esto hace que sea más fácil mantener al día, y significa que no es sólo 1 punto central para todas las solicitudes y discusión. También tiene más sentido ya que varios de los pasos son los mismos independientemente de lo que tema que está usando. No voy a cubrir todos los extras opcionales en este artículo, sólo los conceptos básicos para obtener su sitio para validar con la herramienta. Una vez que has conseguido que usted debe encontrar agregando marcado extra es relativamente fácil. Así que le permite empezar a trabajar ...

Añadir un enlace desde su perfil de Google a su sitio

Usted verá en mi pro-file Google que tengo una relación pública de https://diymediahome.org - Tendrá la misma para su propio sitio. Lo ideal sería que usted tendrá todos sus autores a tener un perfil de google que está vinculada a su sitio de la misma manera, ya que esto.

  1. Inicie sesión en su google pro-file
  2. Desplácese hacia abajo hasta que vea la Enlaces sección en algún lugar hacia la parte inferior derecha de la página
  3. Haga clic en el editar enlace
  4. Bajo el contribuyente a sección de click Añadir enlace cus-tom
  5. Asegúrese de que la casilla situada a la derecha del texto contribuyente a está ajustado a público
  6. Introduzca el nombre del sitio (e.g. DIY Medios Inicio) y dirección (e.g. https://diymediahome.org)
  7. Haga clic en Guardar

Añadir un enlace desde su página a tu perfil google

Ahora tenemos que añadir un enlace desde su página del autor a su perfil de google. Existen 2 altern-at-ive maneras de hacer esto, Yo altamente recomendamos usar el Yoast ESTE Plugin.

  1. Instale la Yoast ESTE plu-gin Oregón agregue el siguiente código al archivo functions.php de tu tema
    update_contactmethods función( $contactmethods ) {
    // Añadir los perfiles de Google
    $ contactmethods['Googleplus'] = 'Google ';
    // Agregar Twitter
    $ contactmethods['Twitter'] = __( 'Twitter nombre de usuario (sin @)', 'Wordpress-seo' );
    
    return $ contactmethods;
    }
    add_filter( 'user_contactmethods', 'update_contactmethods', 10, 1);
  2. Ve a tu perfil de autor en la interfaz de administración de WordPress (ciernen sobre Usuarios en el menú de la izquierda, y haga clic en Su Pro-file)
  3. En el Google+ campo de agregar un enlace a su pro-file google (e.g. https://plus.google.com/104657888470728381512 /)
  4. Asegúrese de que sea usted, o sus otros autores de sitios hacen lo mismo, y cada enlace a sus propios perfiles de Google
  5. Ahora, si usted está utilizando el plu-gin Yoast, ir a la ESTE menú y seleccione Títulos y Metas, chaga clic sobre el Casa menú en la parte superior de la página y en el Autor High-light-ing cuadro desplegable seleccione el usuario que desea utilizar como el autor de la página
  6. Si usted es insistente acerca de no usar el plugin Yoast tendrá que añadir manualmente el código siguiente para header.php (Suponiendo que tiene uno). No se olvide de cambiar mi perfil de Google URL a la suya. Este código se utiliza Google la URL del perfil del autor post si no es válida, y utilizará un valor predeterminado (tuyo) si no hay.
    <link rel ="autor" href ="<?php $ gplus = 'https://plus.google.com/115369062315673853712/posts '; si ( is_singular() ) {$ post mundial; $gplus = get_the_author_meta( 'Googleplus', $post->post_author );} echo $ gplus; ?>"/>

Corregir los errores de un campo de "actualización" que falta

La mayoría de los wordpress temas incluyen información sobre cuando el mensaje se publicó en el área de información de mensaje, pero muy pocos también incluyen última vez que se actualizó. Esto es una pena, debido a que se requiere actualización publicada mientras que en realidad no es! Añadiendo que es fácil, sin embargo, y de nuevo, existen 2 formas, la forma correcta y la forma en corte rápido. Recomiendo la forma correcta, por supuesto,, pero si es necesario se puede recurrir al truco rápida. También vamos a cambiar de microformatos a los microdatos, al mismo tiempo.

La forma correcta

Vamos a añadir un poco de información adicional para colocar los encabezados, tanto para los motores de búsqueda y para nuestros vis-it-ors. Tendremos que hacer esto para los puestos, páginas, archivos y la página de inicio.

  1. Tenemos que encontrar el archivo que contiene el código que genera el enlace publicado. Esto es casi seguro que utilizar la función de wordpress get_the_date(). Usted puede buscar a través de sus archivos de temas, o hacer referencia a detalles específicos del tema por debajo de donde he proporcionado detalles de un montón de temas
  2. Vamos a comprobar si las fechas de publicación y actualización son los mismos. Si son simplemente añadiremos el extra de fecha-dateUp itemprop pero si son diferentes que seria algún texto adicional para el visitante
  3. Vamos a añadir el bajo-ing fol (y modificarlo como se explica)
    <?php if(get_the_date()== Get_the_modified_date()): ?>
    
    //vamos a utilizar el código original sólo con la clase actualizada añadió
    / / Poner el código original de su tema aquí
    / / Eliminar cualquier class =""
    //añadir itemprop ="DatePublished DateCreated DateModified" hacia HTML etiqueta que rodea a get_the_date() función
    
    <?php demás: ?>
    
    //vamos a usar un poco de código sólo con la fecha actualizada añadió
    / / Copiar el código original de su tema a aquí y luego modificarlo de la siguiente manera
    / / Eliminar cualquier class =""
    //añadir itemprop ="DatePublished DateCreated" hacia HTML etiqueta que rodea a get_the_date() función
    / / Añadir una nueva etiqueta html en la línea en la que desea que aparezca la siguiente
    / / Actualización <?get_the_modified_date php echo() ?>
    
    <?php endif; ?>
  4. Ya sea que usted tiene que averiguar el código del tema original y editarlo, o hacer referencia a los datos para los temas específicos que siguen.
  5. Puede que tenga que repetir esta edición de múltiples archivos

El hack rápida

Nos vamos a engañar y suministrar la fecha publicada como fecha de actualización, incluso si el mensaje en realidad se ha actualizado recientemente. Si el mensaje se ha actualizado después que en realidad estaremos suministrando información incorrecta, pero seguirá siendo comió-val-id. Realmente es mejor hacerlo correctamente si es posible, pero si usted es insistente en hacerlo de esta manera sigue leyendo. Como el anterior tendremos que hacer esto para los puestos, páginas, archivos y la página de inicio.

  1. Como arriba tenemos que encontrar el archivo que contiene el código que genera el enlace publicado. Esto es casi seguro que utilizar la función de wordpress get_the_date(). Usted puede buscar a través de sus archivos de temas, o consulte la tabla siguiente, donde me han proporcionado los detalles de una gran cantidad de temas
  2. Encuentra el HTML ele-mento que rodea la fecha (menudo tendrá class="published").
  3. Edite el elemento mediante la eliminación de la clase y añadiendo la siguiente vez itemprop="datePublished dateCreated dateUpdated"
  4. Como anteriormente, puede que tenga que repetir esta edición en varios archivos

Sustitución de los microformatos incorporadas (porque la mezcla de formatos fragmento enriquecido rompe cosas)

Por wordpress por defecto sigue siendo el uso de marcado microformato los comentarios, que parece tristemente romper marcado microdatos de cosas como recetas. La mejor manera de solucionar este problema es eliminar el marcado de microformatos y reemplazarlo con marcado microdatos. Desafortunada-tu-damente, las funciones básicas de wordpress que producen este marcado no tienen un filtro o un gancho situado así que esto requiere un poco de bricolaje sobre.

Sustitución de vcard en la sección de comentarios

  1. Lo que vamos a hacer es utilizar un comentario de devolución de llamada para cambiar la salida de los comentarios. Muchos temas ya utilizan una devolución de llamada que podremos modificar, y para aquellos que no lo hacen vamos a añadir una basada en el valor por defecto de WordPress
  2. Compruebe si el tema ya tiene un comentario de devolución de llamada - su búsqueda archivos de tema para la función wp_list_comments. Si se incluye el código callback= o 'callback' => entonces está utilizando una devolución de llamada que usted debería ser capaz de encontrar (probable-mente en functions.php) buscando el nombre de la función de devolución de llamada, que es la parte después del signo = o flecha, e.g. wp_list_comments( array( 'callback' => 'twentyten_comment' ) ); o wp_list_comments('type=comment&callback=bones_comments');. Si no es así, tendremos que agregar uno agregando callback=diymh_comment o array( 'callback' => 'diymh_comment' ) a la línea de.
  3. Si usted necesita para añadir un comentario de devolución de llamada, entonces usted tendrá que añadir el siguiente código al functions.php
    función diymh_comment($comentario, $args, $profundidad) {
    $GLOBALS['Comment'] = $ Comentario; ?>
    <que <?php comment_class(); ?> = ID"li-how<?php COMMENT_ID() ?>">
      <div id ="comment-<?php COMMENT_ID(); ?>">
    <div class ="comment-autor novcard">
    <?php echo get_avatar($comentario,$size = '48 ',$default = '<path_to_url>' ); ?>
    
    <?php printf(__('<citar class ="fn">%s</citar> <span class ="dice">dice:</lapso>'), get_comment_author_link()) ?>
    </div>
    <?php if ($comment->comment_approved '0 == ') : ?>
    <en><?php _e("Su comentario está pendiente de moderación.") ?></en>
    <br />
    <?php endif; ?>
    
    <div class ="cómo meta commentmetadata"><a href ="<?htmlspecialchars php echo( get_comment_link( $comment->COMMENT_ID ) ) ?>"><?php printf(__('% 1 $ s en% 2 $ s'), get_comment_date(),  get_comment_time()) ?></a><?php edit_comment_link(__('(Editar)'),'','') ?></div>
    
    <?php COMMENT_TEXT() ?>
    
    <div class ="responder">
    <?php comment_reply_link(array_merge( $args, colección('Profundidad' => $profundidad, 'Max_depth' => $args['Max_depth']))) ?>
    </div>
      </div>
    <?php
    }
  4. Usted se dará cuenta que este código tiene una class="novcard" en lugar del original class="vcard".
  5. Si el tema tenía su propio callback es necesario encontrar la función de devolución de llamada y reemplazar todas las instancias de class="vcard" con class="novcard"

Sustitución hfeed en la cabecera

  1. Próximo, tenemos que eliminar también cualquier instancia de class="hfeed", que son usualmente encontrados en header.php. Vuelva a colocar todas las ocurrencias de hfeed con nohfeed

Sustitución hentry y título de fragmentos enriquecidos

  1. Podemos reemplazar estos elementos con un par de funciones ordenadas añadido functions.php
    función diymh_replace_hentry($clases){
    si(($clave = array_search('Hentry', $clases)) !== False) $clases[$clave]= 'Nohentry';
    return $ clases;
    }
    add_filter('Post_class','Diymh_replace_hentry');
    
    función diymh_microdata_title($título) {
        return '<lapso itemprop ="nombre">'. $ Título.'</lapso>';
    }
    add_filter('The_title', 'Diymh_microdata_title', 10, 2);

Añadiendo el tipo de información (e.g. Artículo, Receta, etc.) a la cabecera del artículo

  1. Primero, decidir qué tipo de trabajo que va a publicar - muy probablemente un artículo. Echar un vistazo a la lista en schema.org
  2. Encuentra el HTML etiqueta que con-tiene la fun-ción post_class()
  3. Agregue el código itemscope itemtype="https://schema.org/Article" (reemplazar el artículo si has elegido un tipo de trabajo diferente)

Finalmente, para evitar romper cualquier estilo

  1. Usted necesitará editar style.css del tema y hacer una operación de búsqueda / reemplazo para reemplazar todas las instancias de .vcard con .novcard y reemplazar todas las instancias de .hfeed con .nohfeed para que nuestros cambios no hacen arruinar cualquier CSS styl-ción de nuestros comentarios

La fijación de cualquier otro error

Cualquier otro cambio necesario se detallarán en una base por debajo tema. Si usted tiene un tema que usted no puede fijar por favor un comentario. Si es un tema libre, por favor hágamelo saber el nombre del tema, y si se trata de un tema premium, avíseme para que pueda proporcionarle una dirección de correo electrónico a la que enviar una copia comprimida.

Temáticos detalles específicos

Antes de simplemente llevar a cabo estas modificaciones no se olvide de llevar a cabo los pasos para enlazar tu perfil de Google y su sitio el uno al otro, e instalar Yoast ESTE, o agregue el código más arriba proporciona.

 

Twenty Ten 1.5

En functions.php sustituir este

función twentyten_posted_on() {
printf( __( '<span class ="%1$s">Publicado el</lapso> %2$s <span class ="meta-septiembre">por</lapso> %3$s ', 'TwentyTen' ),
'Meta-prep-autor meta-prep',
sprintf( '<a href ="%1$s" title ="%2$s" rel ="marcador"><span class ="entrada de fecha">%3$s</lapso></a>',
get_permalink(),
esc_attr( get_the_time() ),
get_the_date()
),
sprintf( '<span class ="autor vcard"><a class ="fn url n" href ="%1$s" title ="%2$s">%3$s</a></lapso>',
get_author_posts_url( get_the_author_meta( 'ID' ) ),
esc_attr( sprintf( __( »Ver todos los mensajes de% s ', 'TwentyTen' ), get_the_author() ) ),
get_the_author()
)
);
}

Con esta

función twentyten_posted_on() {
si(get_the_date()== Get_the_modified_date()){
printf( __( '<span class ="%1$s">Publicado el</lapso> %2$s <span class ="meta-septiembre">por</lapso> %3$s ', 'TwentyTen' ),
'Meta-prep-autor meta-prep',
sprintf( '<a href ="%1$s" title ="%2$s" rel ="marcador"><lapso itemprop ="DatePublished DateCreated DateModified">%3$s</lapso></a>',
get_permalink(),
esc_attr( get_the_time() ),
get_the_date()
),
sprintf( '<span class ="autor vcard"><un itemprop ="autor" href ="%1$s" title ="%2$s">%3$s</a></lapso>',
get_author_posts_url( get_the_author_meta( 'ID' ) ),
esc_attr( sprintf( __( »Ver todos los mensajes de% s ', 'TwentyTen' ), get_the_author() ) ),
get_the_author()
)
);
}
más{
printf( __( '<span class ="%1$s">Publicado el</lapso> %2$s <span class ="meta-septiembre">por</lapso> %3$s.  Updated <lapso itemprop ="DateModified">%4$s</lapso>.', 'TwentyTen' ),
'Meta-prep-autor meta-prep',
sprintf( '<a href ="%1$s" title ="%2$s" rel ="marcador"><lapso itemprop ="DatePublished DateCreated">%3$s</lapso></a>',
get_permalink(),
esc_attr( get_the_time() ),
get_the_date()
),
sprintf( '<span class ="autor vcard"><un itemprop ="autor" href ="%1$s" title ="%2$s">%3$s</a></lapso>',
get_author_posts_url( get_the_author_meta( 'ID' ) ),
esc_attr( sprintf( __( »Ver todos los mensajes de% s ', 'TwentyTen' ), get_the_author() ) ),
get_the_author()
),
get_the_modified_date()
);
}
}

En functions.php sustituir este

<div class ="comment-autor vcard">

Con esta

<div class ="comment-autor novcard">

En header.php sustituir este

<div id ="envoltura" class ="hfeed">

Con esta

<div id ="envoltura" class ="nohfeed">

En loop.php (3 casos), bucle-single.php, loop-page.php y loop-attachment.php sustituir este

<div id ="post-<?php the_ID(); ?>" <?php post_class(); ?>>

Con esta

<div id ="post-<?php the_ID(); ?>" <?php post_class(); ?> itemscope ItemType ="https://schema.org / artículo">
veinte once 1.5

com-ción muy pronto ...

Annotum Base 1.1.1

En 7 archivos (funciones características articles.php, extracto tipo article.php, extracto extracto-default.php, content tipo article.php, content page.php, content content-default.php, content article-pdf.php) reemplazar

<article <?php post_class('-El artículo completo »); ?>>

con

<article <?php post_class('-El artículo completo »); ?> itemscope ItemType ="https://schema.org / artículo">

 

Leave a Reply

2 Comments