JavaScript SEO office hours, April 8th 2020
Key Takeaways
Hosts office hours for questions about JavaScript and Google Search
Full Transcript
hi there and welcome to another JavaScript SEO office hours recording or public office hours hangout with me are 10 people in this hangout tonight and you have submitted various questions on YouTube so let's see if we played the time to go through all of these questions before I jump into the YouTube questions anyone here in the Hangout having any questions so far 3 yes there you go WebSockets obviously Google Park currently doesn't support WebSockets and kind of things do you think that will ever change because sometimes you see things like I mean I can understand why normally other things like firebase that has this live connection and there's certain things that sometimes use web socket and blazar as well as the new thing which is kind of compiles in so do you think that will ever change or you think it's always going to stay as it is so while I cannot make any comments on the future really because I don't know what's gonna happen the fundamental goal for Googlebot and Google and Google search is to make the world's information generally accessible including the web obviously and so if we see a major trend going to WebSockets for essential communications we will eventually probably have it as well at this point it is a very niche technology in the sense of that most of the crucial content that people consumed it does not come over WebSockets or it has fallback mechanism and as you said we are not supporting it at this point in time but I can't make predictions for the future this nothing it's not that I am like oh yeah we are about to like release this no there's no plans to be communicated at this point for WebSockets but very good question cool I will be typing these questions down as well so that I have a running log of questions that I can identify more frequent questions which usually is a hint for us that we need to be addressing these additionally in the documentation so if you see me typing that's not because I'm like I don't know chatting with my coworkers with John or something but it's that I am trying to keep track of what gets asked thank you very much any other questions from the audience if not then I'll start with some questions from YouTube I've seen that multiple people on YouTube submitted questions around lazy loading which is really interesting for me because it tells me that I might want to look into our lazy loading guidelines again as it's apparently not clear yet so to start with one lighthouse recommends lazy loading off screen images I usually do this with JavaScript and I use either a placeholder or a very low-quality version of the image as the initial source is this low-quality version or placeholder likely to be mixed over the lazy loaded images with JavaScript that depends on your implementation if you use the testing tools you see what we are seeing if we are seeing the higher quality versions or the non-place or the images that you don't using JavaScript that will be fine if in the testing tools you see that the rendered HTML contains the low-quality version or the placeholder image that means that there's something in your lazy dog implementation that isn't quite right and we would not see the higher quality version or the actual image lazy the JavaScript in that case so you use the testing tools to determine if your setup works for us the other thing is you can also use the native lazy loading attributes for images so that you have something that degrades nicely or actually progressively enhances really so a browser would only see the regular image and you would specify just the image source that you want the high resolution image source that you want and then Google I would also see that and you would lazy load of it when the browser supports it so that's not an issue there and it's built into the browser so you don't have to worry about implementation problems if you have our script implementation question how can I ensure that a one-time notification on each page is not indexing Google is an onload event a solution because the of this one-time notification we are now found on searches including the term Corona well the UH no there's like two different questions really in this one do we not see things that run on or in the onload event handler no we're gonna see those so that is not a very solid way of making sure that we are not seeing your notification we might sometimes not see things when it when they only trigger on the unload event but that's very unlikely and that is probably because weird or shoddy JavaScript I would very simply check if there is if the navigator.useragent is Googlebot and then if it is don't show the notification is one way of doing it an alternative way is to hide it behind a user interaction so only uses that scroll or click or do something on the page somehow see the notification I think for Corona warning notifications you just want to have whatever like it's basically the same situation as with the cookie banner so you could definitely use something like a button to actually only show the notification when it has to you know when when the user has interacted with the page so when the user clicked on the page or something like that if you don't want to wait for it into action I would go for the loading and only when Googlebot is not there are basically sniffing out if it's Google power or not start a great practice but it is not cloaking either because what you're doing is not swapping out content to mislead the user you're just loading additional content it's basically the same situation as if you would do server-side or dynamic rendering where the content might be slightly different but it is still the same con and that the user would expect coming to you Paige unless the the notice notice for a corona they completely remove the entire content and only load that that would not be a great idea but use that wisely and carefully and you won't be within like cloaking limits so you should be fine questions from you all or should I continue with the YouTube questions on the topic of cloaking Caillou can you go I mean more in detail what is what is considered as cloaking and what what's not where's a like the gray line I don't know so that is a really interesting question where is the gray lines that the where's the gray line I can't do much in terms of giving you too much detail for that but fundamentally cloaking means misleading the user that means if I see a Googlebot is requesting website and say this website is about kittens and butterflies and then when it's a user going to that website instead of Googlebot having either like an online drug store or trying to sell knockoff products or something like that that would be very much against the intention of the user and that would not match what we would show in search results if the user searches for cute kitten or something like that right so that's very very clearly cloaking what isn't cloaking is if my website content is slightly different because we all know that with responsive web design we might have slightly different content to begin with on a mobile phone I might only load one product instead of ten products or something like that and then have to use a click through multiple pages or something like that that's not cloaking that's just slightly different content depending on on what the what the browser can do or what what what the device capabilities are that is fine if you show slightly different content for Googlebot then for real users like notification or a pop-up that doesn't show when Googlebot comes in that is mostly fine unless it is like a pop-up that has nine percent of the content in it and on the actual page is only an image then we are again was like hmm is that does that still fall within the grounds of like the user sees what the user expects or what we saw as Googlebot but generally speaking as long as you're not misleading the user you're definitely on on the safe side what you shouldn't be doing is you shouldn't be misleading your user anything that is within reason reasonable bounds of that is not a problem okay because I can't think of two examples like for example loading this dynamic approach like so server-side rendering some part of the page but then actually enhance behavior with JavaScript like but the that content actually is the same okay or a more extreme case the second case is actually loading loading the translated version that is a little tricky one so the first case is death is definitely not cloaking the first one is just slightly different content but it has the same has the same topic it has the same I I have the same intention when I go and say when you load completely different content in the sense of a completely different language version that is trickier we do have mechanisms for that kind of stuff so for instance you can use an alternative URL to something that is linked by a H hreflang and that would be safer whereas when we are like okay so this website is about I don't know cats and it's very chilly is about cats but then when I go there from my browser and says cats and that's that might not always be easy for us to distinguish that this is just at the same content just translated so I would be very careful doing that kind of stuff when you see like there are certain gray areas and it might be that this works actually I don't know but that sounds to me like there is potential for this going wrong so I would probably tread carefully but just loading slightly different versions of the content because of server-side rendering client-side rendering that's not something that you will need to worry about definitely okay Thank You Martha you're very much welcome other questions from the Hangout or I go back to YouTube okay a question from a submitted question from YouTube I have a site where it's angular based and all of the content including meta tags title canonical and the site content itself is rendered on the client side will this affect our ranking no unless it's broken and we're not seeing your content it will not affect your ranking if your website is very very slow that might affect your ranking because speed is a ranking factor but it's only one out of hundreds so you shouldn't worry too much about this a definitely test test test test if you do that I also noticed that GSC will search console is warning us on mobile issues for tag archive pages due to its rendering on first load as the CSS gets injected and later any recommendations try to load the critical CSS as quickly as possible that's also a recommendation in lighthouse by the way and then only load CSS in later that is non-essential for the initial render that should make these warnings go away because that might actually cause trouble when we try to figure out if a page is mobile-friendly or not so I would recommend to get as much CSS as much critical CSS inlined into the page as possible but not too much for the obvious reasons that then your HTML is too large and so on and so forth lighthouse has pretty good guidance on that so check out lighthouse for your CSS troubles questions from you all this is maybe these inspire you okay I take one more from YouTube and then we'll see if questions come up here hi Martin what is your recommendation for the most optimal way of troubleshooting if a sorry there's someone trying to get into the oh the pop-up has disappeared okay hi Martin what is your recommendation for the most optimal way of troubleshooting if javascript-based website is having issues with slow indexing where content is not indexed immediately due to longer processing times not enough essential what this means is this is aiming at the two ways of mixing don't worry about them we have discussed that last time if you do see that users are taking a very long time until or for users your website is very slow that's something that you want to improve on I highly recommend using the web page test or a lighthouse to get a feeling for how fast your website is on people's devices but generally speaking so indexing because of long processing times is not really that much of a concern these days anyone having a question to jump in with yeah Jeremy so yes no no it's work a little bit trouble with my Mac so ever questions about a structured data mm-hmm we have a dynamic render page and add to this structure data and we don't know if Google can get this normally with to render engine from it or it's a little bit difficult for Google to zero structure data then we didn't now has a structure data or not we don't see anything in the Google search results right that's a very good question when you say dynamic rendering do you mean as in like you are using something like when the Tron or pre-rendered RI or do you mean server-side rendering so we we don't do three renderings we only deliver at the moment yeah client-side so Google but I think the Googlebot do pre-rendering with puppeteer or so you talked about in your stream yes that one I mean yeah yes yes we're not actually using one but we do render pages I can show you something so to give you an example for no no no none of these to give you an example of what you can do is I have created a few test pages to show this here we have a website that wait hold on there's not actually I try to make this larger so that it's easier to read actually give me a just give me a second I think yeah this should be better we don't need that at this point so this website does not have any structured data in it as you can see there's no structured data here but it does use Google tag manager and if you check out this one then you see that it does have some structured data using Google tag manager it's injected dynamically and when I want to know if we will actually sees this I can just go to Google II which results so the rich results test I don't need that anymore and then if I run this I will see I know thank you very much I will see if it gets picked up or not and it gets picked up in this case it has successfully picked up that there's some organization markup and that there's a logo in there and you can use the rendered HTML to see if your structure data shows up if it is in the renovate Gmail that means that we are also seeing it so generally speaking it should not be a problem if you need some support for that statement then you can check out our developer documentation because under guides enable which results there is generate structured data with JavaScript that has a lot more details than what I just described but basically we have documentation for this now there the question is that in like why am I not seeing this in Google search results that picker structured data is a necessity or a requirement to actually be eligible for which results but does not mean that we will always display which results so even if your structured data implementation is correct we might choose not to show rich results because for I don't know various reasons there might be a faster website there might be a website that has higher ranking information there's lots of factors to consider it's basically a ranking question and I can't really comment on ranking questions but you make yourself eligible by having validating structured data and you can use the rich results test to see if we are picking it up so to understand this so I if I at this literate rich we thought it's not guaranteed that Google showed us so correct but if Google shown noth-nothing structured data from anything else with the search result this is okay this can be the problem from size ranking or something or something nice it can be all sorts of things that make it not show up mostly ranking related things as long as we are picking it up and also search console should show you if we have picked up the structured data if it is in search console and/or you can see it in which results test then you have successfully implemented it on the technology side of things okay doesn't doesn't guarantee that it shows up in search results perfect thank you you're welcome I have a question in the chat I have a question from my developer partner who doesn't want to ask himself directly that's fair we sometimes see websites which check the user agent in order to set specific behaviors for the Googlebot can it trigger something can it be seen as potential cocaine and if so how does Google work it's very common here and by in our bilingual nation interesting question we kind of scratched on that earlier on if you are changing content so that we are under the impression that you are misleading the user that would be considered cloaking just user agent sniffing and then loading slightly different content or for instance the example I gave is what is fine to do would be to say oh this is Googlebot so I'm not showing a a Corona information banner that's fine whatever this is not primary content to your website anyways so you can just hide it out if you're using it to swap out or redirect from a page that is about kittens to a page that is about cheap drugs online that is cloaking so generally when we come when we have the feeling or when we when we get the when we get content that is wildly different that is considered cloaking where is the border between legitimate color changes and illegitimate content changes aka cloaking that is a tricky question and you want to stay away from the murky waters in the middle of that spectrum so as I said like server-side rendering something or hiding a notification from Googlebot that's definitely not on the dangerous side of the spectrum completely going somewhere else and actually showing completely different content that's a risky one we had the example of translations what if I auto translate the content under the same URL that is in the murky waters but I say it might work it might not work I would probably steer clear of that and not risk it it's a tricky one but generally speaking small content adjustments do not run under cloaking that's why the pilot where the bilingual comes in we have some really funky decisions made by companies on which language they want to show you if a contest is not available in some provinces or some regions in one language version and what so let's say I gather have a website in I don't know Canada where you have frenched or whatever they consider French and English and you have some content that is only available in English what I would do if it's only available in English and I'm on the French side is I would either say like have a pace that says oh this this content isn't available in this language or in this province or whatever how about you go there and has a link to the other thing or just do a 404 but don't try to be clever and don't try to force different content on users where they don't expect it it's not a great user experience and I'm not sure if Googlebot will handle this gracefully so you definitely want to be very carefully testing this or avoid this to begin with I think that's like my guidance on that do we have questions in the in the audience or should I go back to this video quick effect extended question to the to the question before so it is with my patch and we add the 3d structure data and I see I get no test result with this 3d structured data but with another structured it is the testing to cannot actor at this moment testing the 3d structure data like the one from Wikipedia with tiger I think I think that is a definite possibility because I think the test currently is limited and not sure where the where the we have something saying that there is a limitation to this but I'm not sure I hear supported types so currently we support a bunch of types but we don't actually I can put it in the chat if you want to check the chat that's the piece of documentation that explains which types are supported well you can do though is in the structure that our testing tool and actually I'm going to run this real quick through screen sharing one more time I will be sharing this entire screen if you are running this and you don't see your structured data what you can try is you can oh come on here we go use the rendered HTML and you can a look for that Wow Thanks you can a look for the structured data to be present here but you can also use it to actually take it from here and go into the structured data testing tool structured data testing tool and that one should hypothetically support this better because it has a few more things in support it should show up here but even that is not a guarantee that it's correct you would have to manually make sure that everything that we say is required is actually present there 3d data is a tricky one because it's relatively new and I'm not even sure if it is like public public yet or if you are in a early access program let's see so that's really easy to find out we can go in wait where's the structured data gallery it doesn't look like it is generally available at this point the 3d data at least it's not showing up in here so you might be in an early access or early adopters program yes 3d and a our results are currently limited to two people in the early access program you can use a form to express interest if you're not having done that already thank you thank you okay good I need to call to my boss and we need to add to the early access program then the most of the page is 3d data yes thank you thank you very much you're welcome you're welcome okay other questions Oh a question on YouTube has been answered oh that one of the lazy loaded questions that's cool in that case I may have a look at YouTube one more time hi does Googlebot have some issues crawling isomorphic pages and doesn't understand client-side routing or is it still safer to do the routing on the server-side and avoid page rehydration so on the same URL no Googlebot does not have fundamental issues with isomorphic pages isomorphic pages for those of you who are wondering are basically just like server-side rendering plus hydration where you run more or less the same JavaScript on the server side as you do on the client-side we support that client-side routing is fine as well and rehydration czar okay to just make sure that it's implemented properly and that you test it without testing tools to see if the content that you expect is actually visible to us in the rendered HTML you can use the google search console your l inspector or inspection tool you can use the rich results test you can use the more friendly test any of these work and with the rich results test and the mobile-friendly test you can do it on like local development and URLs as well if you use a tunneling tool like local tunnel or n grok or something like that you can basically plug any URL in and see the rendered HTML that we see so that's quite nice this article compiled the quotes from john miller gary at martin over time some of those quotes seem to contradict each other there's a there's a guide from or an article from on crawl on lazy loading and it seems seems to contradict each other the guide is from 2019 from April 2019 it's like a year old now and the contradiction comes from the fact that they have I actually read the article earlier because I saw this question earlier if you look at Google search over time you will see that it keeps changing and keeps improving and keeps we our mission is to basically make sure that we understand the web that you create so we keep improving things that also means that quotes from a month ago from a year ago from five years ago might no longer be true things evolve in this article there are a few things that look like they contradict each other and not necessarily contradict each other and actually this is elaborated in the question as well I know lazy noted images aren't principal indexable if done properly but is it worth the risk lazy load important images like product images even if they are below the fold yes it is worth it because if you especially if you use the the native lazy loading there is no risk whatsoever because it is an image element that has the actual product image as the source it's just loading lazily when the browser supports it so even crawlers that don't run JavaScript will get the high quality image but users on browsers that are more modern will have that support and actually get it a slightly better experience or actually much better experience depending on your network speed and the price of your network especially on mobile lazy loading is quite an improvement and I will definitely recommend it I would be careful with custom implementations these days because why right if if some browsers have it and other browsers fallback to less great but still solid behavior I think that's worthwhile taking or or using this opportunity also dunno script actually also is no script actually helpful for image indexing for lazy loaded images or is it like John Miller said google ignores it the quote there is slightly out of context I think I actually haven't I don't remember I think it's the quote is slightly out of context there because we do ignore content in no scripts except for images interestingly enough for images specifically we have a workaround that allows you to use images in no script and we will index it but we are not sure how long that's going to stay that way and if we really need this if engineering finds out they don't need to do this they don't need to support this they might remove it we have seen with the nation situation last year that that can lead to confusion it does happen every now and then there's many many engineers working on this and sometimes they decide that well we get the signals elsewhere so it's not no big deal then they run an experiment find out yeah it really is no big deal but then we have to communicate the changes so I would shy away from no script because there's better alternatives the alternatives are using later lazy loading which is a fantastic progressive enhancing way or using a as robust as possible JavaScript implementation to do lazy loading so I would not use the no script for back at this time of recording today April 8 2020 as far as I'm aware we are still supporting the no script work around for images but that's specifically for images it does not work for the other things cool questions in the meantime I've got another quick one that's ok when when you used to testing tools or anything and render a page you need the rendered HTML it flattens iframes out in in there are they considered just part of the content for ranking purposes or do we not know is that secret so also insert it's not secret sauce and it is observable in the testing tools tool in certain cases we will flatten iframe content into the document that is when the iframe is large enough and when the content is I'm not sure what what the other signal is that we are using to consider it as inline but if it's inline into HTML it is at least sent to indexing what I don't know at this point because that is also a question about indexing and somewhat related to ranking is how ranking slash indexing actually considers this content it is marked as err flattens or or injected or inline I think in life is the term we're using it is Markus inline content I'm not sure how it's used in ranking I'm not sure how exactly it is you in indexing so I would assume it gets inlined in certain conditions and if you see it in lined in in the testing tools that means that we're at least seeing the content as part of this document yeah so very good question other questions Oh all right then I'll take another one from YouTube there is a website that is dynamically excluding part of the content on its mobile version using JavaScript instead of CSS as a responsive solution a read more button the content is being sent by the server but excluded in the client-side mobile-friendly test and GSC seem to not recognize that piece of content is that correct to affirm that the hidden content may not be read by Google in your case I I'm not 100% sure what the details of this implementation are but if you say read more button and I'm assuming that you mean an actual button now we would have to click on to load the additional content if that is the case and the content is not there in the rendered HTML no we're not going to see it and we're not going to see it because there is a user interaction required we are not interacting with your page we're not clicking on anything but generally speaking if you don't see the content in the rendered HTML in the testing tools it means that we're not seeing it when sending it to indexing so yes yeah you want to be very careful with that implementation unless you want to exclude that content then mission accomplished do we have yes actually this implementation the the content is being asked by the server and it's being suppressed in the in the clients under class what does that mean it's being suppressed like dot remove with JavaScript AHA ok yeah but we're not if you remove it from the Dom we're not seeing the content okay awesome that's my main question because we're discussing if we just pass it by the the server was enough to to render and to interpret it so it's not right no if we are removing if you're removing it and we're rendering it we are seeing the removed we're not seeing the remove content because we are sending what is rendered to indexing so the tools show you we have successfully removed the content you wanted to submit to remove and we are not seeing it in indexing person thank you you're welcome okay other questions okay building upon this topic well what about the content that's on mobile for example that is hidden in busywork that for example a sidebar that would appear on desktop but on mobile it requires a user interaction like a tap on a show show show sidebar to see the sidewalk but the sidebar content is actually is actually in the HTML so what color would even consider that content because it's not actually busy around here a user clicks on on show sidebar but it's there I mean on desktop it's there as well it's in the in the HTML but on mobile it's not visible by default so let me be very careful here anything that is in the dome is considered for indexing so whatever we render that goes into indexing that means something that is invisible but present in the Dom in the HTML we will see that right whatever is in the rendered HTML that the testing tools give you we will use that for indexing and if it is invisible we might consider certain cases like for instance if it is invisible and matches topically then we would consider it maybe not as important as the visible content but we would still consider it so we might not show it in bold in this in the snippet or something like that but we will still consider if it is unrelated or if it feels it is a spamming technique to basically just add additional content that the user doesn't reading see and doesn't really need or isn't really beneficial to the user at this point then we might exclude it from the actual waiting but fundamentally if it is related useful content even if it is not visibly visible as long as it is in the Dom we will see that so the rendered HTML is what goes into indexing and then indexing makes decisions based on things like is it visible or not but that doesn't mean that we are not seeing it or not not using this for indexing okay thank you no worries and it is a tricky question because a lot of people understand different things when they say not visible is like it's not visible and then it turns out they mean not in the rendered HTML it's like well if it's not in the rendered HTML no we're not seeing the content whereas like it yeah but this is a and then you can do like stupid things when you try to hide stuff it's it's pointless or even if it's that's a tricky one if you require user interaction to add it to the rendered HTML so like if you have to click a actual button to load the thing we would also not see it and it's not really present then so there's like grey zones of that but then they very fundamentally we are seeing invisible content if it's part of the rendered HTML thanks now it's clear it's finally awesome to answer Mina's question was the one question you I'm itching to answer today I already answered that one that was the lazy loading guide question was like oh the so many comments and quotes from you all and they are contradicting each other and I'm like well the article is a year old and also the comments were collected over a long period of time that's something fundamental with SEO the web is moving forward really quickly which is amazing because that means that we get to improve and build new cool stuff on the web and Google search is trying to keep up with the web as it evolves so things change things change constantly and the only constant thing is change but that also means you want to be very careful when you read outdated articles or when someone says like when I tested this five years ago out usually whenever I hear someone talking about something I'm like that's outrageously wrong and I asked so where does this come from then usually they say oh like three years ago I'm like yeah three years ago we didn't have headless chromium in Googlebot we didn't have evergreen Googlebot so since 2018 this has dramatically changed so the best recommendation I can give you is whenever you hear a quote and you're not 100% sure what's true or if it's true or not test it test it a good article should tell you this is what I did this is why way I put it in so like for instance there's an article that explains that Google tag manager and structured data does not work with Googlebot and that article is like two years old and they have a piece of code that you can copy onto your page and try it out and I took that piece of code and I put it into the structured data testing tool and yes structured data testing tool does not short structured data testing tool is not the latest and greatest in terms of using the right infrastructure the rich results test however does use the actual indexing infrastructure and shows you what we are actually seeing when we index your page and that one showed the structure of data in my kaha so the source of these conclusions is outdated because structured data testing tool is outdated but because this article was very transparent and self-contained when it comes to how to test the hypothesis and that they that they started with before they came to the I could go along and said I guess the article is right that was the case back in the time it is no longer the case as seen here by taking that exact example putting it into the actual tools and seeing that it works where it didn't work when the article was written so always take everything with a grain of salt including the things that Google have said if I say something today it might be valid today and tomorrow but not in two years not in one year maybe make sure that you have the latest sources our documentation we are not always a hundred percent up today but we are trying our best to stay as up-to-date as possible and usually we draft the documentation before the thing is launched and when it launches we update the documentation in one go if not then we usually communicate that very clearly so make sure that you are not jumping to conclusions test for yourself and try to find the most up-to-date source of information now another question from the chat Jockamo is asking for websites like e-commerce that are using structured data for products when we need a very quick update on availability for a specific product out of stock or something similar what do you suggest implementing structured data in the HTML without JavaScript will Googlebot power structure data after getting the non rendered version of the website without waiting for the internal chrome service to render page queue in the render list or structure data will pass anyway after the rendering the face the queue is at median five seconds so assume every page gets rendered these days and that does not make it that much of a difference however that being said I in the guidelines for structured data and JavaScript I noticed that we do cache aggressively that means if your JavaScript needs to update to actually reflect the new change in structured data which might not be the case if you use Google tag manager then the JavaScript does not need to update because it's just the data change if your javascript needs to update to actually reflect the new structured data then you definitely want to make sure that you use proper caching in this case like something like along with caching with hashes or version numbers or something like that because if we use an outdated cached version of your JavaScript that contains the structured data as part of the asset we might not see that updating very quickly so I highly recommend making sure that your JavaScript is updating and caching properly using Google tools basically whenever you see an update you want to make sure that what we are crawling is actually the latest version of it rather than an outdated version if you don't version your assets that is very very hard to debug should just to give you an example generally speaking putting a structured data in HTML is probably always going to be more robust but there's nothing inherently wrong or faster or slower regarding JavaScript in structured data what's the average expiration day for technical statements from you oh my goodness I don't know sometimes it is years sometimes it is months sometimes it is weeks if you asked me about the Google Chrome version that is being used to render if you would have asked me that two weeks before i/o last year so let's say like you would have asked me that end of April 2018 I would have said is chrome 41 that would have immediately changed in May I would have hinted at that to potentially change soon but some people then ignore the fact that I say but this is about to change and then just quote me on like Martin says chrome 41 which is true I said that they're just ignoring the sentence I said afterwards so be very very careful when people are quoting me generally speaking just point to our guidance our guidance is 99% likely to be the actual source of truth I have rich expiration I don't know a month maybe don't know a Cokin question if we use dynamic rendering on the page with infinite scrolling would it be okay if the static HTML version that quality have HRF links to the paginated no that's fine that's absolutely fine if you have pages like previous and next or pagination links in the version that only Google CAES that's not a problem that is out okay that's perfectly fine that's not an issue all right one more question from YouTube maybe would you generally recommend implementing dynamic rendering on ecommerce sites that use JavaScript to display products on category pages my feeling is that this should make your next thing more safe and accurate especially for crawlers other than Google we've said it multiple times as far as we're concerned dynamic rendering is workaround I would not recommend dynamic rendering to anyone who can reasonably switch to server-side rendering and hydration because a server-side rendering and hydration gives a more robust rendering to crawlers that don't understand JavaScript as well as a better and usually faster way of rendering things for users as well whereas dynamic rendering is only useful for BOTS especially those that don't want driver script so dynamic rendering is considered a workaround I would not necessarily encourage people to do that unless it is their most viable option for them until they can consider server-side rendering or if some said rendering is an investment they are not willing to make or they can't make for whatever technical reasons but generally speaking if you if you can't do service everything in hydration sure go for dynamic rendering that will definitely have you with crawlers and parts that don't run JavaScript or don't run JavaScript as reliable there's nothing wrong with it that's it but understand that dynamic rendering even though it's a workaround does incur infrastructure costs it does mean maintenance on your end and can hurt you if it's implemented incorrectly everything that is implemented incorrectly can hurt you including HTML static HTML so it's just more complexity and you want to be careful if if you really need that additional complexity to reach whatever goal it is if you don't really care about search engines that don't support JavaScript as far as I'm aware being supports JavaScript Google supports JavaScript if you're rendered HTML the Google tools looks fine at least we are not concerned I'm not sure how you test it and other search engines but unless you have a good reason to implement dynamic rendering I wouldn't okay do we have other questions no do you guys have quite up do you ladies and gentlemen and others have questions for me so if nobody is for Christine I have a question go ahead yeah so it's for the type of a cloaking question it's so we have we have 3d data and our table with information of this video data on our page the Gugu what is coming to us with the mobile version I can in the GSC so and the pointers in the mobile version we shall to user first 3d model and secondary he can click on a button and the table showing and 3d model is displayed mom so it's walking if we say okay both content is at the same time in the content but if the Googlebot comes you see first the table no that's not okay okay perfect all right awesome I think it's time for last couple of questions now it's your chance I ran out of YouTube questions as far as I can tell I can refresh the page remember this an additional one I don't know look like it no one asked oh actually no that's not true there's one more question can FAQ schema and special announcement read and indexed by google delivered through JavaScript that is powered to third-party to a platform possibly it depends on the implementation it depends on if they let us crawl or actually if they let us request their resources so let's say you are using you are example of comment you are using a service from structured or I don't know and structure dialog org says oh our our API dot J s shall not be crawled by robots so they say like they block it in robots.txt and what happens then is if we come to your website and your JavaScript or your website loads that JavaScript file we can't load it because they are saying we can't load that page using our robot so Googlebot can't fetch the JavaScript so the JavaScript doesn't run and then the content doesn't display that is a scenario that happens more often than you might think in that and there's other ways as well like there can be issues on their side that can be problems with your JavaScript so you have to test your implementation fundamentally technology-wise it is absolutely fine to have faq schema and special announcements generated by JavaScript following our JavaScript and structured data guidelines but you want to test that very carefully if the test shows you yes or good then you are safe if not then well then you want to either talk to your third party provider or you might want to migrate away from that third party if that's something that you care for test definitely test ok time for last from the audience if anyone has one you can also write it in the chat if you don't want to speak up that's also fine I'm flexible either way cool wait Chet has a question is there a rendering budget for websites no asking this question related to my previous one because I can see that using Google tag manager for structured data the big e-commerce site after Google visit we have not the structure data updated there's also for more than a week using HTML version we get the data refreshed way more faster that is possible but there is no such thing as render budget this can be a caching issue possibly without looking at this specific website I can't really make a judgement on that but if you are seeing issues you are very likely running into caching and then if you really care very much for the data to upload update very quickly then either host Java hosted version the JavaScript yourself or consider having it in the HTML but again caching is king here and also if we are not crawling it very often and I don't think that's gonna be even faster but I think from what you say is that we are calling quite frequently as the HTML does have the update whereas we don't when it's using Google tag manager so I guess Google tag manager might be also affected by a caching which what surprised me it's not impossible ok excellent I would like to thank you all very much for these fantastic questions and joining me here life as well as on YouTube to give us all your questions and discuss them here in this this forum the next JavaScript SEO office hours will be in approximately two weeks time update the YouTube community feed with the actual dates and we'll also post the link there again thank you very very much for being fantastic stay safe stay healthy and all the best for you hope to see you soon again bye bye bye stay healthy
Original Description
In the JavaScript SEO office hours, you can submit questions about JavaScript and Google Search or ask them live on air.
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from Google Search Central · Google Search Central · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
What do I do after being hacked?
Google Search Central
Can rel="canonical" index my hostname and not my IP address?
Google Search Central
How can I optimize for "deep web" crawling?
Google Search Central
What's a preferred site structure?
Google Search Central
Should I tweak my titles and descriptions to improve my CTR?
Google Search Central
When did Google start displaying "Did you mean" results?
Google Search Central
Can I tell Google not to use the posting date in my snippet?
Google Search Central
Does the ordering of heading tags matter?
Google Search Central
Which SEO agency do you recommend?
Google Search Central
Will SEO still exist in five years?
Google Search Central
Star Wars or Star Trek?
Google Search Central
Tips on requesting reconsideration
Google Search Central
Do site load times have an impact on Google rankings?
Google Search Central
Is Google doing anything different for Twitter results?
Google Search Central
Will domain registration changes ding me in Google?
Google Search Central
How are load times displayed in Webmaster Tools calculated?
Google Search Central
Why aren't penalized sites notified in Webmaster Tools?
Google Search Central
Google India SearchMasters 2009 - Event Roundup
Google Search Central
Can you talk about the change in Google's referrer string?
Google Search Central
Google Webmaster Help Forum - Koti Ivaturi - Google India SearchMasters '09
Google Search Central
Welcome Note - Vivaik Bharadwaaj - Google India SearchMasters '09
Google Search Central
Google Custom Search - Rajat Mukherjee - Google India SearchMasters '09
Google Search Central
Building Mobile Friendly Websites - Ankit Gupta - Google India SearchMasters '09
Google Search Central
Q & A with Adam Lasnik - Google India SearchMasters '09
Google Search Central
Webmaster Central and Best Practices - Adam Lasnik - Google India SearchMasters '09
Google Search Central
Google Analytics and Website Optimizer - Deepak Kumar - Google India SearchMasters '09
Google Search Central
What are the factors that go into determining the PageRank of a Twitter page?
Google Search Central
Webmaster Tools spring time design refresh
Google Search Central
Can I publish 100+ pages at once?
Google Search Central
Why is the @ character ignored in search queries?
Google Search Central
How can new pages get indexed quickly?
Google Search Central
Using a barcode scanner with Google Book Search
Google Search Central
Behind the scenes of Google Webmaster Central videos
Google Search Central
Are shortened URLs treated differently than other redirects?
Google Search Central
How can I make sure Google reaches my deeper pages?
Google Search Central
What impact does server location have on rankings?
Google Search Central
Will a "coming soon" page negatively impact my site?
Google Search Central
How many pages can Google index from a single site?
Google Search Central
What if a search for my business triggers "Did you mean?"
Google Search Central
Are CSS-based layouts better than tables for SEO?
Google Search Central
What impact does "page bloat" have on Google rankings?
Google Search Central
What types of directories are seen as sources of paid links?
Google Search Central
Should I include my logo text using 'alt' or CSS?
Google Search Central
What are some best practices for moving to a new CMS?
Google Search Central
How gzip works
Google Search Central
Optimizing the order of scripts and styles
Google Search Central
PHP performance tips
Google Search Central
Minimizing browser reflow
Google Search Central
Improving website performance with Page Speed
Google Search Central
Optional HTML tags
Google Search Central
Optimizing web graphics
Google Search Central
Prefetching resources
Google Search Central
HTTP caching
Google Search Central
Is over-optimization bad for a website?
Google Search Central
Interview with Adam Lasnik - Part 1
Google Search Central
Interview with Adam Lasnik - Part 2
Google Search Central
Interview with Adam Lasnik - Part 3
Google Search Central
Can the geographic location of a web server affect SEO?
Google Search Central
Will I be penalized if my URLs all have the same priority?
Google Search Central
How can I optimize my site on a small budget?
Google Search Central
Related Reads
📰
📰
📰
📰
The Rule of the Few: When the People Who Own the World’s Wealth Also Own the Intelligence That Will…
Medium · AI
The Great AI Price Crash: What a 1,000x Cost Drop Actually Means for the Rest of Us
Medium · Startup
Two variables that will decide if AI skips Africa
Medium · Startup
The AI spending debate seems to have changed this week.
Reddit r/artificial
🎓
Tutor Explanation
DeepCamp AI