Lalabase
티켓·문서·근무시간·고객대화를 한 곳에 모아 KI로 검색, 소프트웨어 기업 고객 프로젝트용, 오픈소스로 자체 서버·독일 클라우드에 배포
Hostlio Pro 호텔 관리 소프트웨어
Hostlio Pro hotel management software: the Lio AI assistant answers guests 24/7 in 30+ languages and the channel manager syncs 100+ OTAs. Free 7-day trial.
비즈니스Python · JavaScriptGitHub @lotimembersllc-code온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Python statik üretici, 6 dil (EN, TR, ES, IT, PT-BR, FR). Canlı alan adı hostliopro.com (www → apex). Aşağıdaki "v5 … v14" bölümleri sürüm geçmişidir; geçerli mimari bu bölümdedir (3 Ekim 2026).
| Dosya | Görev |
|---|---|
build.py | Giriş noktası: rotalar (ROUTES), ortak düzen (layout, finish), JSON-LD, sitemap, llms*.txt, vercel.json üretimi, CSP, yönlendirmeler. python3 build.py → dist/ |
pricing.py | Tek fiyat kaynağı: aylık/yıllık/Early Bird fiyatları, AI mesaj kotası, oda limiti, deneme günü, dile göre para biçimi. Metinlerde rakam yerine ⟦price:starter⟧, ⟦annual:pro⟧, ⟦annual_mo:growth⟧, ⟦regular:…⟧, ⟦quota:…⟧, ⟦rooms:…⟧ yazılır |
content_<dil>.py | Sayfa içerikleri (6 dil); home_v3.py ana sayfa, pages_v4.py tesis tipi/karşılaştırma sayfaları, lang_<es/it/pt/fr>.py dil sözlükleri |
booking_templates.py | Booking.com otomatik cevap yazısının (6 dil) başlık/açıklaması ve 12 kopyalanabilir mesaj şablonu; pages_v4.guides() yazıya ekler, blog listesi başlığı post_meta() ile aynı kaynaktan |
legal_v6.py, legal_v6_intl.py, legal_v5.py | Gizlilik, şartlar, hesap silme (alt işleyici listesi SUBPROCESSORS) |
security_page.py, roi_page.py, signup_page.py | Güvenlik + DPA, ROI hesaplayıcı, kayıt/ödeme sayfaları |
tools_pages.py | Ücretsiz araçlar (6 dil): Araçlar dizini, RevPAR/ADR/doluluk ve OTA komisyonu hesaplayıcıları. Hesap src/assets/kpi.js; formül testi node scripts/kpi.test.js |
compare_pages.py | Karşılaştırma merkezi + Hostlio vs HotelRunner/Cloudbeds, Cloudbeds/Amenitiz/HiJiffy alternatifleri + genel karşılaştırma sayfası (GEN, 6 dil; pages_v4.compare_page buraya yönlendirir). v2 (8 Ekim 2026): Hostlio önce (fayda kartları → Hostlio sütunu vurgulu tablo → kimin için → geçiş adımları → SSS), "X ne zaman daha uygun" bölümleri yok. Rakip bilgisi YALNIZ resmî sayfadan, SRC + kontrol tarihiyle; tabloda yalnız iki tarafı da doğrulanmış satırlar; 3 ayda bir yeniden doğrulayın. CSS: style.css sonundaki "Comparison pages v2" bloğu |
guides_tr.py | Yalnız TR: channel manager nedir, KBS bildirimi (Hostlio KBS'ye otomatik bildirim YAPMAZ), otel programı fiyatları 2026, otel WhatsApp asistanı |
src/ | Olduğu gibi kopyalanan dosyalar: assets/ (CSS, JS, görsel, font, video), attribution.js, Google doğrulama dosyası, robots.txt, vercel.json tabanı |
page_dates.json | Sayfa başına içerik özeti + tarih (dateModified / sitemap lastmod). Build günceller; commit edin |
scripts/check.py | Kapı: kırık link/asset, JSON-LD, hreflang, title/description tekrarı ve uzunluğu, satır içi betik (CSP), fiyat yer tutucusu, yönlendirme hedefleri. --live-prices canlı plans ucuyla karşılaştırır |
scripts/attribution-check.mjs | src/attribution.js ilk temas + 90 gün testi (kök attribution.js birebir kopya olmalı) |
preview.py, shots/*.py | Yerel önizleme ve ekran görüntüsü/erişilebilirlik betikleri (build'e bağlı değil) |
Tek dilli sayfalar (ör. yalnız TR): hreflang yalnız var olan dili listeler, x-default sayfanın kendisidir (xdefault()). Araç/karşılaştırma sayfalarına bağlamsal link PAGE_EXTRA ("Ayrıca bakın" satırı) ile verilir.
İç link (S4, 8 Ekim 2026): yazılarda "İlgili yazılar", ürün/segment sayfalarında "İlgili rehberler" bloğu build.py
RELATED_POSTS / PAGE_GUIDES eşlemesinden üretilir; yeni yazı eklerken bu iki tabloya da ekleyin.
404: Vercel tek /404.html verir; sayfa 6 dilin metnini taşır, site.js dil önekine göre gösterir.
Tarayıcı betikleri (src/assets/): site.js (menüler, fiyat düğmesi, iletişim formu, video), prices.js
(sayfadaki hostlio-pricing JSON'u + canlı plans ucu, early_bird=false ⇒ Early Bird metinleri gizlenir),
signup.js (kayıt formu → signup-checkout, sunucu hata kodlarının 6 dile çevirisi), roi.js, consent.js (GA4 + çerez izni).
Satır içi <script> ve onclick= yasak (CSP script-src 'self'; check.py yakalar). Veri gerekiyorsa
<script type="application/json"> bloğu kullanın.
build.py → GA4_ID (şu an G-W74GFJQYJ4). "" yapılırsa hiçbir analitik yüklenmez: consent.js yok, bant yok,
altbilgi düğmesi yok, CSP'de Google kökeni yok, gizlilik politikası eski metninde kalır.src/assets/consent.js (<head>'de, senkron): Consent Mode v2 varsayılanı dördü de denied; bant 6 dilde; gtag.js yalnız
"Kabul et"ten sonra yüklenir (izinden önce Google'a istek yok). ad_* sinyalleri hep denied, Google sinyalleri kapalı.
Seçim localStorage.hostlio_consent (6 ay). Altbilgide ve gizlilik politikasında "Çerez tercihleri" düğmesi bandı açar.
"Reddet" _ga* çerezlerini siler. CSP eklemeleri csp()'de (Google'ın GA4 listesi).analytics_consent.py (GA4_TEXT, 6 dil; build çerez h2'sini bulup ekler, id="cookies").window.hostlioTrack):| Olay | Nerede | Parametreler |
|---|---|---|
page_view | her sayfa (otomatik) | — |
signup_cta_click | /xx/signup/ bağlantısı tıklanınca; kayıt sayfası açılınca gönderilir | cta_location (header/footer/hero/pricing_plans/final_cta/content), cta_page, plan, billing |
signup_form_start | kayıt formuna ilk odak | plan, billing |
signup_plan_select | kayıt sayfasında plan değişimi | plan |
signup_submit | geçerli form gönderimi (başarılıysa Stripe dönüşünde gönderilir) | plan, billing |
begin_checkout | Stripe'a yönlendirme (Stripe dönüşünde gönderilir) | plan, billing |
signup_error | sunucu/ağ hatası | plan, error_field |
sign_up | ?checkout=success dönüşü | method=stripe_checkout |
checkout_cancelled | ?checkout=cancelled dönüşü | — |
generate_lead | iletişim formu başarılı | form=contact |
pricing_billing_toggle | aylık/yıllık düğmesi | billing, context (pricing/signup) |
Ayrılmadan hemen önceki olaylar (signup_cta_click, signup_submit+begin_checkout) sekmenin sessionStorage'ına yazılıp
sonraki sayfada gönderilir: gtag olayları ~5 sn toplu gönderir, hemen gezinince kayboluyordu (test edildi).
GA4'te anahtar olay (key event) önerisi: sign_up, generate_lead, begin_checkout.
/xx/signup/ (her dilde; CTA'lar finish() ile doğrudan buraya gider). /signup/ dil algılayan giriş
noktası (Stripe dönüşü ?checkout=success|cancelled, eski bağlantılar).trailingSlash: true, cleanUrls KAPALI ⇒ /google3ccd63ec6d0747db.html, /llms.txt gibi dosyalar
yönlendirmesiz 200 döner. Eski .html adresleri lang_redirects() + src/vercel.json ile açıkça yönlenir.planConfig.ts EARLY_BIRD bayrağını çevirin.pricing.py'yi aynı değerlere getirin (EARLY_BIRD=False için regular_annual doldurulmalı, yoksa build durur).
Early Bird metinleri (SSS, plan kartı notları) "ilk 50 müşteri" der — kapanınca metinleri de güncelleyin.python3 build.py && python3 scripts/check.py --live-prices → RESULT: OK.
Fiyat ve ödeme sayfaları canlı ucu zaten okuduğu için bu adımlar yapılana kadar da doğru tutarı gösterir.vercel.json build tarafından üretilir; buildCommand build.py içindeki BUILD_COMMAND'dır. Python varsa
build + check.py hatası deploy'u düşürür; yalnız python3 hiç yoksa commit'li dist/ kullanılır..github/workflows/kapilar.yml (build, check.py, attribution testi, git diff --exit-code dist).
Push için workflow yetkili token gerekir./privacy/, /terms/ (eski URL'ler korunur), TR çevirileri /gizlilik-politikasi/, /kullanim-sartlari/ (İngilizce metin esastır notuyla). Footer'da linkler + /delete-account.signup.html, delete-account.html, attribution.js (UTM ilk temas takibi, tüm sayfalarda yüklenir) ve Google Search Console doğrulama dosyası korunur./signup, giriş https://dashboard.hostliopro.com./en/blog/...); eski URL'ler ve /about, /contact, /faq, /channels için 301 yönlendirmeleri src/vercel.json'da. Eski overbooking yazısı yeni overbooking rehberine yönlenir.llms-full.txt (tüm sitenin düz metni), responsive görseller (480w srcset), ana görsel preload + fetchpriority.src/vercel.json'da.build.py başında: GA4_ID, PLAUSIBLE_DOMAIN, GSC_VERIFY, BING_VERIFY, SAME_AS, APP_STORE_URL. Boş bırakılanlar sayfaya yazılmaz./<INDEXNOW_KEY>.txt).sitemap.xml gönder.frontend-design, ui-ux-pro-max, taste-skill (soft-skill: double-bezel kartlar, buton içinde ikon, özel easing), Vercel web interface guidelines.src/assets/img/Framework yok. python3 build.py → dist/ klasörü (24 sayfa + sitemap, robots, llms.txt, 404).
python3 build.py, Output: dist.
(Ya da doğrudan dist/ klasörünü sürükle-bırak ile yükle.)www.hostliopro.com. Eski URL'ler için src/vercel.json içine redirects ekle.https://www.hostliopro.com/sitemap.xml gönder.| Ne | Nerede |
|---|---|
| Kayıt/giriş linki, form endpoint, e-posta | build.py üstündeki sabitler (APP_URL, FORM_ENDPOINT, EMAIL) |
| Fiyatlar | build.py → PLANS + content_*.py → PLAN_TXT, FAQ metinleri, llms.txt bloğu |
| Türkçe metinler | content_tr.py |
| İngilizce metinler | content_en.py |
| Tasarım (renk/tipografi) | src/assets/style.css (üstteki :root token'ları) |
| Yeni blog yazısı | ROUTES'a anahtar ekle, content_*.py içinde POSTS + post_xxx() fonksiyonu, pages() listesine ekle |
Formu gerçek bir servise bağlamak için FORM_ENDPOINT'e Formspree/Basin/kendi Supabase edge function URL'ini yaz; boşsa mailto ile çalışır.
hreflang (tr, en, x-default), Open Graph + Twitter kartı (og-tr.png, og-en.png)@graph: Organization, WebSite, WebPage (About/Contact/FAQ/Collection tipleri), BreadcrumbList, SoftwareApplication (+ fiyat teklifleri), FAQPage, BlogPostingsitemap.xml hreflang alternatifleriyle; semantik HTML, tek H1, sıralı başlıklarrobots.txt GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, Google-Extended vb. için açık/llms.txt: ürünün tek dosyalık, gerçeklere dayalı özeti + tüm sayfa linkleridateModified, "Son güncelleme"), rakamlar tutarlı (30+ dil, 100+ OTA, 20+ ülke, 7 gün deneme)Eski sitede olmayan, benim varsaydığım bilgiler — yanlışsa content_*.py içinde düzelt:
app.hostliopro.com/signup ve /logincontent_es/it/pt/fr.py (sayfalar) + lang_es/it/pt/fr.py (arayüz, ana sayfa, tesis tipi sayfaları, karşılaştırma, rehberler, yasal metin çevirileri).plans fonksiyonundan canlı fiyat (mevcut sitedeki anon anahtarla; yanıt gelmezse sayfadaki fiyatlar kalır). Early Bird kapanırsa "early-bird" satırı otomatik gizlenir.python3 build.py, outputDirectory dist) build sırasında src/vercel.json'dan üretilir. Pillow yoksa görsel varyantları üretilmez, depodaki hazır dosyalar kullanılır.src/assets/img/gen-*.webp (1080×1350, 480w varyantlarıyla):
hostel, apart, pansiyon, butik oda → tesis tipi sayfaları + ana sayfa kartları;
blog kapakları: owner-laptop (PMS), reception (overbooking), night-desk (otomatik cevap), checkin-phone (AI),
eski EN yazılar: arrival, room-dusk, facade, terrace-phone./signup artık üretiliyor: signup_page.py + src_legacy/signup_script.js (eski betik, mantık birebir) + src/assets/checkout.js (dil, plan özeti, aylık/yıllık).
/delete-account (ve 6 dildeki karşılıkları) artık normal site şablonunda; eski delete-account.html kaldırıldı, /delete-account.html → /delete-account/ 301.src_legacy/ klasöründe duruyor (yayına kopyalanmaz).Kritik
build.py → WHATSAPP..plan .billed{display:block} hidden özniteliğini eziyordu; style.css başına [hidden]{display:none!important} eklendi./en/signup/, /tr/signup/ … → /signup?lang=.. yönlendirmesi eklendi, sol panel fiyat kartlarıyla aynı listeyi kullanıyor./tr/ altına taşındı. / tarayıcı diline göre /tr/, /es/, /it/, /pt/, /fr/ ya da /en/'e (geçici) yönlenir; eski Türkçe adresler 301 ile /tr/… adresine gider. Yönlendirmeler build sırasında lang_redirects() ile üretilip vercel.json'a eklenir. 404 sayfası İngilizce.legal_v6.py, legal_v6_intl.py; tarih 23 Eylül 2026): kart peşin + otomatik ücretlendirme ve yenileme, AI kotası ve %110'da durma, Early Bird kilidi, UTM/ilk temas kaydı, online check-in kimlik görseli ve imza, alt işleyici listesi (Twilio/SendGrid "planlanan"), saklama süreleri, CCPA ve KVKK, AI sorumluluk notu. Yeni /en/dpa/ (DPA, İngilizce) + indirilebilir PDF src/assets/legal/hostlio-pro-dpa.pdf.
⚠️ Yayından önce avukat okuması. legal_v6.RETENTION sürelerini sunucu tarafıyla teyit edin (mesaj 60 gün varsayılan — Setup1.jsx; misafir iletişim 90 gün — rapor).
Yüksekbuild.py → DEMO_URL: Cal.com/Calendly linki yazılınca tüm "Demo iste" düğmeleri takvime gider; boşken iletişim sayfası.build.py → FOUNDER_NOTE, TEAM doldurulunca 6 dilde kurucu notu ve ekip bölümü çıkar.channex_adapters), statik liste yok; Channex de statik liste yayınlanmasını istemiyor (Evan, 16 Eylül).