0
0
Svelteframework~20 mins

SEO and meta tags in Svelte - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
SEO Meta Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
component_behavior
intermediate
2:00remaining
What is the rendered tag content?</div><div>Given this Svelte component, what will be the content of the <title> tag in the browser tab?<br><br><pre><svelte:head> <title>Welcome to Svelte SEO</title> </svelte:head> <h1>Hello World</h1></pre></div></div><div class="mt-3 "><div class="code-block"><div class="code-header"><span class="code-title">Svelte</span><button class="code-copy-btn"><span class="new-material-symbols icon-hw-16"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M326.93-211.18q-30.99 0-53.37-22.38t-22.38-53.37v-528.56q0-31.06 22.38-53.48 22.38-22.43 53.37-22.43h408.56q31.06 0 53.48 22.43 22.43 22.42 22.43 53.48v528.56q0 30.99-22.43 53.37-22.42 22.38-53.48 22.38H326.93Zm0-75.75h408.56v-528.56H326.93v528.56ZM184.51-68.6q-31.06 0-53.48-22.43-22.43-22.42-22.43-53.48v-566.43q0-16 10.97-26.94 10.98-10.94 27.1-10.94 16.13 0 26.99 10.94 10.85 10.94 10.85 26.94v566.43h446.43q16 0 26.94 10.97 10.94 10.97 10.94 27.1 0 16.13-10.94 26.98-10.94 10.86-26.94 10.86H184.51Zm142.42-218.33v-528.56 528.56Z"></path></svg></span></button></div><pre class="code-content"><svelte:head> <title>Welcome to Svelte SEO</title> </svelte:head> <h1>Hello World</h1></pre></div></div><div class="task-options"><div class="task-option "><span class="task-option-key">A</span><span class="text-pre-wrap">The browser tab shows "Welcome to Svelte SEO"</span></div><div class="task-option "><span class="task-option-key">B</span><span class="text-pre-wrap">The browser tab shows "Hello World"</span></div><div class="task-option "><span class="task-option-key">C</span><span class="text-pre-wrap">The browser tab is blank</span></div><div class="task-option "><span class="task-option-key">D</span><span class="text-pre-wrap">The browser tab shows the default page title</span></div></div><div class="challenge-attempts"><span>Attempts:</span><div class="attempt-dots"><span class="attempt-dot "></span><span class="attempt-dot "></span></div><span>2<!-- --> left</span></div><div class="challenge-hint d-none"><div class="challenge-hint-title">💡 Hint</div><div class="challenge-hint-text">The <svelte:head> tag lets you set head elements like title.</div></div><div class="feedback-box incorrect d-none"><div class="feedback-title">✗ Incorrect</div><div class="feedback-text">The <title> inside <svelte:head> sets the page title shown in the browser tab.</div></div></div></div><div class="challenge-container "><div class="task-card "><div class="task-header"><div class="task-badge"><span class="challenge-type-badge syntax">📝<!-- --> <!-- -->Syntax</span></div><span class="task-difficulty intermediate">intermediate</span></div><div class="challenge-timer "><svg class="timer-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg><span class="timer-value">2:00</span><span class="timer-label">remaining</span></div><div class="challenge-prompt"><div class="challenge-title">Which option correctly adds a meta description tag in Svelte?</div><div>You want to add a meta description tag for SEO inside a Svelte component. Which code snippet is correct?</div></div><div class="mt-3 d-none"></div><div class="task-options"><div class="task-option task-option-code "><span class="task-option-key">A</span><pre class="option-code">&lt;head&gt; &lt;meta description="This is a Svelte app" /&gt; &lt;/head&gt;</pre></div><div class="task-option task-option-code "><span class="task-option-key">B</span><pre class="option-code">&lt;svelte:head&gt; &lt;meta content="This is a Svelte app" name="description" /&gt; &lt;/svelte:head&gt;</pre></div><div class="task-option task-option-code "><span class="task-option-key">C</span><pre class="option-code">&lt;svelte:head&gt; &lt;meta name="description" content="This is a Svelte app" /&gt; &lt;/svelte:head&gt;</pre></div><div class="task-option task-option-code "><span class="task-option-key">D</span><pre class="option-code">&lt;svelte:head&gt; &lt;meta name="desc" content="This is a Svelte app" /&gt; &lt;/svelte:head&gt;</pre></div></div><div class="challenge-attempts"><span>Attempts:</span><div class="attempt-dots"><span class="attempt-dot "></span><span class="attempt-dot "></span></div><span>2<!-- --> left</span></div><div class="challenge-hint d-none"><div class="challenge-hint-title">💡 Hint</div><div class="challenge-hint-text">Use <svelte:head> and correct meta attributes.</div></div><div class="feedback-box incorrect d-none"><div class="feedback-title">✗ Incorrect</div><div class="feedback-text">Option C uses <svelte:head> and the correct meta tag with name="description" and content attribute.</div></div></div></div><div class="challenge-container "><div class="task-card "><div class="task-header"><div class="task-badge"><span class="challenge-type-badge state_output">❓<!-- --> <!-- -->state_output</span></div><span class="task-difficulty advanced">advanced</span></div><div class="challenge-timer "><svg class="timer-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg><span class="timer-value">2:00</span><span class="timer-label">remaining</span></div><div class="challenge-prompt"><div class="challenge-title">What is the final meta tag content after state update?</div><div>Consider this Svelte component that updates the meta description dynamically:<br><br><pre><script> import { onMount } from 'svelte'; let desc = 'Initial description'; onMount(() => { setTimeout(() => { desc = 'Updated description'; }, 1000); }); </script> <svelte:head> <meta name="description" content={desc} /> </svelte:head> <h1>Check meta description</h1></pre><br>What will be the content attribute of the meta description tag after 2 seconds?</div></div><div class="mt-3 "><div class="code-block"><div class="code-header"><span class="code-title">Svelte</span><button class="code-copy-btn"><span class="new-material-symbols icon-hw-16"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M326.93-211.18q-30.99 0-53.37-22.38t-22.38-53.37v-528.56q0-31.06 22.38-53.48 22.38-22.43 53.37-22.43h408.56q31.06 0 53.48 22.43 22.43 22.42 22.43 53.48v528.56q0 30.99-22.43 53.37-22.42 22.38-53.48 22.38H326.93Zm0-75.75h408.56v-528.56H326.93v528.56ZM184.51-68.6q-31.06 0-53.48-22.43-22.43-22.42-22.43-53.48v-566.43q0-16 10.97-26.94 10.98-10.94 27.1-10.94 16.13 0 26.99 10.94 10.85 10.94 10.85 26.94v566.43h446.43q16 0 26.94 10.97 10.94 10.97 10.94 27.1 0 16.13-10.94 26.98-10.94 10.86-26.94 10.86H184.51Zm142.42-218.33v-528.56 528.56Z"></path></svg></span></button></div><pre class="code-content"><script> <span class="hl-kw">import</span> { onMount } <span class="hl-kw">from</span> <span class="hl-str">'svelte'</span>; <span class="hl-kw">let</span> desc = <span class="hl-str">'Initial description'</span>; onMount(() => { <span class="hl-fn">setTimeout</span>(() => { desc = <span class="hl-str">'Updated description'</span>; }, <span class="hl-num">1000</span>); }); </script> <svelte:head> <meta name=<span class="hl-str">"description"</span> content={desc} /> </svelte:head> <h1>Check meta description</h1></pre></div></div><div class="task-options"><div class="task-option "><span class="task-option-key">A</span><span class="text-pre-wrap">The meta description content is "Initial description"</span></div><div class="task-option "><span class="task-option-key">B</span><span class="text-pre-wrap">The meta description content is "Updated description"</span></div><div class="task-option "><span class="task-option-key">C</span><span class="text-pre-wrap">The meta description tag is removed</span></div><div class="task-option "><span class="task-option-key">D</span><span class="text-pre-wrap">The meta description content is empty</span></div></div><div class="challenge-attempts"><span>Attempts:</span><div class="attempt-dots"><span class="attempt-dot "></span><span class="attempt-dot "></span></div><span>2<!-- --> left</span></div><div class="challenge-hint d-none"><div class="challenge-hint-title">💡 Hint</div><div class="challenge-hint-text">The meta tag content updates reactively when the variable changes.</div></div><div class="feedback-box incorrect d-none"><div class="feedback-title">✗ Incorrect</div><div class="feedback-text">Svelte updates the meta tag content reactively when the variable 'desc' changes after 1 second.</div></div></div></div><div class="challenge-container "><div class="task-card "><div class="task-header"><div class="task-badge"><span class="challenge-type-badge debug">🔧<!-- --> <!-- -->Debug</span></div><span class="task-difficulty advanced">advanced</span></div><div class="challenge-timer "><svg class="timer-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg><span class="timer-value">2:00</span><span class="timer-label">remaining</span></div><div class="challenge-prompt"><div class="challenge-title">Why does this meta tag not appear in the page head?</div><div>You wrote this Svelte code but the meta tag does not show in the browser head:<br><br><pre><script> let keywords = 'svelte, seo, meta'; </script> <head> <meta name="keywords" content={keywords} /> </head></pre><br>What is the reason?</div></div><div class="mt-3 "><div class="code-block"><div class="code-header"><span class="code-title">Svelte</span><button class="code-copy-btn"><span class="new-material-symbols icon-hw-16"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M326.93-211.18q-30.99 0-53.37-22.38t-22.38-53.37v-528.56q0-31.06 22.38-53.48 22.38-22.43 53.37-22.43h408.56q31.06 0 53.48 22.43 22.43 22.42 22.43 53.48v528.56q0 30.99-22.43 53.37-22.42 22.38-53.48 22.38H326.93Zm0-75.75h408.56v-528.56H326.93v528.56ZM184.51-68.6q-31.06 0-53.48-22.43-22.43-22.42-22.43-53.48v-566.43q0-16 10.97-26.94 10.98-10.94 27.1-10.94 16.13 0 26.99 10.94 10.85 10.94 10.85 26.94v566.43h446.43q16 0 26.94 10.97 10.94 10.97 10.94 27.1 0 16.13-10.94 26.98-10.94 10.86-26.94 10.86H184.51Zm142.42-218.33v-528.56 528.56Z"></path></svg></span></button></div><pre class="code-content"><script> <span class="hl-kw">let</span> keywords = <span class="hl-str">'svelte, seo, meta'</span>; </script> <head> <meta name=<span class="hl-str">"keywords"</span> content={keywords} /> </head></pre></div></div><div class="task-options"><div class="task-option "><span class="task-option-key">A</span><span class="text-pre-wrap">The meta tag must be placed inside <body> to appear</span></div><div class="task-option "><span class="task-option-key">B</span><span class="text-pre-wrap">The variable 'keywords' is not reactive, so meta tag is empty</span></div><div class="task-option "><span class="task-option-key">C</span><span class="text-pre-wrap">The meta tag syntax is invalid and causes a runtime error</span></div><div class="task-option "><span class="task-option-key">D</span><span class="text-pre-wrap">The <head> tag inside Svelte component is ignored; use <svelte:head> instead</span></div></div><div class="challenge-attempts"><span>Attempts:</span><div class="attempt-dots"><span class="attempt-dot "></span><span class="attempt-dot "></span></div><span>2<!-- --> left</span></div><div class="challenge-hint d-none"><div class="challenge-hint-title">💡 Hint</div><div class="challenge-hint-text">Svelte requires a special tag to modify the document head.</div></div><div class="feedback-box incorrect d-none"><div class="feedback-title">✗ Incorrect</div><div class="feedback-text">In Svelte, the <head> tag inside components is ignored. You must use <svelte:head> to add head elements.</div></div></div></div><div class="challenge-container "><div class="task-card "><div class="task-header"><div class="task-badge"><span class="challenge-type-badge conceptual">🧠<!-- --> <!-- -->Conceptual</span></div><span class="task-difficulty expert">expert</span></div><div class="challenge-timer "><svg class="timer-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg><span class="timer-value">2:00</span><span class="timer-label">remaining</span></div><div class="challenge-prompt"><div class="challenge-title">Which meta tag improves SEO by controlling page indexing?</div><div>Which meta tag attribute and value combination tells search engines NOT to index the page?</div></div><div class="mt-3 d-none"></div><div class="task-options"><div class="task-option "><span class="task-option-key">A</span><span class="text-pre-wrap"><meta name="robots" content="noindex" /></span></div><div class="task-option "><span class="task-option-key">B</span><span class="text-pre-wrap"><meta name="viewport" content="noindex" /></span></div><div class="task-option "><span class="task-option-key">C</span><span class="text-pre-wrap"><meta http-equiv="refresh" content="noindex" /></span></div><div class="task-option "><span class="task-option-key">D</span><span class="text-pre-wrap"><meta name="description" content="noindex" /></span></div></div><div class="challenge-attempts"><span>Attempts:</span><div class="attempt-dots"><span class="attempt-dot "></span><span class="attempt-dot "></span></div><span>2<!-- --> left</span></div><div class="challenge-hint d-none"><div class="challenge-hint-title">💡 Hint</div><div class="challenge-hint-text">The 'robots' meta tag controls search engine indexing behavior.</div></div><div class="feedback-box incorrect d-none"><div class="feedback-title">✗ Incorrect</div><div class="feedback-text">The meta tag with name="robots" and content="noindex" tells search engines not to index the page.</div></div></div></div></div></article><div class="confetti-container"></div></div></div></main><div style="position:fixed;bottom:24px;right:24px;z-index:50"><button style="background:rgba(255,255,255,0.95);border:1px solid rgba(108,99,255,0.18);border-radius:10px;padding:10px 16px;color:#5f56fe;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:7px;backdrop-filter:blur(12px);box-shadow:0 2px 12px rgba(0,0,0,0.08), 0 0 0 1px rgba(108,99,255,0.06);transition:all 0.2s"><span style="font-size:14px">⚑</span>Report Issue</button></div></div> <script src="/_next/static/chunks/webpack-2e3c5ba73ff1ab77.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/8ff565d232e65bc7.css\",\"style\"]\n2:HL[\"/_next/static/css/bb5e1ea3ca137310.css\",\"style\"]\n3:HL[\"/_next/static/css/725c7861d1898ba8.css\",\"style\"]\n4:HL[\"/_next/static/css/7c88bf9c8c009fa7.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"5:I[95751,[],\"\"]\n8:I[39275,[],\"\"]\ne:I[61343,[],\"\"]\nf:I[84080,[\"3004\",\"static/chunks/3004-3bfc0411eae77264.js\",\"3185\",\"static/chunks/app/layout-f58283544057195f.js\"],\"\"]\n10:I[88726,[\"3004\",\"static/chunks/3004-3bfc0411eae77264.js\",\"3185\",\"static/chunks/app/layout-f58283544057195f.js\"],\"Toaster\"]\n11:I[20154,[\"8422\",\"static/chunks/66ec4792-a0fc378024be0c7b.js\",\"6648\",\"static/chunks/6648-fff0cf0e0a1f8d25.js\",\"9160\",\"static/chunks/app/not-found-2156b996624c88a0.js\"],\"default\"]\n12:I[70548,[\"3004\",\"static/chunks/3004-3bfc0411eae77264.js\",\"3185\",\"static/chunks/app/layout-f58283544057195f.js\"],\"default\"]\n14:I[76130,[],\"\"]\n9:[\"lang\",\"en\",\"d\"]\na:[\"subject\",\"svelte\",\"d\"]\nb:[\"part\",\"part-3\",\"d\"]\nc:[\"pattern\",\"svelte-seo-and-meta-tags\",\"d\"]\nd:[\"mode\",\"challenge\",\"oc\"]\n15:[]\n"])</script><script>self.__next_f.push([1,"0:[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8ff565d232e65bc7.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$L5\",null,{\"buildId\":\"J2rH1P74D20VnOd-Rggao\",\"assetPrefix\":\"\",\"initialCanonicalUrl\":\"/en/codefly/learn/svelte/part-3/svelte-seo-and-meta-tags/challenge\",\"initialTree\":[\"\",{\"children\":[[\"lang\",\"en\",\"d\"],{\"children\":[\"codefly\",{\"children\":[\"learn\",{\"children\":[[\"subject\",\"svelte\",\"d\"],{\"children\":[[\"part\",\"part-3\",\"d\"],{\"children\":[[\"pattern\",\"svelte-seo-and-meta-tags\",\"d\"],{\"children\":[[\"mode\",\"challenge\",\"oc\"],{\"children\":[\"__PAGE__\",{}]}]}]}]}]}]}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[[\"lang\",\"en\",\"d\"],{\"children\":[\"codefly\",{\"children\":[\"learn\",{\"children\":[[\"subject\",\"svelte\",\"d\"],{\"children\":[[\"part\",\"part-3\",\"d\"],{\"children\":[[\"pattern\",\"svelte-seo-and-meta-tags\",\"d\"],{\"children\":[[\"mode\",\"challenge\",\"oc\"],{\"children\":[\"__PAGE__\",{},[[\"$L6\",\"$L7\"],null],null]},[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"$9\",\"children\",\"codefly\",\"children\",\"learn\",\"children\",\"$a\",\"children\",\"$b\",\"children\",\"$c\",\"children\",\"$d\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Le\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/bb5e1ea3ca137310.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/725c7861d1898ba8.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/7c88bf9c8c009fa7.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]]}],null]},[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"$9\",\"children\",\"codefly\",\"children\",\"learn\",\"children\",\"$a\",\"children\",\"$b\",\"children\",\"$c\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Le\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":null}],null]},[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"$9\",\"children\",\"codefly\",\"children\",\"learn\",\"children\",\"$a\",\"children\",\"$b\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Le\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":null}],null]},[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"$9\",\"children\",\"codefly\",\"children\",\"learn\",\"children\",\"$a\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Le\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":null}],null]},[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"$9\",\"children\",\"codefly\",\"children\",\"learn\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Le\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":null}],null]},[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"$9\",\"children\",\"codefly\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Le\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":null}],null]},[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"$9\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Le\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":null}],null]},[[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"meta\",null,{\"name\":\"theme-color\",\"content\":\"#5f56fe\"}],[\"$\",\"meta\",null,{\"name\":\"msapplication-TileColor\",\"content\":\"#5f56fe\"}],[\"$\",\"$Lf\",null,{\"src\":\"https://www.googletagmanager.com/gtag/js?id=G-N2NY2DMMDW\",\"strategy\":\"afterInteractive\"}],[\"$\",\"$Lf\",null,{\"id\":\"google-analytics\",\"strategy\":\"afterInteractive\",\"children\":\"\\n window.dataLayer = window.dataLayer || [];\\n function gtag(){dataLayer.push(arguments);}\\n gtag('js', new Date());\\n gtag('config', 'G-N2NY2DMMDW', {\\n page_path: window.location.pathname,\\n });\\n \"}],[\"$\",\"script\",null,{\"async\":true,\"src\":\"https://www.googletagmanager.com/gtag/js?id=AW-17928224938\"}],[\"$\",\"$Lf\",null,{\"children\":\"\\n window.dataLayer = window.dataLayer || [];\\n function gtag() {\\n dataLayer.push(arguments);\\n }\\n gtag('js', new Date());\\n gtag('config', 'AW-17928224938');\\n \"}],[\"$\",\"script\",null,{\"data-grow-initializer\":\"\",\"suppressHydrationWarning\":true,\"dangerouslySetInnerHTML\":{\"__html\":\"!(function(){window.growMe||((window.growMe=function(e){window.growMe._.push(e);}),(window.growMe._=[]));var e=document.createElement(\\\"script\\\");(e.type=\\\"text/javascript\\\"),(e.src=\\\"https://faves.grow.me/main.js\\\"),(e.defer=!0),e.setAttribute(\\\"data-grow-faves-site-id\\\",\\\"U2l0ZTo0MGIxZDBlZC0wNzdlLTQ0NjgtOThmOC1kNDYyZGMwM2IwMWY=\\\");var t=document.getElementsByTagName(\\\"script\\\")[0];t.parentNode.insertBefore(e,t);})();\"}}],[\"$\",\"$Lf\",null,{\"src\":\"//scripts.scriptwrapper.com/tags/40b1d0ed-077e-4468-98f8-d462dc03b01f.js\",\"strategy\":\"afterInteractive\",\"data-noptimize\":\"1\",\"data-cfasync\":\"false\"}],[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"suppressHydrationWarning\":true,\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebApplication\\\",\\\"name\\\":\\\"Leyaa.ai\\\",\\\"description\\\":\\\"Leyaa.ai builds learning intelligence that understands how you learn - guiding what to study, how to practice, and when to move forward.\\\",\\\"url\\\":\\\"https://leyaa.ai\\\",\\\"applicationCategory\\\":\\\"EducationalApplication\\\",\\\"operatingSystem\\\":\\\"Web\\\",\\\"offers\\\":{\\\"@type\\\":\\\"Offer\\\",\\\"price\\\":\\\"0\\\",\\\"priceCurrency\\\":\\\"USD\\\"},\\\"creator\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"name\\\":\\\"Leyaa.ai\\\"}}\"}}],[\"$\",\"link\",null,{\"href\":\"https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css\",\"rel\":\"stylesheet\",\"integrity\":\"sha384-sRIl4kxILFvY47J16cr9ZwB07vP4J8+LH7qKQnuqkuIAvNWLzeN8tE5YBujZqJLB\",\"crossOrigin\":\"anonymous\"}],[\"$\",\"$Lf\",null,{\"id\":\"clarity-script\",\"strategy\":\"afterInteractive\",\"dangerouslySetInnerHTML\":{\"__html\":\"\\n (function(c,l,a,r,i,t,y){\\n c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};\\n t=l.createElement(r);t.async=1;t.src=\\\"https://www.clarity.ms/tag/\\\"+i;\\n y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);\\n })(window, document, \\\"clarity\\\", \\\"script\\\", \\\"w4gxh6rdmh\\\");\\n \"}}]]}],[\"$\",\"body\",null,{\"children\":[[\"$\",\"$L10\",null,{\"containerStyle\":{\"top\":70}}],[\"$\",\"div\",null,{\"className\":\"bg-grid\"}],[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Le\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[\"$\",\"$L11\",null,{}],\"notFoundStyles\":[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/360a7cb17c5c1447.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],\"styles\":null}],[\"$\",\"$L12\",null,{}],\" \"]}]]}],null],null],\"couldBeIntercepted\":false,\"initialHead\":[false,\"$L13\"],\"globalErrorComponent\":\"$14\",\"missingSlots\":\"$W15\"}]]\n"])</script><script>self.__next_f.push([1,"17:I[51766,[\"8422\",\"static/chunks/66ec4792-a0fc378024be0c7b.js\",\"522\",\"static/chunks/94730671-fd9628eddbd5107b.js\",\"7240\",\"static/chunks/53c13509-19bae2f18575f9da.js\",\"7699\",\"static/chunks/8e1d74a4-a085c2fbc868135a.js\",\"5706\",\"static/chunks/9c4e2130-11ecd4bfc78e4568.js\",\"1779\",\"static/chunks/0e762574-451a0d3d25e1d222.js\",\"6648\",\"static/chunks/6648-fff0cf0e0a1f8d25.js\",\"3463\",\"static/chunks/3463-f6543702aef8b413.js\",\"4889\",\"static/chunks/4889-956a916919971629.js\",\"9985\",\"static/chunks/9985-b39235669d2563e2.js\",\"4481\",\"static/chunks/4481-d51fdda1389e5180.js\",\"7627\",\"static/chunks/7627-45a0cc811fb0bb9b.js\",\"4460\",\"static/chunks/4460-3a42c2a5c43cff06.js\",\"8150\",\"static/chunks/8150-537ae65b404d5015.js\",\"7029\",\"static/chunks/app/%5Blang%5D/codefly/learn/%5Bsubject%5D/%5Bpart%5D/%5Bpattern%5D/%5B%5B...mode%5D%5D/page-52f74c4c7ede42fd.js\"],\"default\"]\n16:T482,{\"@context\":\"https://schema.org\",\"@type\":\"LearningResource\",\"name\":\"SEO and meta tags in Svelte - Practice Problems \u0026 Coding Challenges\",\"description\":\"Solve SEO and meta tags in Svelte coding challenges from easy to hard. Practice problems with hints, solutions, and step-by-step explanations. Free practice.\",\"url\":\"https://leyaa.ai/codefly/learn/svelte/part-3/svelte-seo-and-meta-tags/challenge\",\"learningResourceType\":\"Quiz\",\"programmingLanguage\":\"Svelte\",\"inLanguage\":\"en\",\"isAccessibleForFree\":true,\"teaches\":\"SEO and meta tags in Svelte - Practice Problems \u0026 Coding Challenges\",\"provider\":{\"@type\":\"Organization\",\"url\":\"https://leyaa.ai\"},\"educationalLevel\":\"Beginner to Advanced\",\"breadcrumb\":{\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://leyaa.ai\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SEO and meta tags in Svelte - Practice Problems \u0026 Coding Challenges\",\"item\":\"https://leyaa.ai/codefly/learn/svelte/part-3/svelte-seo-and-meta-tags\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Challenge\",\"item\":\"https://leyaa.ai/codefly/learn/svelte/part-3/svelte-seo-and-meta-tags/challenge\"}]}}"])</script><script>self.__next_f.push([1,"7:[[[\"$\",\"script\",\"0\",{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$16\"}}]],[\"$\",\"$L17\",null,{\"subject\":\"svelte\",\"dbSubject\":\"svelte\",\"part\":\"part-3\",\"pattern\":\"svelte_seo_and_meta_tags\",\"modeSlug\":\"challenge\",\"lang\":\"en\",\"internalLinks\":[{\"code\":\"LMC\",\"slug\":\"\",\"label\":\"📖 Learn\",\"href\":\"/codefly/learn/svelte/part-3/svelte-seo-and-meta-tags\",\"active\":false},{\"code\":\"LMCWHY\",\"slug\":\"why\",\"label\":\"💡 Why Learn This\",\"href\":\"/codefly/learn/svelte/part-3/svelte-seo-and-meta-tags/why\",\"active\":false},{\"code\":\"DLM\",\"slug\":\"deep\",\"label\":\"💡 Deep Learn Mode\",\"href\":\"/codefly/learn/svelte/part-3/svelte-seo-and-meta-tags/deep\",\"active\":false},{\"code\":\"TMC\",\"slug\":\"try\",\"label\":\"✏️ Try It\",\"href\":\"/codefly/learn/svelte/part-3/svelte-seo-and-meta-tags/try\",\"active\":false},{\"code\":\"VMC\",\"slug\":\"visualize\",\"label\":\"👁 Visualize\",\"href\":\"/codefly/learn/svelte/part-3/svelte-seo-and-meta-tags/visualize\",\"active\":false},{\"code\":\"TCM\",\"slug\":\"complexity\",\"label\":\"⏱ Complexity\",\"href\":\"/codefly/learn/svelte/part-3/svelte-seo-and-meta-tags/complexity\",\"active\":false},{\"code\":\"CMC\",\"slug\":\"challenge\",\"label\":\"🏆 Challenge\",\"href\":\"/codefly/learn/svelte/part-3/svelte-seo-and-meta-tags/challenge\",\"active\":true},{\"code\":\"PMC\",\"slug\":\"project\",\"label\":\"📁 Project\",\"href\":\"/codefly/learn/svelte/part-3/svelte-seo-and-meta-tags/project\",\"active\":false},{\"code\":\"RMC\",\"slug\":\"review\",\"label\":\"🧠 Quick Review\",\"href\":\"/codefly/learn/svelte/part-3/svelte-seo-and-meta-tags/review\",\"active\":false}],\"isLoggedIn\":false,\"seoH1\":\"SEO and meta tags in Svelte - Practice Problems \u0026 Coding Challenges\",\"contentData\":{\"pattern_id\":\"svelte_seo_and_meta_tags\",\"metadata\":{\"slot_map\":{\"LMCWHY\":\"LMCWHY\",\"LMC\":\"LMC\",\"TMC\":\"TMC\",\"CMC\":\"CMC\",\"RMC\":\"RMC\",\"VMC\":\"VMC\",\"TCM\":\"WPM\",\"PMC\":\"PMC\",\"DLM\":\"DLM\"}},\"modes\":{\"CMC\":{\"topic\":\"SEO and meta tags\",\"mode\":\"CMC_v4.2\",\"language\":\"svelte\",\"content_type\":\"Frameworks \u0026 Libraries\",\"challenges\":[{\"id\":\"c1\",\"type\":\"component_behavior\",\"difficulty\":\"intermediate\",\"title\":\"What is the rendered \u003ctitle\u003e tag content?\",\"prompt\":\"Given this Svelte component, what will be the content of the \u003ctitle\u003e tag in the browser tab?\u003cbr\u003e\u003cbr\u003e\u003cpre\u003e\u0026lt;svelte:head\u0026gt;\\n \u0026lt;title\u0026gt;Welcome to Svelte SEO\u0026lt;/title\u0026gt;\\n\u0026lt;/svelte:head\u0026gt;\\n\\n\u0026lt;h1\u0026gt;Hello World\u0026lt;/h1\u0026gt;\u003c/pre\u003e\",\"code\":\"\u003csvelte:head\u003e\\n \u003ctitle\u003eWelcome to Svelte SEO\u003c/title\u003e\\n\u003c/svelte:head\u003e\\n\\n\u003ch1\u003eHello World\u003c/h1\u003e\",\"ordering_targets\":[],\"options\":{\"A\":\"The browser tab shows \\\"Welcome to Svelte SEO\\\"\",\"B\":\"The browser tab shows \\\"Hello World\\\"\",\"C\":\"The browser tab is blank\",\"D\":\"The browser tab shows the default page title\"},\"correct_answer\":[\"A\"],\"time_limit_seconds\":120,\"attempts_allowed\":2,\"hint\":\"The \u0026lt;svelte:head\u0026gt; tag lets you set head elements like title.\",\"explanation\":\"The \u0026lt;title\u0026gt; inside \u0026lt;svelte:head\u0026gt; sets the page title shown in the browser tab.\",\"solution\":\"\u003csvelte:head\u003e\\n \u003ctitle\u003eWelcome to Svelte SEO\u003c/title\u003e\\n\u003c/svelte:head\u003e\",\"tags\":[\"svelte\",\"seo\",\"meta tags\",\"component behavior\"]},{\"id\":\"c2\",\"type\":\"syntax\",\"difficulty\":\"intermediate\",\"title\":\"Which option correctly adds a meta description tag in Svelte?\",\"prompt\":\"You want to add a meta description tag for SEO inside a Svelte component. Which code snippet is correct?\",\"code\":\"\",\"ordering_targets\":[],\"options\":{\"A\":\"\u003chead\u003e\\n \u003cmeta description=\\\"This is a Svelte app\\\" /\u003e\\n\u003c/head\u003e\",\"B\":\"\u003csvelte:head\u003e\\n \u003cmeta content=\\\"This is a Svelte app\\\" name=\\\"description\\\" /\u003e\\n\u003c/svelte:head\u003e\",\"C\":\"\u003csvelte:head\u003e\\n \u003cmeta name=\\\"description\\\" content=\\\"This is a Svelte app\\\" /\u003e\\n\u003c/svelte:head\u003e\",\"D\":\"\u003csvelte:head\u003e\\n \u003cmeta name=\\\"desc\\\" content=\\\"This is a Svelte app\\\" /\u003e\\n\u003c/svelte:head\u003e\"},\"correct_answer\":[\"C\"],\"time_limit_seconds\":120,\"attempts_allowed\":2,\"hint\":\"Use \u0026lt;svelte:head\u0026gt; and correct meta attributes.\",\"explanation\":\"Option C uses \u0026lt;svelte:head\u0026gt; and the correct meta tag with name=\\\"description\\\" and content attribute.\",\"solution\":\"\u003csvelte:head\u003e\\n \u003cmeta name=\\\"description\\\" content=\\\"This is a Svelte app\\\" /\u003e\\n\u003c/svelte:head\u003e\",\"tags\":[\"svelte\",\"seo\",\"meta tags\",\"syntax\"]},{\"id\":\"c3\",\"type\":\"state_output\",\"difficulty\":\"advanced\",\"title\":\"What is the final meta tag content after state update?\",\"prompt\":\"Consider this Svelte component that updates the meta description dynamically:\u003cbr\u003e\u003cbr\u003e\u003cpre\u003e\u0026lt;script\u0026gt;\\n import { onMount } from 'svelte';\\n let desc = 'Initial description';\\n onMount(() =\u0026gt; {\\n setTimeout(() =\u0026gt; {\\n desc = 'Updated description';\\n }, 1000);\\n });\\n\u0026lt;/script\u0026gt;\\n\\n\u0026lt;svelte:head\u0026gt;\\n \u0026lt;meta name=\\\"description\\\" content={desc} /\u0026gt;\\n\u0026lt;/svelte:head\u0026gt;\\n\\n\u0026lt;h1\u0026gt;Check meta description\u0026lt;/h1\u0026gt;\u003c/pre\u003e\u003cbr\u003eWhat will be the content attribute of the meta description tag after 2 seconds?\",\"code\":\"\u003cscript\u003e\\n import { onMount } from 'svelte';\\n let desc = 'Initial description';\\n onMount(() =\u003e {\\n setTimeout(() =\u003e {\\n desc = 'Updated description';\\n }, 1000);\\n });\\n\u003c/script\u003e\\n\\n\u003csvelte:head\u003e\\n \u003cmeta name=\\\"description\\\" content={desc} /\u003e\\n\u003c/svelte:head\u003e\\n\\n\u003ch1\u003eCheck meta description\u003c/h1\u003e\",\"ordering_targets\":[],\"options\":{\"A\":\"The meta description content is \\\"Initial description\\\"\",\"B\":\"The meta description content is \\\"Updated description\\\"\",\"C\":\"The meta description tag is removed\",\"D\":\"The meta description content is empty\"},\"correct_answer\":[\"B\"],\"time_limit_seconds\":120,\"attempts_allowed\":2,\"hint\":\"The meta tag content updates reactively when the variable changes.\",\"explanation\":\"Svelte updates the meta tag content reactively when the variable 'desc' changes after 1 second.\",\"solution\":\"After 2 seconds, the meta tag content is \\\"Updated description\\\" because the reactive update happened.\",\"tags\":[\"svelte\",\"seo\",\"meta tags\",\"state\",\"reactivity\"]},{\"id\":\"c4\",\"type\":\"debug\",\"difficulty\":\"advanced\",\"title\":\"Why does this meta tag not appear in the page head?\",\"prompt\":\"You wrote this Svelte code but the meta tag does not show in the browser head:\u003cbr\u003e\u003cbr\u003e\u003cpre\u003e\u0026lt;script\u0026gt;\\n let keywords = 'svelte, seo, meta';\\n\u0026lt;/script\u0026gt;\\n\\n\u0026lt;head\u0026gt;\\n \u0026lt;meta name=\\\"keywords\\\" content={keywords} /\u0026gt;\\n\u0026lt;/head\u0026gt;\u003c/pre\u003e\u003cbr\u003eWhat is the reason?\",\"code\":\"\u003cscript\u003e\\n let keywords = 'svelte, seo, meta';\\n\u003c/script\u003e\\n\\n\u003chead\u003e\\n \u003cmeta name=\\\"keywords\\\" content={keywords} /\u003e\\n\u003c/head\u003e\",\"ordering_targets\":[],\"options\":{\"A\":\"The meta tag must be placed inside \u003cbody\u003e to appear\",\"B\":\"The variable 'keywords' is not reactive, so meta tag is empty\",\"C\":\"The meta tag syntax is invalid and causes a runtime error\",\"D\":\"The \u003chead\u003e tag inside Svelte component is ignored; use \u003csvelte:head\u003e instead\"},\"correct_answer\":[\"D\"],\"time_limit_seconds\":120,\"attempts_allowed\":2,\"hint\":\"Svelte requires a special tag to modify the document head.\",\"explanation\":\"In Svelte, the \u003chead\u003e tag inside components is ignored. You must use \u003csvelte:head\u003e to add head elements.\",\"solution\":\"Replace \u003chead\u003e with \u003csvelte:head\u003e to correctly add meta tags to the document head.\",\"tags\":[\"svelte\",\"seo\",\"meta tags\",\"debug\"]},{\"id\":\"c5\",\"type\":\"conceptual\",\"difficulty\":\"expert\",\"title\":\"Which meta tag improves SEO by controlling page indexing?\",\"prompt\":\"Which meta tag attribute and value combination tells search engines NOT to index the page?\",\"code\":\"\",\"ordering_targets\":[],\"options\":{\"A\":\"\u003cmeta name=\\\"robots\\\" content=\\\"noindex\\\" /\u003e\",\"B\":\"\u003cmeta name=\\\"viewport\\\" content=\\\"noindex\\\" /\u003e\",\"C\":\"\u003cmeta http-equiv=\\\"refresh\\\" content=\\\"noindex\\\" /\u003e\",\"D\":\"\u003cmeta name=\\\"description\\\" content=\\\"noindex\\\" /\u003e\"},\"correct_answer\":[\"A\"],\"time_limit_seconds\":120,\"attempts_allowed\":2,\"hint\":\"The 'robots' meta tag controls search engine indexing behavior.\",\"explanation\":\"The meta tag with name=\\\"robots\\\" and content=\\\"noindex\\\" tells search engines not to index the page.\",\"solution\":\"\u003cmeta name=\\\"robots\\\" content=\\\"noindex\\\" /\u003e\",\"tags\":[\"seo\",\"meta tags\",\"conceptual\"]}],\"achievement_badge\":{\"name\":\"SEO Meta Master\",\"condition\":\"complete_all_5\"},\"metadata\":{\"version\":\"4.2\",\"content_type\":\"framework\",\"total_challenges\":5,\"estimated_time_minutes\":20}}},\"subject\":\"svelte\",\"title\":\"SEO and meta tags\"},\"syllabusData\":{\"subject\":\"svelte\",\"part\":\"part-3\",\"difficulty\":\"advanced\",\"metadata\":{\"total_topics\":6,\"total_patterns\":46,\"patterns_with_content\":46,\"created_at\":\"2026-02-28T20:18:29.430912Z\",\"version\":\"4.2\",\"upload_tool\":\"upload_to_mongo.py v2.0\"},\"part_title\":\"Advanced\",\"subjectTitle\":\"Svelte\",\"topics\":[{\"topic_id\":\"svelte_p3_t1\",\"title\":\"SvelteKit Routing\",\"order\":1,\"pattern_count\":8,\"patterns\":[{\"pattern_id\":\"svelte_why_sveltekit_handles_fullstack_routing\",\"title\":\"Why SvelteKit handles full-stack routing\",\"order\":1,\"has_content\":true},{\"pattern_id\":\"svelte_filebased_routing\",\"title\":\"File-based routing\",\"order\":2,\"has_content\":true},{\"pattern_id\":\"svelte_dynamic_route_parameters\",\"title\":\"Dynamic route parameters\",\"order\":3,\"has_content\":true},{\"pattern_id\":\"svelte_layout_files_layoutsvelte\",\"title\":\"Layout files (+layout.svelte)\",\"order\":4,\"has_content\":true},{\"pattern_id\":\"svelte_error_pages_errorsvelte\",\"title\":\"Error pages (+error.svelte)\",\"order\":5,\"has_content\":true},{\"pattern_id\":\"svelte_route_groups\",\"title\":\"Route groups\",\"order\":6,\"has_content\":true},{\"pattern_id\":\"svelte_optional_parameters\",\"title\":\"Optional parameters\",\"order\":7,\"has_content\":true},{\"pattern_id\":\"svelte_rest_parameters\",\"title\":\"Rest parameters\",\"order\":8,\"has_content\":true}]},{\"topic_id\":\"svelte_p3_t2\",\"title\":\"SvelteKit Data Loading\",\"order\":2,\"pattern_count\":8,\"patterns\":[{\"pattern_id\":\"svelte_why_load_functions_fetch_data_serverside\",\"title\":\"Why load functions fetch data server-side\",\"order\":1,\"has_content\":true},{\"pattern_id\":\"svelte_page_load_functions_pagejs\",\"title\":\"Page load functions (+page.js)\",\"order\":2,\"has_content\":true},{\"pattern_id\":\"svelte_server_load_functions_pageserverjs\",\"title\":\"Server load functions (+page.server.js)\",\"order\":3,\"has_content\":true},{\"pattern_id\":\"svelte_layout_load_functions\",\"title\":\"Layout load functions\",\"order\":4,\"has_content\":true},{\"pattern_id\":\"svelte_using_data_in_pages\",\"title\":\"Using data in pages\",\"order\":5,\"has_content\":true},{\"pattern_id\":\"svelte_invalidation_and_reloading\",\"title\":\"Invalidation and reloading\",\"order\":6,\"has_content\":true},{\"pattern_id\":\"svelte_streaming_with_promises\",\"title\":\"Streaming with promises\",\"order\":7,\"has_content\":true},{\"pattern_id\":\"svelte_error_handling_in_load\",\"title\":\"Error handling in load\",\"order\":8,\"has_content\":true}]},{\"topic_id\":\"svelte_p3_t3\",\"title\":\"SvelteKit Forms and Actions\",\"order\":3,\"pattern_count\":7,\"patterns\":[{\"pattern_id\":\"svelte_why_form_actions_handle_mutations\",\"title\":\"Why form actions handle mutations\",\"order\":1,\"has_content\":true},{\"pattern_id\":\"svelte_default_actions\",\"title\":\"Default actions\",\"order\":2,\"has_content\":true},{\"pattern_id\":\"svelte_named_actions\",\"title\":\"Named actions\",\"order\":3,\"has_content\":true},{\"pattern_id\":\"svelte_progressive_enhancement\",\"title\":\"Progressive enhancement\",\"order\":4,\"has_content\":true},{\"pattern_id\":\"svelte_form_validation\",\"title\":\"Form validation\",\"order\":5,\"has_content\":true},{\"pattern_id\":\"svelte_action_return_data\",\"title\":\"Action return data\",\"order\":6,\"has_content\":true},{\"pattern_id\":\"svelte_redirect_from_actions\",\"title\":\"Redirect from actions\",\"order\":7,\"has_content\":true}]},{\"topic_id\":\"svelte_p3_t4\",\"title\":\"SvelteKit API Routes\",\"order\":4,\"pattern_count\":6,\"patterns\":[{\"pattern_id\":\"svelte_why_api_routes_serve_data_endpoints\",\"title\":\"Why API routes serve data endpoints\",\"order\":1,\"has_content\":true},{\"pattern_id\":\"svelte_server_routes_serverjs\",\"title\":\"Server routes (+server.js)\",\"order\":2,\"has_content\":true},{\"pattern_id\":\"svelte_get_post_put_delete_handlers\",\"title\":\"GET, POST, PUT, DELETE handlers\",\"order\":3,\"has_content\":true},{\"pattern_id\":\"svelte_request_parsing\",\"title\":\"Request parsing\",\"order\":4,\"has_content\":true},{\"pattern_id\":\"svelte_response_helpers_json_error\",\"title\":\"Response helpers (json, error)\",\"order\":5,\"has_content\":true},{\"pattern_id\":\"svelte_api_authentication_patterns\",\"title\":\"API authentication patterns\",\"order\":6,\"has_content\":true}]},{\"topic_id\":\"svelte_p3_t5\",\"title\":\"SvelteKit Advanced Features\",\"order\":5,\"pattern_count\":8,\"patterns\":[{\"pattern_id\":\"svelte_why_advanced_features_enable_production_apps\",\"title\":\"Why advanced features enable production apps\",\"order\":1,\"has_content\":true},{\"pattern_id\":\"svelte_hooks_handle_handleerror_handlefetch\",\"title\":\"Hooks (handle, handleError, handleFetch)\",\"order\":2,\"has_content\":true},{\"pattern_id\":\"svelte_middleware_patterns_with_hooks\",\"title\":\"Middleware patterns with hooks\",\"order\":3,\"has_content\":true},{\"pattern_id\":\"svelte_environment_variables_env\",\"title\":\"Environment variables ($env)\",\"order\":4,\"has_content\":true},{\"pattern_id\":\"svelte_page_options_ssr_csr_prerender\",\"title\":\"Page options (SSR, CSR, prerender)\",\"order\":5,\"has_content\":true},{\"pattern_id\":\"svelte_adapter_configuration\",\"title\":\"Adapter configuration\",\"order\":6,\"has_content\":true},{\"pattern_id\":\"svelte_service_workers\",\"title\":\"Service workers\",\"order\":7,\"has_content\":true},{\"pattern_id\":\"svelte_seo_and_meta_tags\",\"title\":\"SEO and meta tags\",\"order\":8,\"has_content\":true}]},{\"topic_id\":\"svelte_p3_t6\",\"title\":\"Testing and Deployment\",\"order\":6,\"pattern_count\":9,\"patterns\":[{\"pattern_id\":\"svelte_why_testing_validates_svelte_applications\",\"title\":\"Why testing validates Svelte applications\",\"order\":1,\"has_content\":true},{\"pattern_id\":\"svelte_component_testing_with_testing_library\",\"title\":\"Component testing with Testing Library\",\"order\":2,\"has_content\":true},{\"pattern_id\":\"svelte_unit_testing_logic\",\"title\":\"Unit testing logic\",\"order\":3,\"has_content\":true},{\"pattern_id\":\"svelte_vitest_setup\",\"title\":\"Vitest setup\",\"order\":4,\"has_content\":true},{\"pattern_id\":\"svelte_e2e_testing_with_playwright\",\"title\":\"E2E testing with Playwright\",\"order\":5,\"has_content\":true},{\"pattern_id\":\"svelte_static_adapter_deployment\",\"title\":\"Static adapter deployment\",\"order\":6,\"has_content\":true},{\"pattern_id\":\"svelte_node_adapter_deployment\",\"title\":\"Node adapter deployment\",\"order\":7,\"has_content\":true},{\"pattern_id\":\"svelte_vercel_and_netlify_deployment\",\"title\":\"Vercel and Netlify deployment\",\"order\":8,\"has_content\":true},{\"pattern_id\":\"svelte_docker_deployment\",\"title\":\"Docker deployment\",\"order\":9,\"has_content\":true}]}]},\"modeCode\":\"CMC\",\"productId\":\"codefly\"}]]\n"])</script><script>self.__next_f.push([1,"13:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"SEO and meta tags in Svelte Practice Problems - Coding Exercises | Leyaa.ai\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Solve SEO and meta tags in Svelte coding challenges from easy to hard. Practice problems with hints, solutions, and step-by-step explanations. Free practice.\"}],[\"$\",\"meta\",\"4\",{\"name\":\"author\",\"content\":\"Leyaa.ai\"}],[\"$\",\"link\",\"5\",{\"rel\":\"manifest\",\"href\":\"/manifest.json\",\"crossOrigin\":\"use-credentials\"}],[\"$\",\"meta\",\"6\",{\"name\":\"keywords\",\"content\":\"learning intelligence,AI learning,personalized learning,adaptive learning,study guide,exam preparation,learning platform,education technology,edtech,smart learning\"}],[\"$\",\"meta\",\"7\",{\"name\":\"creator\",\"content\":\"Leyaa.ai\"}],[\"$\",\"meta\",\"8\",{\"name\":\"publisher\",\"content\":\"Leyaa.ai\"}],[\"$\",\"meta\",\"9\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"meta\",\"10\",{\"name\":\"googlebot\",\"content\":\"index, follow, max-image-preview:large, max-snippet:-1\"}],[\"$\",\"meta\",\"11\",{\"name\":\"content-language\",\"content\":\"en\"}],[\"$\",\"link\",\"12\",{\"rel\":\"canonical\",\"href\":\"https://leyaa.ai/codefly/learn/svelte/part-3/svelte-seo-and-meta-tags/challenge\"}],[\"$\",\"link\",\"13\",{\"rel\":\"alternate\",\"hrefLang\":\"en\",\"href\":\"https://leyaa.ai/codefly/learn/svelte/part-3/svelte-seo-and-meta-tags/challenge\"}],[\"$\",\"link\",\"14\",{\"rel\":\"alternate\",\"hrefLang\":\"x-default\",\"href\":\"https://leyaa.ai/codefly/learn/svelte/part-3/svelte-seo-and-meta-tags/challenge\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:title\",\"content\":\"SEO and meta tags in Svelte Practice Problems - Coding Exercises | Leyaa.ai\"}],[\"$\",\"meta\",\"16\",{\"property\":\"og:description\",\"content\":\"Solve SEO and meta tags in Svelte coding challenges from easy to hard. Practice problems with hints, solutions, and step-by-step explanations. Free practice.\"}],[\"$\",\"meta\",\"17\",{\"property\":\"og:url\",\"content\":\"https://leyaa.ai/codefly/learn/svelte/part-3/svelte-seo-and-meta-tags/challenge\"}],[\"$\",\"meta\",\"18\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"19\",{\"property\":\"og:image\",\"content\":\"https://leyaa.ai/Assets/metaImages/leyaa-preview-image.png\"}],[\"$\",\"meta\",\"20\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"21\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"22\",{\"property\":\"og:image:alt\",\"content\":\"SEO and meta tags in Svelte Practice Problems - Coding Exercises\"}],[\"$\",\"meta\",\"23\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"$\",\"meta\",\"24\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"25\",{\"name\":\"twitter:site\",\"content\":\"@leyaaai\"}],[\"$\",\"meta\",\"26\",{\"name\":\"twitter:creator\",\"content\":\"@leyaaai\"}],[\"$\",\"meta\",\"27\",{\"name\":\"twitter:title\",\"content\":\"SEO and meta tags in Svelte Practice Problems - Coding Exercises | Leyaa.ai\"}],[\"$\",\"meta\",\"28\",{\"name\":\"twitter:description\",\"content\":\"Solve SEO and meta tags in Svelte coding challenges from easy to hard. Practice problems with hints, solutions, and step-by-step explanations. Free practice.\"}],[\"$\",\"meta\",\"29\",{\"name\":\"twitter:image\",\"content\":\"https://leyaa.ai/Assets/metaImages/leyaa-preview-image.png\"}],[\"$\",\"link\",\"30\",{\"rel\":\"icon\",\"href\":\"/leyaa-logo.png\"}],[\"$\",\"link\",\"31\",{\"rel\":\"apple-touch-icon\",\"href\":\"/leyaa-logo.png\"}],[\"$\",\"meta\",\"32\",{\"name\":\"next-size-adjust\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\n"])</script></body></html>