[{"data":1,"prerenderedAt":680},["ShallowReactive",2],{"blog-tag-hu-nuxt":3},[4,86,161,213,283,337,410,481,537,625],{"slug":5,"published":6,"minutes":7,"category":8,"tags":9,"tagPages":15,"keywords":18,"about":30,"sources":39,"cover":76,"og":77,"expertise":78,"locales":79,"lang":82,"title":83,"description":84,"coverAlt":85},"schema-org-structured-data-b2b-shop","2026-10-17",10,"web",[10,11,12,13,14],"Schema.org","Structured data","B2B e-commerce","Technical SEO","Nuxt",[16,17],"b2b-e-commerce","nuxt",[19,20,21,22,23,24,25,26,27,28,29],"schema.org b2b webshop","termék strukturált adatok b2b","merchant listing strukturált adatok","product snippet vs merchant listing","unitpricespecification referencequantity","productgroup változatok strukturált adatok","organization schema vatid","b2b árak bejelentkezés mögött seo","json-ld nuxt schema org","merchant return policy strukturált adatok","mpn gtin strukturált adatok",[31,33,36],{"name":10,"url":32},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSchema.org",{"name":34,"url":35},"JSON-LD","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FJSON-LD",{"name":37,"url":38},"Business-to-business","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FBusiness-to-business",[40,43,46,49,52,55,58,61,64,67,70,73],{"title":41,"url":42},"Google Search Central: Introduction to Product structured data","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Fproduct",{"title":44,"url":45},"Google Search Central: Merchant listing (Product, Offer) structured data","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Fmerchant-listing",{"title":47,"url":48},"Google Search Central: Product snippet structured data","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Fproduct-snippet",{"title":50,"url":51},"Google Search Central: Product variant structured data","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Fproduct-variants",{"title":53,"url":54},"Google Search Central: Organization structured data","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Forganization",{"title":56,"url":57},"Google Search Central: Merchant return policy structured data","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Freturn-policy",{"title":59,"url":60},"Google Search Central: General structured data guidelines","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Fsd-policies",{"title":62,"url":63},"Google Search Central: Generate structured data with JavaScript","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fappearance\u002Fstructured-data\u002Fgenerate-structured-data-with-javascript",{"title":65,"url":66},"Schema.org: Offer","https:\u002F\u002Fschema.org\u002FOffer",{"title":68,"url":69},"Schema.org: UnitPriceSpecification","https:\u002F\u002Fschema.org\u002FUnitPriceSpecification",{"title":71,"url":72},"Unhead: Product schema (defineProduct)","https:\u002F\u002Funhead.unjs.io\u002Fdocs\u002Fschema-org\u002Fapi\u002Fschema\u002Fproduct",{"title":74,"url":75},"Nuxt SEO: Schema.org identity setup","https:\u002F\u002Fnuxtseo.com\u002Fdocs\u002Fschema-org\u002Fguides\u002Fsetup-identity","\u002Fimages\u002Fblog\u002Fschema-org-structured-data-b2b-shop\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fschema-org-structured-data-b2b-shop\u002Fog.jpg","b2b-ecommerce-developer",[80,81,82],"en","de","hu","Schema.org strukturált adatok B2B webshopokhoz: bejelentkezés mögötti árak, egységek és változatok","Termék-markup B2B shopokhoz: snippet vagy kereskedői lista, melyik ár, cikkszámok, egységárak, változatok, Organization és SSR Nuxtban.","Schema.org B2B webshopokhoz: robot egy címkét olvas a bolti polcon, egy doboz lezárt üvegajtó mögött.",{"slug":87,"published":6,"minutes":88,"category":8,"tags":89,"tagPages":94,"keywords":95,"about":107,"sources":117,"cover":154,"og":155,"expertise":156,"locales":157,"lang":82,"title":158,"description":159,"coverAlt":160},"vue-ai-chat-ui-streaming-accessibility",11,[90,14,91,92,93],"Vue","Accessibility","Streaming","AI chat",[17],[96,97,98,99,100,101,102,103,104,105,106],"vue ai chat ui","nuxt llm streaming","sse vs fetch streaming","aria-live streaming szöveg","akadálymentes chat felület","fetch stream megszakítása vue","dompurify markdown llm","role log chat","csökkentett mozgás chat ui","wcag 2.2 chat","képernyőolvasó streaming",[108,111,114],{"name":109,"url":110},"Web accessibility","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FWeb_accessibility",{"name":112,"url":113},"Server-sent events","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FServer-sent_events",{"name":115,"url":116},"Vue.js","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FVue.js",[118,121,124,127,130,133,136,139,142,145,148,151],{"title":119,"url":120},"MDN: Using server-sent events","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FServer-sent_events\u002FUsing_server-sent_events",{"title":122,"url":123},"MDN: AbortController","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FAbortController",{"title":125,"url":126},"MDN: ReadableStream","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FReadableStream",{"title":128,"url":129},"MDN: TextDecoderStream","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FTextDecoderStream",{"title":131,"url":132},"MDN: ARIA log role","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAccessibility\u002FARIA\u002FReference\u002FRoles\u002Flog_role",{"title":134,"url":135},"W3C: Understanding SC 4.1.3 Status Messages","https:\u002F\u002Fwww.w3.org\u002FWAI\u002FWCAG22\u002FUnderstanding\u002Fstatus-messages.html",{"title":137,"url":138},"W3C WAI: What's new in WCAG 2.2","https:\u002F\u002Fwww.w3.org\u002FWAI\u002Fstandards-guidelines\u002Fwcag\u002Fnew-in-22\u002F",{"title":140,"url":141},"MDN: prefers-reduced-motion","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FCSS\u002F@media\u002Fprefers-reduced-motion",{"title":143,"url":144},"DOMPurify README","https:\u002F\u002Fgithub.com\u002Fcure53\u002FDOMPurify",{"title":146,"url":147},"markdown-it README","https:\u002F\u002Fgithub.com\u002Fmarkdown-it\u002Fmarkdown-it",{"title":149,"url":150},"AI SDK docs: useChat","https:\u002F\u002Fai-sdk.dev\u002Fdocs\u002Fai-sdk-ui\u002Fchatbot",{"title":152,"url":153},"Vue docs: nextTick","https:\u002F\u002Fvuejs.org\u002Fapi\u002Fgeneral.html#nexttick","\u002Fimages\u002Fblog\u002Fvue-ai-chat-ui-streaming-accessibility\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fvue-ai-chat-ui-streaming-accessibility\u002Fog.jpg","vue-nuxt-developer",[80,81,82],"AI-csevegő UI Vue-ban és Nuxtban: akadálymentes streaming","AI-csevegő Vue-ban vagy Nuxtban: fetch-stream, megszakítás és újrapróbálás, biztonságos markdown, aria-live bejelentések, billentyűzet és reduced motion.","MI-csevegő UI Vue-ban és Nuxtban: csevegőbuborékok jelennek meg egymás után, előttük fejhallgató és billentyű.",{"slug":162,"published":163,"minutes":164,"category":8,"tags":165,"tagPages":170,"keywords":171,"about":182,"sources":191,"cover":207,"og":208,"expertise":156,"locales":209,"lang":82,"title":210,"description":211,"coverAlt":212},"nuxt-i18n-multilingual-seo-hreflang","2026-10-16",8,[14,166,167,168,169],"i18n","SEO","hreflang","Multilingual",[17],[172,173,174,175,176,177,178,179,180,181],"nuxt i18n keresőoptimalizálás","nuxt hreflang","uselocalehead","nuxt i18n canonical","hreflang x-default","prefix_except_default","többnyelvű seo nuxt","nuxt i18n sitemap hreflang","önhivatkozó hreflang","nuxt i18n baseurl",[183,185,188],{"name":14,"url":184},"https:\u002F\u002Fnuxt.com\u002F",{"name":186,"url":187},"Hreflang","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FHreflang",{"name":189,"url":190},"Internationalization and localization","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FInternationalization_and_localization",[192,195,198,201,204],{"title":193,"url":194},"Nuxt i18n docs: SEO (useLocaleHead)","https:\u002F\u002Fi18n.nuxtjs.org\u002Fdocs\u002Fguide\u002Fseo",{"title":196,"url":197},"Nuxt i18n docs: Routing strategies","https:\u002F\u002Fi18n.nuxtjs.org\u002Fdocs\u002Fguide",{"title":199,"url":200},"Google Search Central: Tell Google about localized versions of your page","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fspecialty\u002Finternational\u002Flocalized-versions",{"title":202,"url":203},"Google Search Central: Managing multi-regional and multilingual sites","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fspecialty\u002Finternational\u002Fmanaging-multi-regional-sites",{"title":205,"url":206},"Google Search Central: How to specify a canonical URL","https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Fcrawling-indexing\u002Fconsolidate-duplicate-urls","\u002Fimages\u002Fblog\u002Fnuxt-i18n-multilingual-seo-hreflang\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fnuxt-i18n-multilingual-seo-hreflang\u002Fog.jpg",[80,81,82],"Többnyelvű SEO Nuxt i18n-nel: URL-stratégia, hreflang, canonical és sitemap","Így állítsd be a Nuxt i18n modult, hogy a keresők minden nyelvet indexeljenek: útvonal-stratégia, useLocaleHead, hreflang, részleges fordítás, sitemap.","Többnyelvű SEO Nuxt i18n-nel: háromkarú útjelző három házra mutat, a tövében földgömb.",{"slug":214,"published":163,"minutes":215,"category":8,"tags":216,"tagPages":221,"keywords":223,"about":236,"sources":243,"cover":277,"og":278,"expertise":156,"locales":279,"lang":82,"title":280,"description":281,"coverAlt":282},"llm-endpoint-abuse-denial-of-wallet",14,[14,217,218,219,220],"LLM security","Rate limiting","OWASP","Cost control",[17,222],"llm-security",[224,225,226,227,228,229,230,231,232,233,234,235],"denial of wallet llm","owasp llm10 korlátlan fogyasztás","rate limit llm api nuxtban","nuxt biztonsági rate limiter","openai api kulcs védelme frontenden","llm tokenkeret felhasználónként","llm költség korlátozása felhasználónként","nitro api rate limiting","cloudflare turnstile nuxt","anthropic költségkorlát","openai kemény költségkorlát","llm prompt méretkorlát",[237,239,242],{"name":218,"url":238},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRate_limiting",{"name":240,"url":241},"Denial-of-service attack","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDenial-of-service_attack",{"name":14,"url":184},[244,247,250,253,256,259,262,265,268,271,274],{"title":245,"url":246},"OWASP GenAI Security Project: LLM10:2025 Unbounded Consumption","https:\u002F\u002Fgenai.owasp.org\u002Fllmrisk\u002Fllm102025-unbounded-consumption\u002F",{"title":248,"url":249},"Nuxt Security: Rate Limiter middleware","https:\u002F\u002Fnuxt-security.vercel.app\u002Fmiddleware\u002Frate-limiter",{"title":251,"url":252},"Nuxt Security: Request Size Limiter middleware","https:\u002F\u002Fnuxt-security.vercel.app\u002Fmiddleware\u002Frequest-size-limiter",{"title":254,"url":255},"nuxt-auth-utils: README (GitHub)","https:\u002F\u002Fgithub.com\u002Fatinux\u002Fnuxt-auth-utils",{"title":257,"url":258},"h3: request utilities (getRequestIP, readValidatedBody)","https:\u002F\u002Fh3.dev\u002Futils\u002Frequest",{"title":260,"url":261},"Upstash: Ratelimiting algorithms","https:\u002F\u002Fupstash.com\u002Fdocs\u002Fredis\u002Fsdks\u002Fratelimit-ts\u002Falgorithms",{"title":263,"url":264},"Cloudflare Turnstile: Validate the token","https:\u002F\u002Fdevelopers.cloudflare.com\u002Fturnstile\u002Fget-started\u002Fserver-side-validation\u002F",{"title":266,"url":267},"Claude Platform Docs: Rate limits and spend limits","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fapi\u002Frate-limits",{"title":269,"url":270},"Claude Platform Docs: Token counting","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Ftoken-counting",{"title":272,"url":273},"OpenAI API Docs: Spend limits","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fspend-limits",{"title":275,"url":276},"OpenAI API Docs: Rate limits","https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Frate-limits","\u002Fimages\u002Fblog\u002Fllm-endpoint-abuse-denial-of-wallet\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fllm-endpoint-abuse-denial-of-wallet\u002Fog.jpg",[80,81,82],"Denial of wallet: nyilvános LLM-végpontok védelme egy Nuxt-alkalmazásban","Visszaélés és elszabaduló költség megállítása egy nyilvános Nuxt LLM-útvonalon: auth, rate limit, promptkorlát, tokenkeret, Turnstile és költéskorlát.","Denial of wallet Nuxt-alkalmazásban: forgókapu lassítja a nyitott pénztárca felé tartó apró robotok sorát.",{"slug":284,"published":285,"minutes":286,"category":8,"tags":287,"tagPages":291,"keywords":293,"about":301,"sources":308,"cover":330,"og":331,"expertise":332,"locales":333,"lang":82,"title":334,"description":335,"coverAlt":336},"llms-txt-vs-markdown-content-negotiation","2026-10-07",9,[288,289,290,14],"llms.txt","Content negotiation","AI agents",[292,17],"ai-agents",[288,294,295,296,297,298,299,300],"markdown ügynököknek","tartalomegyeztetés","ai crawlerek","geo optimalizálás","accept text\u002Fmarkdown fejléc","llms-full.txt","ügynökbarát weboldal",[302,305],{"name":303,"url":304},"Markdown","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMarkdown",{"name":306,"url":307},"Hypertext Transfer Protocol","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FHypertext_Transfer_Protocol",[309,312,315,318,321,324,327],{"title":310,"url":311},"llmstxt.org: The \u002Fllms.txt file (proposal, version 2)","https:\u002F\u002Fllmstxt.org\u002F",{"title":313,"url":314},"llmstxt.org: Changes from v1 to v2","https:\u002F\u002Fllmstxt.org\u002Fchanges.html",{"title":316,"url":317},"Cloudflare changelog: Markdown for Agents (12 February 2026)","https:\u002F\u002Fdevelopers.cloudflare.com\u002Fchangelog\u002Fpost\u002F2026-02-12-markdown-for-agents\u002F",{"title":319,"url":320},"Cloudflare docs: Markdown for Agents","https:\u002F\u002Fdevelopers.cloudflare.com\u002Ffundamentals\u002Freference\u002Fmarkdown-for-agents\u002F",{"title":322,"url":323},"Ahrefs: 137K sites analyzed, 97% of llms.txt files never get read (June 2026)","https:\u002F\u002Fahrefs.com\u002Fblog\u002Fllmstxt-study\u002F",{"title":325,"url":326},"Checkly: The current state of content negotiation for AI agents (February 2026)","https:\u002F\u002Fwww.checklyhq.com\u002Fblog\u002Fstate-of-ai-agent-content-negotation\u002F",{"title":328,"url":329},"Suganthan: tracking Cloudflare Markdown for Agents on one site","https:\u002F\u002Fsuganthan.com\u002Fblog\u002Fcloudflare-markdown-for-agents\u002F","\u002Fimages\u002Fblog\u002Fllms-txt-vs-markdown-content-negotiation\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fllms-txt-vs-markdown-content-negotiation\u002Fog.jpg","ai-engineer",[80,81,82],"llms.txt vagy Markdown content negotiation: mit töltenek le valójában az ügynökök","Az llms.txt javaslat, a Markdown content negotiation fejléc. Mit töltenek le az MI-ügynökök, mit mutatnak a naplók, és hogyan működik Nuxttal, nginxszel?","llms.txt vagy Markdown: egy robot a pultnál a rövid étlap helyett a teljes lapért nyúl.",{"slug":338,"published":339,"updated":163,"minutes":88,"category":8,"tags":340,"tagPages":345,"keywords":346,"about":357,"sources":367,"cover":404,"og":405,"expertise":156,"locales":406,"lang":82,"title":407,"description":408,"coverAlt":409},"nuxt-caching-isr-commerce","2026-10-05",[14,341,342,343,344],"Caching","ISR","Headless commerce","Cache invalidation",[17],[347,348,349,350,351,352,353,354,355,356],"nuxt route rules gyorsítótárazás","nuxt isr","nitro cache swr","gyorsítótár érvénytelenítés cache tag alapján","nuxt isr cloudflare","stale while revalidate webáruház","headless webáruház gyorsítótárazás","vercel isr árak","cdn cache key vary","személyre szabott árak gyorsítótárazott oldalakon",[358,361,364],{"name":359,"url":360},"Content delivery network","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FContent_delivery_network",{"name":362,"url":363},"Cache (computing)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCache_(computing)",{"name":365,"url":366},"Static site generator","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FStatic_site_generator",[368,371,374,377,380,383,386,389,392,395,398,401],{"title":369,"url":370},"Nuxt docs: rendering modes and route rules (v4)","https:\u002F\u002Fnuxt.com\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Frendering",{"title":372,"url":373},"Nuxt blog: Nuxt 4.3 release (ISR and SWR payload extraction)","https:\u002F\u002Fnuxt.com\u002Fblog\u002Fv4-3",{"title":375,"url":376},"Nitro docs: caching","https:\u002F\u002Fnitro.build\u002Fguide\u002Fcache",{"title":378,"url":379},"Cloudflare docs: default cache behavior","https:\u002F\u002Fdevelopers.cloudflare.com\u002Fcache\u002Fconcepts\u002Fdefault-cache-behavior\u002F",{"title":381,"url":382},"Cloudflare docs: purge by tags","https:\u002F\u002Fdevelopers.cloudflare.com\u002Fcache\u002Fhow-to\u002Fpurge-cache\u002Fpurge-by-tags\u002F",{"title":384,"url":385},"Cloudflare docs: Workers Cache","https:\u002F\u002Fdevelopers.cloudflare.com\u002Fworkers\u002Fcache\u002F",{"title":387,"url":388},"Cloudflare docs: cache responses (CF-Cache-Status)","https:\u002F\u002Fdevelopers.cloudflare.com\u002Fcache\u002Fconcepts\u002Fcache-responses\u002F",{"title":390,"url":391},"Vercel docs: incremental static regeneration","https:\u002F\u002Fvercel.com\u002Fdocs\u002Fincremental-static-regeneration",{"title":393,"url":394},"Vercel docs: response headers (x-vercel-cache)","https:\u002F\u002Fvercel.com\u002Fdocs\u002Fheaders\u002Fresponse-headers",{"title":396,"url":397},"Shopify docs: Hydrogen caching strategies","https:\u002F\u002Fshopify.dev\u002Fdocs\u002Fstorefronts\u002Fheadless\u002Fhydrogen\u002Fcaching",{"title":399,"url":400},"RFC 5861: HTTP Cache-Control extensions for stale content","https:\u002F\u002Fwww.rfc-editor.org\u002Frfc\u002Frfc5861",{"title":402,"url":403},"Regulation (EU) 2016\u002F679 (GDPR), EUR-Lex","https:\u002F\u002Feur-lex.europa.eu\u002Feli\u002Freg\u002F2016\u002F679\u002Foj","\u002Fimages\u002Fblog\u002Fnuxt-caching-isr-commerce\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fnuxt-caching-isr-commerce\u002Fog.jpg",[80,81,82],"Headless webáruház frontendjének gyorsítótárazása Nuxtban: útvonalszabályok, ISR és törlés","Webáruház gyorsítótárazása Nuxtban: útvonalszabályok, Nitro- és CDN-kulcsok, ISR-korlátok, címkés törlés, és a vevői árak kizárása a közös gyorsítótárból.","Gyorsítótárazás Nuxtban (ISR): egy oldal csúszik ki egymásra rakott cache-tálcákból, mellette egy óra.",{"slug":411,"published":412,"updated":163,"minutes":88,"category":8,"tags":413,"tagPages":417,"keywords":418,"about":429,"sources":438,"cover":475,"og":476,"expertise":156,"locales":477,"lang":82,"title":478,"description":479,"coverAlt":480},"nuxt-security-module","2026-10-02",[14,414,415,218,416],"Content Security Policy","HTTP security headers","Nitro",[17],[419,420,421,422,423,424,425,426,427,428],"nuxt security modul","nuxt content security policy nonce","nuxt biztonsági fejlécek","nitro route rules biztonság","nuxt rate limiter","nuxt cors server route-ok","csp report-uri nuxt","nuxt csrf védelem","biztonságos nuxt alkalmazás ellenőrzőlista","nuxt csp strict-dynamic hiba",[430,432,435],{"name":414,"url":431},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FContent_Security_Policy",{"name":433,"url":434},"Cross-site scripting","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCross-site_scripting",{"name":436,"url":437},"Cross-origin resource sharing","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCross-origin_resource_sharing",[439,442,445,448,451,454,457,460,463,466,469,472],{"title":440,"url":441},"Nuxt Security README (main branch)","https:\u002F\u002Fgithub.com\u002FBaroshem\u002Fnuxt-security\u002Fblob\u002Fmain\u002FREADME.md",{"title":443,"url":444},"Nuxt Security default configuration (src\u002FdefaultConfig.ts)","https:\u002F\u002Fraw.githubusercontent.com\u002FBaroshem\u002Fnuxt-security\u002Fmain\u002Fsrc\u002FdefaultConfig.ts",{"title":446,"url":447},"Nuxt Security docs: Content Security Policy","https:\u002F\u002Fraw.githubusercontent.com\u002FBaroshem\u002Fnuxt-security\u002Fmain\u002Fdocs\u002Fcontent\u002F2.headers\u002F1.csp.md",{"title":449,"url":450},"Nuxt Security docs: rate limiter","https:\u002F\u002Fraw.githubusercontent.com\u002FBaroshem\u002Fnuxt-security\u002Fmain\u002Fdocs\u002Fcontent\u002F3.middleware\u002F1.rate-limiter.md",{"title":452,"url":453},"Nuxt Security docs: CORS handler","https:\u002F\u002Fraw.githubusercontent.com\u002FBaroshem\u002Fnuxt-security\u002Fmain\u002Fdocs\u002Fcontent\u002F3.middleware\u002F4.cors-handler.md",{"title":455,"url":456},"Nuxt Security docs: CSRF","https:\u002F\u002Fraw.githubusercontent.com\u002FBaroshem\u002Fnuxt-security\u002Fmain\u002Fdocs\u002Fcontent\u002F3.middleware\u002F7.csrf.md",{"title":458,"url":459},"Nuxt Security docs: hooks","https:\u002F\u002Fraw.githubusercontent.com\u002FBaroshem\u002Fnuxt-security\u002Fmain\u002Fdocs\u002Fcontent\u002F5.advanced\u002F4.hooks.md",{"title":461,"url":462},"Nuxt Security docs: security headers","https:\u002F\u002Fraw.githubusercontent.com\u002FBaroshem\u002Fnuxt-security\u002Fmain\u002Fdocs\u002Fcontent\u002F5.advanced\u002F5.security-headers.md",{"title":464,"url":465},"Nuxt Security docs: improving security","https:\u002F\u002Fraw.githubusercontent.com\u002FBaroshem\u002Fnuxt-security\u002Fmain\u002Fdocs\u002Fcontent\u002F5.advanced\u002F7.improve-security.md",{"title":467,"url":468},"Nuxt Security release v2.6.0 (12 May 2026)","https:\u002F\u002Fgithub.com\u002FBaroshem\u002Fnuxt-security\u002Freleases\u002Ftag\u002Fv2.6.0",{"title":470,"url":471},"MDN: HTTP Observatory","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fobservatory",{"title":473,"url":474},"Playwright: Response class","https:\u002F\u002Fplaywright.dev\u002Fdocs\u002Fapi\u002Fclass-response","\u002Fimages\u002Fblog\u002Fnuxt-security-module\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fnuxt-security-module\u002Fog.jpg",[80,81,82],"Nuxt-alkalmazás megerősítése: CSP, fejlécek és korlátok a Nuxt Security-val","A Nuxt Security modul a gyakorlatban: biztonságos alapértékek, a szigorú mód kompromisszumai, nonce-CSP SSR-ben és SSG-ben, útvonalszabályok.","Nuxt Security modul: három lakattal ellátott pajzs véd egy böngészőablakot.",{"slug":482,"published":483,"minutes":484,"category":8,"tags":485,"tagPages":487,"keywords":488,"about":498,"sources":505,"cover":531,"og":532,"expertise":78,"locales":533,"lang":82,"title":534,"description":535,"coverAlt":536},"headless-product-configurator-b2b","2026-09-14",12,[486,12,14,343],"Product configurator",[16,17],[489,490,491,492,493,494,495,496,497],"b2b termékkonfigurátor","b2b konfigurátor","termékkonfigurátor typo3","headless termékkonfigurátor","cpq konfiguráció árajánlat","szabálymotor vs constraint solver","nuxt spryker glue api","termékkonfigurátor 100000 variáns","akadálymentes termékkonfigurátor",[499,501,503],{"name":486,"url":500},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FProduct_configurator",{"name":343,"url":502},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FHeadless_commerce",{"name":14,"url":504},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FNuxt",[506,508,511,514,517,520,523,525,528],{"title":507,"url":500},"Wikipedia: Knowledge-based configuration (product configurator)",{"title":509,"url":510},"Google OR-Tools: The CP-SAT solver","https:\u002F\u002Fdevelopers.google.com\u002Foptimization\u002Fcp\u002Fcp_solver",{"title":512,"url":513},"Spryker documentation: Glue API, Product Configuration feature integration","https:\u002F\u002Fdocs.spryker.com\u002Fdocs\u002Fscos\u002Fdev\u002Ffeature-integration-guides\u002F202108.0\u002Fglue-api\u002Fglue-api-product-configuration-feature-integration.html",{"title":515,"url":516},"OWASP: Input Validation Cheat Sheet","https:\u002F\u002Fcheatsheetseries.owasp.org\u002Fcheatsheets\u002FInput_Validation_Cheat_Sheet.html",{"title":518,"url":519},"web.dev: Virtualize large lists","https:\u002F\u002Fweb.dev\u002Farticles\u002Fvirtualize-long-lists-react-window",{"title":521,"url":522},"W3C: Understanding SC 3.3.1 Error Identification (WCAG 2.2)","https:\u002F\u002Fwww.w3.org\u002FWAI\u002FWCAG22\u002FUnderstanding\u002Ferror-identification.html",{"title":524,"url":135},"W3C: Understanding SC 4.1.3 Status Messages (WCAG 2.2)",{"title":526,"url":527},"W3C: Understanding SC 2.5.8 Target Size (Minimum) (WCAG 2.2)","https:\u002F\u002Fwww.w3.org\u002FWAI\u002FWCAG22\u002FUnderstanding\u002Ftarget-size-minimum.html",{"title":529,"url":530},"W3C WAI-ARIA Authoring Practices: Combobox pattern","https:\u002F\u002Fwww.w3.org\u002FWAI\u002FARIA\u002Fapg\u002Fpatterns\u002Fcombobox\u002F","\u002Fimages\u002Fblog\u002Fheadless-product-configurator-b2b\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fheadless-product-configurator-b2b\u002Fog.jpg",[80,81,82],"Headless B2B termékkonfigurátor: szabályok, árazás és Nuxt egy commerce API-n","Headless B2B konfigurátor: szabálymotor vagy solver, a szabályok helye, szerveroldali árazás, Nuxt a commerce API-n, TYPO3 és 100 ezernél több variáns.","Headless B2B termékkonfigurátor: egy kéz gombot illeszt egy gépre, mellette cserélhető alkatrészek és árcédula.",{"slug":538,"published":539,"minutes":540,"category":8,"tags":541,"tagPages":545,"keywords":546,"about":557,"sources":562,"cover":619,"og":620,"expertise":156,"locales":621,"lang":82,"title":622,"description":623,"coverAlt":624},"nuxt-core-web-vitals-performance","2026-07-21",13,[542,14,543,544],"Core Web Vitals","Performance","E-commerce",[17],[547,548,549,550,551,552,553,554,555,556],"core web vitals nuxt","nuxt teljesítmény optimalizálás","lcp javítása nuxt","inp nuxt hydration","cls javítása vue","nuxt lazy hydration","nuxt image lcp","nuxt scripts külső szkriptek","nuxt prerender vs ssr vs isr","core web vitals webshop",[558,560,561],{"name":542,"url":559},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCore_Web_Vitals",{"name":14,"url":504},{"name":115,"url":116},[563,566,569,572,575,578,581,584,587,590,592,595,598,601,604,607,610,613,616],{"title":564,"url":565},"web.dev: Web Vitals","https:\u002F\u002Fweb.dev\u002Farticles\u002Fvitals",{"title":567,"url":568},"web.dev: Largest Contentful Paint (LCP)","https:\u002F\u002Fweb.dev\u002Farticles\u002Flcp",{"title":570,"url":571},"web.dev: Optimize Largest Contentful Paint","https:\u002F\u002Fweb.dev\u002Farticles\u002Foptimize-lcp",{"title":573,"url":574},"web.dev: Interaction to Next Paint (INP)","https:\u002F\u002Fweb.dev\u002Farticles\u002Finp",{"title":576,"url":577},"web.dev: Optimize Cumulative Layout Shift","https:\u002F\u002Fweb.dev\u002Farticles\u002Foptimize-cls",{"title":579,"url":580},"web.dev: Optimize long tasks","https:\u002F\u002Fweb.dev\u002Farticles\u002Foptimize-long-tasks",{"title":582,"url":583},"Chrome for Developers: Chrome UX Report (CrUX)","https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fcrux",{"title":585,"url":586},"Chrome for Developers: CrUX methodology","https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fcrux\u002Fmethodology",{"title":588,"url":589},"GitHub: GoogleChrome\u002Fweb-vitals","https:\u002F\u002Fgithub.com\u002FGoogleChrome\u002Fweb-vitals",{"title":591,"url":370},"Nuxt docs: Rendering modes",{"title":593,"url":594},"Nuxt docs: Components (Lazy prefix, delayed hydration, client components)","https:\u002F\u002Fnuxt.com\u002Fdocs\u002F4.x\u002Fguide\u002Fdirectory-structure\u002Fapp\u002Fcomponents",{"title":596,"url":597},"Nuxt docs: Experimental features (lazyHydration, payloadExtraction)","https:\u002F\u002Fnuxt.com\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fexperimental-features",{"title":599,"url":600},"Nuxt docs: Data fetching (pick, transform, lazy)","https:\u002F\u002Fnuxt.com\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fdata-fetching",{"title":602,"url":603},"Nuxt blog: Nuxt 4.5","https:\u002F\u002Fnuxt.com\u002Fblog\u002Fv4-5",{"title":605,"url":606},"GitHub: Nuxt releases","https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fnuxt\u002Freleases",{"title":608,"url":609},"Nuxt Image: NuxtImg","https:\u002F\u002Fimage.nuxt.com\u002Fusage\u002Fnuxt-img",{"title":611,"url":612},"Nuxt Fonts module","https:\u002F\u002Fnuxt.com\u002Fmodules\u002Ffonts",{"title":614,"url":615},"Nuxt Scripts: Getting started","https:\u002F\u002Fscripts.nuxt.com\u002Fdocs\u002Fgetting-started",{"title":617,"url":618},"Nuxt Scripts: Script triggers","https:\u002F\u002Fscripts.nuxt.com\u002Fdocs\u002Fguides\u002Fscript-triggers","\u002Fimages\u002Fblog\u002Fnuxt-core-web-vitals-performance\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fnuxt-core-web-vitals-performance\u002Fog.jpg",[80,81,82],"Core Web Vitals Nuxt oldalakhoz és webshopokhoz: LCP, INP és CLS javítása","Így javítsd az LCP-t, INP-t és CLS-t Nuxt 4 oldalakon és webshopokban: képek, hydration, fontok, külső szkriptek, prerender vs. SSR vs. ISR, valódi mérés.","Core Web Vitals Nuxt-oldalakhoz: három műszerfali mutató a nyugodt tartományban, egy kormány mögött.",{"slug":626,"published":627,"updated":285,"minutes":286,"category":8,"tags":628,"tagPages":632,"keywords":633,"about":645,"sources":652,"cover":674,"og":675,"expertise":156,"locales":676,"lang":82,"title":677,"description":678,"coverAlt":679},"nuxt-llm-features-ai-sdk-streaming","2026-05-14",[14,629,92,630,631,416],"AI SDK","Structured output","Tool approval",[17],[634,635,636,637,638,639,640,641,642,643,644],"nuxt ai","ai sdk vue","nuxt server route llm","streamelt chat nuxt","usechat @ai-sdk\u002Fvue","strukturált kimenet json schema korlátok","emberi jóváhagyás eszközhíváshoz","nitro api route modell kulcs","ai act chatbot átláthatóság nuxt","stopwhen isstepcount","nuxt llm streamelés",[646,647,649],{"name":14,"url":504},{"name":629,"url":648},"https:\u002F\u002Fai-sdk.dev",{"name":650,"url":651},"Zod","https:\u002F\u002Fzod.dev",[653,656,659,662,665,668,671],{"title":654,"url":655},"AI SDK docs: Vue.js (Nuxt) quickstart","https:\u002F\u002Fai-sdk.dev\u002Fdocs\u002Fgetting-started\u002Fnuxt",{"title":657,"url":658},"AI SDK docs: Generating structured data","https:\u002F\u002Fai-sdk.dev\u002Fdocs\u002Fai-sdk-core\u002Fgenerating-structured-data",{"title":660,"url":661},"AI SDK docs: Tool approvals","https:\u002F\u002Fai-sdk.dev\u002Fdocs\u002Fagents\u002Ftool-approvals",{"title":663,"url":664},"Claude API docs: Structured outputs","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fstructured-outputs",{"title":666,"url":667},"AI SDK docs: Telemetry","https:\u002F\u002Fai-sdk.dev\u002Fdocs\u002Fai-sdk-core\u002Ftelemetry",{"title":669,"url":670},"EU AI Act, Article 50: Transparency obligations","https:\u002F\u002Fartificialintelligenceact.eu\u002Farticle\u002F50\u002F",{"title":672,"url":673},"Faegre Drinker: Commission confirms the Transparency Code of Practice (Jul 2026)","https:\u002F\u002Fwww.faegredrinker.com\u002Fen\u002Finsights\u002Fpublications\u002F2026\u002F7\u002Feu-ai-act-commission-confirms-transparency-code-of-practice-as-adequate-and-publishes-final-version-of-its-guidelines-on-transparency-obligations","\u002Fimages\u002Fblog\u002Fnuxt-llm-features-ai-sdk-streaming\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fnuxt-llm-features-ai-sdk-streaming\u002Fog.jpg",[80,81,82],"LLM funkciók a Nuxtban: streamelés, strukturált kimenet, eszközjóváhagyás","Nuxt AI végigtől végig: a kulcsot tartó szerverútvonal, message partok, szigorú strukturált kimenet, jóváhagyást igénylő eszközök, hibák és a 50. cikkely.","LLM funkciók a Nuxtban: csap egyenletes sugárban tölt egy poharat, mellette kéz egy jóváhagyó gomb fölött.",1793451238176]