کتابخانه کد و توابع اختصاصی بیسکو وب

توابع تمیز، هوک‌های کارآمد و اسنیپت‌های تست‌شده برای وردپرس، ووکامرس، لاراول و وب مدرن جهت حذف افزونه‌های سنگین، بهبود نمره رندر و سرعت، با امکان کپی فوری و دانلود به عنوان افزونه آماده.

۱۰۰ قطعه کد آماده ۴۰۵۴۸ بار استفاده و کپی شده ۱۰۰٪ تست‌شده و ایمن
فضای کار توسعه و مهندسی کد استودیو بیسکو وب
PHP سئو تکنیکال (Technical SEO) Schema Generator Hook

اسکیمای مسیر راهنما در وردپرس (BreadcrumbList Schema JSON-LD)

با تزریق ساختار `BreadcrumbList` در هوک `wp_head` برای نوشته‌های تکی، سلسله مراتب کامل صفحه را به صورت JSON-LD به گوگل ارائه دهید.

پایین و بی‌خطر (Low Risk) متوسط (Medium)
<?php
/**
 * تولید خودکار اسکیمای مسیر راهنما (BreadcrumbList) برای نوشته‌های وبلاگ
 */
function bisco_output_breadcrumb_schema() {
    if ( ! is_single() ) {
        return;
    }

    global $post;
    $breadcrumbs = array();

    // گام اول: صفحه نخست
    $breadcrumbs[] = array(
        '@type'    => 'ListItem',
        'position' => 1,
        'name'     => 'صفحه اصلی',
        'item'     => esc_url( home_url( '/' ) ),
    );

    $position = 2;

    // گام دوم: دسته اول نوشته
    $categories = get_the_category( $post->ID );
    if ( ! empty( $categories ) ) {
        $first_cat = $categories[0];
        $breadcrumbs[] = array(
            '@type'    => 'ListItem',
            'position' => $position,
            'name'     => esc_html( $first_cat->name ),
            'item'     => esc_url( get_category_link( $first_cat->term_id ) ),
        );
        $position++;
    }

    // گام سوم: نوشته جاری
    $breadcrumbs[] = array(
        '@type'    => 'ListItem',
        'position' => $position,
        'name'     => esc_html( get_the_title( $post ) ),
        'item'     => esc_url( get_permalink( $post ) ),
    );

    $schema = array(
        '@context'        => 'https://schema.org',
        '@type'           => 'BreadcrumbList',
        'itemListElement' => $breadcrumbs,
    );

    echo '<script type="application/ld+json">' . wp_json_encode( $schema, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ) . '</script>' . "
";
}
add_action( 'wp_head', 'bisco_output_breadcrumb_schema', 3 );
۶۸۵ 1405/06/29
PHP سئو تکنیکال (Technical SEO) Filter Hook (wp_robots)

تنظیم شرطی متاتگ‌های روبات‌ها در وردپرس (Conditional Meta Robots)

با فیلتر `wp_robots`، متاتگ `noindex,follow` را برای صفحات جستجو و صفحات آرشیو با شماره صفحه (paged) تنظیم کنید.

متوسط (Medium Risk) متوسط (Medium)
<?php
/**
 * کنترل شرطی متاتگ‌های ایندکس ربات‌ها در صفحات مختلف
 */
function bisco_conditional_meta_robots( $robots ) {
    // اعمال noindex در صفحات نتایج جستجو
    if ( is_search() ) {
        $robots['noindex'] = true;
        $robots['follow']  = true;
    }

    // اعمال noindex در آرشیو تاریخ (سالانه/ماهانه)
    if ( is_date() ) {
        $robots['noindex'] = true;
        $robots['follow']  = true;
    }

    // اعمال noindex روی صفحات شماره‌دار (صفحه ۲ به بعد آرشیوها) جهت تمرکز اعتبار
    if ( is_paged() ) {
        $robots['noindex'] = true;
        $robots['follow']  = true;
    }

    return $robots;
}
add_filter( 'wp_robots', 'bisco_conditional_meta_robots' );
۶۸۰ 1405/06/29
PHP سئو تکنیکال (Technical SEO) Schema Generator Hook

اسکیمای ساختاریافته محصول ووکامرس (Product Schema JSON-LD)

با خواندن شیء محصول توسط `wc_get_product` اسکیمای کامل قیمت و موجودی را با فرمت JSON-LD تزریق کنید.

متوسط (Medium Risk) پیشرفته (Hard)
<?php
/**
 * تولید اسکیمای جامع و اختصاصی محصول ووکامرس (Product Schema) سازگار با HPOS
 */
function bisco_output_product_schema() {
    if ( ! function_exists( 'is_product' ) || ! is_product() ) {
        return;
    }

    $product = wc_get_product( get_the_ID() );
    if ( ! $product ) {
        return;
    }

    $image_id  = $product->get_image_id();
    $image_url = $image_id ? wp_get_attachment_url( $image_id ) : home_url( '/placeholder.jpg' );

    $schema = array(
        '@context'    => 'https://schema.org',
        '@type'       => 'Product',
        'name'        => esc_html( $product->get_name() ),
        'image'       => array( esc_url( $image_url ) ),
        'description' => esc_html( wp_strip_all_tags( $product->get_short_description() ?: $product->get_description() ) ),
        'sku'         => esc_html( $product->get_sku() ?: 'SKU-' . $product->get_id() ),
        'offers'      => array(
            '@type'           => 'Offer',
            'url'             => esc_url( get_permalink( $product->get_id() ) ),
            'priceCurrency'   => get_woocommerce_currency(),
            'price'           => $product->get_price() ?: '0',
            'priceValidUntil' => gmdate( 'Y-12-31', strtotime( '+1 year' ) ),
            'availability'    => $product->is_in_stock() ? 'https://schema.org/InStock' : 'https://schema.org/OutOfStock',
            'itemCondition'   => 'https://schema.org/NewCondition',
        ),
    );

    // افزودن امتیاز خریداران در صورت وجود
    if ( $product->get_rating_count() > 0 ) {
        $schema['aggregateRating'] = array(
            '@type'       => 'AggregateRating',
            'ratingValue' => $product->get_average_rating(),
            'reviewCount' => $product->get_rating_count(),
        );
    }

    echo '<script type="application/ld+json">' . wp_json_encode( $schema, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ) . '</script>' . "
";
}
add_action( 'wp_head', 'bisco_output_product_schema', 5 );
۶۷۴ 1405/06/29
PHP سئو تکنیکال (Technical SEO) Schema Generator Hook

اسکیمای ساختاریافته مقاله و خبر در وردپرس (Article Schema JSON-LD)

با درج داده‌های عنوان، تاریخ‌ها و مشخصات نویسنده در قالب اسکیمای `Article` در هک `wp_head` برای مقالات، تأییدیه کامل گوگل را دریافت کنید.

پایین و بی‌خطر (Low Risk) متوسط (Medium)
<?php
/**
 * تولید خودکار اسکیمای غنی مقاله (Article) با فرمت مدرن JSON-LD
 */
function bisco_output_article_schema() {
    if ( ! is_single() || 'post' !== get_post_type() ) {
        return;
    }

    global $post;
    $author_id = $post->post_author;
    $thumbnail_url = has_post_thumbnail( $post->ID ) ? get_the_post_thumbnail_url( $post->ID, 'full' ) : home_url( '/default-share.jpg' );

    $schema = array(
        '@context'         => 'https://schema.org',
        '@type'            => 'Article',
        'mainEntityOfPage' => array(
            '@type' => 'WebPage',
            '@id'   => esc_url( get_permalink( $post ) ),
        ),
        'headline'         => esc_html( get_the_title( $post ) ),
        'image'            => array(
            esc_url( $thumbnail_url ),
        ),
        'datePublished'    => get_the_date( 'c', $post ),
        'dateModified'     => get_the_modified_date( 'c', $post ),
        'author'           => array(
            '@type' => 'Person',
            'name'  => esc_html( get_the_author_meta( 'display_name', $author_id ) ),
            'url'   => esc_url( get_author_posts_url( $author_id ) ),
        ),
        'publisher'        => array(
            '@type' => 'Organization',
            'name'  => get_bloginfo( 'name' ),
            'logo'  => array(
                '@type' => 'ImageObject',
                'url'   => esc_url( home_url( '/logo.png' ) ),
            ),
        ),
        'description'      => esc_html( wp_strip_all_tags( get_the_excerpt( $post ) ) ),
    );

    echo '<script type="application/ld+json">' . wp_json_encode( $schema, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ) . '</script>' . "
";
}
add_action( 'wp_head', 'bisco_output_article_schema', 4 );
۵۲۰ 1405/06/29
PHP سئو تکنیکال (Technical SEO) Template Redirect Hook

ریدایرکت صفحات پیوست به پست والد در وردپرس (Redirect Attachment Pages)

با هوک `template_redirect`، تمام صفحات پیوست را با کد ریدایرکت ۳۰۱ دائمی به پست والد یا صفحه اصلی هدایت کنید.

متوسط (Medium Risk) مبتدی (Easy)
<?php
/**
 * هدایت صفحات پیوست تصاویر به نوشته والد یا صفحه اصلی با ریدایرکت ۳۰۱
 * جهت حذف محتوای بی‌کیفیت (Thin Content) و بهبود سئوی تکنیکال
 */
function bisco_redirect_attachment_pages() {
    if ( is_attachment() ) {
        global $post;
        if ( ! empty( $post->post_parent ) && is_numeric( $post->post_parent ) ) {
            $parent_url = get_permalink( $post->post_parent );
            wp_safe_redirect( $parent_url, 301 );
            exit;
        } else {
            // در صورتی که عکس والدی نداشته باشد، به صفحه اصلی ریدایرکت شود
            wp_safe_redirect( home_url( '/' ), 301 );
            exit;
        }
    }
}
add_action( 'template_redirect', 'bisco_redirect_attachment_pages' );
۵۱۰ 1405/06/29
PHP سئو تکنیکال (Technical SEO) Filter Hook (robots_txt)

شخصی‌سازی فایل robots.txt مجازی در وردپرس (Customize robots.txt)

با فیلتر `robots_txt` متن استاندارد شامل مسدودسازی `/wp-admin/`، `/cart/` و معرفی نقشه سایت را تزریق کنید.

متوسط (Medium Risk) متوسط (Medium)
<?php
/**
 * شخصی‌سازی دستورات فایل مجازی robots.txt در وردپرس
 */
function bisco_custom_robots_txt( $output, $public ) {
    // اگر سایت در حالت عمومی (نمایه برای موتورهای جستجو) قرار دارد
    if ( '1' === $public ) {
        $rules  = "User-agent: *
";
        $rules .= "Disallow: /wp-admin/
";
        $rules .= "Allow: /wp-admin/admin-ajax.php
";
        $rules .= "Disallow: /cart/
";
        $rules .= "Disallow: /checkout/
";
        $rules .= "Disallow: /my-account/
";
        $rules .= "Disallow: /*?add-to-cart=*
";
        $rules .= "Disallow: /author/
";
        $rules .= "
";
        $rules .= "Sitemap: " . esc_url( home_url( '/wp-sitemap.xml' ) ) . "
";

        return $rules;
    }

    return $output;
}
add_filter( 'robots_txt', 'bisco_custom_robots_txt', 10, 2 );
۵۰۸ 1405/06/29

تعریف لینک کانونیکال اختصاصی در وردپرس (Custom Canonical URL)

با بازتعریف تگ کانونیکال در هدر و حذف پارامترهای اضافی کوئری استرینگ از آدرس، مطمئن‌ترین آدرس مرجع را به گوگل معرفی کنید.

متوسط (Medium Risk) متوسط (Medium)
<?php
/**
 * پاکسازی آدرس کانونیکال از پارامترهای اضافه و تضمین آدرس مرجع یکتا
 */
function bisco_custom_canonical_url() {
    if ( is_singular() ) {
        $canonical_url = get_permalink();
        echo '<link rel="canonical" href="' . esc_url( $canonical_url ) . '" />' . "
";
    } elseif ( is_home() || is_front_page() ) {
        echo '<link rel="canonical" href="' . esc_url( home_url( '/' ) ) . '" />' . "
";
    }
}

// حذف کانونیکال پیش‌فرض وردپرس و جایگزینی با نسخه استاندارد
remove_action( 'wp_head', 'rel_canonical' );
add_action( 'wp_head', 'bisco_custom_canonical_url', 5 );
۴۶۱ 1405/06/29

حذف تاکسونومی سفارشی از نقشه سایت وردپرس (Remove Taxonomy from Sitemap)

با فیلتر `wp_sitemaps_taxonomies`، تاکسونومی‌های مورد نظر (مثلاً post_tag یا ویژگی‌های ووکامرس) را از sitemap حذف نمایید.

متوسط (Medium Risk) متوسط (Medium)
<?php
/**
 * حذف برچسب‌ها و تاکسونومی‌های دلخواه از نقشه سایت بومی وردپرس
 */
function bisco_remove_taxonomies_from_sitemap( $taxonomies ) {
    // حذف برچسب‌های پیش‌فرض نوشته‌ها
    unset( $taxonomies['post_tag'] );

    // حذف فرمت‌های نوشته
    unset( $taxonomies['post_format'] );

    return $taxonomies;
}
add_filter( 'wp_sitemaps_taxonomies', 'bisco_remove_taxonomies_from_sitemap' );
۴۵۴ 1405/06/29

حذف پست‌تایپ سفارشی از نقشه سایت وردپرس (Remove Post Type from Sitemap)

با فیلتر `wp_sitemaps_post_types` نام پست‌تایپ مورد نظر را از آرایه نقشه‌های سایت وردپرس حذف کنید.

متوسط (Medium Risk) متوسط (Medium)
<?php
/**
 * حذف پست‌تایپ‌های خاص از نقشه سایت بومی وردپرس (wp-sitemap.xml)
 */
function bisco_remove_cpt_from_sitemap( $post_types ) {
    // حذف پست‌تایپ اسلایدر و پاپ‌آپ‌ها از نقشه سایت
    unset( $post_types['slider'] );
    unset( $post_types['popup_builder'] );
    unset( $post_types['team_member'] );

    return $post_types;
}
add_filter( 'wp_sitemaps_post_types', 'bisco_remove_cpt_from_sitemap' );
۲۹۲ 1405/06/29

شورت‌کد نمایش تاریخ آخرین به‌روزرسانی نوشته در وردپرس (Last Updated Shortcode)

با شورت‌کد `[last_updated]` تاریخ آخرین اصلاح نوشته را به صورت زیبا در ابتدای مقالات نمایش دهید.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
<?php
/**
 * شورت‌کد نمایش تاریخ آخرین به‌روزرسانی نوشته
 * نحوه استفاده: [last_updated]
 */
function bisco_last_updated_date_shortcode() {
    $modified_time = get_the_modified_time( 'U' );
    $created_time  = get_the_time( 'U' );

    // اگر نوشته حداقل ۱ روز بعد از ایجاد آپدیت شده باشد تاریخ ویرایش را نشان بده
    if ( $modified_time > ( $created_time + DAY_IN_SECONDS ) ) {
        $date_format = get_option( 'date_format' );
        $updated_date = get_the_modified_date( $date_format );

        return '<span class="bisco-last-updated">آخرین به‌روزرسانی: ' . esc_html( $updated_date ) . '</span>';
    }

    return '';
}
add_shortcode( 'last_updated', 'bisco_last_updated_date_shortcode' );
۲۵۰ 1405/06/29
PHP سئو تکنیکال (Technical SEO) Schema Generator Hook

اسکیمای ساختاریافته سازمان و کسب‌وکار در وردپرس (Organization Schema JSON-LD)

با هوک `wp_head` یک بلاک اسکریپت `application/ld+json` معتبر حاوی اطلاعات برند و شبکه‌های اجتماعی در صفحه اصلی درج کنید.

پایین و بی‌خطر (Low Risk) متوسط (Medium)
<?php
/**
 * تزریق اسکیمای معتبر داده‌های سازمان (Organization) به صورت JSON-LD در هدر
 */
function bisco_output_organization_schema() {
    // اسکیمای سازمان را منحصراً در صفحه اصلی درج می‌کنیم تا از تکرار در کل صفحات پرهیز شود
    if ( ! is_front_page() ) {
        return;
    }

    $schema = array(
        '@context'      => 'https://schema.org',
        '@type'         => 'Organization',
        '@id'           => esc_url( home_url( '/#organization' ) ),
        'name'          => get_bloginfo( 'name' ),
        'url'           => esc_url( home_url( '/' ) ),
        'logo'          => array(
            '@type'  => 'ImageObject',
            'url'    => esc_url( home_url( '/logo.png' ) ), // نشانی مستقیم فایل لوگوی رسمی
            'width'  => 512,
            'height' => 512,
        ),
        'contactPoint'  => array(
            '@type'             => 'ContactPoint',
            'telephone'         => '+98-21-12345678',
            'contactType'       => 'customer service',
            'areaServed'        => 'IR',
            'availableLanguage' => array( 'Persian' ),
        ),
        'sameAs'        => array(
            'https://www.instagram.com/yourbrand',
            'https://t.me/yourbrand',
            'https://x.com/yourbrand',
            'https://www.linkedin.com/company/yourbrand',
        ),
    );

    echo '<script type="application/ld+json">' . wp_json_encode( $schema, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT ) . '</script>' . "
";
}
add_action( 'wp_head', 'bisco_output_organization_schema', 2 );
۲۰۸ 1405/06/29

شورت‌کد نمایش سال جاری در وردپرس (Current Year Shortcode)

با قرار دادن کد زیر در functions.php، با نوشتن `[current_year]` سال جاری همیشه به صورت پویا چاپ می‌شود.

پایین و بی‌خطر (Low Risk) مبتدی (Easy)
<?php
/**
 * شورت‌کد نمایش سال جاری (میلادی یا هجری شمسی)
 * نحوه استفاده: [current_year] یا [current_year calendar="jalali"]
 */
function bisco_current_year_shortcode( $atts ) {
    $atts = shortcode_atts( array(
        'calendar' => 'gregorian', // 'jalali' یا 'gregorian'
    ), $atts );

    if ( 'jalali' === $atts['calendar'] && function_exists( 'jdate' ) ) {
        return jdate( 'Y' );
    }

    return date( 'Y' );
}
add_shortcode( 'current_year', 'bisco_current_year_shortcode' );
۶۴ 1405/06/29

سبد خرید شما

0 افزونه

سبد خرید شما خالی است

هنوز محصولی را به سبد خرید اضافه نکرده‌اید. می‌توانید از افزونه‌های اختصاصی ما دیدن فرمایید.

مشاهده فروشگاه افزونه‌ها

ثبت درخواست مشاوره

با تکمیل فرم زیر، کارشناسان فنی بیسکو وب در سریع‌ترین زمان ممکن با شما تماس می‌گیرند.

مشاور
پشتیبانی و مشاوره تخصصی
پاسخگویی سریع کارشناسان
09903336117