{"id":2394,"date":"2018-06-05T10:34:26","date_gmt":"2018-06-05T10:34:26","guid":{"rendered":"https:\/\/www.searchviu.com\/?p=2394"},"modified":"2025-11-26T09:25:32","modified_gmt":"2025-11-26T09:25:32","slug":"javascript-canonical-tags","status":"publish","type":"post","link":"https:\/\/www.searchviu.com\/de\/javascript-kanonische-tags\/","title":{"rendered":"JavaScript SEO \u00dcberraschung! Google verwendet JS-injected canonical tags."},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"2394\" class=\"elementor elementor-2394\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2df99e7e e-flex e-con-boxed e-con e-parent\" data-id=\"2df99e7e\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6592ca93 elementor-widget elementor-widget-text-editor\" data-id=\"6592ca93\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<strong>At I\/O 2018, John Mueller and Tom Greenaway of Google gave an excellent presentation about SEO for JavaScript websites. During the talk, Tom Greenaway mentioned that Google does not look for canonical tags in the rendered HTML of a page. John Mueller later confirmed this statement several times on Twitter. The announcement sparked our curiosity, as we had previously conducted tests that had made us believe that canonical tags injected with JavaScript via Google Tag Manager DID work. We decided to set up a new test after the I\/O announcement. Here are the results.<\/strong>\n\n<em>Please note that this experiment is not about whether or not you should use GTM or JavaScript to inject critical elements into a page. The problem this test addresses is how Google deals with websites that depend on client-side JavaScript, a question that is extremely important in the day and age of popular JavaScript frameworks.<\/em>\n\n<strong>In a rush? Jump straight to the\u00a0<a href=\"https:\/\/wp.staging.searchviu.com\/en\/javascript-canonical-tags\/#tldr\">TL;DR section<\/a>!<\/strong>\n<h2>Reviewing our \u201cCanonical tags via GTM\u201d test from last year<\/h2>\nGoogle\u2019s announcement surprised us, as\u00a0<a href=\"https:\/\/www.searchviu.com\/en\/javascript-seo-experiments-google-tag-manager\/\">our previous tests<\/a>\u00a0had suggested that canonical tags and other SEO-relevant elements were always pulled from the rendered HTML as soon as it was available, and no longer from the HTML source document. Had Google changed the way they dealt with JS-injected canonical tags? Or had our interpretation of the previous test results been wrong?\n\nOur\u00a0<a href=\"https:\/\/www.searchviu.com\/en\/javascript-seo-experiments-google-tag-manager\/#canonical\">canonical tag test result from last year<\/a>\u00a0was based on just one URL, so we had pretty weak evidence to support the claim that Google uses canonical tags that are injected with JS. The outcome of our test could have just been a big coincidence: Google might have decided to canonicalise our test URL to the target of our JS-injected canonical tag for other reasons.\n\nThis is a general problem when testing whether canonical tags work or not: You can only really use canonical tags between very similar pages that are likely to be canonicalised anyway. Otherwise, you risk your canonical tags being ignored altogether. On the other hand, when your pages with canonical tags are canonicalised, you can\u2019t be 100% sure that it\u2019s really due to the canonical tags.\n\n<em>Note: If you\u2019re thinking \u201cWhy don\u2019t they just check the new GSC index coverage reports?\u201d, please be patient and read on. We\u2019ll get there.<\/em>\n\nIn last year\u2019s test, we injected a canonical tag into my author page on the English version of this blog, pointing to the main blog page. The author page has been canonicalised to the main blog page ever since, which can be verified by using an\u00a0<em>info:<\/em>\u00a0search operator for the URL in Google (screenshot from the 11th of May 2018):\n\n<a href=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/7cabf303-en-eoghan-1105.jpeg\" rel=\"prettyPhoto[gallery-a2mH]\"><img decoding=\"async\" class=\"alignnone size-full wp-image-2396\" src=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/7cabf303-en-eoghan-1105.jpeg\" sizes=\"(max-width: 848px) 100vw, 848px\" srcset=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/7cabf303-en-eoghan-1105.jpeg 848w, https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/7cabf303-en-eoghan-1105-500x161.jpeg 500w\" alt=\"\" width=\"100%\" data-cmp-info=\"9\" \/><\/a>\n\nThe canonicalisation happened after we had injected a canonical tag with JS using Google Tag Manager and no other author or category pages on our website had ever been canonicalised in a similar fashion (with or without JS-injected canonical tags). Was this really just a coincidence?\n<h2>Setting up our new test after I\/O<\/h2>\nAfter Google\u2019s announcement at I\/O, we wanted to replicate this exact result for more URLs, so we used JS and GTM to inject canonical tags pointing to the main blog page into four more category and author pages on our blog. We also made sure to leave two similar pages (my German author page and Michael\u2019s English author page) untouched, in order to have a control group of URLs that do not receive any canonical tags pointing to other pages and that thus should not be canonicalised by Google. If one of our control URLs was canonicalised to the main blog page without us injecting a canonical tag, this could mean that the test URLs were canonicalised for reasons other than the JS-injected canonical tags.\n\nHere are the four new test URLs for which we set up JS-injected canonical tags on the 11th of May, one day after Google\u2019s I\/O announcement\u00a0<strong>(all screenshots taken on the 11th of May)<\/strong>.\n\nEnglish \u201cSEO experiments\u201d category page:\n\n<a href=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/ffeb562a-en-experiments-1105.jpeg\" rel=\"prettyPhoto[gallery-a2mH]\"><img decoding=\"async\" class=\"alignnone size-full wp-image-2409\" src=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/ffeb562a-en-experiments-1105.jpeg\" sizes=\"(max-width: 835px) 100vw, 835px\" srcset=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/ffeb562a-en-experiments-1105.jpeg 835w, https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/ffeb562a-en-experiments-1105-500x156.jpeg 500w\" alt=\"\" width=\"100%\" data-cmp-info=\"9\" \/><\/a>\n\nEnglish \u201cSEO for website relaunches\u201d category page:\n\n<a href=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/cedff080-en-relaunches-1105.jpeg\" rel=\"prettyPhoto[gallery-a2mH]\"><img decoding=\"async\" class=\"alignnone size-full wp-image-2410\" src=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/cedff080-en-relaunches-1105.jpeg\" sizes=\"(max-width: 835px) 100vw, 835px\" srcset=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/cedff080-en-relaunches-1105.jpeg 835w, https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/cedff080-en-relaunches-1105-500x160.jpeg 500w\" alt=\"\" width=\"100%\" data-cmp-info=\"9\" \/><\/a>\n\nGerman \u201cSEO f\u00fcr Website-Relaunches\u201d category page:\n\n<a href=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/977f96af-de-relaunches-1105.jpeg\" rel=\"prettyPhoto[gallery-a2mH]\"><img decoding=\"async\" class=\"alignnone size-full wp-image-2411\" src=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/977f96af-de-relaunches-1105.jpeg\" sizes=\"(max-width: 805px) 100vw, 805px\" srcset=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/977f96af-de-relaunches-1105.jpeg 805w, https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/977f96af-de-relaunches-1105-500x163.jpeg 500w\" alt=\"\" width=\"100%\" data-cmp-info=\"9\" \/><\/a>\n\nMichael\u2019s German author page:\n\n<a href=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/b4a08ca2-de-michael-1105.jpeg\" rel=\"prettyPhoto[gallery-a2mH]\"><img decoding=\"async\" class=\"alignnone size-full wp-image-2412\" src=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/b4a08ca2-de-michael-1105.jpeg\" sizes=\"(max-width: 870px) 100vw, 870px\" srcset=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/b4a08ca2-de-michael-1105.jpeg 870w, https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/b4a08ca2-de-michael-1105-500x154.jpeg 500w\" alt=\"\" width=\"100%\" data-cmp-info=\"9\" \/><\/a>\n\nNote that the last test URL above, Michael\u2019s German author page, was canonicalised to his English author page at the time we set up the canonical tag, an issue we often see with different language versions of pages that don\u2019t have correct hreflang annotations. At the time of the screenshot, the hreflang annotations that can now be found on the page were missing. None of the other three pages were canonicalised at the time of the screenshots and, to our knowledge, they had never been canonicalised at any time in the past.\n<h2>Waiting for the results<\/h2>\nAfter injecting the canonical tags, we waited\u00a0<del>im<\/del>patiently. From our experience with previous tests, we knew that this needed time, as changes like these can take several months until they take effect. This is due to the fact that Google doesn\u2019t render pages as often as it re-crawls them without rendering, and the less important a page is, the less frequently it is re-crawled, and even less frequently rendered. If you inject an SEO-relevant element like a canonical tag, hreflang annotation, or a \u201cnoindex\u201d into the rendered HTML, but don\u2019t include it in the HTML source document, you have to be prepared to wait for a long time before you see results.\n<h2>Google starts canonicalising our test URLs<\/h2>\nThe first of our test pages to be canonicalised to the target of our JS-injected canonical tag was our English \u201cSEO for website relaunches\u201d category page. We noticed the change on the 21st of May, 10 days after injecting the canonical tag. Here is a recent screenshot of the corresponding\u00a0<em>info:<\/em>\u00a0search operator result:\n\n<a href=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/b06caf04-en-relaunches-0406.jpeg\" rel=\"prettyPhoto[gallery-a2mH]\"><img decoding=\"async\" class=\"alignnone size-full wp-image-2413\" src=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/b06caf04-en-relaunches-0406.jpeg\" sizes=\"(max-width: 797px) 100vw, 797px\" srcset=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/b06caf04-en-relaunches-0406.jpeg 797w, https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/b06caf04-en-relaunches-0406-500x164.jpeg 500w\" alt=\"\" width=\"100%\" data-cmp-info=\"9\" \/><\/a>\n\nNext, the English \u201cSEO experiments\u201d category page was canonicalised. This took significantly longer and we noticed the change on the 3rd of June, 23 days after injecting the canonical tag:\n\n<a href=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/562327e8-en-experiments-0406.jpeg\" rel=\"prettyPhoto[gallery-a2mH]\"><img decoding=\"async\" class=\"alignnone size-full wp-image-2414\" src=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/562327e8-en-experiments-0406.jpeg\" sizes=\"(max-width: 802px) 100vw, 802px\" srcset=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/562327e8-en-experiments-0406.jpeg 802w, https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/562327e8-en-experiments-0406-500x166.jpeg 500w\" alt=\"\" width=\"100%\" data-cmp-info=\"9\" \/><\/a>\n\nOn the 4th of June, 24 days after injecting the canonical tag with JavaScript, the German \u201cSEO f\u00fcr Website-Relaunches\u201d category page was canonicalised to the main blog page of our German website version:\n\n<a href=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/303c3e8c-de-relaunches-0506.jpeg\" rel=\"prettyPhoto[gallery-a2mH]\"><img decoding=\"async\" class=\"alignnone size-full wp-image-2434\" src=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/303c3e8c-de-relaunches-0506.jpeg\" sizes=\"(max-width: 807px) 100vw, 807px\" srcset=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/303c3e8c-de-relaunches-0506.jpeg 807w, https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/303c3e8c-de-relaunches-0506-500x164.jpeg 500w\" alt=\"\" width=\"100%\" data-cmp-info=\"9\" \/><\/a>\n\nOur fourth test URL, Michael\u2019s German author page, hasn\u2019t yet been canonicalised at the moment of writing this (25 days after injecting the canonical tag), but we are very confident that this page will also be canonicalised to the target of the JS-injected canonical tag within the next month or so:\n\n<a href=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/214b2751-de-michael-0506.jpeg\" rel=\"prettyPhoto[gallery-a2mH]\"><img decoding=\"async\" class=\"alignnone size-full wp-image-2435\" src=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/214b2751-de-michael-0506.jpeg\" sizes=\"(max-width: 799px) 100vw, 799px\" srcset=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/214b2751-de-michael-0506.jpeg 799w, https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/214b2751-de-michael-0506-500x159.jpeg 500w\" alt=\"\" width=\"100%\" data-cmp-info=\"9\" \/><\/a>\n\n<em><strong>Update (13th of June 2018):<\/strong>\u00a0This URL has now been canonicalised, 34 days after injecting the canonical tag.<\/em>\n\nLooking at this data, what do you think? Is it a coincidence that three of our four test URLs have been canonicalised to the targets of the canonical tags we injected with JavaScript? Or is Google still using JS-injected canonical tags, although they officially stated that this isn\u2019t the case? And if they do, why did they say they don\u2019t?\n\nBefore jumping to conclusions, let\u2019s talk about some other things that you should know about this test.\n<h2>\u201cFetch and render &gt; Request indexing\u201d in GSC doesn\u2019t seem to speed things up<\/h2>\nAfter injecting the canonical tags on the 11th of May, we performed a \u201cFetch and render &gt; Request indexing\u201d for all of our test URLs:\n\n<a href=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/96218a48-indexing-requested-1105.jpeg\" rel=\"prettyPhoto[gallery-a2mH]\"><img decoding=\"async\" class=\"alignnone size-full wp-image-2437\" src=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/96218a48-indexing-requested-1105.jpeg\" sizes=\"(max-width: 791px) 100vw, 791px\" srcset=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/96218a48-indexing-requested-1105.jpeg 791w, https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/96218a48-indexing-requested-1105-500x193.jpeg 500w\" alt=\"\" width=\"100%\" data-cmp-info=\"9\" \/><\/a>\n\nOn the 22nd of May, we requested crawling and indexing for our main blog pages and all linked pages, as all of our test URLs are directly linked from the main blog pages. On the 1st of June, we performed another \u201cFetch and render &gt; Request indexing\u201d for the three remaining test URLs that hadn\u2019t been canonicalised at that stage.\n\nWe know that \u201cFetch and render &gt; Request indexing\u201d normally has an almost immediate effect when you use it to submit a new URL. It doesn\u2019t seem to influence the rendering of a page though, or at least not always. Our request on the 1st of June might have triggered the canonicalisation of two of our test URLs on the 3rd and 4th of June, but the one on the 11th of May certainly didn\u2019t have an immediate effect. Another factor might be that Google has to render a page more than once before it decides to pick up an injected canonical tag.\n<h2>The new Search Console index coverage report does not tell the whole truth<\/h2>\nAt the time of writing this, our test URL from last year and our new test URL that was canonicalised on the 21st of May show up as \u201cSubmitted URL not selected as canonical\u201d in the new Google Search Console index coverage report:\n\n<a href=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/551b7c61-index-coverage-report-0506.jpeg\" rel=\"prettyPhoto[gallery-a2mH]\"><img decoding=\"async\" class=\"alignnone size-full wp-image-2438\" src=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/551b7c61-index-coverage-report-0506.jpeg\" sizes=\"(max-width: 926px) 100vw, 926px\" srcset=\"https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/551b7c61-index-coverage-report-0506.jpeg 926w, https:\/\/storage.googleapis.com\/seoviu_wordpress\/blog\/2018\/06\/551b7c61-index-coverage-report-0506-500x465.jpeg 500w\" alt=\"\" width=\"100%\" data-cmp-info=\"9\" \/><\/a>\n\nThe two test URLs that were canonicalised on the 3rd and 4th of June still show up as \u201cSubmitted and indexed\u201d, because the data GSC shows is not up-to-date, but I expect them to show up as \u201cSubmitted URL not selected as canonical\u201d within the next few days.\n\nWhen Google finds a canonical tag on a page and respects it, we would expect the status of the URL in the new index report to be \u201cAlternate page with proper canonical tag\u201d. What is happening here?\n\nI have a simple theory to explain this: Google Search Console\u2019s index coverage report behaves in the exact way that Tom Greenaway and John Mueller announced at and after I\/O \u2013 It ignores canonical tags that are not in the HTML source document. So it reflects the behaviour that Google officially communicates, instead of the one that the results of this test reveal.\n\nSo Google Search Console has information about which URLs are indexed and it has a set of rules that it\u00a0<em>assumes<\/em>\u00a0Google uses for indexing. Then it uses this set of rules to generate reports. When the set of rules GSC uses for generating its reports is different from the rules Google actually uses for indexing, the reports show false information.\n\nThis seems to be the case with JS-injected canonical tags: Google does use them to canonicalise pages, but GSC believes it doesn\u2019t. That\u2019s why these URLs end up being marked as \u201cSubmitted URL not selected as canonical\u201d instead of \u201cAlternate page with proper canonical tag\u201d. And this might also explain why John Mueller is 100% convinced that Google does not use JS-injected canonical tags:\n<div class=\"twitter-tweet twitter-tweet-rendered\"><iframe id=\"twitter-widget-0\" class=\"\" title=\"Twitter Tweet\" src=\"https:\/\/platform.twitter.com\/embed\/Tweet.html?creatorScreenName=rebelytics&amp;dnt=false&amp;embedId=twitter-widget-0&amp;features=eyJ0ZndfdGltZWxpbmVfbGlzdCI6eyJidWNrZXQiOltdLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X2ZvbGxvd2VyX2NvdW50X3N1bnNldCI6eyJidWNrZXQiOnRydWUsInZlcnNpb24iOm51bGx9LCJ0ZndfdHdlZXRfZWRpdF9iYWNrZW5kIjp7ImJ1Y2tldCI6Im9uIiwidmVyc2lvbiI6bnVsbH0sInRmd19yZWZzcmNfc2Vzc2lvbiI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9LCJ0Zndfc2hvd19idXNpbmVzc192ZXJpZmllZF9iYWRnZSI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9LCJ0ZndfbWl4ZWRfbWVkaWFfMTU4OTciOnsiYnVja2V0IjoidHJlYXRtZW50IiwidmVyc2lvbiI6bnVsbH0sInRmd19leHBlcmltZW50c19jb29raWVfZXhwaXJhdGlvbiI6eyJidWNrZXQiOjEyMDk2MDAsInZlcnNpb24iOm51bGx9LCJ0ZndfZHVwbGljYXRlX3NjcmliZXNfdG9fc2V0dGluZ3MiOnsiYnVja2V0Ijoib24iLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X3ZpZGVvX2hsc19keW5hbWljX21hbmlmZXN0c18xNTA4MiI6eyJidWNrZXQiOiJ0cnVlX2JpdHJhdGUiLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X3Nob3dfYmx1ZV92ZXJpZmllZF9iYWRnZSI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9LCJ0ZndfbGVnYWN5X3RpbWVsaW5lX3N1bnNldCI6eyJidWNrZXQiOnRydWUsInZlcnNpb24iOm51bGx9LCJ0Zndfc2hvd19nb3ZfdmVyaWZpZWRfYmFkZ2UiOnsiYnVja2V0Ijoib24iLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X3Nob3dfYnVzaW5lc3NfYWZmaWxpYXRlX2JhZGdlIjp7ImJ1Y2tldCI6Im9uIiwidmVyc2lvbiI6bnVsbH0sInRmd190d2VldF9lZGl0X2Zyb250ZW5kIjp7ImJ1Y2tldCI6Im9uIiwidmVyc2lvbiI6bnVsbH19&amp;frame=false&amp;hideCard=false&amp;hideThread=false&amp;id=994799404417724416&amp;lang=en&amp;origin=https%3A%2F%2Fwp.staging.searchviu.com%2Fen%2Fjavascript-canonical-tags%2F&amp;sessionId=aba01fbe8899117836b342393133ff68ca27c723&amp;theme=light&amp;widgetsVersion=aaf4084522e3a%3A1674595607486&amp;width=550px\" frameborder=\"0\" scrolling=\"no\" allowfullscreen=\"allowfullscreen\" data-cmp-info=\"8\" data-tweet-id=\"994799404417724416\" data-mce-fragment=\"1\"><\/iframe><\/div>\nI\u2019m sure John Mueller knows exactly how GSC works and I\u2019m also sure that the GSC team wants to provide accurate information. But if there\u2019s a misunderstanding within Google, or simply a bug (JS-injected canonical tags aren\u2019t supposed to be used, but they are), then even official statements and reports from Google can be wrong.\n<h2 id=\"tldr\">TL;DR<\/h2>\n<ul>\n \t<li>Google has recently announced that canonical tags are not processed if they\u2019re only found in the rendered HTML and not in the HTML source document.<\/li>\n \t<li>We tested this by injecting canonical tags into four URLs using GTM and our test results suggest that Google\u00a0<em>does<\/em>\u00a0use these canonical tags.<\/li>\n \t<li>It took more than three weeks for some of the tested URLs to be canonicalised to the targets of the JS-injected canonical tags.<\/li>\n \t<li>The \u201cFetch and render &gt; Request indexing\u201d feature in Google Search Console doesn\u2019t seem to help speed up the rendering of pages.<\/li>\n \t<li>The new index coverage report in Google Search Console ignores JS-injected canonical tags in its reports and is thus in line with Google\u2019s official statements.<\/li>\n \t<li>The reason why Google made an announcement that seems to be wrong might be due to an internal misunderstanding or a bug.<\/li>\n<\/ul>\n<h2>Discussion<\/h2>\nI\u2019d be happy to hear your opinion on all of this! What did I miss? Where am I mistaken? Unfortunately, our blog comments are currently disabled until we manage to implement a GDPR-compliant solution (sorry about that!). Let\u2019s talk on\u00a0<a href=\"https:\/\/twitter.com\/rebelytics\" target=\"_blank\" rel=\"noopener noreferrer\">Twitter<\/a>\u00a0or wherever you prefer!\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Auf der I\/O 2018 gab Google bekannt, dass sie keine kanonischen Tags verwenden, die nur im gerenderten HTML und nicht im HTML-Quelldokument zu finden sind. Unsere Testergebnisse zeigen, dass diese Aussage nicht stimmt.<\/p>","protected":false},"author":3,"featured_media":8516,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[1],"tags":[29],"class_list":["post-2394","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-seo-experiments","tag-engllish"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>JavaScript SEO: Does Google process canonical tags added with JS?<\/title>\n<meta name=\"description\" content=\"At I\/O 2018, Google announced that they didn&#039;t use canonical tags that can only be found in the rendered HTML and not in the HTML source document. Our test results suggest that this statement was not true.\" \/>\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.searchviu.com\/de\/javascript-kanonische-tags\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JavaScript SEO: Does Google process canonical tags added with JS?\" \/>\n<meta property=\"og:description\" content=\"At I\/O 2018, Google announced that they didn&#039;t use canonical tags that can only be found in the rendered HTML and not in the HTML source document. Our test results suggest that this statement was not true.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.searchviu.com\/de\/javascript-kanonische-tags\/\" \/>\n<meta property=\"og:site_name\" content=\"SEO Data Warehouse And Monitoring\" \/>\n<meta property=\"article:published_time\" content=\"2018-06-05T10:34:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-26T09:25:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.searchviu.com\/wp-content\/uploads\/2018\/06\/searchVIU_blog-3.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Eoghan Henn\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@searchviu\" \/>\n<meta name=\"twitter:site\" content=\"@searchviu\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Eoghan Henn\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"11\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/en\\\/javascript-canonical-tags\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/en\\\/javascript-canonical-tags\\\/\"},\"author\":{\"name\":\"Eoghan Henn\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#\\\/schema\\\/person\\\/7a031e5565b9ece3fd77be3c7f19381c\"},\"headline\":\"JavaScript SEO surprise! Google DOES use JS-injected canonical tags.\",\"datePublished\":\"2018-06-05T10:34:26+00:00\",\"dateModified\":\"2025-11-26T09:25:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/en\\\/javascript-canonical-tags\\\/\"},\"wordCount\":1973,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/en\\\/javascript-canonical-tags\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.searchviu.com\\\/wp-content\\\/uploads\\\/2018\\\/06\\\/searchVIU_blog-3.png\",\"keywords\":[\"Engllish\"],\"articleSection\":[\"SEO experiments\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.searchviu.com\\\/en\\\/javascript-canonical-tags\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/en\\\/javascript-canonical-tags\\\/\",\"url\":\"https:\\\/\\\/www.searchviu.com\\\/en\\\/javascript-canonical-tags\\\/\",\"name\":\"JavaScript SEO: Does Google process canonical tags added with JS?\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/en\\\/javascript-canonical-tags\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/en\\\/javascript-canonical-tags\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.searchviu.com\\\/wp-content\\\/uploads\\\/2018\\\/06\\\/searchVIU_blog-3.png\",\"datePublished\":\"2018-06-05T10:34:26+00:00\",\"dateModified\":\"2025-11-26T09:25:32+00:00\",\"description\":\"At I\\\/O 2018, Google announced that they didn't use canonical tags that can only be found in the rendered HTML and not in the HTML source document. Our test results suggest that this statement was not true.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/en\\\/javascript-canonical-tags\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.searchviu.com\\\/en\\\/javascript-canonical-tags\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/en\\\/javascript-canonical-tags\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.searchviu.com\\\/wp-content\\\/uploads\\\/2018\\\/06\\\/searchVIU_blog-3.png\",\"contentUrl\":\"https:\\\/\\\/www.searchviu.com\\\/wp-content\\\/uploads\\\/2018\\\/06\\\/searchVIU_blog-3.png\",\"width\":1200,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/en\\\/javascript-canonical-tags\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.searchviu.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JavaScript SEO surprise! Google DOES use JS-injected canonical tags.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#website\",\"url\":\"https:\\\/\\\/www.searchviu.com\\\/\",\"name\":\"SEO Data Warehouse And Monitoring\",\"description\":\"SEO Solutions For Teams And Agencies\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.searchviu.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#organization\",\"name\":\"searchVIU\",\"url\":\"https:\\\/\\\/www.searchviu.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.searchviu.com\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/d3babe41-searchviu-logo2x.png\",\"contentUrl\":\"https:\\\/\\\/www.searchviu.com\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/d3babe41-searchviu-logo2x.png\",\"width\":340,\"height\":340,\"caption\":\"searchVIU\"},\"image\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/searchviu\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/searchviu\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#\\\/schema\\\/person\\\/7a031e5565b9ece3fd77be3c7f19381c\",\"name\":\"Eoghan Henn\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/88ecd619af8b41640851bdb169ff87f2ddec10119431686bd36effdde5ff2eb8?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/88ecd619af8b41640851bdb169ff87f2ddec10119431686bd36effdde5ff2eb8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/88ecd619af8b41640851bdb169ff87f2ddec10119431686bd36effdde5ff2eb8?s=96&d=mm&r=g\",\"caption\":\"Eoghan Henn\"},\"url\":\"https:\\\/\\\/www.searchviu.com\\\/de\\\/author\\\/eoghan\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"JavaScript SEO: Verarbeitet Google kanonische Tags, die mit JS hinzugef\u00fcgt wurden?","description":"Auf der I\/O 2018 gab Google bekannt, dass sie keine kanonischen Tags verwenden, die nur im gerenderten HTML und nicht im HTML-Quelldokument zu finden sind. Unsere Testergebnisse zeigen, dass diese Aussage nicht stimmt.","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.searchviu.com\/de\/javascript-kanonische-tags\/","og_locale":"de_DE","og_type":"article","og_title":"JavaScript SEO: Does Google process canonical tags added with JS?","og_description":"At I\/O 2018, Google announced that they didn't use canonical tags that can only be found in the rendered HTML and not in the HTML source document. Our test results suggest that this statement was not true.","og_url":"https:\/\/www.searchviu.com\/de\/javascript-kanonische-tags\/","og_site_name":"SEO Data Warehouse And Monitoring","article_published_time":"2018-06-05T10:34:26+00:00","article_modified_time":"2025-11-26T09:25:32+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.searchviu.com\/wp-content\/uploads\/2018\/06\/searchVIU_blog-3.png","type":"image\/png"}],"author":"Eoghan Henn","twitter_card":"summary_large_image","twitter_creator":"@searchviu","twitter_site":"@searchviu","twitter_misc":{"Verfasst von":"Eoghan Henn","Gesch\u00e4tzte Lesezeit":"11\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.searchviu.com\/en\/javascript-canonical-tags\/#article","isPartOf":{"@id":"https:\/\/www.searchviu.com\/en\/javascript-canonical-tags\/"},"author":{"name":"Eoghan Henn","@id":"https:\/\/www.searchviu.com\/#\/schema\/person\/7a031e5565b9ece3fd77be3c7f19381c"},"headline":"JavaScript SEO surprise! Google DOES use JS-injected canonical tags.","datePublished":"2018-06-05T10:34:26+00:00","dateModified":"2025-11-26T09:25:32+00:00","mainEntityOfPage":{"@id":"https:\/\/www.searchviu.com\/en\/javascript-canonical-tags\/"},"wordCount":1973,"commentCount":1,"publisher":{"@id":"https:\/\/www.searchviu.com\/#organization"},"image":{"@id":"https:\/\/www.searchviu.com\/en\/javascript-canonical-tags\/#primaryimage"},"thumbnailUrl":"https:\/\/www.searchviu.com\/wp-content\/uploads\/2018\/06\/searchVIU_blog-3.png","keywords":["Engllish"],"articleSection":["SEO experiments"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.searchviu.com\/en\/javascript-canonical-tags\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.searchviu.com\/en\/javascript-canonical-tags\/","url":"https:\/\/www.searchviu.com\/en\/javascript-canonical-tags\/","name":"JavaScript SEO: Verarbeitet Google kanonische Tags, die mit JS hinzugef\u00fcgt wurden?","isPartOf":{"@id":"https:\/\/www.searchviu.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.searchviu.com\/en\/javascript-canonical-tags\/#primaryimage"},"image":{"@id":"https:\/\/www.searchviu.com\/en\/javascript-canonical-tags\/#primaryimage"},"thumbnailUrl":"https:\/\/www.searchviu.com\/wp-content\/uploads\/2018\/06\/searchVIU_blog-3.png","datePublished":"2018-06-05T10:34:26+00:00","dateModified":"2025-11-26T09:25:32+00:00","description":"Auf der I\/O 2018 gab Google bekannt, dass sie keine kanonischen Tags verwenden, die nur im gerenderten HTML und nicht im HTML-Quelldokument zu finden sind. Unsere Testergebnisse zeigen, dass diese Aussage nicht stimmt.","breadcrumb":{"@id":"https:\/\/www.searchviu.com\/en\/javascript-canonical-tags\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.searchviu.com\/en\/javascript-canonical-tags\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.searchviu.com\/en\/javascript-canonical-tags\/#primaryimage","url":"https:\/\/www.searchviu.com\/wp-content\/uploads\/2018\/06\/searchVIU_blog-3.png","contentUrl":"https:\/\/www.searchviu.com\/wp-content\/uploads\/2018\/06\/searchVIU_blog-3.png","width":1200,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.searchviu.com\/en\/javascript-canonical-tags\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.searchviu.com\/en\/"},{"@type":"ListItem","position":2,"name":"JavaScript SEO surprise! Google DOES use JS-injected canonical tags."}]},{"@type":"WebSite","@id":"https:\/\/www.searchviu.com\/#website","url":"https:\/\/www.searchviu.com\/","name":"SEO Data Warehouse und Monitoring","description":"SEO-L\u00f6sungen f\u00fcr Teams und Agenturen","publisher":{"@id":"https:\/\/www.searchviu.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.searchviu.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.searchviu.com\/#organization","name":"searchVIU","url":"https:\/\/www.searchviu.com\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.searchviu.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.searchviu.com\/wp-content\/uploads\/2023\/02\/d3babe41-searchviu-logo2x.png","contentUrl":"https:\/\/www.searchviu.com\/wp-content\/uploads\/2023\/02\/d3babe41-searchviu-logo2x.png","width":340,"height":340,"caption":"searchVIU"},"image":{"@id":"https:\/\/www.searchviu.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/searchviu","https:\/\/www.linkedin.com\/company\/searchviu\/"]},{"@type":"Person","@id":"https:\/\/www.searchviu.com\/#\/schema\/person\/7a031e5565b9ece3fd77be3c7f19381c","name":"Eoghan Henn","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/88ecd619af8b41640851bdb169ff87f2ddec10119431686bd36effdde5ff2eb8?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/88ecd619af8b41640851bdb169ff87f2ddec10119431686bd36effdde5ff2eb8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/88ecd619af8b41640851bdb169ff87f2ddec10119431686bd36effdde5ff2eb8?s=96&d=mm&r=g","caption":"Eoghan Henn"},"url":"https:\/\/www.searchviu.com\/de\/author\/eoghan\/"}]}},"modified_by":null,"_links":{"self":[{"href":"https:\/\/www.searchviu.com\/de\/wp-json\/wp\/v2\/posts\/2394","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.searchviu.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.searchviu.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.searchviu.com\/de\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.searchviu.com\/de\/wp-json\/wp\/v2\/comments?post=2394"}],"version-history":[{"count":4,"href":"https:\/\/www.searchviu.com\/de\/wp-json\/wp\/v2\/posts\/2394\/revisions"}],"predecessor-version":[{"id":8520,"href":"https:\/\/www.searchviu.com\/de\/wp-json\/wp\/v2\/posts\/2394\/revisions\/8520"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.searchviu.com\/de\/wp-json\/wp\/v2\/media\/8516"}],"wp:attachment":[{"href":"https:\/\/www.searchviu.com\/de\/wp-json\/wp\/v2\/media?parent=2394"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.searchviu.com\/de\/wp-json\/wp\/v2\/categories?post=2394"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.searchviu.com\/de\/wp-json\/wp\/v2\/tags?post=2394"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}