{"id":9153,"date":"2018-09-28T09:32:45","date_gmt":"2018-09-28T07:32:45","guid":{"rendered":"https:\/\/www.makingscience.com\/blog\/introduccion-a-las-expresiones-regulares-en-seo\/"},"modified":"2018-09-28T09:32:45","modified_gmt":"2018-09-28T07:32:45","slug":"introduccion-a-las-expresiones-regulares-en-seo","status":"publish","type":"post","link":"https:\/\/www.makingscience.com\/es\/blog\/introduccion-a-las-expresiones-regulares-en-seo\/","title":{"rendered":"Introducci\u00f3n a las expresiones regulares en SEO"},"content":{"rendered":"<div>Introducci\u00f3n a las expresiones regulares en SEO<\/div>\n<div><strong>\u00bfQu\u00e9 son y para qu\u00e9 sirven las expresiones regulares?<\/strong>  Las expresiones regulares, tambi\u00e9n conocidas como regex o expresi\u00f3n racional, son una secuencia de caracteres que crean un patr\u00f3n de b\u00fasqueda, y como tal nos proporcionan un m\u00e9todo eficaz y flexible de buscar y reconocer cadenas de texto.  Las expresiones regulares permiten: <\/p>\n<ul>\n<li>Analizar r\u00e1pidamente grandes cantidades de texto en busca de patrones de caracteres espec\u00edficos<\/li>\n<li>Extraer, editar, reemplazar o eliminar subcadenas de texto.<\/li>\n<li>Agregar cadenas extra\u00eddas a una colecci\u00f3n con la finalidad de generar un informe.<\/li>\n<\/ul>\n<p> Se convierten en muchos casos en una herramienta indispensable.  <strong>Expresiones regulares en SEO<\/strong>  En SEO las expresiones regulares pueden ser de gran utilidad. Con su uso podemos definir un patr\u00f3n y encontrarlo r\u00e1pidamente en uno o varios documentos.  Hay un conjunto de herramientas SEO en el mercado que permiten el uso de Regex, entre las que podemos destacar: <\/p>\n<ul>\n<li>Crawlers o herramientas de rastreo: Screaming Frog y DeepCrawl entre otras.<\/li>\n<li>Google Analytics: podemos crear filtros personalizados para extraer tr\u00e1fico de determinadas p\u00e1ginas.<\/li>\n<li>Google Sheet: en las propias hojas de c\u00e1lculo de Google podemos hacer uso de la sintaxis =REGEXTRACT para extraer datos de cadenas de URLs entre otros usos.<\/li>\n<\/ul>\n<p> <strong>Algunas expresiones regulares b\u00e1sicas<\/strong>  Profundizando un poco en este apartado, os mostramos un conjunto de expresiones regulares muy \u00fatiles en SEO, que son bastante eficaces y nos ahorran mucho trabajo sobre todo cuando: tenemos que extraer una informaci\u00f3n concreta en varios documentos de un site, o cuando un determinado sitio web es tan grande, que realizar un rastreo completo es una pesadilla, y optamos por rastrear un path concreto o excluir algunos.  Para ello a continuaci\u00f3n os mostramos algunos ejemplos sobre el uso de expresiones regulares (regex) en herramientas de crawl como Screaming Frog: <\/p>\n<ul>\n<li>Si desde nuestro blog <u><a href=\"https:\/\/www.makingscience.com\/\">https:\/\/www.makingscience.com\/<\/a><\/u>, queremos <strong>rastrear p\u00e1ginas que contengan \u00fanicamente el path &#8216;\/&#8217; en la ruta de la URL<\/strong>, con Screaming podemos ir al men\u00fa superior y seleccionar\u00a0 \u201c<strong>Configuration<\/strong>\u201d \u2013 \u201c<strong>Include<\/strong>\u201d e incluimos dentro de la funci\u00f3n &#8216;Incluir\u201d, la siguiente expresi\u00f3n regular: <strong>.*\/.*<\/strong><\/li>\n<\/ul>\n<p> Como resultado s\u00f3lo se rastrear\u00e1n las URLs que contengan dicho path, tal y como se puede observar en las siguientes im\u00e1genes:<\/p><\/div>\n<div><img decoding=\"async\" src=\"\/wp-content\/uploads_old\/2018\/09\/Imagen1.png\"\/><\/div>\n<div>Por lo tanto, ya sabemos que todos aquellos caracteres que aparezcan entre los signos \u201c.*\u201d ser\u00e1n los que estamos indicando que aparezcan en la ruta de URLs que se pretende rastrear.<\/div>\n<div>Otra manera de especificar esta expresi\u00f3n, sobre todo cuando el path que queremos rastrear aparece justo despu\u00e9s del dominio, es incluirlo de la siguiente manera:  <strong>https:\/\/www.makingscience.com\/:*<\/strong><\/div>\n<div><img decoding=\"async\" src=\"\/wp-content\/uploads_old\/2018\/09\/Imagen2.png\"\/><\/div>\n<div><span style=\"font-weight: 400;\">Si queremos seleccionar \u00fanicamente URLs que contienen un par\u00e1metro determinado, podemos utilizar las siguientes expresiones:<\/span><\/div>\n<div><img decoding=\"async\" src=\"\/wp-content\/uploads_old\/2018\/09\/4-1.png\"\/><\/div>\n<div>\n<ul>\n<li>Si por el contrario, <strong>nos interesa descartar un conjunto de URLs en el crawl,<\/strong> desde el men\u00fa de Screaming vamos a \u201c<strong>Configuration<\/strong>\u201d &#8211; \u201c<strong>Exclude<\/strong>\u201d, y al igual que en el caso anterior, especificamos con regex qu\u00e9 path no queremos que aparezca. Y aquellas URLs que coincida con la exclusi\u00f3n indicada no aparecer\u00e1 en el rastreo directamente. Algunos casos de uso los podemos encontrar a continuaci\u00f3n:<\/li>\n<li>Para excluir el subdirectorio o path \u201c\/\u201d de nuestro blog: <u><a href=\"https:\/\/www.makingscience.com\/\">https:\/\/www.makingscience.com\/<\/a><\/u>, hay que incluir la siguiente sintaxis en la funci\u00f3n \u201c<strong>Exclude<\/strong>\u201d: \u00a0<strong><em>https:\/\/www.makingscience.com\/.*<\/em><\/strong><\/li>\n<\/ul>\n<\/div>\n<div><img decoding=\"async\" src=\"\/wp-content\/uploads_old\/2018\/09\/Imagen3.png\"\/><\/div>\n<div><img decoding=\"async\" src=\"\/wp-content\/uploads_old\/2018\/09\/Imagen4\u00b4.png\"\/><\/div>\n<div><img decoding=\"async\" src=\"\/wp-content\/uploads_old\/2018\/09\/Imagen5.png\"\/><\/div>\n<div>\n<ul>\n<li>Para excluir una carpeta o path, que aparece intercalada entre carpetas previas, utilizamos la siguiente expresi\u00f3n: <strong><em>https:\/\/www.dominio.com\/.*\/example-path.*<\/em><\/strong><\/li>\n<\/ul>\n<p> Por ejemplo en la siguiente imagen mostramos c\u00f3mo podr\u00edamos excluir del rastreo todas las URLs que formen parte de la carpeta \u201c\/seo-social-media\/\u201d<\/p><\/div>\n<div><img decoding=\"async\" src=\"\/wp-content\/uploads_old\/2018\/09\/Imagen6.png\"\/><\/div>\n<div>\n<ul>\n<li>Si queremos excluir del rastreo todas las im\u00e1genes que aparecen en nuestro site, la expresi\u00f3n regular ser\u00eda similar a: <strong><em>.*jpg$<\/em><\/strong><\/li>\n<\/ul>\n<\/div>\n<div><img decoding=\"async\" src=\"\/wp-content\/uploads_old\/2018\/09\/Imagen7.png\"\/><\/div>\n<div>Y en la siguiente imagen se puede observar que al descartarse las im\u00e1genes, no se ha rastreado ninguna en Screaming:<\/div>\n<div><img decoding=\"async\" src=\"\/wp-content\/uploads_old\/2018\/09\/Imagen8.png\"\/><\/div>\n<div>\n<ul>\n<li>Si queremos excluir p\u00e1ginas que contengan alg\u00fan t\u00e9rmino concreto en la URL como por ejemplo \u201cdesarrollador\u201d, la expresi\u00f3n regex ser\u00eda: <strong><em>.*desarrollador.*<\/em><\/strong><\/li>\n<\/ul>\n<\/div>\n<div><img decoding=\"async\" src=\"\/wp-content\/uploads_old\/2018\/09\/Imagen9.png\"\/><\/div>\n<div>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Si nos interesa excluir las URLs que contengan el protocolo de seguridad (HTTPS), la expresi\u00f3n regular ser\u00eda: <strong><em>.*https.* <\/em><\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p> Y si queremos excluir todas las p\u00e1ginas con HTTP, el regex ser\u00eda: <strong><em>http:\/\/www.dominio.com\/.*<\/em><\/strong><\/div>\n<div><img decoding=\"async\" src=\"\/wp-content\/uploads_old\/2018\/09\/Imagen11.png\"\/><\/div>\n<div>\n<ul>\n<li>Por poner un ejemplo del uso de una expresi\u00f3n regular m\u00e1s compleja, si tenemos agrupados en Google Sheet un listado de URLs pertenecientes a distintos dominios, y queremos extraer \u00fanicamente del mismo los dominios, podemos hacer uso de la siguiente sintaxis:<\/li>\n<\/ul>\n<p> <strong><em>=REGEXEXTRACT(A2;\u00bb^(?:https?:\\\/\\\/)?(?:[^@\\n]+@)?(?:www\\.)?([^:\\\/\\n]+)\u00bb)<\/em><\/strong>  A continuaci\u00f3n, especificamos un ejemplo con el uso de esta sintaxis en Google Sheet, pero con URLs de nuestro propio blog, para que pod\u00e1is ver el resultado del proceso:<\/div>\n<div><img decoding=\"async\" src=\"\/wp-content\/uploads_old\/2018\/09\/Imagen1-1.png\"\/><\/div>\n<div><strong>Hoja de trucos de expresiones regulares<\/strong>  Las expresiones regulares pueden ser m\u00e1s complejas, dependiendo de los patrones que nos interese extraer. Por ello, en la siguiente tabla podr\u00e9is <strong>encontrar una hoja de trucos (<em>cheat sheet<\/em>)<\/strong>, que servir\u00e1 como aprendizaje para familiarizarse con los metacaracteres que m\u00e1s se utilizan en regex, y que nos permitir\u00e1n crear expresiones \u00fatiles que nos ahorren tiempo:<\/div>\n<div><img decoding=\"async\" src=\"\/wp-content\/uploads_old\/2018\/09\/imagen13-1.png\"\/><\/div>\n<div><img decoding=\"async\" src=\"\/wp-content\/uploads_old\/2018\/09\/14.png\"\/><\/div>\n<div><strong>Fuentes:<\/strong> <\/p>\n<ul>\n<li><u><a href=\"https:\/\/www.cheatography.com\/davechild\/cheat-sheets\/regular-expressions\/\" rel=\"nofollow noopener\" target=\"_blank\">https:\/\/www.cheatography.com\/davechild\/cheat-sheets\/regular-expressions\/<\/a><\/u><\/li>\n<li><a href=\"https:\/\/docs.microsoft.com\/es-es\/dotnet\/standard\/base-types\/regular-expressions\" rel=\"nofollow noopener\" target=\"_blank\">https:\/\/docs.microsoft.com\/es-es\/dotnet\/standard\/base-types\/regular-expressions<\/a><\/li>\n<li><u><a href=\"https:\/\/www.screamingfrog.co.uk\/seo-spider\/user-guide\/configuration\/\" rel=\"nofollow noopener\" target=\"_blank\">https:\/\/www.screamingfrog.co.uk\/seo-spider\/user-guide\/configuration\/<\/a><\/u><\/li>\n<li><u><a href=\"https:\/\/support.google.com\/a\/answer\/1371415?hl=es\" rel=\"nofollow noopener\" target=\"_blank\">https:\/\/support.google.com\/a\/answer\/1371415?hl=es<\/a><\/u><\/li>\n<li><u><a href=\"https:\/\/docs.oracle.com\/javase\/8\/docs\/api\/java\/util\/regex\/Pattern.html\" rel=\"nofollow noopener\" target=\"_blank\">https:\/\/docs.oracle.com\/javase\/8\/docs\/api\/java\/util\/regex\/Pattern.html<\/a><\/u><\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n a las expresiones regulares en SEO \u00bfQu\u00e9 son y para qu\u00e9 sirven las expresiones regulares? Las expresiones regulares, tambi\u00e9n conocidas como regex o expresi\u00f3n racional, son una secuencia de caracteres que crean un patr\u00f3n de b\u00fasqueda, y como tal nos proporcionan un m\u00e9todo eficaz y flexible de buscar y reconocer cadenas de texto. Las [&hellip;]<\/p>\n","protected":false},"author":21,"featured_media":9154,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[27],"tags":[37],"class_list":["post-9153","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-advertising","tag-seo"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.makingscience.com\/es\/wp-json\/wp\/v2\/posts\/9153","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.makingscience.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.makingscience.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.makingscience.com\/es\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.makingscience.com\/es\/wp-json\/wp\/v2\/comments?post=9153"}],"version-history":[{"count":0,"href":"https:\/\/www.makingscience.com\/es\/wp-json\/wp\/v2\/posts\/9153\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.makingscience.com\/es\/wp-json\/wp\/v2\/media\/9154"}],"wp:attachment":[{"href":"https:\/\/www.makingscience.com\/es\/wp-json\/wp\/v2\/media?parent=9153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.makingscience.com\/es\/wp-json\/wp\/v2\/categories?post=9153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.makingscience.com\/es\/wp-json\/wp\/v2\/tags?post=9153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}