 This next speaker is an enterprise SEO powerhouse. Jackie is currently the SEO intelligence lead at Hooper's HQ in San Francisco, where she drives SEO data and tooling for all of Hooper's SEO teams globally. Prior to Hooper, she worked at Square Dropbox and she spent earlier years in media and publishing. Today she's talking about how to go global without losing all of your traffic. I've been fortunate to share many clubhouse stages with Jackie and the depth and breadth of her SEO knowledge is truly shocking. So I'm truly excited to see what she has installed for us today. Take it away, Jackie. My name's Jackie and today we're gonna talk about my favorite thing, big sites screw up and that's internationalization errors, also known as how to go global without losing all of your traffic. My name's Jackie and in case we haven't met, I'm currently the SEO intelligence lead at Hooper. That's just a really fancy way of saying that my team does the data and tooling for global SEO teams. Prior to that, I was the app store optimization and SEO lead at Dropbox across storage company in the Bay Area. And then prior to that, I was the senior SEO and ASO manager at Square. So I like to tell people that I like to do RSU for SEOs and I really like acronyms. So in a nutshell, you know, like, just like all aspects of SEO internationalization is really complicated. There's so many factors, but internationalization really boils down to three things. Having unique URLs for all versions of your content, Googlebot does not click, they don't scroll. So you need to have unique URLs for Googlebot to index and discover content. And the next thing is implementing hreflang and HTML directive between those pages so that Google can understand what pages map to which languages. And the last one is having truly localized content per region. Once you have all the technical stuff handled, it can seem like your job is done, but the reality is a lot of times internationalization actually brings along a lot of content challenges and content duplication issues. So we'll talk a little bit about that today. So here's what I hope you guys will walk away with. Hopefully you'll learn the rights and wrongs of hreflang. Also some common internationalization mistakes to avoid and how to make a foolproof template or information architecture that even Googlebot cannot mess up. I'll basically show you guys the happy path of internationalization. So first off, let's talk about hreflang. And this is my quick hreflang 101. Hreflang is really simple in concept, but the reality is it's not simple implementation. There's a lot of business considerations that you need to consider. And I know you guys are thinking, Jackie, you know, out of all the SEO things that they don't tell you how to do, hreflang should be simple, right? I mean, Google actually gives you documentation. They're basically like spoon feeding you the answers. But the reality is it's really complicated in practice. Don't take my word for it, Ash John himself. He said, to be honest, hreflang is one of the most complex aspects of SEO, if not the most complex one. Feels as easy as a metatag, but it gets hard really quickly. That's true. So what's at risk if you get all this wrong? The reality is if you get internationalization wrong, you can actually stop ranking competitively for your own keywords. I've seen sites rank as low as six or seven for their own brand terms when they mess up internationalization. Here's an example from Hermes. So I did a search for Hermes customer support I based in the United States. And in this result, I actually saw a result from the Netherlands. So you can tell that this is a really bad result for me. Imagine if I was actually searching for more of a transaction word, I was ready to purchase. This would be a horrible experience for me. So it's really important to get internationalization correct. Or else you won't even rank for your own brand words. At least not well. So here are some basics of hreflang. So first off, what is hreflang? I've been talking about it quite a lot. So hreflang, the real alternate hreflang equals blank link attribute is a HTML meta element. hreflang specifies the language and optional geographic restrictions for a document. That's really important, optional geographic. A lot of times people think a lot about the country that they're serving, but the reality is hreflang is actually language first. It's really, really focused on language. Geography is actually an additional optional attribute. This'll be a little bit more relevant later. But basically hreflang, what does it help you do? It helps you implement country and language targeting or again, language only. The only thing that you must have is language. You implement it through reciprocal links, a set of links that assumption is that since you're using hreflang, you have multiple versions of a document in different languages. All those documents should point to each other. That's called reciprocity, reciprocal links. You should have a self-referencing canonical. The canonical should point to itself always just as an SEO best practices. A lot of times people will actually set the canonical to the English URL or whatever base language they're using. That's wrong, Google will actually then see the rest of your content because you're telling them it's a duplicate and that's a confusing signal for them. And lastly, you should have an hreflang to yourselves. So all URLs point to each other and to themselves and they have a self-referencing canonical. And you can really implement this in actually three different places. You can implement it in the HTTP headers on page in the head. That's my personal favorite. I think it's the easiest to debug or in the sitemap. This is probably my least favorite only because I've heard some people have some issues with Google picking it up in the sitemap and it also is very challenging since you have to go back and forth between the live page and the sitemap but it is technically an option. So what does the ideal hreflang implementation look like? So here's an example of one tag for Canadian English. So in this instance, your site.com for slash CA for slash EN, I'm targeting this towards English Canada. The order is also important, language goes first and then the country you're targeting in the attribute. And here's an example of hreflang for the Canada English page. So in this case, I have two different pages. I have Canada for English, a canonical pointing to myself. Then I also have the hreflang tag for Canada English for my CA EN URL. And I also have a duplicate of this page in the United States. So here I have the same exact page, US EN and you can see that the HTML attribute has also changed to EN US. And then also I added in one extra, which is X default. This is an optional directive. A lot of times people will use this as a fallback in case there's no other languages, maybe let's say someone who speaks Italian and tries to look for a site and you don't have an Italian page. What site should Google show them? In this case, I'm telling them show them the United States English. People will also usually use this as like a catchall too. Maybe they have some kind of IB based language detection. Then this is a good attribute to use, but again, it's not necessary. And so one of the most important things you have to think about when you're sending up hreflang is are you targeting a country and language or are you targeting language only? Language, again, is the only non-optional attribute. So in this case, I have your website CA EN and the hreflang attribute is ENCA. The next example I have is yoursite.com. Maybe this is just my global English page and so the hreflang attribute is just EN. And lastly, here's an example of something I commonly see but it's actually not correct. Maybe I have my site Canada subfolder and my hreflang attribute is only Canada. Canada is a language, sorry, Canada is a country. It is not a language and therefore this is not a correct implementation of hreflang. You can't target country only. So one thing I would like you to consider is that not every site needs to do country targeting. For example, we have sites like publishers that where as long as you speak English you can consume the same site or a global SaaS site where there's no real difference in features between countries and companies where you actually don't have the bandwidth to differentiate content. A lot of times when people will launch in another country even if they speak the same language, they have a need to launch a new country subfolder or a new CCTLD. I highly suggest not doing this if you don't actually have the bandwidth to differentiate content because you could very easily run into a duplicate content issue. So once you have hreflang set up there are a few tools you can use to try to check if your hreflang implementation is correct. Screaming Frog, most actually modern crawlers have some kind of tool to check for things like do you have a reciprocal hreflang, self-referential, et cetera. Search Console also has an international targeting report which is awesome and you can also even do geotargeting inside of Search Console which I'll show you how to do later. And Lighthouse Reports, there's also an additional hreflang report inside there. You can check if Google's actually picking up your hreflangs. In summary, hreflangs need all URLs in the set to canonicalize themselves, have an hreflang to themselves, point to all other URLs in the set and all those URLs should point to it. And it should also target either a country and language or a global language page. And next up, we're gonna talk about some common internationalization mistakes to avoid. Again, this is something that's a real challenge for really big companies. So we're gonna look at a few really big companies that haven't quite nailed this yet. So one of the biggest mistakes is not having unique URLs for content. So in this case, I'm looking at the Canadian version of nextdoor.com. They're targeting ca.nextdoor.com forward slash the same URL twice. One time they're targeting it to English speaking Canadians and also French speaking Canadians. Sounds like a great idea because there is a very large French speaking demographic in Canada. However, you can see that they're trying to do this on the same URL. So let's see what happens. So here I am on the French Canadian nextdoor homepage. I'm gonna scroll a little bit up. Let's grab this H1. I'm gonna copy this H1. I'm going into Google. And I'm going to search for this with quotations to see, hey, have you seen this content? No result. Google fundamentally needs a URL to index and discover content. It cannot do user interactions like scroll or clicking. And so you really need to have unique URLs to index for Google search. This is really how most search works. It works on using an index. Without a unique URL to index, no differentiated URLs for search. Another important thing to keep in mind, another reason why this is a really bad idea is because Googlebot, the thing that actually indexes the web, comes from the US about 99% of the time. If you ever actually look at your Googlebot data, you'll notice that most of the time it comes from the US. And if you ever actually see other countries in there, a lot of times it's actually fake Googlebots and your data is dirty. That's actually like one of my leading indicators that there's an issue with data if I see a lot of non-US based IP addresses. So this is really important. And of course you would be a, Googlebot would be a Warriors fan of the US person. You told me. Another really common mistake I encounter is people using four letter language codes. And what I mean is rather than just target, you know, FR, they are now targeting French Canadian speakers specifically, or they're targeting things like Spanish speakers. And honestly, this is honestly just like a micro optimization a lot of times. A lot of times it's not actually valuable to try to target these like incremental languages. A lot of times Google doesn't actually think that they're materially different enough to rank the content differently. And it can create a lot of cannibalization issues as well as some automation errors. But in this case, we're gonna look at Stripes homepage for French Canadian speakers in the Arab Emirates. So this is really confusing and it's probably created some kind of issues because French Canadian was saved as its own individual language. And now you have an hreflink attribute that's automatically populated that is targeting French. Canada has a geography and Arab Emirates. And this is really confusing for Google. And then also it's just not valid. The main exception to this four letter language code is going to be Chinese. So on the left, you can see we use simplified Chinese. That's used in China and Singapore. And on the right, you have traditional Chinese. It's a little bit more complicated and it's used in places like Hong Kong, Taiwan, and Macau. And I really like the language codes because I feel like they're kind of easy to remember because they give you little hints. So ZH Hans ends with an S, that's four simplified Chinese. And ZH Hans ends with a T and that's four traditional Chinese. So yeah, I like that you have little hints to remember which one to use where. Mistake number three, creating duplicate content issues by not differentiating the content. So again, poking a little bit of fun at Stripe. So if you were to look at Stripes homepage right now you would see 574 hreflink attributes. This is probably because they decided to create a different version of their site or at least duplicate their site. For every single flavor of language they support in every single country they wanted to target. Now they have 574 pieces of content for home pages, just home pages. Of which, by the way, 82 of these are English. A lot of competing English pages now. It's a huge mistake to optimize, I think over optimize for flavors of languages. Again, because like looking at this again it's now created an automation error. So here they're trying to target like ENNZ but they also target things like English for Great Britain but with New Zealand consumers in mind. This is a nonsensical hreflink in addition to being a little bit spammy. And the reality is a lot of these pages are not materially different. Let's compare that US page to UAE homepage. It looks like I basically copy and pasted the same exact screenshot over each other but that's not actually what happened. These are actually the two home pages for these two separate countries. So I decided to run these through a diff checker and about 96% of the content on these pages are the same. So trying to find what part of the page is actually unique. You can see they've made really compelling changes like they changed companies, the businesses, changed an M dash to hyphen, check out Fortune 500 probably in the non-US page but the reality is guys, this is really not like compelling differentiation. And if you ever run into a duplicate content problem which I almost guarantee you they have, what you can actually do is you can go into search console, look for the URL of the page that you think is being ignored that Google's not indexing, inspect that URL inside a search console and if the user declared canonical it's actually different than the Google selected canonical when you definitely have a duplicate content issue and you need to get rid of those duplicate pages or you need to truly differentiate the content on those pages. Again, simple and concept very difficult in practice. So there are some ways that you can kind of build differentiation into your site's HTML footprint. It's probably not gonna be enough if the only thing you're doing is changing how you spell things like color or personalization but there are some things you can do that are kind of considered best practice. One is append the country name to your title tags. So in this case I'm looking at home pages so the brand name is front loaded. A lot of times you will actually append this to the end of the title tag so that way you can still keep like your SEO keywords inside the title tags but in this case we're looking at home pages so you can see Disney.com as just Disney.com but Disney UK actually has Disney UK in the title tag. It's a really easy low brow way to kind of add a little bit of differentiation between the content. Next step is do a little bit of local SEO. Add your name, address, phone number or your NAP to the flitter. It's a really good strong signal for all those pages that this content is actually meant for users in the UK or it's meant for users in Australia. If you actually have those local addresses I would highly suggest you use them and also don't forget things too like linking to your local social handles. If you have a Japanese specific Twitter then you should actually link to that from the Japan site. Don't link to your English Twitter handle. All of these are small signals that kind of add up and help like clarify your country targeting to Google. So these are small and easy low brow ways to kind of add a little bit more context to Google for who you're trying to target. My last one, this is actually one of my favorites. You can't do this for every page but one of my favorite things to do is to actually add local vendors and reviews. It's kind of like a mix between Crow and SEO because it's nice. In this case I'm using Square. The vendors that we chose were Shake Shack, Ben and Jerry's, Caviar. These are all local United States-based businesses. It adds a little bit more context to the page. Google knows that this is a US-based entity but in this case it also helps us enrich the page while it helps people convert as well. So this is like one of my favorite ways to differentiate the content just because I think there's a lot of value from both an SEO perspective and from a technical SEO and targeting perspective too. And Crow. Okay, and next up, the perfect international IA. If I were to start any site over again and the reality is this is very rare you guys. A lot of sites aren't international to begin with, right? A lot of times when you come in, you're coming into Queen House and to help fix things because a lot of times people don't start building the perfect international IA from the start. But if you were, what would like a happy path look like? And this is something I think if it was everything was like this, Googlebot would not be able to screw it up. The most important thing when you first start doing an international site is you have to think, how are we gonna create these unique URLs, right? You have the choice between three different options. You can do a CCT LD or top level domain. So this example would be like your website.ca or your website.uk or whatever. And that's a really good way if you want to have something feel like very local and endemic to the user base. The next one is a subfolder. This one's also pretty popular. Basically just adding country as a subfolder just like you would like a category page or any other IA on your site. And the next one's a subdomain. So in this case for Canada, maybe it's like ca.yourwebsite.com. And so there's pros and cons to each. So the pros of a CCT LD, again, feels really endemic to the user. That's gonna be a domain that they can address because they're like, oh, that's coming from where I live. And the cons are it's its own site. So it's expensive to deploy and maintain. It's also treated as its own domain. You don't get the kind of value of being on this one site. Everything is consolidated. All the link equities consolidated on one site. So it could take a little bit longer to grow at start. Next up is subfolder. This is honestly the easiest implementation. You only have one search console account to set up. You don't have to have a separate domain registration. You can really just do a lot of like the backend SEO data work yourself. But you don't have an ability to fully localize URLs a lot of times, which could kind of like hurt quit the rate if you're dealing with like some mode trust country. The last one is a subdomain, much like the CCT LD. It's pretty much treated as its own domain. I guess it's nice because it doesn't require, you know, a separate domain registration. You could create a domain property in GSC, but it's still kind of fundamentally its own domain. So it's expensive to deploy and maintain. And it's also going to take a little bit longer to grow because Google is kind of treating it as its own site. It doesn't get a ride on the coattails of your US based site. My personally, I think the Goldilocks solution is honestly the subfolder solution. It's easier to implement. You also only have like one service to maintain versus like, you know, many other services and servers and different GSC verifications, et cetera. And the main trade-off is sometimes the URLs don't feel super endemic to the country again. Next up, let's talk about URL structures. So once you have your kind of geographical structure, country structure, how are you going to think about your URLs? So my favorite thing to do is actually lead with the country folder in the slug, if you guys are using one, use ISO codes because that's really important because it helps follow web norms. It helps, you know, again, take away a little bit of the guesswork for Google. If you ever use things, if you ever like delineate or use a hyphen between your country and language, it's really important that you're using hyphens in your URLs and not underscores, which can kind of catch up some of the old like antiquated blocks of it. So my first suggestion is lead with country and the slug. This makes it a lot easier to do any kind of like data warehousing projects if you ever want to, you know, stitch back together your Canada data. It also makes it a lot easier in addition to doing analytics. I'm doing things like a search console submission. You know, one of the things I really like doing is adding all of my country subfolders to search console and target them in GSC. That's going to be a lot more difficult if country is not leading any URL slugs. So use your country first. And, you know, honestly, one or two folders, it's all good. A lot of times people are scared to add a extra folder. Like in this case, I'm targeting English speaking Canadians. It's fine to honestly use a hyphen in between the country or language inside your URL or to have two folders, one for the country, one for the language. A lot of times people get scared of adding that folder. They're like, if I add the folder, it's farther away from the homepage. That's very more like causation correlation. Most important thing is internal links and having the right on-page optimization, technical excellence, et cetera. How many folders is something in the URL or deep down it is in the URL structure of your site is not a real consideration. So again, one or two folders, all good. If you're doing language only targeting too, I would highly suggest adding a subfolder ahead of that language. This is mostly for analytics. And so this way, when you guys do analytics, if you wanna look at the performance of all of those little language pages, then this way you have something to actually look for to like perform projects as on. In this case, I chose Lang, it could be L, it could be anything you honestly want it to be. Again, don't be afraid of adding this extra folder. It really helps from a data warehousing perspective. Next up, use ISO codes. There are standard ways to abbreviate languages and as well as countries. So in this case, I am looking at Adobe who suffers from quite a bit of international SEO issues as well and you can see that sometimes they use the ISO code to designate the country in the URL. In this case, you know, you have Adobe for IE, I have like Nina as being a country and the other box, now I'm targeting Africa. This is really kind of like all over the place as far as like the URL structure. And the problem with that is that now you've lost, again, an additional signal that Google could have used to try to understand what's part of your website is trying to target what country. So now you've made one signal a little bit darker for them and you're allowing them to make up like more inferences which generally doesn't tend to work in your favor. So use ISO, don't avoid these kind of like unnatural URL patterns. It's just adds one more difficulty for Google to pick up what it is you're trying to actually do with your site. And delivering distribution. This is a really important part of having an international site. How do you suggest getting a CDN? This is really critical for global performance because now when a user does a request, they're getting the site from a server that's close to them. Also, think about mobile first. The reality is in the US, a lot of people have desktops, they have laptops, but a lot in other countries, a lot of people just have a mobile device. And a lot of times that's not even an iPhone. It could be an Android or an older version of an iPhone. So it's really important to not discount the prevalence of things like Android and not having a desktop. And lastly, optimize for your slowest market. Your speed is often determined by your floor, not your ceiling. If you're based in the United States, you might have very, very good bandwidth depending on where you are. But if you're based somewhere else where maybe there's a different connection or an older multiple phone, you don't actually have the same experience that you do in the US consuming your site. Take this as an example. We're gonna compare the Stripe homepage to the Stripe homepage for the UAE. And you can see vastly different experiences for some of the core web biometrics like first contentful paint and largest contentful paint, first inputs away, very, very different experiences, even though these are technically supposed to be the same site. And lastly, as I catch all, a lot of times people will try to, have these little models pop up, but like if they notice that the URL you're trying to request doesn't actually match the country code you're in. And so in this case, I am on the square Australia site. It's telling me, hey, you're trying to request Australia, but it looks like you're in the US. This is something that's definitely actually best practice just to suggest people to redirect them, but you don't want to force them again. Remember, Googlebot comes from the US. So it's really important that you don't force people based off their IP. And lastly, add all country folders to search console. So again, this goes back to starting with country in your URL. It'll make this a lot easier. Add all of your country subfolders into search console and then target them using international targeting. Here I'm targeting towards the United States. You know what, that's a lot to recap. We talked about a lot of things, including hreflang. Are you a country agnostic or a country specific site? Do your URLs use ISO codes for language and start with country in this log? Are you using hyphen URLs? There's a lot of things that you can actually mess up when you're doing internationalization at scale. And so because that's a lot to remember, I made a checklist for you guys in a sheet. You guys can check it out at bit.ly or slash Jackie Moscon to see everything you guys are gonna learn in one place. And some last tips for you guys. So one of the kind of low-hanging fruit ways to localize content and also increase conversions like how endemic a site feels to its users is to actually update the photos and especially if they're photos of people. So in this case, we're looking at Louis Vuitton in Japan. So you can see that they've updated a few of the images on their homepage to make it feel a little bit more endemic to users. This really helps improve perception and also provides an extra opportunity for you to add unique content that's actually local to that region. Or you can just be Dior and just not show anyone else. This is Dior in Korea, but that's not a problem because all the showing is back. And don't be afraid of different layouts. Here is an example of UniGlo in Japan versus the US. You can see they actually use vastly different layouts. And this is nice because it's really differentiating the content even though a lot of the languages are the same. One of your best friends when they were doing SEO is to see what already ranks in SERPs. So in this case, I'm looking at a top log that is a really common, kind of like Yelp for Japan. Really common there. And you can see that they're actually using these like thick, thick kind of square brackets inside of the SERPs. This is a really common pattern that you actually see inside mostly Japan and it's really, really effective from a garnering click-through perspective. So look for any unique trends in SERPs that you can use to differentiate the content. And extra credit, if you really just have all the engineering resources in the world and it's not a problem for you, you can actually translate the URLs as well. So if looking at this, I'm looking at square, we did not do that. And so you can see, I see a lot of English metadata, meta title, meta description, but my actual URL is still in English. That can be like a little weird to see if I'm not actually a native English speaker. So if you want some extra credit and you have a lot of engineers, that's also an opportunity for you to like really localize that content. And this is my last and most favorite tip. I didn't talk at all about translation, which is an inevitable part of doing international SEO, but this is something that has made my life infinitely easier. My Google Sheets translation hack. Okay, so inside of Google Sheets, if you have a list of keywords, you can actually do this function and it's amazing. So you just do equals, Google translate, A2, like in this case, I'm like selecting myself, then I have the origin language. So like, let's say like, whatever I have like my language list, like dog, cat, et cetera. And what do I want my destination language to be? What do I want this to be translated to? So here I'm saying translate A2 from English into Spanish. So here I have dog, cat, mom. I want my destination language to be ES. So you can see I'm creating my formula. I'm like, please translate all this. It's my favorite. You can also update that and actually say auto instead of EM. You don't have to actually tell them what the origin language is. They can figure it out. That usually works, it's not perfect. So no promises there, but that's also an option for you if you like. And that's it. Hope you guys learned a lot about international SEO and I will catch you guys next time. Thanks.