{"id":3174,"date":"2016-04-26T01:35:30","date_gmt":"2016-04-25T23:35:30","guid":{"rendered":"https:\/\/www.mjcachon.com\/?p=3174"},"modified":"2022-07-12T12:11:22","modified_gmt":"2022-07-12T10:11:22","slug":"hreflang-screaming-frog","status":"publish","type":"post","link":"https:\/\/laikateam.com\/blog\/hreflang-screaming-frog\/","title":{"rendered":"Revisando el hreflang con Screaming Frog"},"content":{"rendered":"<p>Seguimos con contenidos de \u00abla rana\u00bb, esta vez para contar como podemos seguir el marcado hreflang de un proyecto.<br \/>Ya sab\u00e9is que Google nos recomienda marcar con hreflang proyectos internacionales, para indicar el idioma de cada versi\u00f3n, y cuando procede, si existe una orientaci\u00f3n geogr\u00e1fica de pa\u00eds.<br \/>Dicho esto, es muy habitual\u00a0que cualquier\u00a0proyecto por sencillo que sea, tenga espa\u00f1ol e ingl\u00e9s como idiomas de base, y cada idioma, sus urls propias, con el contenido especificado en su correspondiente idioma.<br \/>Y por tanto, cada url deber\u00eda contener, como m\u00ednimo, dos anotaciones idiom\u00e1ticas: una que la autoreferencie y otra a su contenido equivalente o alternativo en el otro idioma.<br \/>As\u00ed tendr\u00edamos:<\/p>\n<ul>\n<li>Url ES: http:\/\/es.dominio.com<\/li>\n<li>Url EN:\u00a0http:\/\/en.dominio.com<\/li>\n<\/ul>\n<p>Donde podr\u00edamos marcar as\u00ed:<\/p>\n<pre><code>&lt;link rel=\"alternate\" hreflang=\"es\" href=\"http:\/\/es.dominio.com\" \/&gt;\n<\/code><\/pre>\n<pre><code>&lt;link rel=\"alternate\" hreflang=\"en\" href=\"http:\/\/en.dominio.com\" \/&gt;<\/code><\/pre>\n<p>Si tenemos una p\u00e1gina principal para seleccionar los idiomas o pa\u00edses, o bien, la home se redirige autom\u00e1ticamente a una url de idioma podemos hacer uso del marcado x-default<\/p>\n<pre><code>link rel=\"alternate\" href=\"http:\/\/es.example.com\/\" hreflang=\"x-default\"\/&gt;<\/code><\/pre>\n<p>Esta anotaci\u00f3n debe ser bidireccional entre urls y la podemos hacer:<\/p>\n<ul>\n<li>En el c\u00f3digo fuente<\/li>\n<li>En los sitemaps<\/li>\n<li>En la cabecera HTTP<\/li>\n<\/ul>\n<p>Hasta aqu\u00ed, \u00a1nada nuevo!<br \/>(Puedes leer la documentaci\u00f3n oficial tranquilamente <a href=\"https:\/\/support.google.com\/webmasters\/answer\/189077?hl=es\" target=\"_blank\" rel=\"noopener noreferrer\">aqu\u00ed<\/a>, pero proyectos hay muchos y esto se puede complicar much\u00ediiiiiisimo seg\u00fan el tama\u00f1o, los idiomas y los pa\u00edses que tengamos&#8230;)<\/p>\n<h2>C\u00f3mo saber qu\u00e9 urls tienen o no tienen marcado hreflang con Screaming Frog<\/h2>\n<p>Vamos a usar Screaming Frog para chequear todas las urls de un site y saber si est\u00e1n usando el marcado hreflang o no.<br \/>Podemos hacerlo de dos formas<\/p>\n<ul>\n<li>Crawleo completo usando Custom Search<\/li>\n<li>Crawleo en modo lista usando Custom Search<\/li>\n<\/ul>\n<p>Vamos a explicar precisamente como configurar la opci\u00f3n Custom, indistintamente de el modo de crawleo\u00a0que elijamos para analizar las urls<br \/>Lo primero es ir\u00a0Configuraci\u00f3n &gt; Custom &gt; Search<br \/><img class=\"alignnone wp-image-3176\" src=\"https:\/\/laikateam.com\/blog\/wp-content\/uploads\/2020\/10\/custom-search-screaming-frog.png\" alt=\"custom search screaming frog\" width=\"261\" height=\"220\" \/><br \/>Y tendremos la opci\u00f3n de rellenar hasta 10 filtros, con la opci\u00f3n de \u00abcontiene\u00bb o \u00abno contiene\u00bb. Estos filtros, para Screaming Frog, es una instrucci\u00f3n tal que \u00abbusca si existen (o no) coincidencias en el c\u00f3digo fuente de las urls que crawlees\u00bb<br \/>En este caso vamos a usarlo para buscar los marcados hreflang, pero imaginad que guay ser\u00eda, otro ejemplo como, buscar si est\u00e1 el c\u00f3digo analytics en todas las p\u00e1ginas, despu\u00e9s de migrar&#8230;<br \/>Yo suelo poner un \u00abcontiene\u00bb y \u00abno contiene\u00bb, del mismo elemento que busco, as\u00ed se donde est\u00e1 y donde no, al mismo tiempo.<br \/>Con hreflang, con el ejemplo que dec\u00edamos, quedar\u00eda as\u00ed:<br \/><img class=\"alignnone wp-image-3175\" src=\"https:\/\/laikateam.com\/blog\/wp-content\/uploads\/2020\/10\/search-custom-screaming-hreflang-1024x490.png\" alt=\"search custom screaming hreflang\" width=\"725\" height=\"347\" \/><br \/>Despu\u00e9s de que termine Screaming, tendremos la informaci\u00f3n en el interfaz habitual que conocemos, si queremos llegar al atajo m\u00e1s r\u00e1pido, podemos usar el panel derecho, scroll y pesta\u00f1as, hasta llegar a Custom y los filtros que hemos puesto:<br \/><img class=\"alignnone wp-image-3178\" src=\"https:\/\/laikateam.com\/blog\/wp-content\/uploads\/2020\/10\/panel-custom-search.png\" alt=\"panel custom search\" width=\"362\" height=\"204\" \/><br \/>\u00a0<br \/>Ya de un vistazo vemos d\u00f3nde est\u00e1 y donde no, del total de urls con un porcentaje del total, que siempre es \u00fatil<br \/>Por supuesto, podremos exportar toda la informaci\u00f3n, filtro a filtro, en csv o excel, tanto desde el panel central, como desde la opci\u00f3n Bulk Export &gt; Custom &gt; Filtro que queramos<br \/><img class=\"alignnone wp-image-3179\" src=\"https:\/\/laikateam.com\/blog\/wp-content\/uploads\/2020\/10\/bulk-export-custom-search.png\" alt=\"bulk export custom search\" width=\"322\" height=\"166\" \/><\/p>\n<h2>C\u00f3mo extraer\u00a0qu\u00e9 urls tienen o no tienen marcado hreflang con Screaming Frog<\/h2>\n<p>Tambi\u00e9n podemos\u00a0usar Screaming Frog para extraer todas las urls de un site con su\u00a0marcado hreflang.<br \/>Cuando trabajamos con clientes, podemos hacer la extracci\u00f3n al inicio del an\u00e1lisis y luego comprobar con Custom Search, si nuestra recomendaci\u00f3n ya est\u00e1 implementada en el c\u00f3digo o no.<br \/>Como antes, el crawleo y la extracci\u00f3n podemos ejectuarla de dos formas<\/p>\n<ul>\n<li>Crawleo completo usando Custom\u00a0Extraction<\/li>\n<li>Crawleo en modo lista usando Custom\u00a0Extraction<\/li>\n<\/ul>\n<p>La idea es indicar los campos que queremos extraer, con los m\u00e9todos que nos da Screaming, y capturar el html que nos interesa, para chequear que el marcado hreflang es correcto o no.<br \/>Lo primero es ir\u00a0Configuraci\u00f3n &gt; Custom &gt;\u00a0Extraction<br \/>Y tendremos la opci\u00f3n de rellenar hasta 10 extractores, mediante varios tipos de instrucciones:<br \/><img class=\"alignnone wp-image-3180\" src=\"https:\/\/laikateam.com\/blog\/wp-content\/uploads\/2020\/10\/tipos-de-extractores-de-screaming.png\" alt=\"tipos de extractores de screaming\" width=\"401\" height=\"426\" \/><\/p>\n<ul>\n<li>CssPath:\u00a0los selectores son los patrones utilizados para seleccionar los elementos, y seg\u00fan Screaming Frog, son a menudo el m\u00e9todo m\u00e1s r\u00e1pido para la extracci\u00f3n. Adem\u00e1s de los\u00a0selectores CSS puede incluir el campo\u00a0atributo como opcional.<\/li>\n<li>Xpath:\u00a0son consultas que\u00a0analizan\u00a0los nodos de un documento XML como por ejemplo HTML. Esta opci\u00f3n usa selectores y atributos para capturar los datos.<\/li>\n<li>Regex:\u00a0una cadena especial de texto que se utiliza para hacer coincidir patrones con\u00a0los datos. Este es uso m\u00e1s\u00a0avanzado de todos.<\/li>\n<\/ul>\n<p>Yo suelo usar xpath para extraer el html exacto, siguiendo el ejemplo del hreflang, quedar\u00eda tal que as\u00ed:<br \/><img class=\"alignnone wp-image-3181\" src=\"https:\/\/laikateam.com\/blog\/wp-content\/uploads\/2020\/10\/extractor-hreflang-1024x434.png\" alt=\"extractor hreflang\" width=\"816\" height=\"346\" \/><br \/>Lo que pongamos como nombre de campo, en vez de Extractor 1 y Extractor 2, es el nombre del campo que veremos en la interfaz y en el informe posterior que descarguemos.<br \/><img class=\"alignnone wp-image-3182\" src=\"https:\/\/laikateam.com\/blog\/wp-content\/uploads\/2020\/10\/resultado-extraction-screaming.png\" alt=\"resultado extraction screaming\" width=\"254\" height=\"417\" \/><br \/>Ahora podemos extraer la informaci\u00f3n completa de varias formas:<\/p>\n<ul>\n<li>Desde el panel \/ pesta\u00f1a de Extraction y \u00abExport\u00bb<\/li>\n<li>Desde Bulk Export &gt; Custom &gt; Extraction Inlinks<\/li>\n<li>Desde Internal All, es interesante tener la informaci\u00f3n de meta etiquetas, canonical, robots, etc, junto con la de hreflang, para confirmar que todo en conjunto, es correcto y no hay conflictos<\/li>\n<\/ul>\n<p>Pues nuevamente, nuestra querida rana Screaming Frog, vuelve a nuestro rescate para hacernos la vida m\u00e1s f\u00e1cil&#8230;<br \/>Y a vosotros, \u00bfse os ocurren otras formas o herramientas con las que acelerar comprobaciones masivas de hreflang?<\/p>\n<p>M\u00e1s contenidos sobre Screaming Frog:<\/p>\n\n\n<a href=\"https:\/\/rana.ninja\/como-comprobar-si-hay-contenido-duplicado\/\">Analizar contenido duplicado con Screaming Frog<\/a><br>\n<a href=\"https:\/\/rana.ninja\/como-encontrar-paginas-huerfanas\"\/>P\u00e1ginas hu\u00e9rfanas con Screaming Frog<\/a>\n","protected":false},"excerpt":{"rendered":"<p>Seguimos con contenidos de \u00abla rana\u00bb, esta vez para contar como podemos seguir el marcado hreflang de un proyecto.Ya sab\u00e9is que Google nos recomienda marcar con hreflang proyectos internacionales, para indicar el idioma de cada versi\u00f3n, y cuando procede, si existe una orientaci\u00f3n geogr\u00e1fica de pa\u00eds.Dicho esto, es muy habitual\u00a0que cualquier\u00a0proyecto por sencillo que sea,<\/p>\n","protected":false},"author":2,"featured_media":6578,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v16.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Revisando el hreflang con Screaming Frog - LaikaTeam<\/title>\n<meta name=\"description\" content=\"Podemos usar Custom Search o Custom Extraction de Screaming Frog, para chequear en bulk todo el marcado hreflang de las urls de un sitio\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/laikateam.com\/blog\/hreflang-screaming-frog\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Revisando el hreflang con Screaming Frog - LaikaTeam\" \/>\n<meta property=\"og:description\" content=\"Podemos usar Custom Search o Custom Extraction de Screaming Frog, para chequear en bulk todo el marcado hreflang de las urls de un sitio\" \/>\n<meta property=\"og:url\" content=\"https:\/\/laikateam.com\/blog\/hreflang-screaming-frog\/\" \/>\n<meta property=\"og:site_name\" content=\"LaikaTeam\" \/>\n<meta property=\"article:published_time\" content=\"2016-04-25T23:35:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-12T10:11:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/laikateam.com\/blog\/wp-content\/uploads\/2016\/04\/hreflang-screaming-frog.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@laikateam_es\" \/>\n<meta name=\"twitter:site\" content=\"@laikateam_es\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/laikateam.com\/blog\/#organization\",\"name\":\"Laika\",\"url\":\"https:\/\/laikateam.com\/blog\/\",\"sameAs\":[\"https:\/\/www.instagram.com\/laika_team\",\"https:\/\/www.linkedin.com\/company\/laika-team\/\",\"https:\/\/twitter.com\/laikateam_es\"],\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/laikateam.com\/blog\/#logo\",\"inLanguage\":\"es\",\"url\":\"https:\/\/laikateam.com\/blog\/wp-content\/uploads\/2021\/06\/logo-laika.png\",\"contentUrl\":\"https:\/\/laikateam.com\/blog\/wp-content\/uploads\/2021\/06\/logo-laika.png\",\"width\":318,\"height\":350,\"caption\":\"Laika\"},\"image\":{\"@id\":\"https:\/\/laikateam.com\/blog\/#logo\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/laikateam.com\/blog\/#website\",\"url\":\"https:\/\/laikateam.com\/blog\/\",\"name\":\"LaikaTeam\",\"description\":\"Strategic &amp; SEO Consulting\",\"publisher\":{\"@id\":\"https:\/\/laikateam.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/laikateam.com\/blog\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"es\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/laikateam.com\/blog\/hreflang-screaming-frog\/#primaryimage\",\"inLanguage\":\"es\",\"url\":\"https:\/\/laikateam.com\/blog\/wp-content\/uploads\/2016\/04\/hreflang-screaming-frog.jpg\",\"contentUrl\":\"https:\/\/laikateam.com\/blog\/wp-content\/uploads\/2016\/04\/hreflang-screaming-frog.jpg\",\"width\":1920,\"height\":1080},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/laikateam.com\/blog\/hreflang-screaming-frog\/#webpage\",\"url\":\"https:\/\/laikateam.com\/blog\/hreflang-screaming-frog\/\",\"name\":\"Revisando el hreflang con Screaming Frog - LaikaTeam\",\"isPartOf\":{\"@id\":\"https:\/\/laikateam.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/laikateam.com\/blog\/hreflang-screaming-frog\/#primaryimage\"},\"datePublished\":\"2016-04-25T23:35:30+00:00\",\"dateModified\":\"2022-07-12T10:11:22+00:00\",\"description\":\"Podemos usar Custom Search o Custom Extraction de Screaming Frog, para chequear en bulk todo el marcado hreflang de las urls de un sitio\",\"breadcrumb\":{\"@id\":\"https:\/\/laikateam.com\/blog\/hreflang-screaming-frog\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/laikateam.com\/blog\/hreflang-screaming-frog\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/laikateam.com\/blog\/hreflang-screaming-frog\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/laikateam.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Revisando el hreflang con Screaming Frog\"}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/laikateam.com\/blog\/hreflang-screaming-frog\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/laikateam.com\/blog\/hreflang-screaming-frog\/#webpage\"},\"author\":{\"@id\":\"https:\/\/laikateam.com\/blog\/#\/schema\/person\/57bc6c6ac096e3437e2261bf39255923\"},\"headline\":\"Revisando el hreflang con Screaming Frog\",\"datePublished\":\"2016-04-25T23:35:30+00:00\",\"dateModified\":\"2022-07-12T10:11:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/laikateam.com\/blog\/hreflang-screaming-frog\/#webpage\"},\"wordCount\":941,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/laikateam.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/laikateam.com\/blog\/hreflang-screaming-frog\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/laikateam.com\/blog\/wp-content\/uploads\/2016\/04\/hreflang-screaming-frog.jpg\",\"articleSection\":[\"Herramientas\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/laikateam.com\/blog\/hreflang-screaming-frog\/#respond\"]}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/laikateam.com\/blog\/#\/schema\/person\/57bc6c6ac096e3437e2261bf39255923\",\"name\":\"MJ Cachon\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/laikateam.com\/blog\/#personlogo\",\"inLanguage\":\"es\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4f93a22677b533182414d91829674844?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4f93a22677b533182414d91829674844?s=96&d=mm&r=g\",\"caption\":\"MJ Cachon\"},\"sameAs\":[\"https:\/\/www.laikateam.com\/\"],\"url\":\"https:\/\/laikateam.com\/blog\/author\/mj-cachon\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/laikateam.com\/blog\/wp-json\/wp\/v2\/posts\/3174"}],"collection":[{"href":"https:\/\/laikateam.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/laikateam.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/laikateam.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/laikateam.com\/blog\/wp-json\/wp\/v2\/comments?post=3174"}],"version-history":[{"count":3,"href":"https:\/\/laikateam.com\/blog\/wp-json\/wp\/v2\/posts\/3174\/revisions"}],"predecessor-version":[{"id":6820,"href":"https:\/\/laikateam.com\/blog\/wp-json\/wp\/v2\/posts\/3174\/revisions\/6820"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/laikateam.com\/blog\/wp-json\/wp\/v2\/media\/6578"}],"wp:attachment":[{"href":"https:\/\/laikateam.com\/blog\/wp-json\/wp\/v2\/media?parent=3174"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/laikateam.com\/blog\/wp-json\/wp\/v2\/categories?post=3174"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/laikateam.com\/blog\/wp-json\/wp\/v2\/tags?post=3174"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}