חיפוש באתר סטטי עבור Astro
הוספתי חיפוש לשלושה אתרי מדריכי AI בחודש שעבר.
השוואתי בין ארבע אפשרויות עיקריות לפני שבחרתי ב-Pagefind. הנה הסיבה שבגללה בחרתי בו.
המתמודדים
• Pagefind: ספרייה מבוססת Rust. היא פועלת בזמן הבנייה (build time) ומגישה הכל כקבצים סטטיים. • Algolia DocSearch: שירות מאוחסן. הוא מהיר ומהוקצע אך עולה כסף עבור אתרים מסחריים. • Lunr.js: ספריית צד-לקוח (client-side). היא עובדת לא מקוון (offline) אך הופכת את טעינת הדף הראשונית לכבדה. • FlexSearch: חלופה מהירה יותר ל-Lunr, אך היא עדיין דורשת שליחת האינדקס המלא לדפדפן.
למה בחרתי ב-Pagefind
גודל האינדקס לאתרים שלי יש 1,000 רשומות. אינדקס של Lunr היה מוסיף 4MB לכל טעינת דף. Pagefind משתמש ב-shards. הוא טוען מקטעים קטנים בזמן שהמשתמש מקליד. הטעינה הראשונית נשארת מתחת ל-30KB.
עלות Algolia עולה 49$ לחודש לאתרים מסחריים. התקציב הכולל שלי עבור כל שלושת האתרים הוא 25$ לחודש. Pagefind הוא בחינם.
פריסה (Deployment) Pagefind יוצר קבצים סטטיים. Cloudflare Pages שומר אותם ב-edge באופן אוטומטי. אין צורך לנהל מפתחות API או לדאוג ממגבלות קצב (rate limits).
הפשרות (Trade-offs)
Pagefind אינו מושלם. כדאי שתכירו את שני החסרונות הללו:
• ללא רישום שאילתות (Query Logging): Pagefind פועל בדפדפן. הוא לא אומר לכם על מה משתמשים מחפשים. Algolia עושה זאת באופן אוטומטי. תצטרכו לבנות שכבת רישום (logging layer) משלכם עבור Pagefind. • עמידות בסיסית לשגיאות כתיב: Pagefind משתמש ב-stemming בסיסי. הוא מתקשה עם שגיאות כתיב גדולות. Algolia מטפל בשגיאות כתיב הרבה יותר טוב.
סיכום השוואה
• Pagefind: בחינם, משתמש בקבצים סטטיים, מתרחב היטב עם טעינה עצלה (lazy loading), עמידות בסיסית לשגיאות כתיב. • Algolia: 49$ לחודש, משתמש בתשתית ענן, מתרחב היטב, עמידות חזקה לשגיאות כתיב. • Lunr.js: בחינם, שולח את האינדקס יחד עם הדף, יכולת הרחבה גרועה, עמידות חלשה לשגיאות כתיב.
השורה התחתונה שלי
אם אתם מריצים אתר סטטי בתקציב נמוך עם 500 עד 1,000 רשומות, השתמשו ב-Pagefind. אם אתם זקוקים לאנליטיקה מתקדמת ועמידות מושלמת לשגיאות כתיב, שלמו על Algolia.
