הבעיה: וורדפרס ברירת המחדל איטית וצורכת משאבים רבים
וורדפרס עם הגדרות ברירת מחדל היא איטית: כל בקשת עמוד מריצה 60–120 שאילתות SQL, טוענת עשרות תוספים, ומחדשת HTML מאפס. אתר וורדפרס טיפוסי מניב TTFB של 1–3 שניות, LCP עולה על 4 שניות — מבקרים עוזבים לפני שהעמוד נטען. אנו נתקלים בפרויקטים כאלה מדי יום ויודעים כיצד לתקן זאת. אופטימיזציית ביצועים לוורדפרס אינה פעולה חד-פעמית אלא גישה שיטתית שמניבה תוצאות מדידות. צרו קשר לבדיקת ביצועים.
המתודולוגיה שלנו כוללת מערך צעדים: מהגדרת OPcache ו-Redis ועד המרת תמונות ל-WebP ואופטימיזציה של שאילתות SQL. במהלך השנים ביצענו יותר מ-50 בדיקות ואנו מבטיחים הפחתת TTFB ל-200 אלפיות השנייה ו-Core Web Vitals באזור הירוק. הניסיון מראה שאפילו אופטימיזציה בסיסית מחזירה את עצמה תוך 2–3 חודשים על ידי הפחתת עומס האחסון.
לפי מחקר של Pingdom, כל 100 אלפיות שנייה נוספות של TTFB מפחיתות את ההמרה ב-1%.
בדיקת ביצועים לוורדפרס: מה מאט את האתר שלכם
לפני האופטימיזציה — אבחון. כלים:
- Query Monitor — מציג את כל שאילתות ה-SQL וה-hooks בכל עמוד
- New Relic או Tideways — פרופילר PHP לסביבת ייצור
- GTmetrix / PageSpeed Insights — מדדי Core Web Vitals חיצוניים
גורמים אופייניים לביצועים איטיים:
- חוסר ב-PHP OPcache
- אין מטמון אובייקטים (Redis/Memcached)
- תוספים איטיים עם WP_Query לא מותאם
-
wp_optionsטבלה עם אלפי אפשרויות autoload (חלקם עולים על 1 MB) - טבלת
wp_postmetaענקית (מאות אלפי רשומות) - אין מטמון עמודים
כיצד OPcache ו-Redis מפחיתים את מספר שאילתות ה-SQL
הגדרת OPcache
# /etc/php/8.3/fpm/conf.d/10-opcache.ini
opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.revalidate_freq=0
opcache.validate_timestamps=0
opcache.fast_shutdown=1
opcache.jit=tracing
opcache.jit_buffer_size=64mלפי תיעוד PHP, הגדרות אלו נותנות הפחתה של 30–50% בזמן ביצוע PHP.
Redis למטמון אובייקטים
התקינו Redis דרך apt, הפעילו את תוסף Redis Cache. הוסיפו ל-# /etc/php/8.3/fpm/conf.d/10-opcache.ini opcache.enable=1 opcache.memory_consumption=256 opcache.interned_strings_buffer=16 opcache.max_accelerated_files=10000 opcache.revalidate_freq=0 opcache.validate_timestamps=0 opcache.fast_shutdown=1 opcache.jit=tracing opcache.jit_buffer_size=64m :
define('WP_CACHE_KEY_SALT', 'yourdomain.com_');
define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', 6379);
define('WP_REDIS_DATABASE', 0);
define('WP_REDIS_TIMEOUT', 1);
define('WP_REDIS_READ_TIMEOUT', 1);Redis מאחסן תוצאות WP_Query, אפשרויות (wp-config.php), ונתוני משתמשים. בפרויקט אחד עם 2000 פוסטים ו-50 תוספים, Redis הפחית את שאילתות ה-SQL לעמוד מ-90 ל-12.
למה Nginx FastCGI Cache עדיף על תוספי מטמון
לאתרים עם תעבורה גבוהה, אנו משתמשים ב-Nginx FastCGI Cache — הוא עוקף את PHP ווורדפרס לחלוטין.
fastcgi_cache_path /var/cache/nginx/wordpress levels=1:2 keys_zone=WORDPRESS:100m inactive=60m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
server {
location ~ \.php$ {
fastcgi_cache WORDPRESS;
fastcgi_cache_valid 200 301 302 60m;
fastcgi_cache_bypass $skip_cache;
fastcgi_no_cache $skip_cache;
set $skip_cache 0;
if ($http_cookie ~* "wordpress_logged_in|woocommerce_cart_hash") {
set $skip_cache 1;
}
if ($request_method = POST) {
set $skip_cache 1;
}
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
}
}השוואה:
| מדד | Nginx FastCGI Cache | תוסף (WP Super Cache) |
|---|---|---|
| TTFB | < 10 אלפיות השנייה | 50–200 אלפיות השנייה |
| עומס שרת | מינימלי | גבוה יותר (PHP + וורדפרס) |
| מורכבות התקנה | דורש גישת root | פשוט |
| עקיפת תוכן דינמי | מורכב יותר | קל |
עמודים במטמון נטענים עם TTFB < 10 אלפיות השנייה. Nginx FastCGI Cache מהיר פי 10–20 מתוספים.
ניקוי מסד נתונים ואופטימיזציית תמונות
ניקוי מסד נתונים
-- Удаление старых ревизий (оставить последние 5 на пост)
DELETE p FROM wp_posts p
LEFT JOIN (
SELECT ID FROM wp_posts
WHERE post_type = 'revision'
ORDER BY post_date DESC
LIMIT 5
) keep ON p.ID = keep.ID
WHERE p.post_type = 'revision' AND keep.ID IS NULL;
-- Удаление орфанных postmeta
DELETE pm FROM wp_postmeta pm
LEFT JOIN wp_posts p ON p.ID = pm.post_id
WHERE p.ID IS NULL;
-- Анализ autoload options
SELECT option_name, LENGTH(option_value) as size
FROM wp_options
WHERE autoload = 'yes'
ORDER BY size DESC
LIMIT 20;
-- Отключить autoload для ненужных опций
UPDATE wp_options SET autoload = 'no'
WHERE option_name IN ('_transient_some_plugin_cache', 'some_large_option');
המרת WebP
אנו משלבים המרה אוטומטית בעת העלאת מדיה דרך תוסף ShortPixel או מטפל Imagick מותאם. זה מאפשר להמיר את כל התוכן לפורמט המודרני ללא עבודה ידנית, וחוסך עד 30% מתעבורה.
אילו טכניקות האצה נוספות אנו מיישמים?
בנוסף, אנו מגדירים טעינה עצלה לתמונות, ממזערים CSS/JS (דרך Autoptimize או בניית Webpack), משלבים CDN (Cloudflare), ומשתמשים ב-WebP עם srcset. גישה מקיפה מניבה רווחי מהירות מקסימליים.
תוכנית אופטימיזציה שלב אחר שלב
- בדיקה: פרופילינג עם Query Monitor ו-New Relic.
- OPcache: הפעלה והגדרת JIT.
- Redis: התקנה, הגדרת מטמון אובייקטים.
- מטמון Nginx: הגדרת FastCGI Cache עם עקיפה למשתמשים מחוברים.
- מסד נתונים: ניקוי גרסאות, מטא-דאטה יתומים, השבתת autoload לאפשרויות גדולות.
- תמונות: המרה ל-WebP, הגדרת טעינה עצלה.
- ניטור: בדיקת Core Web Vitals דרך PageSpeed Insights.
מה כלול ואילו תוצאות לצפות
- בדיקת ביצועים מפורטת עם דוח
- הגדרת OPcache ו-Redis
- הגדרת Nginx FastCGI Cache (או מטמון אחר)
- ניקוי ואופטימיזציה של מסד הנתונים
- מיזעור CSS/JS, המרת תמונות ל-WebP
- המלצות לשיפור LCP, CLS, INP
- אחריות: TTFB < 200 אלפיות השנייה ו-Core Web Vitals באזור הירוק
- תיעוד והדרכת צוות
תוצאות אופייניות:
| מדד | לפני | אחרי |
|---|---|---|
| TTFB (ללא מטמון) | 800–2000 אלפיות השנייה | 150–400 אלפיות השנייה |
| TTFB (עם מטמון FastCGI) | — | 5–15 אלפיות השנייה |
| שאילתות SQL לעמוד | 60–120 | 5–15 |
| LCP | 3–6 שניות | 1–2 שניות |
לוחות זמנים וניסיון
אופטימיזציה בסיסית (OPcache, Redis, ניקוי מסד נתונים, מטמון עמודים) — 2–3 ימים. בדיקה מלאה עם פרופילינג ואופטימיזציית שאילתות איטיות — 5–7 ימים. העלות מחושבת באופן אישי לפי מורכבות.
שנות ניסיון ו-50+ פרויקטים מוצלחים מאשרים את יעילות הגישה שלנו. הזמינו בדיקה עוד היום וקבלו תוצאה מובטחת.







