Language EN
חיפוש

ארכיונים: Snippets | עמוד 3

הפניית שגיאות 404 לעמוד הבית

אם אתם מעוניינים להפנות משתמשים שמגיעים לעמוד לא קיים (404) לעמוד הבית, הוסיפו את הקוד הבא. שימו לב: גוגל ממליצה להציג עמוד 404 מותאם. לעוד על מה גורם לשגיאות 404 וכיצד לטפל בהן.

add_action( 'template_redirect', function() {
	if ( is_404() ) {
		wp_redirect( home_url(), 302 );
		exit;
	}
} );

הפעלת HPOS בווקומרס

HPOS (High-Performance Order Storage) משפר ביצועי הזמנות בווקומרס. ניתן להפעיל דרך קוד. לעוד על האפשרות HPOS באתרי ווקומרס.

add_action( 'before_woocommerce_init', function() {
	if ( class_exists( AutomatticWooCommerceUtilitiesFeaturesUtil::class ) ) {
		AutomatticWooCommerceUtilitiesFeaturesUtil::declare_compatibility( 'custom_order_tables', __FILE__, true );
	}
} );

לאחר מכן הפעילו ב-WooCommerce > Settings > Advanced > Features.

הסרת סקריפטי oEmbed של וורדפרס

וורדפרס טוענת סקריפטי oEmbed להטמעת תוכן מ-YouTube, Twitter וכו'. אם אינכם משתמשים בהטמעות, הסירו אותם. לעוד טיפים על אופטימיזציית ביצועים.

remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
remove_action( 'wp_head', 'wp_oembed_add_host_js' );
remove_action( 'rest_api_init', 'wp_oembed_register_route' );
add_filter( 'embed_oembed_discover', '__return_false' );
add_filter( 'oembed_dataparse', '__return_false' );

ביטול XML-RPC בוורדפרס

XML-RPC מאפשר חיבורים מרחוק לאתר הוורדפרס (למשל מהאפליקציה או Pingback). רוב האתרים לא צריכים אותו, והוא יכול לשמש להתקפות. לביטול, הוסיפו לקובץ functions.php. לעוד טיפים על אבטחת אתר וורדפרס.

add_filter( 'xmlrpc_enabled', '__return_false' );

ביטול סקריפטי האימוג'י של וורדפרס

וורדפרס טוענת כברירת מחדל סקריפטים להצגת אימוג'י (wp-emoji-release.min.js וכו') בכל עמוד. רוב האתרים לא צריכים את זה, והסקריפטים מוסיפים בקשות HTTP מיותרות ומעט עומס.

כדי להסיר את סקריפטי האימוג'י, הוסיפו את הקוד הבא לקובץ functions.php:

/**
 * Remove WordPress emoji scripts
 */
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );
remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );

add_filter( 'tiny_mce_plugins', function( $plugins ) {
	return is_array( $plugins ) ? array_diff( $plugins, array( 'wpemoji' ) ) : array();
} );

התוצאה: פחות בקשות HTTP ועמודים קלים יותר. לעוד טיפים לשיפור ביצועים, תנו מבט במדריך Google PageSpeed למשתמשי וורדפרס.

ביטול WordPress Heartbeat API

ה-Heartbeat API של וורדפרס שולח בקשות AJAX לשרת כל 15-60 שניות (תלוי בהקשר – עורך, דשבורד וכו'). זה שימושי לשמירה אוטומטית ולניהול סשנים, אך על שרתי אחסון משותף יכול לגרום לעומס CPU גבוה. לעוד דרכים לשיפור מהירות האתר, תנו מבט במדריך Google PageSpeed למשתמשי וורדפרס.

אם אתם רוצים להאט את תדירות ה-Heartbeat או לבטל אותו לגמרי, הוסיפו את הקוד הבא לקובץ functions.php:

/**
 * Disable or slow down WordPress Heartbeat API
 */
add_action( 'init', function() {
	// Option 1: Disable Heartbeat completely
	wp_deregister_script( 'heartbeat' );

	// Option 2: Slow down Heartbeat to 60 seconds (uncomment and remove Option 1)
	// add_filter( 'heartbeat_settings', function( $settings ) {
	//     $settings['interval'] = 60;
	//     return $settings;
	// } );
}, 1 );

שימו לב: ביטול מלא של Heartbeat עלול להשפיע על שמירה אוטומטית בעורך הפוסטים. אם אתם צריכים את השמירה האוטומטית, השתמשו באופציה 2 (האטה ל-60 שניות) במקום ביטול מלא.

החרגת סוג תוכן (Post Type) מסוים ממפת האתר ב Rank Math

אם אתם משתמשים בתוסף Rank Math SEO כדי לשלוט על אילו סוגי תוכן ייכללו במפת האתר, ייתכן ונתקלתם בהגדרה "Include in Sitemap" תחת Rank Math SEO → Sitemap Settings → Post Types.

עם זאת, יש מקרים שבהם נרצה לעקוף את ההגדרה הזו באופן פרוגרמטי, למשל כשאנחנו רוצים להוציא סוג תוכן מסוים באופן דינמי או לפי תנאים מסוימים. במקרים כאלה ניתן להשתמש בפילטר rank_math/sitemap/exclude_post_type.

הפילטר מקבל שני פרמטרים: $exclude (ברירת מחדל false) ו-$type (שם סוג התוכן). החזרת true תחריג את סוג התוכן ממפת האתר.

/**
 * Filter decision if post type is excluded from the XML sitemap.
 *
 * @param bool   $exclude Default false.
 * @param string $type    Post type name.
 */
add_filter( 'rank_math/sitemap/exclude_post_type', function( $exclude, $type ){
	if ( 'snippet' === $type ) {
		return true;
	}
	return $exclude;
}, 10, 2 );

בדוגמה למעלה, סוג התוכן snippet יוחרג ממפת האתר. ניתן להחליף את 'snippet' בשם סוג התוכן הרלוונטי עבורכם.

Savvy WordPress Development official logo