ورود

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مشکل با Structured Data > hentry گوگل وبمستر



hmydcm
February 18th, 2017, 22:57
سلام.
امروز متوجه شدم در گوگل وبمستر بخش structured data و زیر مجموعه hentry ارور می ده!
فکرمیکنم مربوط به بخش نویسنده و عنوان موضوعات باشه باتوجه به اونچه نوشته اما مشکلی نمی بینم!
شات رو ببینید. کسی می دونه علت و راه حل چی هست؟

http://up.vbiran.ir/uploads/24465148744587640424_Untitled.png

amin karimi
February 18th, 2017, 23:12
با اجازه استارتر منم الان دیدم ارور دارم 169 ممنون میشم بگین مشکل از کجاست

shayandavoudi
February 19th, 2017, 09:31
hentry یه مقدار قدیمیه و مخصوصا توی سایتای وردپرس که از قالب هایی استفاده می کنن که فارسیه / آپدیت نمیشه / استاندارد نیست، این مشکل هست.

upnull50
February 20th, 2017, 18:21
منم الان متوجه شدم سایتم چند هزار ارور از این نوع داره
قالب سایتم انگلیسیه و به روز هم هست آیا این ارور راه حلی داره؟

amin karimi
February 20th, 2017, 20:58
سلام

دلیل این خطا این است که تگ div در پست های ارسالی شما دارای hentry نیست .

hentry چیست ؟ hentry رو میشه یک کلس برای css معرفی کرد و hentry ها به اسپایدر های گوگل کمک میکند تا اطلاعاتی راجع به پست های شما جمع آوری کند و آن را در لیست جستجو های خودش نمایش دهد .

شما میتوانید اطلاعات کامل تر را راجع به Structured Data (http://www.icseo.ir/?p=9925) در اینجا (http://www.icseo.ir/?p=9925) ببینید .

چگونه خطای Structured Data را از رفع کنیم ؟


برای رفع ارور Structured Data شمامیتوانید به راحتی و با اضافه کردن تگ span tags به پست های خود این خطا را در گوگل کنسول از بین ببرید . برای این کار شما ابتدا باید وارد کنترول پنل هاست خود شده و وارد مسیر زیر شوید :


wp-content/themes/mytheme



منظور از mytheme نام پوشه سایت شما میباشد .البته به این نکته نیز توجه کنید که تگ هایی که در ادامه به معرفی آن ها میپردازیم میتواند در چندین فایل php قالب سایت شما وجود داشته باشند , بنابر این پیشنهاد میکنیم که تمامی فایل های php قالب خود را بگردید و تغییرات لازم را اعمال نمایید .

در این جا به بررسی یک مثال ساده در مورد چگونگی رفع ارور entry-title در قالب single.php میپردازیم :
برای این منظور شما ابتدا باید در قالب single.php به دنبال کد زیر بگردید


<h2><?php the_title(); ?></h2>

سپس کد مربوطه را حذف کرده و کد زیر را جایگزین آن نمایید . تفاوت دو کد این است که در کد زیر یک کلس entry-title به آن اضافه شده است .که این کلس باعث میشود که entry-title مورد نیاز گوگل و سایر موتور های جستجوگر به اسپایدر های آن ها تحویل داده شود با این کار این ارور در گوگل کنسول از بین خواهد رفت .




<h2 class="entry-title"><?php the_title(); ?></h2>




حال نوبت به رفع خطای author میباشد . این خطا نیز دقیقا مانند خطای قبلی میباشد . برای رفع این خطا ابتدا شما باید در قالب single.php و یا قالب های دیگر خود به دنبال کد زیر بگردید :



<?php the_author(); ?>

حال با کد زیر جایگزین کنید :


<span class="vcard author post-author"><span class="fn"><?php the_author(); ?></span></span>


حال نوبت به رفع خطای updated میرسد . برای این کار کافیست کد زیر را پیدا کنید :


<?php the_date(); ?>

و با کد زیر جایگزین کنید :


<span class="vcard author post-author"><span class="fn"><?php the_author(); ?></span></span>







حال از کجا بدانیم که این ارور برطرف شده است ؟

برای این کار کافیست از ابزاری که گوگل در اینجا (https://developers.google.com/structured-data/testing-tool/) معرفی کرده است کمک بگیرید .


امیدوارم که این آموزش به درد شما عزیزان خورده باشد .

موفق و سرفراز باشید .

upnull50
February 27th, 2017, 00:10
سلام

دلیل این خطا این است که تگ div در پست های ارسالی شما دارای hentry نیست .

hentry چیست ؟ hentry رو میشه یک کلس برای css معرفی کرد و hentry ها به اسپایدر های گوگل کمک میکند تا اطلاعاتی راجع به پست های شما جمع آوری کند و آن را در لیست جستجو های خودش نمایش دهد .

شما میتوانید اطلاعات کامل تر را راجع به Structured Data (http://www.icseo.ir/?p=9925) در اینجا (http://www.icseo.ir/?p=9925) ببینید .

چگونه خطای Structured Data را از رفع کنیم ؟


برای رفع ارور Structured Data شمامیتوانید به راحتی و با اضافه کردن تگ span tags به پست های خود این خطا را در گوگل کنسول از بین ببرید . برای این کار شما ابتدا باید وارد کنترول پنل هاست خود شده و وارد مسیر زیر شوید :


wp-content/themes/mytheme



منظور از mytheme نام پوشه سایت شما میباشد .البته به این نکته نیز توجه کنید که تگ هایی که در ادامه به معرفی آن ها میپردازیم میتواند در چندین فایل php قالب سایت شما وجود داشته باشند , بنابر این پیشنهاد میکنیم که تمامی فایل های php قالب خود را بگردید و تغییرات لازم را اعمال نمایید .

در این جا به بررسی یک مثال ساده در مورد چگونگی رفع ارور entry-title در قالب single.php میپردازیم :
برای این منظور شما ابتدا باید در قالب single.php به دنبال کد زیر بگردید


<h2><?php the_title(); ?></h2>

سپس کد مربوطه را حذف کرده و کد زیر را جایگزین آن نمایید . تفاوت دو کد این است که در کد زیر یک کلس entry-title به آن اضافه شده است .که این کلس باعث میشود که entry-title مورد نیاز گوگل و سایر موتور های جستجوگر به اسپایدر های آن ها تحویل داده شود با این کار این ارور در گوگل کنسول از بین خواهد رفت .




<h2 class="entry-title"><?php the_title(); ?></h2>




حال نوبت به رفع خطای author میباشد . این خطا نیز دقیقا مانند خطای قبلی میباشد . برای رفع این خطا ابتدا شما باید در قالب single.php و یا قالب های دیگر خود به دنبال کد زیر بگردید :



<?php the_author(); ?>

حال با کد زیر جایگزین کنید :


<span class="vcard author post-author"><span class="fn"><?php the_author(); ?></span></span>


حال نوبت به رفع خطای updated میرسد . برای این کار کافیست کد زیر را پیدا کنید :


<?php the_date(); ?>

و با کد زیر جایگزین کنید :


<span class="vcard author post-author"><span class="fn"><?php the_author(); ?></span></span>







حال از کجا بدانیم که این ارور برطرف شده است ؟

برای این کار کافیست از ابزاری که گوگل در اینجا (https://developers.google.com/structured-data/testing-tool/) معرفی کرده است کمک بگیرید .


امیدوارم که این آموزش به درد شما عزیزان خورده باشد .

موفق و سرفراز باشید .








آقا ممنون از لطفت
من سایتم چند هزار تا از این ارورها داره ولی همشون از نوعه updated هستن ( عکسشو ضمیمه کردم)
حالا با توجه به این مساله فقط باید اون کد آخر را به قالب اضافه کنم؟

http://uupload.ir/files/2hv1_snap1.jpg (http://uupload.ir/)

saeid1872
April 15th, 2017, 13:13
ممنون بابت توضیحات کاملتون
ولی من هیچ کدوم از این کدها رو تو هیچ کدوم از قالب هام پیدا نکردم تمامشونم با جطئیات سرچ کردم ولی نبود
خواهشا بگید چیکار کنم؟

REDSTARRRRRR
September 14th, 2017, 10:18
سلام داخل تم من اصلا کدهایی که نوشتید وجود ندارن. خودم می تونم ایجادشون کنم یا اینکه اگر نمی تونم بفرمایید باید چکار کنم
خطای سایت خیلی زیاد شده

mojtaba05
September 14th, 2017, 11:46
سلام
یکی از کلاس هایی که تابع <?php post_class(); ?> اضافه می کنه، کلاس hentry هست. و چون این کلاس در قالب وجود داره، ولی بقیه موارد خواسته شده برای استراکچر دتا در قالب وجود نداره، گوگل خطا ثبت می کنه. برای جلوگیری از اضافه شدن این کلاس توسط وردپرس این کد رو به فایل functions قالب اضافه کنید:


function themeslug_remove_hentry( $classes ) {
if ( is_page() ) {
$classes = array_diff( $classes, array( 'hentry' ) );
}
return $classes;
}
add_filter( 'post_class','themeslug_remove_hentry' );

منبع:
https://swampsidestudio.com/remove-wordpress-hentry-class/

REDSTARRRRRR
September 15th, 2017, 23:36
سلام
یکی از کلاس هایی که تابع <?php post_class(); ?> اضافه می کنه، کلاس hentry هست. و چون این کلاس در قالب وجود داره، ولی بقیه موارد خواسته شده برای استراکچر دتا در قالب وجود نداره، گوگل خطا ثبت می کنه. برای جلوگیری از اضافه شدن این کلاس توسط وردپرس این کد رو به فایل functions قالب اضافه کنید:


function themeslug_remove_hentry( $classes ) {
if ( is_page() ) {
$classes = array_diff( $classes, array( 'hentry' ) );
}
return $classes;
}
add_filter( 'post_class','themeslug_remove_hentry' );

منبع:
https://swampsidestudio.com/remove-wordpress-hentry-class/
واقعا ممنونم به خاظر پاسخدهیتون
ولی با عرضمعذرت من این کد رو کجای تابع function باید قرار بدم؟ یعنی باید دقیقا همین کد رو در تابع فانکشن بذارم تا مشکل رفع بشه؟

mojtaba05
September 15th, 2017, 23:56
واقعا ممنونم به خاظر پاسخدهیتون
ولی با عرضمعذرت من این کد رو کجای تابع function باید قرار بدم؟ یعنی باید دقیقا همین کد رو در تابع فانکشن بذارم تا مشکل رفع بشه؟


به انتهای فایل functions.php و قبل از بسته شدن تگ پی اچ پی اضافه کنید.
توجه داشته باشید که خطاها به مرور در گوگل وبمستر کاهش پیدا می کنند، به صورت فوری نیست.

REDSTARRRRRR
September 16th, 2017, 09:36
به انتهای فایل functions.php و قبل از بسته شدن تگ پی اچ پی اضافه کنید.
توجه داشته باشید که خطاها به مرور در گوگل وبمستر کاهش پیدا می کنند، به صورت فوری نیست.

با عرض معذرت من نفهمیدم کجاش باید اضافه کنم.:-? لطفا کمک کنید8-|


if ( ! function_exists( 'purelife_setup' ) ) :


function purelife_setup() {


load_theme_textdomain( 'purelife', get_template_directory() . '/languages' );


// Add default posts and comments RSS feed links to head.
add_theme_support( 'automatic-feed-links' );


/*
* Let WordPress manage the document title.
* By adding theme support, we declare that this theme does not use a
* hard-coded <title> tag in the document head, and expect WordPress to
* provide it for us.
*/
add_theme_support( 'title-tag' );


/*
* Enable support for Post Thumbnails on posts and pages.
*
* @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/
*/
add_theme_support( 'post-thumbnails' );


// This theme uses wp_nav_menu() in one location.
register_nav_menus( array(
'primary' => esc_html__( 'Primary Menu', 'purelife' ),
'secondary' => esc_html__( 'Secondary Menu', 'purelife' ),
'footer' => esc_html__( 'Footer Menu', 'purelife' ),
) );


/*
* Switch default core markup for search form, comment form, and comments
* to output valid HTML5.
*/
add_theme_support( 'html5', array(
'search-form',
'comment-form',
'comment-list',
'gallery',
'caption',
) );


// Set up the WordPress core custom background feature.
add_theme_support( 'custom-background', apply_filters( 'purelife_custom_background_args', array(
'default-color' => 'ffffff',
'default-image' => '',
) ) );


add_editor_style();
}
endif;
add_action( 'after_setup_theme', 'purelife_setup' );


/**
* Set the content width in pixels, based on the theme's design and stylesheet.
*
* Priority 0 to make it available to lower priority callbacks.
*
* @global int $content_width
*/
function purelife_content_width() {
$GLOBALS['content_width'] = apply_filters( 'purelife_content_width', 760 );
}
add_action( 'after_setup_theme', 'purelife_content_width', 0 );


/**
* Register widget area.
*
* @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar
*/
function purelife_sidebar_init() {


register_sidebar( array(
'name' => esc_html__( 'Sidebar', 'purelife' ),
'id' => 'sidebar-1',
'description' => esc_html__( 'Add widgets here.', 'purelife' ),
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>',
) );


register_sidebar( array(
'name' => esc_html__( 'Footer Column 1', 'purelife' ),
'id' => 'footer-1',
'description' => esc_html__( 'Add widgets here.', 'purelife' ),
'before_widget' => '<div id="%1$s" class="widget footer-widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Column 2', 'purelife' ),
'id' => 'footer-2',
'description' => esc_html__( 'Add widgets here.', 'purelife' ),
'before_widget' => '<div id="%1$s" class="widget footer-widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Column 3', 'purelife' ),
'id' => 'footer-3',
'description' => esc_html__( 'Add widgets here.', 'purelife' ),
'before_widget' => '<div id="%1$s" class="widget footer-widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Column 4', 'purelife' ),
'id' => 'footer-4',
'description' => esc_html__( 'Add widgets here.', 'purelife' ),
'before_widget' => '<div id="%1$s" class="widget footer-widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );


register_sidebar( array(
'name' => esc_html__( 'Header Advertisement', 'purelife' ),
'id' => 'header-ad',
'description' => esc_html__( 'Drag the "Advertisement" widget here.', 'purelife' ),
'before_widget' => '<div id="%1$s" class="header-ad %2$s">',
'after_widget' => '</div>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );


}
add_action( 'widgets_init', 'purelife_sidebar_init' );


/**
* Implement the Custom Header feature.
*/
require get_template_directory() . '/inc/custom-header.php';


/**
* Custom template tags for this theme.
*/
require get_template_directory() . '/inc/template-tags.php';


/**
* Custom functions that act independently of the theme templates.
*/
require get_template_directory() . '/inc/extras.php';


/**
* Customizer additions.
*/


require get_template_directory() . '/admin/customizer-library.php';


require get_template_directory() . '/admin/customizer-options.php';


require get_template_directory() . '/admin/styles.php';


require get_template_directory() . '/admin/mods.php';


require get_template_directory() . '/inc/customizer.php';


/**
* Load Jetpack compatibility file.
*/
require get_template_directory() . '/inc/jetpack.php';


/**
* Load plugins.
*/
require get_template_directory() . '/inc/plugins.php';


/**
* Enqueues scripts and styles.
*/
function purelife_scripts() {


// load jquery if it isn't


//wp_enqueue_script('jquery');
wp_enqueue_script('jquery', get_stylesheet_directory_uri() . '/assets/js/jquery.js', array(), '', true );


// Enqueues Javascripts
wp_enqueue_script( 'superfish', get_stylesheet_directory_uri() . '/assets/js/superfish.js', array(), '', true );
wp_enqueue_script( 'modernizr', get_stylesheet_directory_uri() . '/assets/js/modernizr.min.js',array(), '', true );
wp_enqueue_script( 'html5', get_template_directory_uri() . '/assets/js/html5.js', array(), '', true );
wp_enqueue_script( 'match-height', get_template_directory_uri() . '/assets/js/jquery.matchHeight-min.js', array(), '', true );
wp_enqueue_script( 'sticky', get_template_directory_uri() . '/assets/js/jquery.sticky.js', array(), '', true );
wp_enqueue_script( 'custom', get_stylesheet_directory_uri() . '/assets/js/jquery.custom.js', array(), '20170228', true );


// Enqueues CSS styles
wp_enqueue_style( 'purelife-style', get_stylesheet_uri(), array(), '20161209' );
wp_enqueue_style( 'superfish-style', get_template_directory_uri() . '/assets/css/superfish.css' );
wp_enqueue_style( 'genericons-style', get_template_directory_uri() . '/genericons/genericons.css' );




if ( get_theme_mod( 'site-layout', 'choice-1' ) == 'choice-1' ) {
wp_enqueue_style( 'responsive-style', get_template_directory_uri() . '/responsive.css', array(), '20161209' );
}

if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
wp_enqueue_script( 'comment-reply' );
}
}
add_action( 'wp_enqueue_scripts', 'purelife_scripts' );


/**
* Post Thumbnails.
*/
if ( function_exists( 'add_theme_support' ) ) {
add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 300, 300, true ); // default Post Thumbnail dimensions (cropped)
add_image_size( 'post_thumb', 700, 400, true ); //
}


/**
* Registers custom widgets.
*/
function purelife_widgets_init() {


require trailingslashit( get_template_directory() ) . 'inc/widgets/widget-popular.php';
register_widget( 'purelife_Popular_Widget' );


require trailingslashit( get_template_directory() ) . 'inc/widgets/widget-recent.php';
register_widget( 'purelife_Recent_Widget' );


require trailingslashit( get_template_directory() ) . 'inc/widgets/widget-random.php';
register_widget( 'purelife_Random_Widget' );


require trailingslashit( get_template_directory() ) . 'inc/widgets/widget-views.php';
register_widget( 'purelife_Views_Widget' );


require trailingslashit( get_template_directory() ) . 'inc/widgets/widget-social.php';
register_widget( 'purelife_Social_Widget' );


require trailingslashit( get_template_directory() ) . 'inc/widgets/widget-ad.php';
register_widget( 'purelife_Ad_Widget' );


require trailingslashit( get_template_directory() ) . 'inc/widgets/widget-newsletter.php';
register_widget( 'purelife_Newsletter_Widget' );


}
add_action( 'widgets_init', 'purelife_widgets_init' );


/* Fix PHP warning */
function _get($str){
$val = !empty($_GET[$str]) ? $_GET[$str] : null;
return $val;
}

mojtaba05
September 16th, 2017, 10:12
اگه انتهای فایل تگ بسته پی اچ پی ?> نداره، به آخر فایل اضافه کنید.

REDSTARRRRRR
September 16th, 2017, 10:23
اگه انتهای فایل تگ بسته پی اچ پی ?> نداره، به آخر فایل اضافه کنید.

کل کد داخل تابع همین بود
اول کد انگاری برای کدنویسی <؟ نیست؟