WPML

אין מה לתרגם בשילוב של ElasticPress. תוסף התאימות גורם ל־ElasticPress להחזיר אוטומטית תוצאות נכונות מבחינת שפה; התפקיד שלך הוא להתקין את הרכיבים, להפעיל את הסנכרון הראשוני ולוודא שהתוצאות נראות תקינות.

לפני שתתחיל

התקן והפעל את התוספים הבאים באותו אתר:

תזדקק גם לנקודת קצה של Elasticsearch: באחסון עצמי, או בשירות מנוהל כמו ElasticPress.io, Elastic Cloud, או AWS OpenSearch. הגדר את ElasticPress מול מארח ה־Elasticsearch שלך וודא שהוא מאנדקס בהצלחה באתר חד-לשוני לפני הוספת השכבה של WPML.

הגדר את שפות ה־WPML שלך לפני הפעלת הסנכרון הראשון.

כיצד פועל אינדוקס לכל שפה

WPML ElasticPress יוצר אינדקס Elasticsearch נפרד עבור כל שפה באתר שלכם. האינדקס של כל שפה מכיל:

  • תרגומים לאותה שפה עבור כל סוג פוסט הניתן לתרגום.
  • פוסטים בשפת ברירת המחדל עבור כל סוג פוסט שמוגדר לחזור לשפת ברירת המחדל כאשר אין תרגום.
  • עותקים של פוסטים שאינם ניתנים לתרגום. האינדקס של כל שפה כולל אותם כדי שיוכלו להופיע בתוצאות החיפוש ללא קשר לשפת המבקר.

כל מסמך באינדקס של שפה מנותח באותה שפה. מילות עצירה, חילוץ שורשים (stemming), קיצורים, וטיפול ברבים ובזמנים הם כולם ספציפיים לשפה. זה מה שגורם לחיפוש בצרפתית להתאים לשורשים בצרפתית ולחיפוש ביפנית להתאים למורפולוגיה היפנית; ללא ניתוח לכל שפה, מנוע החיפוש היה מחיל את הכללים של שפה אחת על הטקסט של כל שאר השפות.

עבור כל חיפוש של מבקר, WPML ElasticPress מנתב את השאילתה לאינדקס השפה המתאים. מאגר התוצאות כבר מסונן לשפה הנכונה לפני שמתחיל דירוג הרלוונטיות.

הפעלת הסנכרון הראשוני

כאשר ארבעת התוספים פעילים ונקודת הקצה של Elasticsearch מוגדרת ב־ElasticPress, הפעל את הסנכרון הראשוני:

  1. עבור אל ElasticPress > Sync באזור הניהול של WordPress.
  2. לחץ על Start Sync.

WPML ElasticPress מפעיל סנכרון אחד לכל שפה ובונה את האינדקסים לכל שפה בזה אחר זה. באתר גדול זה עשוי לקחת כמה שעות; העמוד מדווח על ההתקדמות בזמן שהסנכרון פועל.

אם אתה מעדכן מ־WPML ElasticPress 1.0 ל־2.0 או לגרסה חדשה יותר, בצע אינדוקס מחדש. פורמט האינדקס השתנה כאשר גרסה 2.0 הציגה אינדקסים לכל שפה.

לאחר הסנכרון הראשוני, עדכוני תוכן זורמים לאינדקס הנכון באופן אוטומטי. בכל פעם שאתה יוצר, משנה או מוחק פוסט, WPML ElasticPress מעדכן את אינדקס השפה המתאים ברקע, על סמך שפת הפוסט או הגדרת התרגום של סוג הפוסט שלו.

אינדוקס שפות ספציפיות באמצעות WP-CLI

עבור אתרים גדולים, משימות מתוזמנות, סקריפטים לפריסה, או כל תהליך עבודה שבו ממשק המשתמש של אזור הניהול אינו אפשרות, WPML ElasticPress מספק פקודת WP-CLI (wp wpml_elasticpress sync) שעוטפת את סנכרון ה־CLI של ElasticPress עצמו ומוסיפה דגל --post-lang לבחירת שפה.

הפעלת הסנכרון הראשוני עבור פוסטים באנגלית בלבד:

wp wpml_elasticpress sync --setup --post-type=post --post-lang=en

הדגל --setup מנקה את האינדקסים הקיימים לפני הבנייה מחדש. לאחר פקודה זו, חיפוש באנגלית יחזיר תוצאות באנגלית; חיפושים משפות אחרות לא יחזירו דבר מכיוון שהאינדקסים שלהן טרם נבנו.

הוספת שפה שנייה מבלי לנקות את האינדקסים הקיימים:

wp wpml_elasticpress sync --post-type=post --post-lang=fr

חזור על הפעולה עבור כל שפה נוספת. השמט את --setup כדי ששפות שאונדקסו קודם לכן יישארו במקומן.

סנכרון מספר שפות בהרצה אחת:

wp wpml_elasticpress sync --post-lang=en,es

התאמת גודל המקבץ (batch size) אם הזיכרון מוגבל:

wp wpml_elasticpress sync --per-page=200

גודל המקבץ המוגדר כברירת מחדל הוא 350; הקטנתו עוזרת בשרתים המוגבלים בזיכרון.

בנייה מחדש של כל אינדקס מאפס:

wp wpml_elasticpress sync --setup

פעולה זו מנקה את כל אינדקסי השפות ובונה את כולם מחדש. השתמש בה כאשר משהו נראה שגוי בכל השפות או לאחר שדרוג משמעותי.

כיצד לבדוק שחיפושי ElasticPress מחזירים תוכן בשפה הנכונה

הסנכרון הטכני הוא פשוט; הערך של עמוד זה טמון באימות. עבור על הבדיקות הללו לאחר סיום הסנכרון הראשוני, ושוב בכל פעם שאתה משנה תוכן או הגדרות המשפיעים על התנהגות החיפוש.

1. החיפוש מחזיר תוצאות באותה שפה מכל שפה

מצד הלקוח, העבירו את בורר השפות לכל שפה בתורה וחפשו מונח שאתם יודעים שקיים בצורתו המתורגמת.

  • עובר. עמוד התוצאות מציג רק פוסטים באותה שפה.
  • נכשל. תוצאות משפות אחרות מופיעות לצד התאמות באותה שפה. ייתכן שהסנכרון לא הושלם עבור שפה זו – בדוק אם יש שגיאות ב־ElasticPress > Sync והרץ שוב את פקודת ה־WP-CLI הספציפית לאותה שפה.

2. תוכן בשפת המקור בלבד מחזיר אפס תוצאות בשפות אחרות

בחר פוסט שקיים רק בשפת ברירת המחדל שלך – ללא תרגום לשפות האחרות באתר. מגרסה של האתר שאינה בשפת ברירת המחדל, חפש ביטוי מתוך אותו פוסט.

  • עובר. אפס תוצאות. הפוסט אינו מתורגם לשפת המבקר, ולכן הוא לא אמור להופיע.
  • נכשל. הפוסט מופיע בתוצאות. משמעות הדבר היא בדרך כלל שסוג הפוסט מוגדר לחזור לשפת ברירת המחדל ב־WPML > הגדרות > תרגום סוגי פוסטים. זוהי הגדרה ברמת WPML, לא באג. אם לא התכוונת לאפשר חזרה לשפת ברירת המחדל, שנה את ההגדרה.

פתח פוסט מתורגם בצד הלקוח. הווידג'ט פוסטים קשורים אמור להציג פוסטים אחרים באותה שפה בלבד.

  • עובר. כל פוסט קשור מקשר לתוכן באותה שפה כמו העמוד הנוכחי.
  • נכשל. מופיעים פוסטים קשורים משפות אחרות. ודא שהתכונה Related Posts מופעלת ב־ElasticPress > Features ושאינדקס השפה עבור השפה הנוכחית סיים להסתנכרן.

אם התכונה Documents מופעלת ב־ElasticPress: העלו קובץ PDF מתורגם לגרסת שפת המקור של פוסט, ולאחר מכן העלו קובץ PDF בשפה אחרת לתרגום שלו. חפשו ביטוי שמופיע רק בקובץ ה־PDF המתורגם.

  • עובר. החיפוש מצד הלקוח בשפה התואמת מחזיר את קובץ ה־PDF הנכון; החיפוש בשפת המקור אינו מחזיר את קובץ ה־PDF המתורגם, ולהפך.
  • נכשל. קובצי PDF משפות אחרות מופיעים בתוצאות. סנכרן מחדש לאחר הפעלת Documents. הפקודה wp wpml_elasticpress sync --setup בונה מחדש כל אינדקס עם אינדוקס מסמכים.

5. חיפושים באזור הניהול (מונחים, תגובות, משתמשים) מסוננים לפי שפה

אם הפעלתם את התכונות Terms, Comments, או Users ב־ElasticPress > Features, חפשו בהן מאזור הניהול של WordPress וודאו שהתוצאות מסוננות לפי שפת אזור הניהול הנוכחית. הדבר משפיע על משתמשים המחפשים באזור הניהול של אתר רב-לשוני.

6. סנכרון מולטיסייט אינו מנקה אינדקסים של אתרים אחים

אם אתה מפעיל את WPML ו־ElasticPress ברשת מולטיסייט, הפעל סנכרון אינדקס באתר אחד ולאחר מכן בדוק את האתרים האחרים ברשת. האינדקסים שלהם אמורים להישאר ללא פגע.

  • עובר. אינדוקס של אתר אחד משאיר את האינדקסים של האתרים האחים ללא שינוי.
  • נכשל. האינדקסים של האתרים האחים ריקים. עצור, הרץ שוב את הסנכרונים באתרים המושפעים, ודווח על הבעיה לתמיכה של WPML כדי שיוכלו לאשר אם נתקלת בבעיית מולטיסייט היסטורית או בבעיה חדשה.

אם כל הבדיקות לעיל עוברות בהצלחה, החיפוש הרב-לשוני שלך פועל כמתוכנן.

תכונות נתמכות של ElasticPress

WPML ElasticPress הופך כעת את התכונות הבאות של ElasticPress למודעות לשפה:

  • חיפוש פוסטים (Post Search). חיפוש בצד הלקוח בתוך פוסטים, עמודים, וסוגי תוכן מותאמים אישית.
  • פוסטים קשורים (Related Posts). הווידג'ט של פוסטים קשורים מסנן להתאמות באותה שפה.
  • מסמכים (Documents). חיפוש בתוך קובצי PDF מצורפים, .docx, .pptx, וסוגי קבצים אחרים.
  • מונחים, תגובות ומשתמשים (Terms, Comments, and Users). חיפושים באזור הניהול.

תכונות החיפוש הספציפיות ל־WooCommerce של ElasticPress (גילוי מוצרים, סינון מוצרים מרובה פנים, חיפוש מוצרים מיידי בקטלוגים) אינן רב-לשוניות כרגע. כיסוי רב-לשוני עבור חיפוש WooCommerce נמצא במפת הדרכים של WPML; עד שזה יקרה, חיפוש WooCommerce באתרים רב-לשוניים עובר דרך הטיפול הסטנדרטי של WooCommerce Multilingual מבית WPML, ולא דרך ElasticPress.

מכשולים נפוצים

  • סנכרון לא הופעל לאחר הפעלת תכונה חדשה של ElasticPress. הפעלת Documents או Related Posts ב־ElasticPress > Features אינה מוסיפה בדיעבד את המסמכים הללו לאינדקס. סנכרן מחדש לאחר הפעלה או כיבוי של תכונות.
  • סנכרון WP-CLI ללא --setup לאחר שינוי משמעותי. אם שינית אילו סוגי פוסטים ניתנים לתרגום, אילו תכונות מופעלות, או שדרגת את WPML ElasticPress מעבר לגבול של גרסה ראשית, הרץ את wp wpml_elasticpress sync --setup כדי לבנות מחדש כל אינדקס מאפס.
  • תבנית תוצאות החיפוש של ערכת העיצוב עוקפת את המסננים של ElasticPress. חלק מערכות העיצוב המותאמות אישית מיישמות שאילתת תוצאות חיפוש משלהן שאינה עוברת דרך ElasticPress. אם התוצאות נראות שגויות רק בצד הלקוח (ועוברות את בדיקות אזור הניהול), ייתכן שתבנית ערכת העיצוב זקוקה לעדכון.
  • חיפוש מוצרים של WooCommerce מחזיר תוצאות מעורבות שפות. זו אינה בעיית סנכרון. זהו פער הכיסוי של WooCommerce שהוזכר לעיל. נתב את חיפוש המוצרים דרך הטיפול הסטנדרטי של WooCommerce Multilingual לעת עתה.
  • טקסט של מסמכים אינו מופיע בחיפוש. ודא שהתכונה Documents מופעלת ב־ElasticPress > Features ושבוצע סנכרון מאז הפעלתה.

נכתב על ידי Amir · עודכן לאחרונה ב־2 ביולי 2026

נכתב על ידי Amir · עודכן לאחרונה: 2 ביולי 2026