Пошук для статичних сайтів на Astro

Минулого місяця я додав пошук до трьох сайтів-каталогів ШІ.

Перед тим як обрати Pagefind, я порівняв чотири основні варіанти. Ось чому я зупинився саме на ньому.

Головні претенденти

• Pagefind: Бібліотека на базі Rust. Вона працює під час збірки та надає все як статичні файли. • Algolia DocSearch: Хостинговий сервіс. Він швидкий і відшліфований, але коштує грошей для комерційних сайтів. • Lunr.js: Клієнтська бібліотека. Вона працює офлайн, але збільшує вагу початкового завантаження сторінки. • FlexSearch: Швидша альтернатива Lunr, але вона все одно потребує передачі всього індексу в браузер.

Чому я обрав Pagefind

  1. Розмір індексу Мої сайти мають 1000 записів. Індекс Lunr додавав би 4 МБ до кожного завантаження сторінки. Pagefind використовує шарди (shards). Він завантажує невеликі фрагменти в міру того, як користувач вводить запит. Початкове завантаження залишається в межах 30 КБ.

  2. Вартість Algolia коштує 49 доларів на місяць для комерційних сайтів. Мій загальний бюджет на всі три сайти становить 25 доларів на місяць. Pagefind — безкоштовний.

  3. Розгортання Pagefind створює статичні файли. Cloudflare Pages автоматично кешує їх на edge-серверах. Вам не потрібно керувати API-ключами або турбуватися про ліміти запитів (rate limits).

Компроміси

Pagefind не ідеальний. Вам варто знати про ці два недоліки:

• Відсутність логування запитів: Pagefind працює в браузері. Він не повідомляє вам, що саме шукають користувачі. Algolia робить це автоматично. Для Pagefind вам доведеться створити власний шар логування. • Базова стійкість до помилок: Pagefind використовує базовий стемінг (stemming). Він погано справляється з великими друкарськими помилками. Algolia обробляє помилки набагато краще.

Підсумок порівняння

• Pagefind: Безкоштовний, використовує статичні файли, добре масштабується завдяки лінивому завантаженню (lazy loading), базова стійкість до помилок. • Algolia: $49/міс, використовує хмарну інфраструктуру, добре масштабується, висока стійкість до помилок. • Lunr.js: Безкоштовний, передає індекс разом зі сторінкою, погане масштабування, слабка стійкість до помилок.

Мій вердикт

Якщо ви ведете статичний сайт із невеликим бюджетом і від 500 до 1000 записів, використовуйте Pagefind. Якщо вам потрібна розширена аналітика та ідеальна стійкість до помилок, платіть за Algolia.

Джерело: https://dev.to/morinaga/static-site-search-for-astro-in-2026-why-i-picked-pagefind-over-algolia-and-lunr-3891