على 2 years ago I published an article on how to fix problems with WordPress themes which didn’t pass the Google Rich Snippets Testing Tool. منذ ذلك الحين لم يتغير الكثير - وورد ومعظم الموضوعات ديك دعم أفضل, وقد وصلت HTML5 و CSS3, وجوجل, ياهو وبنج حصلت معا وقررت التركيز على الجزئية, عبر schema.org. في ذلك الوقت بدا تنسيقات microformat أسهل طريقة لوضع علامة على صفحات, وكان أداة اختبار الدعم الأكثر شمولا لهذه. هذه الخطوة إلى البيانات الجزئية والتغيرات المطلوبة في ووردبريس مادة جديدة: وهذا هو!
بدلا من وجود الكثير من مواد منفصلة لمواضيع مختلفة لقد قررت في محاولة لتوفير جميع المعلومات في 1 دليل. This makes it easier to keep up to date, ويعني هناك فقط 1 نقطة مركزية لجميع الطلبات والمناقشة. It also makes more sense as several of the steps are the same regardless of what theme you are using. I’m not going to cover all the optional extras in this article, الأساسيات فقط للحصول على موقع الويب الخاص بك للتحقق من صحة مع أداة. مرة واحدة كنت قد تمكنت التي يجب أن تجد العلامات مضيفا اضافية من السهل نسبيا. بحيث يتيح البدء ...
إضافة وصلة من ملفك الشخصي في Google إلى موقعك
سترى على بلدي جوجل الموالية للملف أن لدي الارتباط حانة المحامي ل HTTPS://diymediahome.org - سوف تحتاج لنفس موقعك. من الناحية المثالية، ستحتاج كل من المؤلفين لديك تشكيل جانبي جوجل مرتبط إلى موقع الويب الخاص بك بنفس الطريقة لأن هذا.
- تسجيل الدخول إلى حسابك جوجل الموالية للملف
- انتقل لأسفل حتى ترى روابط القسم في مكان ما نحو اليمين أسفل الصفحة
- انقر على تحرير رابط
- تحت contributor to ثانية نشوئها نقرة إضافة وصلة سلطات الجمارك توم
- تأكد من المربع إلى يمين النص contributor to ومن المقرر أن جمهور
- إدخال اسم موقعك (e.g. DIY وسائل الاعلام الرئيسية) وعنوان (e.g. HTTPS://diymediahome.org)
- انقر فوق حفظ
إضافة وصلة من موقع الويب الخاص بك إلى ملفك الشخصي في Google
الآن نحن بحاجة إلى إضافة وصلة من صفحة المؤلف لملفك الشخصي في Google. يوجد 2 altern المعرضة للإيف طرق للقيام بذلك, أنا جدا التوصيتين اصلاح باستخدام Yoast هذا المساعد.
- تثبيت Yoast هذا PLU-الجن أو إضافة التعليمات البرمجية التالية إلى ملف functions.php من الموضوع الخاص بك
function update_contactmethods( $contactmethods ) { // Add Google Profiles $contactmethods['googleplus'] = 'Google+'; // Add Twitter $contactmethods['twitter'] = __( 'Twitter username (without @)', 'wordpress-seo' ); return $contactmethods; } add_filter( 'user_contactmethods', 'update_contactmethods', 10, 1);
- تذهب على الكاتب ملفك الشخصي في واجهة الادارة وورد (hover over المستخدمين في القائمة اليسار اليد, وانقر على لديك الموالية للملف)
- في في + Google الحقل إضافة ارتباط إلى جوجل الموالية للملف الخاص (e.g. HTTPS://plus.google.com/104657888470728381512 /)
- تأكد إما أن, or your other site authors do the same thing, وكل وصلة لالخاصة بك جوجل لمحات
- الآن, إذا كنت تستخدم Yoast PLU-الجن, انتقل إلى هذا وحدد القائمة عناوين وMetas, جلعق على الصفحة الرئيسية القائمة في الجزء العلوي من الصفحة وفي الكاتب عالية ضوء جي مربع المنسدلة حدد المستخدم الذي تريد استخدامه حسب المؤلف من الصفحة الرئيسية
- إذا كنت مصرا حول عدم استخدام البرنامج المساعد Yoast سوف تحتاج إلى إضافة التعليمات البرمجية التالية يدويا لheader.php على (assum جي لديك واحدة). Don’t forget to change my google profile url to yours. This code will use the post author’s google profile url if there is a valid one, وسوف تستخدم الافتراضي (لك) إذا لم يكن هناك.
<link rel="الكاتب" = HREF"<?php $gplus = 'https://plus.google.com/115369062315673853712/posts'; إذا ( is_singular() ) {global $post; $gplus = get_the_author_meta( 'googleplus', $post->post_author );} echo $gplus; ?>"/>
إصلاح الأخطاء حقل في عداد المفقودين "تحديث"
وتشمل معظم الموضوعات وورد معلومات حول متى تم نشر آخر المعلومات في مجال آخر, ولكن عدد قليل جدا تشمل أيضا عندما كان آخر تحديث لل. هذا أمر مؤسف, because updated is required whereas published actually isn’t! مضيفا أنه من السهل على الرغم من, ومرة أخرى, يوجد 2 طرق, the proper way and the quick hack way. I recommend the proper way of course, ولكن إذا لزم الأمر يمكنك اللجوء إلى الإختراق السريع. ونحن في طريقنا أيضا إلى تغيير من تنسيقات microformat إلى البيانات الجزئية في نفس الوقت.
الطريقة الصحيحة
We’re going to add some additional information to post headers, كلا لمحركات البحث ولللدينا تجاه-IT-ORS. ونحن سوف تحتاج إلى القيام بذلك للوظائف, صفحات, المحفوظات والصفحة الرئيسية.
- نحن بحاجة للعثور على الملف الذي يحتوي على رمز الذي يولد الرابط نشرت. وهذا يكاد يكون من المؤكد استخدام وظيفة وورد get_the_date(). يمكنك البحث من خلال الموضوع الخاص بك ملفات, or refer to theme specific details below where I have provided details for lots of themes
- نحن نذهب لمعرفة ما اذا كان نشر مواعيد وتحديثها هي نفسها. إذا كانت سوف نقوم فقط بإضافة اضافية dateUp مؤرخة itemprop ولكن إذا كانت مختلفة ونحن سيتم إخراج بعض النص إضافية للزائر
- ونحن في طريقنا لإضافة فل المنخفضة جي (and modify it as it explains)
<?php if(get_the_date()==get_the_modified_date()): ?> //we're going to use the original code just with the updated class added //put your theme's original code here //remove any class="" //add itemprop="datePublished dateCreated dateModified" to the HTML tag surrounding the get_the_date() وظيفة <?php else: ?> //we're going to use slightly code just with the updated date added //copy your theme's original code to here and then modify it as below //remove any class="" //add itemprop="datePublished dateCreated" to the HTML tag surrounding the get_the_date() function //add in a new html tag into the line where you want it to appear as below //Updated <?php echo get_the_modified_date() ?> <?php endif; ?>
- You’ll either have to figure out the original theme’s code and edit it, or refer to the details for specific themes below.
- قد تضطر إلى تكرار هذا تحرير للملفات متعددة
الإختراق السريع
ونحن في طريقنا للغش وتوريد تاريخ نشر موعدا تحديث, حتى لو تمت فعلا تم تحديث آخر في الآونة الأخيرة. إذا تم تحديث آخر ثم سنقوم الواقع أن تقديم معلومات غير صحيحة, لكنها لا تزال يأكلون فال-ID-. هو حقا أفضل للقيام بذلك بشكل صحيح إذا كان ذلك ممكنا, ولكن إذا كنت مصرا على القيام به بهذه الطريقة على قراءة. على النحو الوارد أعلاه فإننا سوف تحتاج إلى القيام بذلك للوظائف, صفحات, المحفوظات والصفحة الرئيسية.
- على النحو الوارد أعلاه نحن بحاجة للعثور على الملف الذي يحتوي على رمز الذي يولد الرابط نشرت. وهذا يكاد يكون من المؤكد استخدام وظيفة وورد get_the_date(). يمكنك البحث من خلال الموضوع الخاص بك ملفات, أو الرجوع إلى الجدول أدناه حيث كنت قد قدمت تفاصيل عن الكثير من المواضيع
- العثور على HTML ايلى، منة أن سور تقريب التاريخ (غالبا ما سوف يكون
class="published"
). - تحرير عنصر عن طريق إزالة الطبقة وإضافة ما يلي بدلا من ذلك
itemprop="datePublished dateCreated dateUpdated"
- على النحو الوارد أعلاه, قد تحتاج إلى تكرار هذا في تحرير ملفات متعددة
استبدال تنسيقات microformat المدمج في (لأن خلط الأشكال المتكررة الغنية يكسر الأشياء)
بواسطة وورد الافتراضي لا يزال يستخدم microformat العلامات للتعليقات, الذي يبدو للأسف لكسر العلامات الجزئية للأشياء مثل وصفات. أفضل طريقة لإصلاح هذا هو لإزالة العلامات microformat واستبدالها البيانات الجزئية العلامات. لسوء الحظ, المهام الأساسية وورد التي تنتج هذه العلامات لم يكن لديك مرشح يقع أو ربط ذلك هذا يتطلب قليلا من ترقيع حول.
استبدال بصيغة بطاقة في قسم التعليقات
- ما نحن بصدد القيام به هو استخدام الاستدعاء تعليق على تغيير إخراج تعليقات. Many themes already use a callback which we can modify, وبالنسبة لأولئك الذين لا سنقوم بإضافة واحد على أساس الافتراضي وورد
- تحقق مما إذا كنت بالفعل موضوع الاستدعاء تعليق - بحث موضوع الملفات للحصول على وظيفة
wp_list_comments
. إذا كان يتضمن رمزcallback=
or'callback' =>
ثم أنه يستخدم الاستدعاء التي يجب أن تكون قادرة على العثور على (مشكله-باقتدار في functions.php) من خلال البحث عن اسم وظيفة رد الاتصال, والذي هو جزء بعد توقيع = أو سهم, e.g.wp_list_comments( array( 'callback' => 'twentyten_comment' ) );
orwp_list_comments('type=comment&callback=bones_comments');
. If it doesn’t then we will need to add one by addingcallback=diymh_comment
orarray( 'callback' => 'diymh_comment' )
إلى خط. - إذا كنت في حاجة لإضافة تعليق الاستدعاء ثم سوف تحتاج إلى إضافة التعليمات البرمجية التالية إلى functions.php
function diymh_comment($التعليق, $وسائط, $depth) { $GLOBALS['تعليق'] = $comment; ?> <أن <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>"> <شعبة معرف ="comment-<?php comment_ID(); ?>"> <فئة شعبة ="comment-author novcard"> <?php echo get_avatar($التعليق,$size='48',$default='<path_to_url>' ); ?> <?php printf(__('<cite class="FN">%ق</cite> <تمتد الطبقة ="says">says:</شبر>'), get_comment_author_link()) ?> </شعبة> <?php if ($comment->comment_approved == '0') : ?> <em><?php _e('Your comment is awaiting moderation.') ?></em> <ر /> <?php endif; ?> <فئة شعبة ="comment-meta commentmetadata"><وأ href ="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>"><?php printf(__('%1$s at %2$s'), get_comment_date(), get_comment_time()) ?></ا><?php edit_comment_link(__('(تحرير)'),' ','') ?></شعبة> <?php comment_text() ?> <فئة شعبة ="الرد"> <?php comment_reply_link(array_merge( $وسائط, مجموعة('depth' => $depth, 'max_depth' => $وسائط['max_depth']))) ?> </شعبة> </شعبة> <?فب }
- ستلاحظ أن هذا الرمز لديه
class="novcard"
instead of the originalclass="vcard".
- إذا الموضوع الخاص بك لم يكون الاستدعاء الخاصة تحتاج إلى العثور على وظيفة رد الاتصال واستبدال أي من الحالات
class="vcard"
معclass="novcard"
استبدال hfeed في رأس
- التالي, نحن بحاجة إلى إزالة أيضا أي حالات
class="hfeed"
, التي أوسو، حليف وجدت في header.php على. استبدال جميع rences-تحدث لhfeed
معnohfeed
استبدال hentry وعنوان المقتطفات المنسقة
- يمكننا استبدال هذه العناصر مع اثنين من وظائف أنيق تضاف إلى functions.php
function diymh_replace_hentry($classes){ إذا(($key = array_search('hentry', $classes)) !== false) $classes[$مفتاح]='nohentry'; return $classes; } add_filter('post_class','diymh_replace_hentry'); function diymh_microdata_title($لقب) { إرجاع '<span itemprop="اسم">'.$title.'</شبر>'; } add_filter('the_title', 'diymh_microdata_title', 10, 2);
إضافة نوع المعلومات (e.g. مقالة, وصفة, إلخ) إلى رأس المقال
- الأول, تقرر ما هو نوع العمل الذي تقوم بالنشر - على الأرجح مقال. إلقاء نظرة على القائمة في schema.org
- العثور على HTML العلامة التي تحوي على يؤديان
post_class()
- إضافة رمز
itemscope itemtype="https://schema.org/Article"
(استبدال المادة إذا اخترت نوع مختلف من العمل)
أخيرا, لتجنب كسر أي الأنماط
- سوف تحتاج إلى تحرير style.css الموضوع الخاص بك والقيام بعملية بحث / استبدال لاستبدال كافة مثيلات
.vcard
مع.novcard
واستبدال كافة مثيلات.hfeed
مع.nohfeed
بحيث التغييرات التي أجريناها لا خبط أي CSS الاسلوب جي من تعليقاتنا
تحديد أية أخطاء أخرى
Any other changes necessary will be detailed on a per theme basis below. إذا كان لديك الموضوع الذي كنت غير قادر على إصلاح يرجى ارسال تعليق. إذا به في موضوع حرة واسمحوا لي أن أعرف اسم الموضوع, and if it is a premium theme please let me know so I can provide you with an e‑mail address to send a zipped copy to.
تفاصيل موضوع محددة
Before just carrying out these edits don’t forget to carry out the steps to link your google profile and your site to each other, وتثبيت Yoast هذا, أو إضافة يوفر رمز أعلاه.
الحادي عشر 1.5
في functions.php استبدال هذا
function twentyten_posted_on() { printf( __( '<تمتد الطبقة ="%1$ق">Posted on</شبر> %2$ق <تمتد الطبقة ="meta-sep">بواسطة</شبر> %3$s', 'twentyten' ), 'meta-prep meta-prep-author', sprintf( '<وأ href ="%1$ق" عنوان ="%2$ق" rel="bookmark"><تمتد الطبقة ="entry-date">%3$ق</شبر></ا>', get_permalink(), esc_attr( get_the_time() ), get_the_date() ), sprintf( '<تمتد الطبقة ="author vcard"><a class="url fn n" = HREF"%1$ق" عنوان ="%2$ق">%3$ق</ا></شبر>', get_author_posts_url( get_the_author_meta( 'ID' ) ), esc_attr( sprintf( __( 'View all posts by %s', 'twentyten' ), get_the_author() ) ), get_the_author() ) ); }
مع هذا
function twentyten_posted_on() { إذا(get_the_date()==get_the_modified_date()){ printf( __( '<تمتد الطبقة ="%1$ق">Posted on</شبر> %2$ق <تمتد الطبقة ="meta-sep">بواسطة</شبر> %3$s', 'twentyten' ), 'meta-prep meta-prep-author', sprintf( '<وأ href ="%1$ق" عنوان ="%2$ق" rel="bookmark"><span itemprop="datePublished dateCreated dateModified">%3$ق</شبر></ا>', get_permalink(), esc_attr( get_the_time() ), get_the_date() ), sprintf( '<تمتد الطبقة ="author vcard"><a itemprop="الكاتب" = HREF"%1$ق" عنوان ="%2$ق">%3$ق</ا></شبر>', get_author_posts_url( get_the_author_meta( 'ID' ) ), esc_attr( sprintf( __( 'View all posts by %s', 'twentyten' ), get_the_author() ) ), get_the_author() ) ); } آخر{ printf( __( '<تمتد الطبقة ="%1$ق">Posted on</شبر> %2$ق <تمتد الطبقة ="meta-sep">بواسطة</شبر> %3$ق. Updated <span itemprop="dateModified">%4$ق</شبر>.', 'twentyten' ), 'meta-prep meta-prep-author', sprintf( '<وأ href ="%1$ق" عنوان ="%2$ق" rel="bookmark"><span itemprop="datePublished dateCreated">%3$ق</شبر></ا>', get_permalink(), esc_attr( get_the_time() ), get_the_date() ), sprintf( '<تمتد الطبقة ="author vcard"><a itemprop="الكاتب" = HREF"%1$ق" عنوان ="%2$ق">%3$ق</ا></شبر>', get_author_posts_url( get_the_author_meta( 'ID' ) ), esc_attr( sprintf( __( 'View all posts by %s', 'twentyten' ), get_the_author() ) ), get_the_author() ), get_the_modified_date() ); } }
في functions.php استبدال هذا
<فئة شعبة ="comment-author vcard">
مع هذا
<فئة شعبة ="comment-author novcard">
في header.php على استبدال هذا
<شعبة معرف ="wrapper" الطبقة ="hfeed">
مع هذا
<شعبة معرف ="wrapper" الطبقة ="nohfeed">
في loop.php (3 الحالات), حلقة single.php, حلقة page.php وحلقة attachment.php استبدال هذا
<شعبة معرف ="post-<?php the_ID(); ?>" <?php post_class(); ?>>
مع هذا
<شعبة معرف ="post-<?php the_ID(); ?>" <?php post_class(); ?> itemscope itemtype="HTTPS://schema.org/Article">
Twenty Eleven 1.5
كوم جي-قريبا جدا ...
Annotum قاعدة 1.1.1
في 7 ملفات (وظائف ميزات articles.php, مقتطفات نوع article.php, مقتطفات مقتطفات-default.php, المحتويات نوع article.php, المحتويات page.php, المحتويات محتوى default.php, المحتويات بالمادة pdf.php) استبدل
<article <?php post_class('article-full'); ?>>
مع
<article <?php post_class('article-full'); ?> itemscope itemtype="HTTPS://schema.org/Article">
Thanks — working on it — eisenberg.co.za
عظيم, grazie mille!