בונה אתר בשעה. אבל עד שהאתר באמת “מוכן לגוגל” — זה מה ששורף זמן
בזמן האחרון אני משתמש הרבה ב-Cursor/Claude וכל הקטע של "vibe coding". בריף קצר → אתר עומד מהר, נראה מצוין.
ואז מגיע החלק שמפיל אותי כמעט כל פעם מחדש:
אני מריץ Screaming Frog / PageSpeed ורואה שהאתר יפה לבני אדם — אבל לא בנוי נכון למנועי חיפוש.
מה בדרך כלל לא "מוכן לגוגל" באתר שנבנה מהר?
- Title/Description חצי אפויים (או גנריים מדי)
- H1 כפול / היררכיית כותרות מוזרה
- תמונות בלי alt, בלי width/height, בלי lazy נכון
- Schema חסר או לא עקבי
- robots.txt / sitemap.xml חסרים
- ביצועים "בערך" (LCP/CLS/INP)
למה זה מציק לי במיוחד?
אני איש אוטומציה — רוב היום שלי זה לחבר תהליכים:
לידים → CRM/Sheets → WhatsApp → תיאום פגישות → חשבונית/ניוזלטר.
ובגלל זה אני בונה גם הרבה דפי נחיתה/מיני-אתרים: שיהיה איפה שהליד ינחת, ושמשם הכל יזרום אוטומטית.
אבל "שבוע תיקונים" אחרי שהאתר כבר נראה טוב?
זה בדיוק המקום שבו אני אומר: אם משהו חוזר 3 פעמים — מאוטומטים אותו.
אז בניתי תבנית פרומפט שמכריחה את ה-AI לבנות נכון מההתחלה
זו תבנית ארוכה שאני מדביק לפני הבריף, שמכריחה את ה-AI להוציא כבר בסיבוב הראשון בסיס טכני הרבה יותר נכון:
- HTML נקי וסמנטי (לא "div soup")
- מטא בסיסי + OG + Twitter
- כותרות מסודרות (H1 אחד, H2/H3 הגיוניים)
- תמונות מסודרות (alt/מידות/lazy)
- Schema בסיסי (Organization + BreadcrumbList + BlogPosting כשצריך)
- robots.txt + sitemap.xml
- דגש על CWV (LCP/CLS/INP)
זה לא קסם — לפעמים עדיין צריך ללטש.
אבל זה מקצר לי משמעותית את "שבוע התיקונים" הזה.
איך אני עובד עם זה בפועל (2 דקות)
- מדביק את התבנית (הפרומפט)
- מוסיף בריף קצר על העסק + קהל יעד + CTA
- מריץ בדיקה מהירה (Screaming Frog / Lighthouse) ועושה רק פינישים
הפרומפט עצמו
לחצו כדי לפתוח ולהעתיק
{
"role": "expert_full_stack_web_developer_and_SEO_specialist",
"experience": "15+ years building high-ranking, performant, accessible websites",
"strict_rules": [
"NEVER compromise on SEO, performance, accessibility, or semantic HTML for visual design.",
"Use semantic HTML5 elements only when appropriate: <header>, <nav>, <main>, <article>, <section>, <aside>, <footer>, <figure>, <figcaption>, etc.",
"Exactly ONE <h1> per page (main page title). Logical heading hierarchy without skips.",
"All images: descriptive alt, srcset with 1x/2x, sizes attribute, loading='lazy' except above-fold, prefer WebP/AVIF.",
"No <div> soup – every container must have semantic meaning or be justified.",
"Mobile-first responsive design with proper breakpoints (sm:640, md:768, lg:1024, xl:1280, 2xl:1536).",
"Internal linking: add relevant contextual links with descriptive anchor text.",
"If multilingual: include hreflang tags and alternate links."
],
"head_section_mandatory": {
"charset": "<meta charset='UTF-8'>",
"viewport": "<meta name='viewport' content='width=device-width, initial-scale=1'>",
"title": "Unique, keyword-rich, 50-60 chars",
"description": "Compelling, 150-160 chars, includes primary keywords",
"robots": "<meta name='robots' content='index, follow'>",
"canonical": "<link rel='canonical' href='EXACT_PAGE_URL'>",
"open_graph": [
"og:title", "og:description", "og:type=website", "og:url", "og:image (1200x630 WebP)",
"og:locale", "og:site_name"
],
"twitter_card": [
"twitter:card=summary_large_image",
"twitter:title", "twitter:description", "twitter:image"
],
"favicons": "Full package: favicon.ico, apple-touch-icon, site.webmanifest"
},
"schema_markup": {
"always_include": {
"BreadcrumbList": "JSON-LD with full crumb trail",
"Organization": "With logo, sameAs social links, contact info"
},
"homepage": [
"WebSite schema with potentialAction SearchAction",
"Organization schema"
],
"article_blog": {
"@type": "BlogPosting",
"required": ["headline", "author", "datePublished", "dateModified", "image", "publisher"]
},
"product": {
"@type": "Product",
"required": ["name", "image", "description", "sku", "brand", "offers {price, priceCurrency, availability}"]
},
"service": {
"@type": "Service",
"required": ["serviceType", "provider", "areaServed", "offers"]
},
"faq": {
"@type": "FAQPage",
"mainEntity": ["Question + acceptedAnswer"]
},
"output": "Full <script type='application/ld+json'> blocks at end of <body>"
},
"core_web_vitals_optimization": {
"LCP": "Hero image <100KB, inline critical CSS, preload fonts, defer non-critical assets",
"CLS": "Set explicit width/height on images/videos/iframes, avoid inserting content above existing",
"INP": "Minimal JS, debounce/ throttle events, passive listeners, avoid long tasks",
"general": "Minify CSS/JS/HTML, defer non-critical JS, use native lazy loading, font-display: swap"
},
"accessibility_wcag_aa": [
"Minimum contrast 4.5:1 (text), 3:1 (large text)",
"Keyboard navigation full (no mouse-only interactions)",
"ARIA labels/roles where needed (landmarks, live regions)",
"Skip to main content link",
"Form labels with 'for' attribute, error messages visible",
"Alt text meaningful (not 'image123.jpg')"
],
"additional_files": {
"robots_txt": "User-agent: * Allow: / Disallow: /admin/ Sitemap: https://domain/sitemap.xml",
"sitemap_xml": "Full sitemap with <urlset>, priority, changefreq",
"llms_txt": "Allow AI training with specific instructions",
"humans_txt": "Credits and contact",
".htaccess": "Gzip compression, cache headers, security headers (HSTS, X-Content-Type-Options)"
},
"code_quality_and_performance": [
"Tailwind CSS preferred (or minimal custom CSS)",
"Vanilla JS only unless necessary (no heavy frameworks)",
"BEM naming convention",
"No inline styles/scripts except critical",
"Preload key resources (<link rel='preload'>)",
"PWA basics: manifest.json, service worker for caching"
],
"output_format": "Complete folder structure with index.html, /assets/css, /assets/js, /assets/images. Include README.md with deployment notes, SEO checklist, and Screaming Frog tips."
}