2Wordpress LogoBefestigungs Rich Snippets Testing Tool für Microdata

Über 2 Ich habe vor Jahren einen Artikel veröffentlicht, wie Probleme mit Wordpress-Themes zu beheben, die nicht die Google Rich Snippets Testing Tool bestanden haben. Wordpress und die meisten Themen haben bessere Unterstützung - Da dann viel hat sich verändert, HTML5 und CSS3 sind angekommen, und Google, Yahoo und Bing zusammen und beschlossen, auf Mikrodaten konzentrieren, über schema.org. Zu der Zeit schien, Mikroformate die einfachste Möglichkeit, markieren Seiten, und das Testtool hatte die umfangreichste Unterstützung für diese. Der Übergang zu Mikrodaten und die Änderungen an Wordpress erforderlich, einen neuen Artikel: Dazu ist es!

Anstatt viele verschiedene Artikel für unterschiedliche Themen habe ich beschlossen, zu versuchen, alle Informationen zur Verfügung stellen 1 führen. Dies macht es einfacher, auf dem neuesten Stand zu halten, und bedeutet, dass es nur 1 zentrale Anlaufstelle für alle Anfragen und Diskussion. Es macht auch mehr Sinn, als einige der Schritte, die gleich sind, unabhängig davon, welches Thema Sie verwenden. Ich werde nicht alle optionalen Extras in diesem Artikel decken, nur die Grundlagen, um Ihre Website mit dem Werkzeug zu validieren. Sobald Sie es geschafft, dass Sie finden, sollte ich das Hinzufügen zusätzlicher Markup ist relativ einfach. So können loslegen ...

Fügen Sie einen Link von Ihrem Google-Profil auf Ihre Website

Sie werden sehen, auf meine google pro-Datei dass ich einen öffentlichen Link zu https://diymediahome.org - Sie werden das gleiche für Ihre eigene Website benötigen. Idealerweise haben Sie alle Ihre Autoren müssen eine Google-Profil, das auf Ihrer Website in der gleichen Weise, wie diese verbunden ist haben.

  1. Einloggen, um google pro-Datei
  2. Blättern Sie nach unten, bis Sie das sehen, Links Abschnitt irgendwo nach unten rechts auf der Seite
  3. Klicken Sie auf die bearbeiten Link
  4. Unter dem Beitrag zur Ab-schnitt Klick In Kunden-tom Link
  5. Achten Sie darauf, die Box auf der rechten Seite des Textes Beitrag zur eingestellt ist Öffentlichkeit
  6. Geben Sie Ihre Site-Namen (e.g. DIY Media Home) und Anschrift (e.g. https://diymediahome.org)
  7. Klicken Sie auf Speichern

Fügen Sie einen Link von Ihrer Seite zu Ihrem Google-Profil

Jetzt müssen wir einen Link von Ihrer Autoren-Seite zur Google-Profil hinzufügen. Es gibt 2 altern-at-ive Möglichkeiten, dies zu tun, Ich sehr emp-fehlen mit der Yoast DIESE Plugin.

  1. Installieren Sie die Yoast DIESE plu-Gin ODER Fügen Sie den folgenden Code in die Datei functions.php des Themes
    Funktion update_contactmethods( $contactmethods ) {
    // In Google Profile
    $ Contactmethods["Googleplus"] = 'Google ';
    // Add Twitter
    $contactmethods['Twitter'] = __( "Twitter-Benutzernamen (ohne @)', "Wordpress-SEO ' );
    
    return $ contactmethods;
    }
    add_filter( 'User_contactmethods', 'Update_contactmethods', 10, 1);
  2. Gehen Sie zu Ihrem Autor Profil in der Wordpress-Admin-Interface (schweben über Benutzer in der linken Menü, und klicken Sie auf Ihre Pro-Datei)
  3. Im Google+ Feld einen Link zu Deinem google pro-Datei (e.g. https://plus.google.com/104657888470728381512 /)
  4. Stellen Sie sicher, entweder Sie, oder Ihre andere Seite Autoren das gleiche tun, und jeder Link zu Ihrer eigenen Google-Profile
  5. Jetzt, wenn Sie die Yoast plu-Gin sind, gehen, um die DIESE Menü und wählen Sie Titel und Metas, clecken auf die Zuhause Menü am oberen Rand der Seite und in der Autor High-Light-ing Pulldown Feld den Benutzer, den Sie als Autor der Homepage verwenden möchten
  6. Wenn Sie hartnäckig über nicht mit dem Plugin Yoast müssen Sie den folgenden Code manuell hinzufügen zu können header.php (Angenommen Sie haben ein). Vergessen Sie nicht, meine Google-Profil-URL zu Ihnen zu ändern. Dieser Code wird mit der Google-Profil-URL Post Autor, wenn es gültig ist, und wird eine Standard verwenden (Ihre) wenn nicht.
    <link rel ="Autor" href ="<?php $ gplus = 'https://plus.google.com/115369062315673853712/posts '; wenn ( is_singular() ) {global $ post; $gplus = get_the_author_meta( "Googleplus", $Post->post_author );} echo $ gplus; ?>"/>

Fix Fehler eines fehlenden "aktualisiert" -Feld

Die meisten Wordpress Themes enthalten Informationen darüber, wann der Beitrag wurde in der post-Informationsbereich veröffentlicht, aber nur sehr wenige sind, wenn sie zuletzt aktualisiert. Das ist schade,, weil aktualisiert erforderlich ist, während tatsächlich nicht veröffentlicht ist! Hinzufügen es ist aber einfach, und wieder, es gibt 2 Möglichkeiten, der richtige Weg, und der schnelle Hack Weg. Ich empfehle die richtige Art und Weise natürlich, aber wenn nötig, können Sie auf die schnelle Hack greifen. Wir werden auch zur gleichen Zeit ändern von Mikroformaten zu Mikrodaten.

Der richtige Weg

Wir werden einige zusätzliche Informationen zu Post-Header hinzufügen, sowohl für Suchmaschinen als auch für unsere vis-it-ors. Wir müssen dies tun, für die Beiträge, Seiten, Archive und die Homepage.

  1. Wir müssen die Datei, die den Code, der die veröffentlichte Link erzeugt enthält zu finden. Dies wird die Wordpress-Funktion fast sicher nutzen get_the_date(). Sie können durch Ihre Dateien zu suchen Thema, oder beziehen sich auf themenspezifische Details unten, wo ich zur Verfügung gestellt Details für viele Themen
  2. Wir werden überprüfen, ob die veröffentlicht und aktualisiert Daten sind die gleichen. Wenn sie sind, werden wir nur hinzufügen, die extra dateUp aktualisiert itemprop aber wenn sie unterschiedlich sind werden wir etwas mehr Ausgangstext für den Besucher
  3. Wir werden die Folge-ing hinzufügen (und ändern Sie es, wie es erklärt)
    <?php, wenn(get_the_date()Get_the_modified_date ==()): ?>
    
    //werden wir den ursprünglichen Code nur mit der aktualisierten Klasse hinzugefügt verwenden
    / / Setzen Originalcode Ihres Thema hier
    / / Entfernen Sie class =""
    //hinzufügen itemprop ="datePublished datecreated DateModified" to the HTML tag surrounding the get_the_date() Funktion
    
    <?php sonst: ?>
    
    //wir werden etwas Code nur mit der aktualisierten Datum hinzugefügt verwenden
    / / Kopieren Originalcode Ihres Themas zu hier und ändern Sie es wie unten
    / / Entfernen Sie class =""
    //hinzufügen itemprop ="datePublished datecreated" to the HTML tag surrounding the get_the_date() Funktion
    / / Add in einem neuen HTML-Tag in die Linie, wo Sie es wie unten angezeigt werden soll
    / / Aktualisiert <?php echo get_the_modified_date() ?>
    
    <?php endif; ?>
  4. Sie werden entweder die ursprüngliche Thema des Code und bearbeiten es herausfinden müssen, oder beziehen sich auf die Informationen zu bestimmten Themen unten.
  5. Eventuell müssen Sie diese bearbeiten für mehrere Dateien wiederholen

Die schnelle Hack

Wir werden uns zu betrügen und liefern die veröffentlichten Datum nach dem aktualisierten Datum, auch wenn der Beitrag wurde tatsächlich kürzlich aktualisiert. Wenn die Post wurde aktualisiert dann werden wir tatsächlich werden unrichtige Informationen, aber es wird noch val-id-aß. Es ist wirklich besser, es richtig zu machen, wenn möglich, aber wenn man hartnäckig auf, es zu tun sind auf diese Weise weiter lesen. Wie oben müssen wir tun dies für Beiträge, Seiten, Archive und die Homepage.

  1. Wie oben müssen wir die Datei, die den Code, der die veröffentlichte Link erzeugt enthält zu finden. Dies wird die Wordpress-Funktion fast sicher nutzen get_the_date(). Sie können durch Ihre Dateien zu suchen Thema, oder an die unten stehende Tabelle, wo ich Details für viele Themen beiliegt
  2. Finden Sie die HTML Ele-ment, die sur-rundet das Datum (oft wird es haben class="published").
  3. Bearbeiten Sie das Element, indem Sie die Klasse und das Hinzufügen der folgenden statt itemprop="datePublished dateCreated dateUpdated"
  4. Wie vorstehend, Sie benötigen, um diese bearbeiten in mehreren Dateien wiederholen

Ersetzen der Einbau-Mikroformate (weil das Mischen Rich Snippets Formate bricht Dinge)

Standardmäßig Wordpress ist immer noch mit Mikroformat Markup für Kommentare, was leider scheint zu Mikrodaten Markup Dinge wie Rezepte brechen. Der beste Weg, dies zu beheben, ist die Mikroformat-Markup zu entfernen und ersetzen Sie es mit Mikrodaten-Markup. Lei-tu-nierend, Die Wordpress-Kernfunktionen, die diese Markup produzieren nicht über eine verkehrsgünstig gelegen Filter oder Haken, so erfordert dies ein wenig basteln zu.

Ersetzen V-Card in den Kommentaren

  1. Was wir tun werden, ist mit einem Kommentar Rückruf, um die Ausgabe der Kommentare ändern. Viele Themen bereits einen Rückruf verwenden, die wir ändern können, und für diejenigen, die das nicht tun werden wir hinzufügen, ein auf der Basis der Standard-Wordpress
  2. Überprüfen Sie, ob Sie Thema bereits eine Rückruf Kommentar - suchen Sie Ihre Theme-Dateien für die Funktion wp_list_comments. Wenn sie den Code enthält callback= oder 'callback' => dann wird mittels einer Callback, die Sie sollten in der Lage sein zu finden (wahr-scheinlich in der functions.php) durch die Suche nach dem Namen der Callback-Funktion, der das Teil nach dem =-Zeichen oder Pfeil, e.g. wp_list_comments( array( 'callback' => 'twentyten_comment' ) ); oder wp_list_comments('type=comment&callback=bones_comments');. Wenn es nicht, dann müssen wir ein hinzufügen, indem Sie callback=diymh_comment oder array( 'callback' => 'diymh_comment' ) auf die Linie.
  3. Wenn Sie einen Kommentar hinzufügen Rückruf erforderlich, dann müssen Sie den folgenden Code functions.php hinzufügen
    Funktion diymh_comment($Kommentar, $args, $Tiefe) {
    $GLOBALS['Kommentar'] = $ Comment; ?>
    <dass <?php comment_class(); ?> id ="li-how<?php comment_id() ?>">
      <div id ="Kommentar-<?php comment_id(); ?>">
    <div class ="Kommentar-Autor novcard">
    <?php echo get_avatar($Kommentar,$size = '48 ',$default = '<path_to_url>' ); ?>
    
    <?php printf(__('<zitieren class ="fn">%s</zitieren> <span class ="sagt">sagt:</Spannweite>'), get_comment_author_link()) ?>
    </div>
    <?php, wenn ($Kommentar->comment_approved == '0 ') : ?>
    <in><?php _e("Ihr Kommentar wartet auf Moderation.") ?></in>
    <br />
    <?php endif; ?>
    
    <div class ="wie Meta commentmetadata"><a href ="<?php echo htmlspecialchars( get_comment_link( $Kommentar->Comment_id ) ) ?>"><?php printf(__('% 1 $ s bei% 2 $ s'), get_comment_date(),  get_comment_time()) ?></ein><?php edit_comment_link(__('(Bearbeiten)'),'','') ?></div>
    
    <?php comment_text() ?>
    
    <div class ="antworten">
    <?php comment_reply_link(array_merge( $args, Feld('Tiefe' => $Tiefe, 'Max_depth' => $args['Max_depth']))) ?>
    </div>
      </div>
    <?php
    }
  4. Sie werden feststellen, dass dieser Code eine class="novcard" statt der ursprünglichen class="vcard".
  5. Wenn Ihr Thema hat eine eigene Callback müssen Sie die Callback-Funktion suchen und ersetzen alle Instanzen von class="vcard" mit class="novcard"

Ersetzen hfeed im Header

  1. Nächste, wir brauchen, um auch alle Instanzen entfernen class="hfeed", die sind usu-Verbündeten in header.php gefunden. Ersetzen Sie alle auftreten-schiede von hfeed mit nohfeed

Ersetzen hentry und Titel Rich Snippets

  1. Wir können diese Elemente mit ein paar ordentlichen Funktionen functions.php hinzugefügt ersetzen
    Funktion diymh_replace_hentry($Unterricht){
    wenn(($key = array_search('Hentry', $Unterricht)) !== False) $Unterricht[$Schlüssel]= 'Nohentry';
    return $ Klassen;
    }
    add_filter('Post_class','Diymh_replace_hentry');
    
    Funktion diymh_microdata_title($Titel) {
        return '<Spannweite itemprop ="Name">'. $ Title. "</Spannweite>';
    }
    add_filter('The_title', 'Diymh_microdata_title', 10, 2);

Das Hinzufügen der Informationstyp (e.g. Artikel, Rezept, usw.) zum Artikel Kopf

  1. Erste, entscheiden, welche Art von Arbeit, die Sie veröffentlichen - höchstwahrscheinlich einen Artikel. Werfen Sie einen Blick auf die Liste an schema.org
  2. Finden Sie die HTML Tag der ent-hält die Funktion post_class()
  3. Fügen Sie den Code itemscope itemtype="https://schema.org/Article" (Artikel ersetzen, wenn Sie eine andere Art von Arbeit abgeholt)

Schließlich, zu vermeiden, alle mögliche Arten zu brechen

  1. Sie müssen Ihr Thema style.css bearbeiten und eine Suche / Ersetzen-Operation alle Instanzen ersetzen .vcard mit .novcard und ersetzen Sie alle Instanzen .hfeed mit .nohfeed so dass unsere Änderungen nicht versauen einem CSS Styl-ing von unseren Kommentaren

Befestigung sonstige Fehler

Alle anderen Änderungen notwendig werden jedem Thema Basis detailliert werden unten. Wenn Sie ein Thema, das Sie sich nicht zu beheben sind, bitte schreiben Sie einen Kommentar. Wenn ihr ein freies Thema lassen Sie mich bitte wissen, das Thema Namen, und wenn es ein Premium-Thema ist lass es mich wissen, damit ich Sie mit einer E-Mail-Adresse zur Verfügung stellen kann eine komprimierte Kopie zu schicken.

Theme spezifische Details

Vor nur diese Bearbeitungen Durchführung nicht zu vergessen die Schritte auszuführen Ihr Google-Profil und Ihre Website miteinander zu verknüpfen, und installieren Yoast DIESE, oder fügen Sie den Code oben bietet.

 

Twenty Ten 1.5

In functions.php ersetzen diese

Funktion twentyten_posted_on() {
printf( __( '<span class ="%1$s">Gesendet am</Spannweite> %2$s <span class ="Meta-sep">durch</Spannweite> %3$s ', 'Twentyten' ),
"Meta-Meta-prep prep-Autor ',
sprintf( '<a href ="%1$s" title ="%2$s" rel ="Lesezeichen"><span class ="Einstiegsdatum">%3$s</Spannweite></ein>',
get_permalink(),
esc_attr( get_the_time() ),
get_the_date()
),
sprintf( '<span class ="Autor V-Card"><a class ="url fn n" href ="%1$s" title ="%2$s">%3$s</ein></Spannweite>',
get_author_posts_url( get_the_author_meta( 'ID' ) ),
esc_attr( sprintf( __( "Alle Beiträge von% s ', 'Twentyten' ), get_the_author() ) ),
get_the_author()
)
);
}

Hiermit

Funktion twentyten_posted_on() {
wenn(get_the_date()Get_the_modified_date ==()){
printf( __( '<span class ="%1$s">Gesendet am</Spannweite> %2$s <span class ="Meta-sep">durch</Spannweite> %3$s ', 'Twentyten' ),
"Meta-Meta-prep prep-Autor ',
sprintf( '<a href ="%1$s" title ="%2$s" rel ="Lesezeichen"><Spannweite itemprop ="datePublished datecreated DateModified">%3$s</Spannweite></ein>',
get_permalink(),
esc_attr( get_the_time() ),
get_the_date()
),
sprintf( '<span class ="Autor V-Card"><ein itemprop ="Autor" href ="%1$s" title ="%2$s">%3$s</ein></Spannweite>',
get_author_posts_url( get_the_author_meta( 'ID' ) ),
esc_attr( sprintf( __( "Alle Beiträge von% s ', 'Twentyten' ), get_the_author() ) ),
get_the_author()
)
);
}
sonst{
printf( __( '<span class ="%1$s">Gesendet am</Spannweite> %2$s <span class ="Meta-sep">durch</Spannweite> %3$s.  Updated <Spannweite itemprop ="DateModified">%4$s</Spannweite>.', 'Twentyten' ),
"Meta-Meta-prep prep-Autor ',
sprintf( '<a href ="%1$s" title ="%2$s" rel ="Lesezeichen"><Spannweite itemprop ="datePublished datecreated">%3$s</Spannweite></ein>',
get_permalink(),
esc_attr( get_the_time() ),
get_the_date()
),
sprintf( '<span class ="Autor V-Card"><ein itemprop ="Autor" href ="%1$s" title ="%2$s">%3$s</ein></Spannweite>',
get_author_posts_url( get_the_author_meta( 'ID' ) ),
esc_attr( sprintf( __( "Alle Beiträge von% s ', 'Twentyten' ), get_the_author() ) ),
get_the_author()
),
get_the_modified_date()
);
}
}

In functions.php ersetzen diese

<div class ="Kommentar-Autor V-Card">

Hiermit

<div class ="Kommentar-Autor novcard">

In header.php ersetzen diese

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

Hiermit

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

In loop.php (3 Instanzen), loop-single.php, Loop-und Loop-page.php attachment.php ersetzen diese

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

Hiermit

<div id ="Post-<?php the_ID(); ?>" <?php post_class(); ?> itemscope itemtype ="https://schema.org / Artikel">
zwanzig Elf 1.5

com-ing sehr bald ...

Annotum Basis 1.1.1

In 7 Dateien (Funktionen -Funktionen articles.php, Auszug Art-article.php, Auszug Auszug-default.php, Inhalt Art-article.php, Inhalt page.php, Inhalt content-default.php, Inhalt Artikel-pdf.php) ersetzen

<Artikel <?php post_class("Artikel-voll"); ?>>

mit

<Artikel <?php post_class("Artikel-voll"); ?> itemscope itemtype ="https://schema.org / Artikel">

 

Hinterlasse eine Antwort

2 Bemerkungen