{"id":51992,"date":"2020-02-11T09:23:03","date_gmt":"2020-02-11T08:23:03","guid":{"rendered":"https:\/\/www.humanlevel.com\/sin-categorizar\/que-tecnologias-javascript-son-indexables-con-el-evergreen-googlebot.html"},"modified":"2020-02-11T09:23:03","modified_gmt":"2020-02-11T08:23:03","slug":"which-javascript-technologies-are-indexable-with-evergreen-googlebot","status":"publish","type":"post","link":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/which-javascript-technologies-are-indexable-with-evergreen-googlebot","title":{"rendered":"Which JavaScript technologies are indexable with the evergreen Googlebot?"},"content":{"rendered":"<p>In May 2019, Googlebot stopped using the <strong>JavaScript engine from Chrome version 41<\/strong>, to keep it <strong>always updated to the latest version<\/strong>, changing its name from <strong><a href=\"https:\/\/developers.google.com\/search\/blog\/2019\/05\/the-new-evergreen-googlebot?hl=es\" target=\"\u201d_blank\u201d\" rel=\"noopener noreferrer\">evergreen Googlebot<\/a><\/strong>. Although this change improves the situation, <strong>there are JavaScript technologies that the robot cannot execute<\/strong> and must be taken into account to<strong> index all content<\/strong> instead of<strong> an error message<\/strong>.<br \/>\nAs you may already know, <a href=\"https:\/\/www.humanlevel.com\/en\/blog\/seo\/how-does-javascript-and-ajax-affect-google-indexing\" target=\"_blank\" rel=\"noopener noreferrer\">Googlebot does not always index JavaScript<\/a>, but when it does <strong>there are technologies that it cannot execute<\/strong>. Let&#8217;s take a look at what should be taken into account to handle these situations.<\/p>\n<p><img loading=\"lazy\" class=\"aligncenter wp-image-38490 size-large\" src=\"https:\/\/www.humanlevel.com\/wp-content\/uploads\/tecnologias-javascript-google-bot-e1581409604683-1024x448.jpg\" alt=\"Evergreen Googlebot\" width=\"1024\" height=\"448\" \/><\/p>\n<h2>How is JavaScript recommended to be implemented?<\/h2>\n<p>In general, <strong>we should always detect which technologies are supported by the browser<\/strong> and, in case they are not supported, <strong>there should be an alternative content<\/strong> accessible to the user and the robot. Suppose that instead of displaying alternative content, an error page is displayed: if the Google robot executes the JavaScript and does not enable the use of this technology, it would index this error message.<\/p>\n<p>If we use advanced features, it<strong> is always advisable to try disabling them in the browser<\/strong> (this can be done from chrome:\/\/flags in Chrome) and see how the page behaves in these cases.<br \/>\nIn implementation, developers can follow one of two strategies:<\/p>\n<ul>\n<li><strong>Progressive <em>enhancement<\/em><\/strong>: it consists of starting with a basic content of text and images and adding advanced functionalities.<\/li>\n<li><strong>Graceful <em>degradation<\/em><\/strong>: it consists of starting with content with advanced functionalities and degrading to more basic functionalities, until reaching the basic content.<\/li>\n<\/ul>\n<p>Google recommends <strong>progressive enhancement<\/strong>, because this makes it more likely that we will not leave any situation uncovered. The name PWA (Progressive Web Applications) comes from there.<br \/>\nIt is also advisable to implement the <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Window\/error_event\" target=\"_blank\" rel=\"noopener noreferrer\">onerror<\/a> event on the web <strong>to return JavaScript errors via AJAX to the server<\/strong>. In this way,<strong> they can be saved in a log<\/strong> that will help us to see if there is any problem with the rendering of the pages.<\/p>\n<h2>How to check the behavior of the Google robot?<\/h2>\n<p>Google updates the version of Googlebot not only in the spider, but also <a href=\"https:\/\/developers.google.com\/search\/blog\/2019\/08\/evergreen-googlebot-in-testing-tools?hl=es\" target=\"_blank\" rel=\"noopener noreferrer\">in all its tools<\/a>: the URL check in <a href=\"https:\/\/search.google.com\/search-console\/about?hl=es\" target=\"_blank\" rel=\"noopener noreferrer\">Google Search Console<\/a>, <a href=\"https:\/\/search.google.com\/test\/mobile-friendly\" target=\"_blank\" rel=\"noopener noreferrer\">Mobile Friendly Test<\/a>, <a href=\"https:\/\/search.google.com\/test\/rich-results\" target=\"_blank\" rel=\"noopener noreferrer\">Rich Results test<\/a> and <a href=\"https:\/\/search.google.com\/test\/amp\" target=\"_blank\" rel=\"noopener noreferrer\">AMP test<\/a>.<br \/>\nSo if we want to see the rendering of the page with the latest rendering engine from Googlebot or <strong>Web Rendering Service (WRS)<\/strong> and JavaScript errors, we can do it either from <strong>Google Search Console in the &#8220;Inspect URL&#8221; option and, after the analysis, click on &#8220;test published URL&#8221;; or you can also do it from the <a href=\"\/\/search.google.com\/test\/mobile-friendly\" target=\"_blank\" rel=\"noopener noreferrer\">mobile friendly test<\/a> tool.<\/strong><\/p>\n<h2>Are there technologies that stop working with each new version of the robot?<\/h2>\n<p><strong>Google Chrome<\/strong> <strong>sometimes removes features <\/strong>in its updates (which we can be informed about <a href=\"https:\/\/developer.chrome.com\/blog\/\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a> and <a href=\"https:\/\/chromestatus.com\/features\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>), features that are usually experimental and have not been active by default. For example, the <strong>WebVR API<\/strong> for virtual reality has been deprecated in version 79 in favor of the <strong>WebXR API<\/strong> for virtual and augmented reality.<\/p>\n<p>But what happens when the feature is not so experimental? There is the case of the <strong>Web Components v0:<\/strong> when Google announced that it was going to remove them in version 73 (since Chrome was the only browser that supported them and the <strong>Web Components v1<\/strong> are supported by all browsers), &#8220;early adopter&#8221; developers asked Google for more time to update their developments, so that <a href=\"https:\/\/developer.chrome.com\/blog\/web-components-time-to-upgrade\/\" target=\"_blank\" rel=\"noopener noreferrer\">have had to delay its complete phase-out until February 2020.<\/a>. However, it is unusual for a website to stop rendering well because of a Googlebot update as <strong>Google engineers always try to maintain API backward compatibility<\/strong>, so we usually don&#8217;t have to worry about this. Anyway, if we have implemented in the web the <em>onerror<\/em> event, as we have commented before, we will be able to see in the logs if some error arises.<\/p>\n<p>If we want to be very cautious, <strong>we can have located the URLs of each template that uses the web and check them all, with each Googlebot update<\/strong>, using the <em>mobile friendly test<\/em> tool. In any case, <strong>we should always check the rendering of all templates with every update of the web code<\/strong>.<\/p>\n<h2>How does the evergreen Googlebot affect polyfills and transpiled code?<\/h2>\n<p>When a JavaScript feature doesn&#8217;t work in all browsers, developers use <em><strong>polyfills<\/strong><\/em>\u00a0which <strong>fill in the code not implemented by the browser<\/strong> with a lot of additional JavaScript code.<\/p>\n<p>By having the <strong>most updated robot<\/strong> engine, it <strong>is not necessary to load <em>polyfills<\/em> with the intention that the robot sees the page well<\/strong>, but we must do it if we want users of other incompatible browsers to see it correctly. If we want to support only modern browsers, <strong>with the evergreen Googlebot less <em>polyfills<\/em> can be used<\/strong> and the web will load faster.<\/p>\n<p>Similarly, <strong>it may not be necessary to transpile or convert JavaScript code to an older version<\/strong> to support Googlebot (unless we are using a very modern or extended version of JavaScript such as TypeScript). But again, yes to support all browsers.<\/p>\n<h2>Which JavaScript technologies should we pay special attention to?<\/h2>\n<p>With the switch from Googlebot with Chrome version 41 to the evergreen Googlebot, <strong>there are technologies that previously caused page rendering errors that now work correctly<\/strong>. We are referring to the <strong>Web Components v1, the CSS Font API loading<\/strong> to choose how we load fonts, a <strong>WebXR<\/strong> for virtual and augmented reality, a <strong>WebGL<\/strong> for 3D graphics, a <strong>WebAssembly<\/strong> to execute code almost as fast as in a native application, <strong>the Intersection Observer API<\/strong> and the <strong>loading=&#8221;lazy&#8221;<\/strong> attribute to apply the <em>lazy loading<\/em> technique to images, and new features added to JavaScript from the <strong>EcmaScript 6<\/strong> standard.<\/p>\n<figure id=\"attachment_37846\" aria-describedby=\"caption-attachment-37846\" style=\"width: 913px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" class=\"size-full wp-image-37846\" src=\"https:\/\/www.humanlevel.com\/wp-content\/uploads\/webgl.png\" alt=\"Page implemented with WebGL rendered by Googlebot\" width=\"923\" height=\"852\" srcset=\"https:\/\/www.humanlevel.com\/wp-content\/uploads\/webgl.png 923w, https:\/\/www.humanlevel.com\/wp-content\/uploads\/webgl-400x369.png 400w, https:\/\/www.humanlevel.com\/wp-content\/uploads\/webgl-754x696.png 754w, https:\/\/www.humanlevel.com\/wp-content\/uploads\/webgl-900x831.png 900w\" sizes=\"auto, (max-width: 923px) 100vw, 923px\" \/><figcaption id=\"caption-attachment-37846\" class=\"wp-caption-text\">Page implemented with WebGL rendered by Googlebot<\/figcaption><\/figure>\n<p>But beware of some of these technologies: when they are used, <strong>it is always advisable to check that Googlebot renders them<\/strong> in case there are any features that have not been implemented by the robot. Furthermore, <strong>even if it is rendered<\/strong>, this <strong>does not mean that Google will be able to index the content displayed within a 3D or augmented reality image, <\/strong>but that the robot will not block the rendering and will not give an error.<br \/>\n<strong>There are technologies with which Googlebot does not give error but does not use them<\/strong> for logical reasons, because Googlebot is not a user, but a spider. These technologies are:<\/p>\n<ul>\n<li><strong>Technologies that require user permissions<\/strong>: for example, when we display a certain content, depending on the user&#8217;s geolocation, through the Navigator.geolocation API and, when permission is denied, we present an error message. This error will be indexed because Googlebot denies by default all requested permissions, so it will be better to display a warning and generic content.<\/li>\n<li><strong>Service Workers<\/strong>: they are installed in the browser on the first request to offer services typical of a PWA, such as saving pages in the <em>Cache<\/em> object to offer them in offline mode or offering the user <em>Push <\/em>notifications. These functionalities do not make sense for a spider. As a result, Googlebot simply ignores them.<\/li>\n<li><strong>WebRTC<\/strong>: it would not make sense for the robot to index the content of a technology useful for P2P communication between browsers. Typically, this is used by web applications such as Skype or Hangouts once the user is logged in, but Googlebot does not log in or make video calls.<\/li>\n<li><strong>WebSockets<\/strong>: <em>web sockets<\/em> are used to send content updates from the server without being requested by the web browser. This allows chats or content updates to be implemented while the user is browsing, although it can also be used as a substitute for AJAX. But <strong>Googlebot does not allow connections with <em>websockets<\/em><\/strong>, so if the web loads the main content with WebSockets, it will not be indexed even if Googlebot gets to execute the JavaScript.<br \/>\nTo find out if <em>websockets<\/em> are used on a website, we can resort to the WS tab of Google Chrome&#8217;s developer tools:<\/p>\n<figure id=\"attachment_37844\" aria-describedby=\"caption-attachment-37844\" style=\"width: 675px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" class=\"wp-image-37844 size-full\" src=\"https:\/\/www.humanlevel.com\/wp-content\/uploads\/websocket.png\" alt=\"websocket in developer tools\" width=\"685\" height=\"249\" srcset=\"https:\/\/www.humanlevel.com\/wp-content\/uploads\/websocket.png 685w, https:\/\/www.humanlevel.com\/wp-content\/uploads\/websocket-400x145.png 400w\" sizes=\"auto, (max-width: 685px) 100vw, 685px\" \/><figcaption id=\"caption-attachment-37844\" class=\"wp-caption-text\">Websocket in Google Chrome Developer Tools<\/figcaption><\/figure>\n<p>Again, this is not to say that Googlebot does not support the technology, but rather that it does not use it by not allowing connections:<\/p>\n<p><figure id=\"attachment_37845\" aria-describedby=\"caption-attachment-37845\" style=\"width: 450px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" class=\"size-full wp-image-37845\" src=\"https:\/\/www.humanlevel.com\/wp-content\/uploads\/Screenshot_2.png\" alt=\"Googlebot implements websockets but does not allow connection initialization\" width=\"460\" height=\"488\" srcset=\"https:\/\/www.humanlevel.com\/wp-content\/uploads\/Screenshot_2.png 460w, https:\/\/www.humanlevel.com\/wp-content\/uploads\/Screenshot_2-400x424.png 400w\" sizes=\"auto, (max-width: 460px) 100vw, 460px\" \/><figcaption id=\"caption-attachment-37845\" class=\"wp-caption-text\">Googlebot implements websockets but does not allow connection initialization.<\/figcaption><\/figure><\/li>\n<\/ul>\n<h2>Is AJAX allowed?<\/h2>\n<p><strong>When Googlebot runs JavaScript, it has no problem executing the fetch or XmlHTTPRequest APIs<\/strong> that implement AJAX. But be careful: <strong>each AJAX request counts in the <a href=\"https:\/\/www.searchenginejournal.com\/technical-seo\/crawl-budget\/\" target=\"_blank\" rel=\"noopener noreferrer\"><em>crawl budget<\/em><\/a><\/strong> (so if we have many, the indexation of the portal will drop).<\/p>\n<p>On the other hand, <strong>if content is retrieved by AJAX on initial load,<\/strong> it <strong>will not be indexed if Google does not have <a href=\"https:\/\/blog.ja.dev\/entry\/blog\/2019\/08\/07\/render-budget-en\" target=\"_blank\" rel=\"noopener noreferrer\"><em>render budget<\/em><\/a> to execute JavaScript on that page<\/strong>.<\/p>\n<h2>How does Google behave with session variables and data in the client?<\/h2>\n<p>On a website, to maintain status between requests (maintaining status is knowing what actions the user has performed before, such as logging in or adding products to the cart) you can use<strong> <a href=\"https:\/\/www.humanlevel.com\/en\/digital-marketing-dictionary\/cookies\" target=\"_blank\" rel=\"noopener noreferrer\">cookies<\/a><\/strong> where to store an identifier, called session cookie value. This value identifies a memory area in which to store session variables on the server.<\/p>\n<p>However, using the <strong><em>SessionStorage<\/em>, <em>LocalStorage<\/em> and <em>IndexedDB<\/em><\/strong> APIs, we can store information in the browser to maintain state and, if it is a <a href=\"https:\/\/www.humanlevel.com\/en\/blog\/seo\/indexability-shadow-dom\" target=\"_blank\" rel=\"noopener noreferrer\">SPA or Single Page Applications<\/a>, state can be maintained in the client&#8217;s memory simply by means of JavaScript variables.<\/p>\n<p>If Googlebot&#8217;s behavior with cookies is based on the fact that with each request it is considered as if it were a new user that does not send any cookie, with SessionStorage and the rest of technologies to maintain the state is the same.<\/p>\n<p>Although <strong>Googlebot supports <em>SessionStorage<\/em>, <em>LocalStorage<\/em> and <em>IndexedDB<\/em><\/strong> and if we program with these technologies, it will not give any error, <strong>in each request has these empty data stores<\/strong>. The URLs will always have the same content, as if it were a new user, so nothing that depends on the status will be indexed and the URLs will always have the same content. Similarly, if it is an SPA, the robot will not navigate through the links by clicking, but will load each page from the beginning, initializing all the JavaScript code and its variables with each request.<\/p>\n<h2>Conclusions<\/h2>\n<p><strong>It is always best if websites are implemented in such a way that all their content can be indexed without the use of JavaScript <\/strong>but <strong>if this technology is used<\/strong> to offer functionalities that provide added value to the user, <strong>care must be taken in the way they are implemented,<\/strong> to avoid rendering errors and indexing error messages.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Learn with this post which Javascript technologies cannot run Evergreen Googlebot and what consequences it&#8230;<\/p>\n","protected":false},"author":14,"featured_media":48266,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[349],"tags":[357,534],"class_list":["post-51992","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-seo","tag-indexability","tag-technical-seo"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Which JavaScript technologies are indexable with the evergreen Googlebot? | Human Level<\/title>\n<meta name=\"description\" content=\"Learn with this post which Javascript technologies cannot run Evergreen Googlebot and what consequences it has for indexing.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.humanlevel.com\/en\/blog\/seo\/which-javascript-technologies-are-indexable-with-evergreen-googlebot\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Which JavaScript technologies are indexable with the evergreen Googlebot? | Human Level\" \/>\n<meta property=\"og:description\" content=\"Learn with this post which Javascript technologies cannot run Evergreen Googlebot and what consequences it has for indexing.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.humanlevel.com\/en\/blog\/seo\/which-javascript-technologies-are-indexable-with-evergreen-googlebot\" \/>\n<meta property=\"og:site_name\" content=\"Human Level\" \/>\n<meta property=\"article:published_time\" content=\"2020-02-11T08:23:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.humanlevel.com\/wp-content\/uploads\/evergreen-googlebot.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"400\" \/>\n\t<meta property=\"og:image:height\" content=\"400\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ram\u00f3n Saquete\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@daiatron\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ram\u00f3n Saquete\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/which-javascript-technologies-are-indexable-with-evergreen-googlebot#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/which-javascript-technologies-are-indexable-with-evergreen-googlebot\"},\"author\":{\"name\":\"Ram\u00f3n Saquete\",\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en#\\\/schema\\\/person\\\/11ad888926867985985a0210476bae94\"},\"headline\":\"Which JavaScript technologies are indexable with the evergreen Googlebot?\",\"datePublished\":\"2020-02-11T08:23:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/which-javascript-technologies-are-indexable-with-evergreen-googlebot\"},\"wordCount\":1770,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/which-javascript-technologies-are-indexable-with-evergreen-googlebot#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.humanlevel.com\\\/wp-content\\\/uploads\\\/evergreen-googlebot.jpg\",\"keywords\":[\"Indexability\",\"Technical SEO\"],\"articleSection\":[\"SEO\\\/GEO\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/which-javascript-technologies-are-indexable-with-evergreen-googlebot#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/which-javascript-technologies-are-indexable-with-evergreen-googlebot\",\"url\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/which-javascript-technologies-are-indexable-with-evergreen-googlebot\",\"name\":\"Which JavaScript technologies are indexable with the evergreen Googlebot? | Human Level\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/which-javascript-technologies-are-indexable-with-evergreen-googlebot#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/which-javascript-technologies-are-indexable-with-evergreen-googlebot#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.humanlevel.com\\\/wp-content\\\/uploads\\\/evergreen-googlebot.jpg\",\"datePublished\":\"2020-02-11T08:23:03+00:00\",\"description\":\"Learn with this post which Javascript technologies cannot run Evergreen Googlebot and what consequences it has for indexing.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/which-javascript-technologies-are-indexable-with-evergreen-googlebot#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/which-javascript-technologies-are-indexable-with-evergreen-googlebot\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/which-javascript-technologies-are-indexable-with-evergreen-googlebot#primaryimage\",\"url\":\"https:\\\/\\\/www.humanlevel.com\\\/wp-content\\\/uploads\\\/evergreen-googlebot.jpg\",\"contentUrl\":\"https:\\\/\\\/www.humanlevel.com\\\/wp-content\\\/uploads\\\/evergreen-googlebot.jpg\",\"width\":400,\"height\":400},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/which-javascript-technologies-are-indexable-with-evergreen-googlebot#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Inicio\",\"item\":\"https:\\\/\\\/www.humanlevel.com\\\/en\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"SEO\\\/GEO\",\"item\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Which JavaScript technologies are indexable with the evergreen Googlebot?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en#website\",\"url\":\"https:\\\/\\\/www.humanlevel.com\\\/en\",\"name\":\"Human Level\",\"description\":\"Web positioning and online marketing consultant Human Level\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.humanlevel.com\\\/en?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en#organization\",\"name\":\"Human Level\",\"url\":\"https:\\\/\\\/www.humanlevel.com\\\/en\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.humanlevel.com\\\/wp-content\\\/uploads\\\/logohl25x3.png\",\"contentUrl\":\"https:\\\/\\\/www.humanlevel.com\\\/wp-content\\\/uploads\\\/logohl25x3.png\",\"width\":600,\"height\":93,\"caption\":\"Human Level\"},\"image\":{\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/human-level-communications\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/humanlevelcommunica\",\"https:\\\/\\\/bsky.app\\\/profile\\\/humanlevel.bsky.social\",\"https:\\\/\\\/instagram.com\\\/humanlevel\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en#\\\/schema\\\/person\\\/11ad888926867985985a0210476bae94\",\"name\":\"Ram\u00f3n Saquete\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/wp-content\\\/uploads\\\/1x1-ramon-saquete-26-96x96.jpg\",\"url\":\"https:\\\/\\\/www.humanlevel.com\\\/wp-content\\\/uploads\\\/1x1-ramon-saquete-26-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/www.humanlevel.com\\\/wp-content\\\/uploads\\\/1x1-ramon-saquete-26-96x96.jpg\",\"caption\":\"Ram\u00f3n Saquete\"},\"description\":\"Web Developer and Technical SEO Consultant at Human Level. He holds degrees in Computer Engineering and Technical Engineering in Computer Systems. He also earned a Higher Vocational Degree in Computer Applications Development and later obtained the Certificate of Pedagogical Aptitude (CAP). He is an expert in WPO and indexability.\",\"sameAs\":[\"https:\\\/\\\/es.linkedin.com\\\/in\\\/ramonsaquete\",\"https:\\\/\\\/x.com\\\/daiatron\"],\"url\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/author\\\/ramon\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Which JavaScript technologies are indexable with the evergreen Googlebot? | Human Level","description":"Learn with this post which Javascript technologies cannot run Evergreen Googlebot and what consequences it has for indexing.","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:\/\/www.humanlevel.com\/en\/blog\/seo\/which-javascript-technologies-are-indexable-with-evergreen-googlebot","og_locale":"en_US","og_type":"article","og_title":"Which JavaScript technologies are indexable with the evergreen Googlebot? | Human Level","og_description":"Learn with this post which Javascript technologies cannot run Evergreen Googlebot and what consequences it has for indexing.","og_url":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/which-javascript-technologies-are-indexable-with-evergreen-googlebot","og_site_name":"Human Level","article_published_time":"2020-02-11T08:23:03+00:00","og_image":[{"width":400,"height":400,"url":"https:\/\/www.humanlevel.com\/wp-content\/uploads\/evergreen-googlebot.jpg","type":"image\/jpeg"}],"author":"Ram\u00f3n Saquete","twitter_card":"summary_large_image","twitter_creator":"@daiatron","twitter_misc":{"Written by":"Ram\u00f3n Saquete","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/which-javascript-technologies-are-indexable-with-evergreen-googlebot#article","isPartOf":{"@id":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/which-javascript-technologies-are-indexable-with-evergreen-googlebot"},"author":{"name":"Ram\u00f3n Saquete","@id":"https:\/\/www.humanlevel.com\/en#\/schema\/person\/11ad888926867985985a0210476bae94"},"headline":"Which JavaScript technologies are indexable with the evergreen Googlebot?","datePublished":"2020-02-11T08:23:03+00:00","mainEntityOfPage":{"@id":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/which-javascript-technologies-are-indexable-with-evergreen-googlebot"},"wordCount":1770,"commentCount":0,"publisher":{"@id":"https:\/\/www.humanlevel.com\/en#organization"},"image":{"@id":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/which-javascript-technologies-are-indexable-with-evergreen-googlebot#primaryimage"},"thumbnailUrl":"https:\/\/www.humanlevel.com\/wp-content\/uploads\/evergreen-googlebot.jpg","keywords":["Indexability","Technical SEO"],"articleSection":["SEO\/GEO"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.humanlevel.com\/en\/blog\/seo\/which-javascript-technologies-are-indexable-with-evergreen-googlebot#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/which-javascript-technologies-are-indexable-with-evergreen-googlebot","url":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/which-javascript-technologies-are-indexable-with-evergreen-googlebot","name":"Which JavaScript technologies are indexable with the evergreen Googlebot? | Human Level","isPartOf":{"@id":"https:\/\/www.humanlevel.com\/en#website"},"primaryImageOfPage":{"@id":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/which-javascript-technologies-are-indexable-with-evergreen-googlebot#primaryimage"},"image":{"@id":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/which-javascript-technologies-are-indexable-with-evergreen-googlebot#primaryimage"},"thumbnailUrl":"https:\/\/www.humanlevel.com\/wp-content\/uploads\/evergreen-googlebot.jpg","datePublished":"2020-02-11T08:23:03+00:00","description":"Learn with this post which Javascript technologies cannot run Evergreen Googlebot and what consequences it has for indexing.","breadcrumb":{"@id":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/which-javascript-technologies-are-indexable-with-evergreen-googlebot#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.humanlevel.com\/en\/blog\/seo\/which-javascript-technologies-are-indexable-with-evergreen-googlebot"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/which-javascript-technologies-are-indexable-with-evergreen-googlebot#primaryimage","url":"https:\/\/www.humanlevel.com\/wp-content\/uploads\/evergreen-googlebot.jpg","contentUrl":"https:\/\/www.humanlevel.com\/wp-content\/uploads\/evergreen-googlebot.jpg","width":400,"height":400},{"@type":"BreadcrumbList","@id":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/which-javascript-technologies-are-indexable-with-evergreen-googlebot#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Inicio","item":"https:\/\/www.humanlevel.com\/en"},{"@type":"ListItem","position":2,"name":"Blog","item":"https:\/\/www.humanlevel.com\/en\/blog"},{"@type":"ListItem","position":3,"name":"SEO\/GEO","item":"https:\/\/www.humanlevel.com\/en\/blog\/seo"},{"@type":"ListItem","position":4,"name":"Which JavaScript technologies are indexable with the evergreen Googlebot?"}]},{"@type":"WebSite","@id":"https:\/\/www.humanlevel.com\/en#website","url":"https:\/\/www.humanlevel.com\/en","name":"Human Level","description":"Web positioning and online marketing consultant Human Level","publisher":{"@id":"https:\/\/www.humanlevel.com\/en#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.humanlevel.com\/en?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.humanlevel.com\/en#organization","name":"Human Level","url":"https:\/\/www.humanlevel.com\/en","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.humanlevel.com\/en#\/schema\/logo\/image\/","url":"https:\/\/www.humanlevel.com\/wp-content\/uploads\/logohl25x3.png","contentUrl":"https:\/\/www.humanlevel.com\/wp-content\/uploads\/logohl25x3.png","width":600,"height":93,"caption":"Human Level"},"image":{"@id":"https:\/\/www.humanlevel.com\/en#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/human-level-communications","https:\/\/www.youtube.com\/user\/humanlevelcommunica","https:\/\/bsky.app\/profile\/humanlevel.bsky.social","https:\/\/instagram.com\/humanlevel"]},{"@type":"Person","@id":"https:\/\/www.humanlevel.com\/en#\/schema\/person\/11ad888926867985985a0210476bae94","name":"Ram\u00f3n Saquete","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.humanlevel.com\/wp-content\/uploads\/1x1-ramon-saquete-26-96x96.jpg","url":"https:\/\/www.humanlevel.com\/wp-content\/uploads\/1x1-ramon-saquete-26-96x96.jpg","contentUrl":"https:\/\/www.humanlevel.com\/wp-content\/uploads\/1x1-ramon-saquete-26-96x96.jpg","caption":"Ram\u00f3n Saquete"},"description":"Web Developer and Technical SEO Consultant at Human Level. He holds degrees in Computer Engineering and Technical Engineering in Computer Systems. He also earned a Higher Vocational Degree in Computer Applications Development and later obtained the Certificate of Pedagogical Aptitude (CAP). He is an expert in WPO and indexability.","sameAs":["https:\/\/es.linkedin.com\/in\/ramonsaquete","https:\/\/x.com\/daiatron"],"url":"https:\/\/www.humanlevel.com\/en\/author\/ramon"}]}},"_links":{"self":[{"href":"https:\/\/www.humanlevel.com\/en\/wp-json\/wp\/v2\/posts\/51992","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.humanlevel.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.humanlevel.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.humanlevel.com\/en\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.humanlevel.com\/en\/wp-json\/wp\/v2\/comments?post=51992"}],"version-history":[{"count":8,"href":"https:\/\/www.humanlevel.com\/en\/wp-json\/wp\/v2\/posts\/51992\/revisions"}],"predecessor-version":[{"id":56573,"href":"https:\/\/www.humanlevel.com\/en\/wp-json\/wp\/v2\/posts\/51992\/revisions\/56573"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.humanlevel.com\/en\/wp-json\/wp\/v2\/media\/48266"}],"wp:attachment":[{"href":"https:\/\/www.humanlevel.com\/en\/wp-json\/wp\/v2\/media?parent=51992"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.humanlevel.com\/en\/wp-json\/wp\/v2\/categories?post=51992"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.humanlevel.com\/en\/wp-json\/wp\/v2\/tags?post=51992"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}