{"id":6938,"date":"2026-08-07T09:00:00","date_gmt":"2026-08-07T07:00:00","guid":{"rendered":"https:\/\/taismo.de\/?p=6938"},"modified":"2026-07-27T23:09:32","modified_gmt":"2026-07-27T21:09:32","slug":"javascript-seo","status":"publish","type":"post","link":"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/","title":{"rendered":"JavaScript SEO"},"content":{"rendered":"<style>\n.taismo-art{display:grid;grid-template-columns:320px minmax(0,1fr);gap:36px;align-items:start}\n.taismo-art .toc-sticky{position:sticky;top:80px}\n.taismo-art .toc-sticky ol li{margin-bottom:9px}\n.taismo-art .toc-sticky ol a:hover{color:var(--toc-hover) !important}\n.taismo-art .taismo-main h2{scroll-margin-top:90px;margin-top:38px}\n.taismo-art .lead-def{font-size:1.15em;line-height:1.6;background:#f7f2ec;border-left:4px solid #ED8924;padding:16px 20px;border-radius:8px}\n.taismo-art table{border-collapse:collapse;width:100%;margin:18px 0}\n.taismo-art th,.taismo-art td{border:1px solid #d9e0df;padding:9px 12px;text-align:left;font-size:0.95em}\n.taismo-art th{background:#072328;color:#fff}\n.taismo-art figure{margin:26px 0}\n.taismo-art figcaption{font-size:0.9em;color:#55605f;margin-top:8px}\n.taismo-art pre{background:#072328;color:#f5f5f5;padding:16px 18px;border-radius:10px;overflow-x:auto;font-size:0.86em;line-height:1.5}\n@media(max-width:900px){.taismo-art{grid-template-columns:1fr}.taismo-art .toc-sticky{position:static}}\n<\/style>\n<div class=\"taismo-art\">\n<aside class=\"toc-sticky\" style=\"--toc-hover:#ED8924;background:#072328;border-radius:14px;padding:22px 24px\">\n<div style=\"text-align:center;margin-bottom:14px\"><svg fill=\"#ffffff\" role=\"img\" aria-label=\"taismo Wiki\" style=\"width:200px;max-width:80%;height:auto;display:inline-block\" id=\"Ebene_1\" data-name=\"Ebene 1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 209.04 52.32\"> <g id=\"Layer_2\" data-name=\"Layer 2\"> <g id=\"wikipedia\"> <path d=\"M97.08,27.77h-17.76c-.77,0-1.4.63-1.4,1.4v17.76c0,.77.63,1.4,1.4,1.4h17.76c.77,0,1.4-.63,1.4-1.4v-17.76c0-.77-.63-1.4-1.4-1.4ZM97.22,33.22c0,.25-.21.46-.46.46h-.67c-.07.03-.13.07-.19.11-.19.18-.33.41-.4.66,0,0,0,.01,0,.02-.03.07-2.9,7.29-3.87,9.67v.02c-.09.17-.19.33-.31.48-.15.2-.38.32-.63.33-.56,0-.84-.63-.93-.84-.28-.62-.79-1.83-1.51-3.57-.55,1.24-1.25,2.8-1.64,3.59h0c-.19.36-.49.83-.97.83-.56,0-.82-.63-.9-.84h0c-.49-1.25-1.23-2.99-1.95-4.68-.79-1.83-2.39-5.73-2.43-5.78h-.72c-.25,0-.46-.21-.46-.46v-.58c0-.25.21-.45.46-.46h4.13c.25,0,.46.21.46.46v.58c0,.25-.21.45-.46.46h-.82s.03.09.05.14c.59,1.61,2.36,5.75,3.1,7.47l1.28-2.81c-.15-.36-2.12-4.68-2.2-4.8h-.4c-.25,0-.46-.21-.46-.46v-.58c0-.25.21-.45.46-.46h2.98c.25,0,.46.21.46.46v.58c0,.25-.21.46-.46.46h-.1c.06.14.94,2.12.94,2.12,0,0,.93-2.06.95-2.12h-.39c-.25,0-.46-.21-.46-.46v-.58c0-.25.21-.45.46-.46h2.81c.25,0,.46.21.46.46v.58c0,.25-.21.45-.46.46h-.43s-2.06,4.08-2.06,4.08l1.56,3.51s2.9-7.59,2.9-7.6h-.96c-.25,0-.46-.21-.46-.46v-.58c0-.25.21-.45.46-.46h3.78c.25,0,.46.2.46.46v.58Z\"\/> <\/g> <\/g> <text font-family=\"Arial,Helvetica,sans-serif\" font-size=\"27.79\" font-weight=\"800\" transform=\"translate(99.44 47.64) scale(.99 1)\"><tspan x=\"0\" y=\"0\">IKI<\/tspan><\/text> <g id=\"Gruppe_796\" data-name=\"Gruppe 796\"> <path id=\"Pfad_1293\" data-name=\"Pfad 1293\" d=\"M6.92,16.77h-3.56v-6.56h3.66V3.37h8.04v6.84h5.69v6.56h-5.58v8.97c-.08,1.05.13,2.1.6,3.04.4.6,1.24.9,2.51.9.54,0,1.01,0,1.39-.03.41-.02.82-.07,1.23-.13v6.35c-.75.19-1.52.31-2.3.36-1.02.09-1.95.13-2.79.13-1.41.04-2.81-.17-4.15-.6-1.07-.36-2.02-1.01-2.76-1.86-.76-.95-1.29-2.06-1.54-3.25-.34-1.55-.49-3.14-.46-4.73v-9.14h0Z\"\/> <path id=\"Pfad_1294\" data-name=\"Pfad 1294\" d=\"M44.43,35.91h-7.06l-.44-1.97c-.68.72-1.48,1.34-2.35,1.8-.95.46-2.01.69-3.07.66-.99,0-1.98-.1-2.95-.33-.92-.21-1.78-.63-2.51-1.23-.77-.66-1.37-1.49-1.75-2.43-.48-1.28-.71-2.63-.66-3.99v-1.42c-.04-1.17.2-2.33.71-3.39.44-.87,1.09-1.63,1.89-2.19.82-.56,1.74-.96,2.71-1.18,1.06-.24,2.14-.36,3.23-.36.87,0,1.72.06,2.57.22.72.14,1.41.36,2.08.66v-.93c0-.54-.07-1.07-.22-1.59-.16-.48-.46-.91-.87-1.2-.55-.38-1.18-.63-1.83-.77-1-.2-2.01-.29-3.04-.28-.91,0-1.81.09-2.71.25-.97.16-1.8.32-2.49.46v-6.12c.48-.13.96-.22,1.45-.28.57-.07,1.16-.14,1.78-.22.62-.07,1.22-.13,1.78-.16.57-.04,1.04-.05,1.45-.05,2.1-.05,4.18.19,6.21.71,1.4.37,2.69,1.08,3.74,2.08.92.94,1.57,2.13,1.86,3.42.34,1.54.51,3.1.49,4.68v15.15h.01,0ZM33.71,30.83c1.63.12,3.04-1.1,3.16-2.72v-2.58c-.77-.58-1.72-.87-2.68-.82-.85-.04-1.69.16-2.43.57-.6.38-.9,1.16-.9,2.33v.38c-.07.78.16,1.55.66,2.16.6.51,1.39.76,2.19.69\"\/> <rect id=\"Rechteck_760\" data-name=\"Rechteck 760\" x=\"49.46\" y=\"10.21\" width=\"8.26\" height=\"25.71\"\/> <path d=\"M131.36,22.82v-.42c-.06-1.6.12-3.21.52-4.76.35-1.1,1.23-1.64,2.65-1.64.59-.03,1.16.11,1.66.41.43.29.75.73.9,1.23.2.66.32,1.34.36,2.02.05.81.08,1.72.08,2.74v.42h8.38v-1.01c.04-1.92-.23-3.83-.82-5.66-.48-1.43-1.27-2.73-2.33-3.8-1.02-.99-2.27-1.73-3.64-2.13-1.53-.45-3.12-.67-4.71-.66-1.57-.01-3.12.2-4.62.66-1.36.41-2.6,1.14-3.61,2.13-1.06,1.07-1.86,2.37-2.35,3.8-.61,1.82-.89,3.74-.85,5.66v1.01h8.38Z\"\/> <path d=\"M93,22.82v-2.38c-.06-.88.16-1.76.63-2.51.39-.57,1.04-.89,1.72-.87.26,0,.51.03.77.08.26.06.51.19.71.38.25.24.43.54.52.87.15.51.21,1.03.19,1.56v2.88h8.2v-2.7c-.05-.8.16-1.6.6-2.27.4-.52,1.03-.82,1.69-.79.54,0,1.07.17,1.51.49.45.33.69,1.13.69,2.41v2.86h8.2v-4.99c.03-1.32-.17-2.64-.6-3.89-.34-.96-.9-1.83-1.64-2.54-.69-.63-1.51-1.11-2.41-1.39-.92-.3-1.88-.44-2.84-.44-1.16-.02-2.3.21-3.36.69-1.09.55-2.07,1.3-2.87,2.22-.57-.95-1.38-1.72-2.35-2.24-1.16-.49-2.41-.72-3.66-.66-1.18-.04-2.35.22-3.39.76-.99.57-1.88,1.31-2.63,2.19l-.54-2.3h-7.34v12.61h8.2Z\"\/> <path d=\"M73.21,26.15c0-1.84,1.49-3.33,3.33-3.33h2.18c-.87-.85-1.94-1.47-3.12-1.8l-1.75-.6c-.73-.25-1.35-.46-1.86-.63-.43-.13-.85-.3-1.26-.49-.28-.13-.52-.33-.71-.57-.16-.28-.24-.6-.22-.93,0-.22.04-.45.13-.66.13-.25.34-.46.6-.57.43-.2.89-.34,1.36-.41.81-.13,1.62-.18,2.43-.16.92,0,1.85.07,2.76.22.82.11,1.63.28,2.43.49v-6.12c-.48-.13-.95-.22-1.45-.28-.56-.07-1.16-.14-1.78-.22-.61-.07-1.21-.13-1.78-.16s-1.05-.05-1.45-.05c-3.72,0-6.51.75-8.37,2.27-1.78,1.35-2.82,3.48-2.79,5.71-.03,1.07.11,2.13.41,3.15.24.76.64,1.46,1.18,2.05.52.56,1.15,1.01,1.83,1.34.79.38,1.6.72,2.43,1.01l1.26.44c.83.28,1.63.61,2.41,1.01.47.28.75.8.71,1.34.07.72-.35,1.4-1.04,1.64-1.23.31-2.51.45-3.77.38-.95,0-1.9-.09-2.84-.25-1.06-.16-1.93-.31-2.63-.46v6.12c.5.13,1,.22,1.51.28.6.07,1.23.14,1.89.22.66.07,1.3.13,1.92.16.62.03,1.13.05,1.53.05,1.5.03,3.01-.1,4.49-.36v-9.83Z\"\/> <\/g> <g id=\"e\"> <path d=\"M150.81,38.2c-.26-1.16-1.38-2.22-2.54-2.45-.71-.14-2.69-.32-3.99-.3-1.31-.01-3.28.16-3.99.3-1.16.23-2.29,1.29-2.54,2.45-.15.7-.29,1.66-.29,2.97,0,1.31.15,2.27.29,2.97.26,1.16,1.38,2.22,2.54,2.45.38.08,1.14.16,1.95.22.09.15.19.3.3.46.43.66.77,1.11,1.02,1.43.42.53,1.03.53,1.45,0,.25-.32.58-.78,1.02-1.43.11-.16.21-.32.3-.46.82-.06,1.57-.15,1.95-.22,1.16-.23,2.29-1.29,2.54-2.45.15-.7.29-1.66.29-2.97,0-1.31-.15-2.27-.29-2.97h0ZM145.03,45.13c-.03.16-.18.31-.34.34-.1.02-.23.03-.42.03-.18,0-.32-.02-.42-.03-.16-.03-.31-.18-.34-.34-.02-.1-.03-.23-.03-.42,0-.18.02-.32.03-.42.03-.16.18-.31.34-.34.1-.02.23-.03.42-.03.18,0,.32.02.42.03.16.03.31.18.34.34.02.1.03.23.03.42,0,.18-.02.32-.03.42ZM146.65,40.76c-.21.29-.51.56-.97.84-.58.36-.67.5-.67.79v.11c0,.41-.33.74-.74.74s-.74-.33-.74-.74v-.26c0-.34.08-.63.26-.88.17-.24.42-.46.8-.68.69-.41.82-.63.82-.94,0-.38-.32-.63-.83-.63-.55,0-.91.25-1.06.74-.1.32-.4.54-.75.54-.02,0-.04,0-.06,0-.24-.02-.46-.14-.6-.35-.14-.2-.17-.45-.1-.68.17-.52.49-.96.93-1.26.45-.3,1.01-.47,1.63-.47s1.24.21,1.69.58c.45.38.71.91.71,1.49,0,.4-.1.74-.32,1.04h0Z\"\/> <\/g> <g id=\"e-2\" data-name=\"e\"> <path d=\"M156.19,28.79c-.17-.75-.89-1.44-1.64-1.58-.46-.09-1.73-.2-2.58-.2-.84,0-2.12.1-2.58.2-.75.15-1.48.83-1.64,1.58-.09.45-.19,1.07-.19,1.92,0,.84.09,1.46.19,1.92.17.75.89,1.44,1.64,1.58.25.05.73.11,1.26.14.06.09.12.19.19.3.28.42.49.72.66.93.27.34.66.34.93,0,.16-.21.38-.5.66-.93.07-.11.13-.21.19-.3.53-.04,1.01-.09,1.26-.14.75-.15,1.48-.83,1.64-1.58.09-.45.19-1.07.19-1.92,0-.84-.09-1.46-.19-1.92h0ZM152.46,33.27c-.02.1-.11.2-.22.22-.06.01-.15.02-.27.02-.12,0-.2,0-.27-.02-.1-.02-.2-.11-.22-.22-.01-.06-.02-.15-.02-.27,0-.12,0-.2.02-.27.02-.1.11-.2.22-.22.06-.01.15-.02.27-.02.12,0,.2,0,.27.02.1.02.2.11.22.22.01.06.02.15.02.27,0,.12,0,.2-.02.27ZM153.51,30.45c-.13.19-.33.36-.63.54-.37.23-.43.32-.43.51v.07c0,.26-.21.48-.48.48s-.48-.21-.48-.48v-.17c0-.22.05-.4.17-.57.11-.16.27-.3.51-.44.45-.26.53-.41.53-.61,0-.25-.21-.4-.53-.4-.35,0-.59.16-.69.48-.07.21-.26.35-.48.35-.01,0-.02,0-.04,0-.16-.01-.3-.09-.39-.22-.09-.13-.11-.29-.06-.44.11-.34.32-.62.6-.81.29-.2.65-.3,1.05-.3s.8.13,1.09.37c.29.25.46.59.46.96,0,.26-.07.48-.21.67h0Z\"\/> <\/g> <g id=\"e-3\" data-name=\"e\"> <path d=\"M144.91,28.64c-.1-.44-.52-.84-.96-.92-.27-.05-1.01-.12-1.5-.11-.49,0-1.24.06-1.5.11-.44.08-.86.49-.96.92-.06.27-.11.63-.11,1.12,0,.49.05.85.11,1.12.1.44.52.84.96.92.14.03.43.06.74.08.03.05.07.11.11.17.16.25.29.42.38.54.16.2.39.2.54,0,.09-.12.22-.29.38-.54.04-.06.08-.12.11-.17.31-.02.59-.06.74-.08.44-.08.86-.49.96-.92.06-.27.11-.63.11-1.12,0-.49-.05-.85-.11-1.12h0ZM142.73,31.26c-.01.06-.07.12-.13.13-.04,0-.09.01-.16.01-.07,0-.12,0-.16-.01-.06-.01-.12-.07-.13-.13,0-.04-.01-.09-.01-.16,0-.07,0-.12.01-.16.01-.06.07-.12.13-.13.04,0,.09-.01.16-.01.07,0,.12,0,.16.01.06.01.12.07.13.13,0,.04.01.09.01.16,0,.07,0,.12-.01.16ZM143.34,29.61c-.08.11-.19.21-.37.32-.22.13-.25.19-.25.3v.04c0,.15-.12.28-.28.28s-.28-.12-.28-.28v-.1c0-.13.03-.24.1-.33.06-.09.16-.17.3-.26.26-.15.31-.24.31-.35,0-.14-.12-.24-.31-.24-.21,0-.34.09-.4.28-.04.12-.15.2-.28.2,0,0-.01,0-.02,0-.09,0-.17-.05-.23-.13-.05-.08-.06-.17-.04-.25.06-.2.18-.36.35-.47.17-.11.38-.18.61-.18s.47.08.63.22c.17.14.27.34.27.56,0,.15-.04.28-.12.39h0Z\"\/> <\/g> <\/svg><\/div>\n<h3 style=\"text-align:center;color:#fff;margin:0 0 14px;font-size:1.1em\">Contents<\/h3>\n<ol style=\"margin:0;padding-left:1.2em;line-height:1.5;font-weight:600;color:#fff;font-size:0.9em\">\n<li><a href=\"#javascript-seo-at-a-glance\" style=\"color:#fff;text-decoration:none\">JavaScript SEO at a glance<\/a><\/li>\n<li><a href=\"#why-javascript-seo-matters-for-modern-websites\" style=\"color:#fff;text-decoration:none\">Why does JavaScript SEO matter for modern websites?<\/a><\/li>\n<li><a href=\"#how-google-processes-javascript\" style=\"color:#fff;text-decoration:none\">How does Google process JavaScript?<\/a><\/li>\n<li><a href=\"#which-seo-problems-does-javascript-cause\" style=\"color:#fff;text-decoration:none\">Which SEO problems does JavaScript cause?<\/a><\/li>\n<li><a href=\"#client-side-vs-server-side-rendering\" style=\"color:#fff;text-decoration:none\">Client-side vs. server-side rendering: what is the difference?<\/a><\/li>\n<li><a href=\"#how-to-make-javascript-pages-seo-friendly\" style=\"color:#fff;text-decoration:none\">How do you make JavaScript pages SEO-friendly?<\/a><\/li>\n<li><a href=\"#faq\" style=\"color:#fff;text-decoration:none\">Frequently asked questions about JavaScript SEO<\/a><\/li>\n<\/ol>\n<\/aside>\n<div class=\"taismo-main\">\n<h1 class=\"brand-claim\">What is JavaScript SEO?<\/h1>\n<p class=\"lead-def\"><strong>JavaScript SEO<\/strong> is the field on the technical side of SEO that makes sure content generated by JavaScript can be crawled, rendered and indexed by search engines. JavaScript SEO becomes relevant whenever a website does not ship its content in the delivered HTML but builds it in the browser with JavaScript. The frameworks affected most are modern JS frameworks such as React, Angular and Vue.<\/p>\n<figure>\n      <img decoding=\"async\" src=\"https:\/\/taismo.de\/wp-content\/uploads\/2026\/07\/javascript-seo-rendering-crawling.png\" width=\"1200\" height=\"675\" alt=\"JavaScript SEO explained: how Google crawls, renders and indexes content generated by JavaScript\" title=\"JavaScript SEO: crawling, rendering and indexing of JS content\" loading=\"lazy\" style=\"width:100%;height:auto;border-radius:12px\" \/><br \/>\n    <\/figure>\n<p>Without JavaScript SEO, whole text areas, product lists or internal links stay invisible to Google, because Googlebot does not find them in the raw HTML. Google can execute JavaScript, but it does so in a second, delayed step and with limits. JavaScript SEO closes exactly that gap.<\/p>\n<h2 id=\"javascript-seo-at-a-glance\">JavaScript SEO at a glance<\/h2>\n<table>\n<tr>\n<th>Attribute<\/th>\n<th>Detail<\/th>\n<\/tr>\n<tr>\n<td>Category<\/td>\n<td>Field on the technical side of SEO<\/td>\n<\/tr>\n<tr>\n<td>Goal<\/td>\n<td>Crawlability, renderability and indexability of JS generated content<\/td>\n<\/tr>\n<tr>\n<td>Especially relevant for<\/td>\n<td>JS frameworks (React, Angular, Vue, Next.js, Nuxt)<\/td>\n<\/tr>\n<tr>\n<td>Google renders through<\/td>\n<td>Web Rendering Service (WRS), Chromium based<\/td>\n<\/tr>\n<tr>\n<td>Related terms<\/td>\n<td>Rendering, CSR, SSR, crawling, indexing<\/td>\n<\/tr>\n<\/table>\n<h2 id=\"why-javascript-seo-matters-for-modern-websites\">Why does JavaScript SEO matter for modern websites?<\/h2>\n<p>JavaScript SEO matters because a growing share of the web renders its content in the browser first, and that content otherwise does not reach the index reliably. Frameworks such as React, Angular and Vue often deliver little more than an almost empty HTML shell on the first request. The actual content, meaning text, headings, images and links, is loaded with JavaScript afterwards and inserted into the document.<\/p>\n<p>For a person in the browser this works smoothly. For a <a href=\"https:\/\/taismo.de\/en\/what-is\/crawler\/\">crawler<\/a> it is a hurdle: if Googlebot only sees the empty shell while crawling, it has no content to judge. Only when Google also renders the page does the full content become visible. If that rendering step never happens or fails, the page shows up in the search results with thin content or none at all.<\/p>\n<h2 id=\"how-google-processes-javascript\">How does Google process JavaScript?<\/h2>\n<p>Google processes JavaScript in three separate phases: crawling, rendering and indexing. These phases do not run straight after one another, they are spread over time. That is the central difference to classic HTML pages, where the content is available right away.<\/p>\n<ol>\n<li><strong>Crawling:<\/strong> Googlebot loads the HTML document of a URL and reads out the links and resources it contains. JavaScript files are recognized at this point, but not yet executed.<\/li>\n<li><strong>Rendering:<\/strong> The URL moves into a render queue. There the Web Rendering Service (WRS), a current Chromium, executes the JavaScript and builds the final DOM, the way a person would see it in the browser.<\/li>\n<li><strong>Indexing:<\/strong> Only the rendered HTML is evaluated and indexed. New links that appear during rendering go back into the crawl queue.<\/li>\n<\/ol>\n<p>The rendering step costs resources and therefore happens with a delay, often minutes to days after the crawling. During that window Google knows the raw HTML only. Anyone who inserts content exclusively with JavaScript is pushing the indexing back.<\/p>\n<figure>\n      <a href=\"https:\/\/taismo.de\/en\/what-is\/crawler\/\" title=\"crawler\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 760 300\" role=\"img\" aria-labelledby=\"fig1t fig1d\" style=\"width:100%;height:auto;max-width:760px;font-family:Arial,Helvetica,sans-serif\"><title id=\"fig1t\">The three phases in which Google processes JavaScript<\/title><desc id=\"fig1d\">Google processes a JavaScript page in three phases that are spread over time: crawling of the raw HTML, rendering in the render queue by the Web Rendering Service and the indexing of the rendered content.<\/desc><rect x=\"0\" y=\"0\" width=\"760\" height=\"300\" fill=\"#ffffff\"\/><text x=\"380\" y=\"34\" text-anchor=\"middle\" fill=\"#072328\" font-size=\"18\" font-weight=\"bold\">How Google processes a JavaScript page<\/text><rect x=\"24\" y=\"70\" width=\"210\" height=\"120\" rx=\"14\" fill=\"#072328\"\/><circle cx=\"60\" cy=\"106\" r=\"18\" fill=\"#ED8924\"\/><text x=\"60\" y=\"113\" text-anchor=\"middle\" fill=\"#072328\" font-size=\"18\" font-weight=\"bold\">1<\/text><text x=\"88\" y=\"112\" fill=\"#ffffff\" font-size=\"17\" font-weight=\"bold\">Crawling<\/text><text x=\"44\" y=\"146\" fill=\"#B8C4C4\" font-size=\"13\">Googlebot loads the<\/text><text x=\"44\" y=\"166\" fill=\"#B8C4C4\" font-size=\"13\">raw HTML.<\/text><rect x=\"275\" y=\"70\" width=\"210\" height=\"120\" rx=\"14\" fill=\"#ffffff\" stroke=\"#ED8924\" stroke-width=\"3\"\/><circle cx=\"311\" cy=\"106\" r=\"18\" fill=\"#ED8924\"\/><text x=\"311\" y=\"113\" text-anchor=\"middle\" fill=\"#072328\" font-size=\"18\" font-weight=\"bold\">2<\/text><text x=\"339\" y=\"112\" fill=\"#072328\" font-size=\"17\" font-weight=\"bold\">Rendering<\/text><text x=\"295\" y=\"146\" fill=\"#072328\" font-size=\"13\">Render queue: the WRS<\/text><text x=\"295\" y=\"166\" fill=\"#072328\" font-size=\"13\">runs the JavaScript.<\/text><rect x=\"526\" y=\"70\" width=\"210\" height=\"120\" rx=\"14\" fill=\"#072328\"\/><circle cx=\"562\" cy=\"106\" r=\"18\" fill=\"#ED8924\"\/><text x=\"562\" y=\"113\" text-anchor=\"middle\" fill=\"#072328\" font-size=\"18\" font-weight=\"bold\">3<\/text><text x=\"590\" y=\"112\" fill=\"#ffffff\" font-size=\"17\" font-weight=\"bold\">Indexing<\/text><text x=\"546\" y=\"146\" fill=\"#B8C4C4\" font-size=\"13\">Rendered HTML<\/text><text x=\"546\" y=\"166\" fill=\"#B8C4C4\" font-size=\"13\">is evaluated.<\/text><defs><marker id=\"jah\" markerWidth=\"10\" markerHeight=\"10\" refX=\"8\" refY=\"3\" orient=\"auto\"><path d=\"M0 0 L8 3 L0 6 z\" fill=\"#ED8924\"\/><\/marker><\/defs><line x1=\"238\" y1=\"130\" x2=\"271\" y2=\"130\" stroke=\"#ED8924\" stroke-width=\"4\" marker-end=\"url(#jah)\"\/><line x1=\"489\" y1=\"130\" x2=\"522\" y2=\"130\" stroke=\"#ED8924\" stroke-width=\"4\" marker-end=\"url(#jah)\"\/><text x=\"380\" y=\"238\" text-anchor=\"middle\" fill=\"#072328\" font-size=\"15\" font-weight=\"bold\">Between crawling and rendering there is a delay.<\/text><text x=\"380\" y=\"262\" text-anchor=\"middle\" fill=\"#072328\" font-size=\"13\">Until rendering, Google only knows the raw HTML without JS content.<\/text><text x=\"676\" y=\"290\" fill=\"#072328\" font-size=\"11\" opacity=\"0.5\">Fig. 1 &#183; taismo<\/text><\/svg><\/a><figcaption><strong>Fig. 1: The three phases of JavaScript processing at Google, from crawling through rendering to indexing.<\/strong><\/figcaption><\/figure>\n<h2 id=\"which-seo-problems-does-javascript-cause\">Which SEO problems does JavaScript cause?<\/h2>\n<p>JavaScript causes SEO problems whenever important content or signals appear only after execution and the rendering step does not expose them reliably. The 5 most common pitfalls:<\/p>\n<ol>\n<li><strong>Content missing from the initial HTML:<\/strong> text and product data live in the rendered DOM only. If the rendering fails, Google indexes a page that is effectively empty.<\/li>\n<li><strong>Links without <code>&lt;a href&gt;<\/code>:<\/strong> navigation through <code>onclick<\/code> events or <code>button<\/code> elements instead of real <code>&lt;a href=\"...\"&gt;<\/code> links. Googlebot follows real href links only, everything else stays uncrawlable.<\/li>\n<li><strong>Blocked JS resources:<\/strong> if the JavaScript file is blocked through <a href=\"https:\/\/taismo.de\/en\/what-is\/robots-txt\/\">robots.txt<\/a>, Google cannot render the page and sees the empty shell only.<\/li>\n<li><strong>Delayed indexing:<\/strong> because of the render queue, fresh content lands in the index later. On news driven or seasonal topics that costs visibility.<\/li>\n<li><strong>Lazy loading done wrong:<\/strong> content that <a href=\"https:\/\/taismo.de\/en\/what-is\/lazy-loading\/\">lazy loading<\/a> fetches only on scroll or click events stays invisible to Googlebot, because it neither scrolls nor clicks.<\/li>\n<\/ol>\n<p>On top of that comes performance: heavy JavaScript stretches load times and puts pressure on the <a href=\"https:\/\/taismo.de\/en\/what-is\/core-web-vitals\/\">Core Web Vitals<\/a>. Slow pages are not only rated worse, they also burn more rendering resources.<\/p>\n<h2 id=\"client-side-vs-server-side-rendering\">Client-side vs. server-side rendering: what is the difference?<\/h2>\n<p>The difference lies in the place where the HTML is created: with client-side rendering (CSR) the browser of the user builds the page with JavaScript, with server-side rendering (SSR) the server already delivers finished HTML. For SEO this decision is central, because it determines what Googlebot finds on its first visit.<\/p>\n<ul>\n<li><strong>Client-side rendering (CSR):<\/strong> the server sends a minimal HTML plus JavaScript. The browser renders the content afterwards. Google has to render the page itself to see anything, with the familiar delay.<\/li>\n<li><strong>Server-side rendering (SSR):<\/strong> the server executes the JavaScript and delivers complete HTML. Googlebot sees the content right away while crawling, without waiting for the render queue.<\/li>\n<\/ul>\n<p>Between those two poles sit hybrid forms. <strong>Static site generation (SSG)<\/strong> creates finished HTML as early as build time. <strong>Prerendering<\/strong> keeps a pre-rendered HTML version ready for bots. <strong>Hydration<\/strong> combines server-side HTML with client-side interactivity. For search engines the rule is simple: the more content already sits in the delivered HTML, the more reliably it gets indexed.<\/p>\n<figure>\n      <a href=\"https:\/\/taismo.de\/en\/webdesign\/\" title=\"SEO web design\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 760 320\" role=\"img\" aria-labelledby=\"fig2t fig2d\" style=\"width:100%;height:auto;max-width:760px;font-family:Arial,Helvetica,sans-serif\"><title id=\"fig2t\">Client-side rendering compared with server-side rendering<\/title><desc id=\"fig2d\">With client-side rendering the browser builds the content with JavaScript and Google has to render the page itself. With server-side rendering the server delivers finished HTML and Googlebot sees the content right away.<\/desc><rect x=\"0\" y=\"0\" width=\"760\" height=\"320\" fill=\"#ffffff\"\/><text x=\"380\" y=\"34\" text-anchor=\"middle\" fill=\"#072328\" font-size=\"18\" font-weight=\"bold\">CSR vs. SSR from the point of view of Googlebot<\/text><rect x=\"30\" y=\"58\" width=\"330\" height=\"230\" rx=\"16\" fill=\"#ffffff\" stroke=\"#ED8924\" stroke-width=\"3\"\/><text x=\"195\" y=\"92\" text-anchor=\"middle\" fill=\"#072328\" font-size=\"18\" font-weight=\"bold\">Client-side rendering<\/text><text x=\"195\" y=\"116\" text-anchor=\"middle\" fill=\"#ED8924\" font-size=\"14\" font-weight=\"bold\">CSR<\/text><text x=\"56\" y=\"150\" fill=\"#072328\" font-size=\"14\">1. Server sends empty HTML<\/text><text x=\"56\" y=\"178\" fill=\"#072328\" font-size=\"14\">2. Browser loads JavaScript<\/text><text x=\"56\" y=\"206\" fill=\"#072328\" font-size=\"14\">3. JavaScript builds the content<\/text><text x=\"56\" y=\"240\" fill=\"#072328\" font-size=\"13\" font-weight=\"bold\">Google: has to render itself,<\/text><text x=\"56\" y=\"260\" fill=\"#072328\" font-size=\"13\" font-weight=\"bold\">content only visible later.<\/text><rect x=\"400\" y=\"58\" width=\"330\" height=\"230\" rx=\"16\" fill=\"#072328\"\/><text x=\"565\" y=\"92\" text-anchor=\"middle\" fill=\"#ffffff\" font-size=\"18\" font-weight=\"bold\">Server-side rendering<\/text><text x=\"565\" y=\"116\" text-anchor=\"middle\" fill=\"#ED8924\" font-size=\"14\" font-weight=\"bold\">SSR<\/text><text x=\"426\" y=\"150\" fill=\"#ffffff\" font-size=\"14\">1. Server runs the JavaScript<\/text><text x=\"426\" y=\"178\" fill=\"#ffffff\" font-size=\"14\">2. Server sends finished HTML<\/text><text x=\"426\" y=\"206\" fill=\"#ffffff\" font-size=\"14\">3. Browser shows content directly<\/text><text x=\"426\" y=\"240\" fill=\"#ED8924\" font-size=\"13\" font-weight=\"bold\">Google: sees the content right<\/text><text x=\"426\" y=\"260\" fill=\"#ED8924\" font-size=\"13\" font-weight=\"bold\">away when crawling, no waiting.<\/text><text x=\"676\" y=\"308\" fill=\"#072328\" font-size=\"11\" opacity=\"0.5\">Fig. 2 &#183; taismo<\/text><\/svg><\/a><figcaption><strong>Fig. 2: Client-side rendering and server-side rendering compared directly from the point of view of Googlebot.<\/strong><\/figcaption><\/figure>\n<h2 id=\"how-to-make-javascript-pages-seo-friendly\">How do you make JavaScript pages SEO-friendly?<\/h2>\n<p>JavaScript pages become SEO-friendly when the important content is available in the HTML as early as possible and all resources stay crawlable. The most effective measures, in the order of their leverage:<\/p>\n<ol>\n<li><strong>Use SSR, SSG or prerendering:<\/strong> render critical content on the server or at build time, so Google finds it without a rendering step of its own.<\/li>\n<li><strong>Use real links:<\/strong> map every navigation through <code>&lt;a href=\"...\"&gt;<\/code>. That way Googlebot follows the internal linking reliably.<\/li>\n<li><strong>Release the JS resources:<\/strong> never block JavaScript and CSS files through robots.txt, otherwise the rendering fails.<\/li>\n<li><strong>Return correct status codes:<\/strong> send a real 404 or 301 even for error pages rendered on the client, never a soft 404.<\/li>\n<li><strong>Test the rendering:<\/strong> check the rendered HTML with the URL inspection tool of <a href=\"https:\/\/taismo.de\/en\/what-is\/google-search-console\/\">Google Search Console<\/a>. If the rendered code shows the content, Google sees it too.<\/li>\n<\/ol>\n<p>Built cleanly, a JavaScript page lands in the index with its full content and appears in the <a href=\"https:\/\/taismo.de\/en\/what-is\/serp\/\">SERP<\/a>. For websites on React, Angular, Vue or a headless setup, this check belongs to the technical foundation. Anyone who plans or rebuilds such a site should think about JavaScript SEO from the start, and that is exactly part of our work in <a href=\"https:\/\/taismo.de\/en\/webdesign\/\">SEO web design<\/a> and on the technical side of SEO.<\/p>\n<h2 id=\"faq\">Frequently asked questions about JavaScript SEO<\/h2>\n<p><strong>Is JavaScript bad for SEO?<\/strong><br \/>No, JavaScript is not bad for SEO as such. It becomes a problem only when central content is created exclusively with JavaScript and the rendering step does not expose it reliably. Built cleanly, a JavaScript page is just as indexable as a classic HTML page.<\/p>\n<p><strong>Can Google render JavaScript?<\/strong><br \/>Yes, Google renders JavaScript with the Web Rendering Service, based on a current Chromium. The rendering happens with a delay and with limits, though, which is why important content should already sit in the delivered HTML.<\/p>\n<p><strong>What is better for SEO: CSR or SSR?<\/strong><br \/>For SEO, server-side rendering (SSR) is usually the safer choice, because Googlebot sees finished HTML immediately while crawling. Client-side rendering works, but it moves the visibility into the delayed rendering step.<\/p>\n<p><strong>How do I test whether Google sees my JS content?<\/strong><br \/>Use the URL inspection tool in Google Search Console and look at the rendered HTML. If the content you expect appears there, Google can index it too.<\/p>\n<p><strong>Do React, Vue or Angular sites need special SEO measures?<\/strong><br \/>Yes, single page apps on React, Vue or Angular usually need SSR, SSG or prerendering so that their content gets indexed reliably. Without such measures they risk thin or slowly indexed pages.<\/p>\n<\/p><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>IKI Contents JavaScript SEO at a glance Why does JavaScript SEO matter for modern websites? How does Google process JavaScript? Which SEO problems does JavaScript cause? Client-side vs. server-side rendering: what is the difference? How do you make JavaScript pages SEO-friendly? Frequently asked questions about JavaScript SEO What is JavaScript SEO? JavaScript SEO is the [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":7519,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_taismo_jsonld":"","taismo_jsonld":"{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/#webpage\",\"url\":\"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/\",\"name\":\"What is JavaScript SEO? Rendering, crawling and best practices\",\"isPartOf\":{\"@id\":\"https:\/\/taismo.de\/#website\"},\"inLanguage\":\"en\",\"datePublished\":\"2026-08-07T09:00:00+02:00\",\"dateModified\":\"2026-08-07T09:00:00+02:00\",\"primaryImageOfPage\":{\"@id\":\"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/#primaryimage\"},\"mainEntity\":{\"@id\":\"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/#definedterm\"},\"breadcrumb\":{\"@id\":\"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/#breadcrumb\"},\"speakable\":{\"@type\":\"SpeakableSpecification\",\"cssSelector\":[\".brand-claim\",\".lead-def\"]},\"author\":{\"@id\":\"https:\/\/taismo.de\/#person-dominik-breitbach\"},\"publisher\":{\"@id\":\"https:\/\/taismo.de\/#organization\"}},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/#primaryimage\",\"contentUrl\":\"https:\/\/taismo.de\/wp-content\/uploads\/2026\/07\/javascript-seo-rendering-crawling.png\",\"url\":\"https:\/\/taismo.de\/wp-content\/uploads\/2026\/07\/javascript-seo-rendering-crawling.png\",\"width\":1200,\"height\":675,\"caption\":\"JavaScript SEO: crawling, rendering and indexing of JS content\"},{\"@type\":\"DefinedTerm\",\"@id\":\"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/#definedterm\",\"name\":\"JavaScript SEO\",\"termCode\":\"javascript-seo\",\"url\":\"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/\",\"inLanguage\":\"en\",\"inDefinedTermSet\":{\"@id\":\"https:\/\/taismo.de\/#seo-wiki\"},\"description\":\"JavaScript SEO is the field on the technical side of SEO that makes sure content generated by JavaScript can be crawled, rendered and indexed by search engines. JavaScript SEO becomes relevant whenever a website does not ship its content in the delivered HTML but builds it in the browser with JavaScript. The frameworks affected most are modern JS frameworks such as React, Angular and Vue.\",\"disambiguatingDescription\":\"Sub-discipline on the technical side of SEO for JavaScript heavy websites and single page apps. It deals with the crawling, rendering and indexing of content generated by JavaScript, not with the programming language JavaScript itself.\",\"author\":{\"@id\":\"https:\/\/taismo.de\/#person-dominik-breitbach\"},\"publisher\":{\"@id\":\"https:\/\/taismo.de\/#organization\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/taismo.de\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SEO Glossary\",\"item\":\"https:\/\/taismo.de\/en\/what-is\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"JavaScript SEO\"}]},{\"@type\":\"FAQPage\",\"@id\":\"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/#faqpage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Is JavaScript bad for SEO?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No, JavaScript is not bad for SEO as such. It becomes a problem only when central content is created exclusively with JavaScript and the rendering step does not expose it reliably. Built cleanly, a JavaScript page is just as indexable as a classic HTML page.\"}},{\"@type\":\"Question\",\"name\":\"Can Google render JavaScript?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes, Google renders JavaScript with the Web Rendering Service, based on a current Chromium. The rendering happens with a delay and with limits, though, which is why important content should already sit in the delivered HTML.\"}},{\"@type\":\"Question\",\"name\":\"What is better for SEO: CSR or SSR?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"For SEO, server-side rendering (SSR) is usually the safer choice, because Googlebot sees finished HTML immediately while crawling. Client-side rendering works, but it moves the visibility into the delayed rendering step.\"}},{\"@type\":\"Question\",\"name\":\"How do I test whether Google sees my JS content?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Use the URL inspection tool in Google Search Console and look at the rendered HTML. If the content you expect appears there, Google can index it too.\"}},{\"@type\":\"Question\",\"name\":\"Do React, Vue or Angular sites need special SEO measures?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes, single page apps on React, Vue or Angular usually need SSR, SSG or prerendering so that their content gets indexed reliably. Without such measures they risk thin or slowly indexed pages.\"}}]}]}","footnotes":""},"categories":[80],"tags":[91],"class_list":["post-6938","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-what-is","tag-j-en"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What Is JavaScript SEO? Rendering &amp; Crawling | taismo<\/title>\n<meta name=\"description\" content=\"JavaScript SEO makes sure Google crawls, renders and indexes JS content. See how React, Angular and Vue pages get visible. Start now \ud83d\ude80\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What Is JavaScript SEO? Rendering &amp; Crawling | taismo\" \/>\n<meta property=\"og:description\" content=\"JavaScript SEO makes sure Google crawls, renders and indexes JS content. See how React, Angular and Vue pages get visible. Start now \ud83d\ude80\" \/>\n<meta property=\"og:url\" content=\"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/\" \/>\n<meta property=\"og:site_name\" content=\"taismo| Agentur f\u00fcr SEO &amp; Webdesign\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/TaismoOnlineMarketing\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-07T07:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/taismo.de\/wp-content\/uploads\/2026\/07\/javascript-seo_featured.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Dominik Breitbach\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/taismo.de\\\/en\\\/what-is\\\/javascript-seo\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/taismo.de\\\/en\\\/what-is\\\/javascript-seo\\\/\"},\"author\":{\"name\":\"Dominik Breitbach\",\"@id\":\"https:\\\/\\\/taismo.de\\\/#person-dominik-breitbach\"},\"headline\":\"JavaScript SEO\",\"datePublished\":\"2026-08-07T07:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/taismo.de\\\/en\\\/what-is\\\/javascript-seo\\\/\"},\"wordCount\":1530,\"publisher\":{\"@id\":\"https:\\\/\\\/taismo.de\\\/en\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/taismo.de\\\/en\\\/what-is\\\/javascript-seo\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/taismo.de\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/javascript-seo_featured.png\",\"keywords\":[\"J\"],\"articleSection\":[\"SEO Glossary\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/taismo.de\\\/en\\\/what-is\\\/javascript-seo\\\/\",\"url\":\"https:\\\/\\\/taismo.de\\\/en\\\/what-is\\\/javascript-seo\\\/\",\"name\":\"What Is JavaScript SEO? Rendering & Crawling | taismo\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/taismo.de\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/taismo.de\\\/en\\\/what-is\\\/javascript-seo\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/taismo.de\\\/en\\\/what-is\\\/javascript-seo\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/taismo.de\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/javascript-seo_featured.png\",\"datePublished\":\"2026-08-07T07:00:00+00:00\",\"description\":\"JavaScript SEO makes sure Google crawls, renders and indexes JS content. See how React, Angular and Vue pages get visible. Start now \ud83d\ude80\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/taismo.de\\\/en\\\/what-is\\\/javascript-seo\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/taismo.de\\\/en\\\/what-is\\\/javascript-seo\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/taismo.de\\\/en\\\/what-is\\\/javascript-seo\\\/#primaryimage\",\"url\":\"https:\\\/\\\/taismo.de\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/javascript-seo_featured.png\",\"contentUrl\":\"https:\\\/\\\/taismo.de\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/javascript-seo_featured.png\",\"width\":1200,\"height\":675,\"caption\":\"JavaScript SEO: JavaScript SEO is the field on the technical side of SEO that makes sure content generated by\u2026\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/taismo.de\\\/en\\\/what-is\\\/javascript-seo\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/taismo.de\\\/en\\\/search-marketing\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JavaScript SEO\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/taismo.de\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/taismo.de\\\/en\\\/\",\"name\":\"taismo| Agentur f\u00fcr SEO & Webdesign\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/taismo.de\\\/en\\\/#organization\"},\"alternateName\":\"taismo\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/taismo.de\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/taismo.de\\\/en\\\/#organization\",\"name\":\"taismo SEO Agentur M\u00fcnchen\",\"alternateName\":\"taismo\",\"url\":\"https:\\\/\\\/taismo.de\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/taismo.de\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/taismo.de\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/cropped-favicon.png\",\"contentUrl\":\"https:\\\/\\\/taismo.de\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/cropped-favicon.png\",\"width\":512,\"height\":512,\"caption\":\"taismo SEO Agentur M\u00fcnchen\"},\"image\":{\"@id\":\"https:\\\/\\\/taismo.de\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/TaismoOnlineMarketing\",\"https:\\\/\\\/branchenbuch.portal.muenchen.de\\\/mhp\\\/1380360\\\/\",\"https:\\\/\\\/www.crunchbase.com\\\/organization\\\/taismo-gmbh\",\"https:\\\/\\\/de.trustpilot.com\\\/review\\\/taismo.de\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/taismo\\\/\",\"https:\\\/\\\/www.instagram.com\\\/taismo.de\",\"https:\\\/\\\/onlinemarketing.de\\\/dienstleister\\\/online-marketing-agentur\\\/kirchheim-bei-muenchen\\\/taismo\",\"https:\\\/\\\/www.agenturtipp.de\\\/agentur\\\/taismo-online-marketing\\\/\",\"https:\\\/\\\/startupvalley.news\\\/de\\\/taismo-online-marketing-agentur\\\/\",\"https:\\\/\\\/www.wlw.de\\\/de\\\/firma\\\/taismo-gmbh-1918135\",\"https:\\\/\\\/www.youtube.com\\\/@taismo8632\",\"https:\\\/\\\/techbehemoths.com\\\/company\\\/taismo-gmbh\",\"https:\\\/\\\/www.kununu.com\\\/de\\\/taismo1\",\"https:\\\/\\\/www.provenexpert.com\\\/taismo1\\\/\",\"https:\\\/\\\/www.provenemployer.com\\\/p\\\/taismo-employer\\\/\",\"https:\\\/\\\/www.trustedshops.de\\\/bewertung\\\/taismo-de\",\"https:\\\/\\\/www.kennstdueinen.de\\\/online-marketing-kirchheim-bei-muenchen-taismo-gmbh-d2136613.html\",\"https:\\\/\\\/www.ibusiness.de\\\/dienstleister\\\/jb\\\/5920834fb726.html\",\"https:\\\/\\\/www.seo-united.de\\\/seo-agenturen\\\/taismo-3345\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What Is JavaScript SEO? Rendering & Crawling | taismo","description":"JavaScript SEO makes sure Google crawls, renders and indexes JS content. See how React, Angular and Vue pages get visible. Start now \ud83d\ude80","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/","og_locale":"en_US","og_type":"article","og_title":"What Is JavaScript SEO? Rendering & Crawling | taismo","og_description":"JavaScript SEO makes sure Google crawls, renders and indexes JS content. See how React, Angular and Vue pages get visible. Start now \ud83d\ude80","og_url":"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/","og_site_name":"taismo| Agentur f\u00fcr SEO &amp; Webdesign","article_publisher":"https:\/\/www.facebook.com\/TaismoOnlineMarketing","article_published_time":"2026-08-07T07:00:00+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/taismo.de\/wp-content\/uploads\/2026\/07\/javascript-seo_featured.png","type":"image\/png"}],"author":"Dominik Breitbach","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/#article","isPartOf":{"@id":"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/"},"author":{"name":"Dominik Breitbach","@id":"https:\/\/taismo.de\/#person-dominik-breitbach"},"headline":"JavaScript SEO","datePublished":"2026-08-07T07:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/"},"wordCount":1530,"publisher":{"@id":"https:\/\/taismo.de\/en\/#organization"},"image":{"@id":"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/#primaryimage"},"thumbnailUrl":"https:\/\/taismo.de\/wp-content\/uploads\/2026\/07\/javascript-seo_featured.png","keywords":["J"],"articleSection":["SEO Glossary"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/","url":"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/","name":"What Is JavaScript SEO? Rendering & Crawling | taismo","isPartOf":{"@id":"https:\/\/taismo.de\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/#primaryimage"},"image":{"@id":"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/#primaryimage"},"thumbnailUrl":"https:\/\/taismo.de\/wp-content\/uploads\/2026\/07\/javascript-seo_featured.png","datePublished":"2026-08-07T07:00:00+00:00","description":"JavaScript SEO makes sure Google crawls, renders and indexes JS content. See how React, Angular and Vue pages get visible. Start now \ud83d\ude80","breadcrumb":{"@id":"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/taismo.de\/en\/what-is\/javascript-seo\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/#primaryimage","url":"https:\/\/taismo.de\/wp-content\/uploads\/2026\/07\/javascript-seo_featured.png","contentUrl":"https:\/\/taismo.de\/wp-content\/uploads\/2026\/07\/javascript-seo_featured.png","width":1200,"height":675,"caption":"JavaScript SEO: JavaScript SEO is the field on the technical side of SEO that makes sure content generated by\u2026"},{"@type":"BreadcrumbList","@id":"https:\/\/taismo.de\/en\/what-is\/javascript-seo\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/taismo.de\/en\/search-marketing\/"},{"@type":"ListItem","position":2,"name":"JavaScript SEO"}]},{"@type":"WebSite","@id":"https:\/\/taismo.de\/en\/#website","url":"https:\/\/taismo.de\/en\/","name":"taismo| Agentur f\u00fcr SEO & Webdesign","description":"","publisher":{"@id":"https:\/\/taismo.de\/en\/#organization"},"alternateName":"taismo","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/taismo.de\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/taismo.de\/en\/#organization","name":"taismo SEO Agentur M\u00fcnchen","alternateName":"taismo","url":"https:\/\/taismo.de\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/taismo.de\/en\/#\/schema\/logo\/image\/","url":"https:\/\/taismo.de\/wp-content\/uploads\/2024\/09\/cropped-favicon.png","contentUrl":"https:\/\/taismo.de\/wp-content\/uploads\/2024\/09\/cropped-favicon.png","width":512,"height":512,"caption":"taismo SEO Agentur M\u00fcnchen"},"image":{"@id":"https:\/\/taismo.de\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/TaismoOnlineMarketing","https:\/\/branchenbuch.portal.muenchen.de\/mhp\/1380360\/","https:\/\/www.crunchbase.com\/organization\/taismo-gmbh","https:\/\/de.trustpilot.com\/review\/taismo.de","https:\/\/www.linkedin.com\/company\/taismo\/","https:\/\/www.instagram.com\/taismo.de","https:\/\/onlinemarketing.de\/dienstleister\/online-marketing-agentur\/kirchheim-bei-muenchen\/taismo","https:\/\/www.agenturtipp.de\/agentur\/taismo-online-marketing\/","https:\/\/startupvalley.news\/de\/taismo-online-marketing-agentur\/","https:\/\/www.wlw.de\/de\/firma\/taismo-gmbh-1918135","https:\/\/www.youtube.com\/@taismo8632","https:\/\/techbehemoths.com\/company\/taismo-gmbh","https:\/\/www.kununu.com\/de\/taismo1","https:\/\/www.provenexpert.com\/taismo1\/","https:\/\/www.provenemployer.com\/p\/taismo-employer\/","https:\/\/www.trustedshops.de\/bewertung\/taismo-de","https:\/\/www.kennstdueinen.de\/online-marketing-kirchheim-bei-muenchen-taismo-gmbh-d2136613.html","https:\/\/www.ibusiness.de\/dienstleister\/jb\/5920834fb726.html","https:\/\/www.seo-united.de\/seo-agenturen\/taismo-3345\/"]}]}},"_links":{"self":[{"href":"https:\/\/taismo.de\/en\/wp-json\/wp\/v2\/posts\/6938","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/taismo.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/taismo.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/taismo.de\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/taismo.de\/en\/wp-json\/wp\/v2\/comments?post=6938"}],"version-history":[{"count":3,"href":"https:\/\/taismo.de\/en\/wp-json\/wp\/v2\/posts\/6938\/revisions"}],"predecessor-version":[{"id":7520,"href":"https:\/\/taismo.de\/en\/wp-json\/wp\/v2\/posts\/6938\/revisions\/7520"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/taismo.de\/en\/wp-json\/wp\/v2\/media\/7519"}],"wp:attachment":[{"href":"https:\/\/taismo.de\/en\/wp-json\/wp\/v2\/media?parent=6938"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/taismo.de\/en\/wp-json\/wp\/v2\/categories?post=6938"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/taismo.de\/en\/wp-json\/wp\/v2\/tags?post=6938"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}