Si trabajas en el mundo de SEO y más específicamente en estrategias de SEO Off Page, definir una estrategia de linkbuilding es uno de los pilares fundamentales para conseguir aumentar la autoridad de un sitio Web en Google.
Una vez ejecutada la estrategia de linkbuilding, el siguiente paso es conseguir que Google descubra esos enlaces y los indexe en su buscador. Esto es una tarea cada vez más difícil, ya que con las últimas Core Update así como el Helpful Content Update, Google es mucho más restrictivo a la hora de indexar contenidos.
Para ello, debes generar contenidos que aporten valor para el usuario y respondan a la intención de búsqueda, sino seguramente Google directamente no indexe esas URLs. Si en tu estrategia de linkbuilding generaste enlaces en perfiles de redes sociales, foros o webs 2.0, te habrás dado cuenta de la dificultad para indexar este tipo de backlinks, nada que ver con reseñas o notas de prensa que normalmente indexan rápidamente.
Llegado este punto, seguramente estés usando alguna herramienta de pago o comprobando manualmente si esos enlaces están indexados en Google, lo cual al final te cuesta dinero o tienes que invertir tiempo en ello. Para ahorrarte ese dinero o tiempo que estás invirtiendo, he creado un script en Python que directamente comprueba para un listado de URLs que le pasan con una hoja de cálculo si estás están indexadas en Google.
import time import openpyxl from openpyxl import * from selenium import webdriver from seleniumwire import webdriver from selenium.webdriver.firefox.options import Options from random import randrange, choice class IsIndexed(): def tearDown(self): self.driver.quit() def check_link(self,url): try: option = Options() option.headless = True \'\'\'\' #Configuración de proxies opcional proxies = [\"195.196.47.165:12345\",\"60.3.194.36:12345\",\"170.231.98.15:12345\",\"190.196.195.24:12345\",\"195.196.47.21:12345\"] proxy = choice(proxies) option = { \'proxy\': { \'http\': \'http://user:pass@\'+proxy+\':port\', \'https\': \'https://user:pass@\'+proxy+\':port\', \'no_proxy\': \'localhost,127.0.0.1\' # excludes }} self.driver = webdriver.Firefox(\'/Users/rafavillaplana/AppData/Local/Programs/Microsoft VS Code/bin\',seleniumwire_options=option) \'\'\' #Abrir el navegador con la URL de Google self.driver = webdriver.Firefox(\'/Users/rafavillaplana/AppData/Local/Programs/Microsoft VS Code/bin\',options=option) self.driver.maximize_window() self.driver.get(\"https://www.google.es/\") time.sleep(randrange(1,5)) #Aceptar las cookies element = self.driver.find_element_by_xpath(\"/html/body/div[2]/div[2]/div[3]/span/div/div/div/div[3]/div[1]/button[2]/div\") element.click() time.sleep(randrange(1,5)) #Insertar en el campo de búsqueda site:url element = self.driver.find_element_by_xpath(\"/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input\") element.send_keys(\"site:\"+url) time.sleep(randrange(1,5)) #Realizar click botón Buscar con Google element = self.driver.find_element_by_xpath(\"/html/body/div[1]/div[3]/form/div[1]/div[1]/div[4]/center/input[1]\") element.click() time.sleep(randrange(1,5)) #Extraer URL del 1º resultado de las SERPs element = self.driver.find_element_by_xpath(\"/html/body/div[7]/div/div[11]/div[1]/div[2]/div[2]/div/div/div/div/div/div/div[1]/div/a\") url_google=element.get_attribute(\'href\') time.sleep(randrange(1,3)) print(\'URL:\'+ url_google) if url == url_google: estado = \"INDEXADO\" else: estado = \"NOINDEXADO\" return estado except: print(\"No hay resultados en Google\") estado = \"NOINDEXADO\" return estado if __name__ == \"__main__\": link=IsIndexed() #Insetar ruta del archivo con lista de URL #path = input(\"Introduce ruta del archivo:\") path = \'C:\\\\Users\\\\rafavillaplana\\\\Downloads\\\\links_status\\\\links_status.xlsx\' #Abrir excel para leer URLs wb = openpyxl.load_workbook(filename = path) sheet_ranges = wb[\"Links\"] #Recorrer listado de URLs for i in range(2, 100): url = sheet_ranges[i][0] estado = sheet_ranges[i][1] if estado.value == \"FINAL\": break else: time.sleep(randrange(1,5)) #Comprobar si URL == URL en Google status = link.check_link(url.value) print (status) sheet_ranges.cell(row=i, column=2, value=status) #Guardar en el excel wb.save(path) #Cerrar el navegador link.tearDown()
Para ejecutar el script solo tienes que crearte una hoja de cálculo con 2 columnas, en la 1º columna tienes que pegar las URLs que quieres comprobar si están indexadas en Google y en la 2º columna añadir la etiqueta FINAL en la siguiente fila después del listado de URLs a indexar.
Y con esto ya estaría todo, cuando termine la ejecución el script, en la hoja de cálculo tendrás indicado en la 2º columna si el backlink está INDEXADO o NO INDEXADO.
Si te ha parecido interesante para automatizar tu trabajo, comparte con tus compañeros y si tenéis alguna idea de mejora para el script os leo en los comentarios.
Más de 10 años trabajando en proyectos SEO donde he conseguido aumentar las ventas a +100 empresas en más de 10 sectores distintos.