A jornada do SEO é enxurrada de desafios e surpresas. Seu tráfico cai📉, as páginas saem do índice ou até mesmo penalidades. Mas são esses desafios que fazem nossas vidas valerem a pena. Não é?
Nós, SEOs, sempre tentamos encontrar uma maneira de superar os problemas, e aí está o caminho para a inovação. E nascente blog é sobre um desses desafios que enfrentamos e porquê saímos de nossa zona de conforto para resolvê-lo.
Vamos inaugurar.
A história
Nos últimos meses, trabalhamos com um cliente corporativo para transmigrar seus domínios direcionados a várias regiões e idiomas para seu domínio principal porquê subpastas.
Ambos os domínios combinados tinham milhares e milhares de páginas e, com essa graduação, temos que dar nossos 110%.
Uma vez que todos os outros processos de SEO, preparamos um checklist com todos os pontos de verificação para prometer uma transmigração tranquila.
Portanto, seguimos a lista de verificação religiosamente e marcamos marcos para ter um caminho evidente avante. E em uma lanço, temos que implementar tags hreflang para ambos os geos.
Decidimos somar hreflang por meio de tags HTML + sitemaps para prometer que o Google capte os sinais certos.
Mas qual é o travanca aí – você pode perguntar.
Antes de prosseguir, vamos ver uma rápida introdução sobre a tag hreflang.
Os poderosos hreflangs!
Hreflang é uma tag HTML usada para fazer referência ao sítio e ao linguagem específicos que uma página está segmentando.
Se você tiver uma página segmentada para Índia, Estados Unidos e Austrália, deverá usar tags hreflang para informar ao Google que a página está disponível em três regiões geográficas diferentes.
E isso ajudará o Google a fornecer a página correta para os usuários nessas regiões.
💭Imagine uma página de negócio eletrônico que contém uma lista de produtos destinados à Índia e faz referência a ‘Rúpia’ porquê moeda. E se esta página for exibida em vez da página dos EUA para pessoas nos EUA? Isso não será um ótimo UX, visível?
Com as tags hreflang adicionadas, você pode ajudar o Google a captar os sinais e mostrar a versão americana da página para os usuários dessa região.
Há mais em um SEO internacional além das tags hreflang, logo leia nascente post para ter uma compreensão aprofundada.
O repto
Agora, sabemos a valia das tags hreflang em um site internacional. Mas qual é o repto de implementar isso?
Tínhamos tapume de 25.000 URLs direcionados a várias regiões geográficas e tivemos que produzir mapas de sites para cada região geográfica com o hreflang mútuo para cada URL.
Cá está um exemplo de planta do site para um URL:
Navegamos na Internet em procura de ferramentas e ideias para fazer isso dentro do prazo. Mas adivinhe? Não encontramos uma instrumento que possa nos ajudar a gerar um planta do site internacional.
Isso é uma chatice!
O salvador
Portanto, sem nenhuma solução do Google, buscamos a ajuda do ‘Salvador’ dos últimos tempos. (Você já deve ter adivinhado.)
E seu pressentimento está visível. Abrimos uma novidade guia em nossa janela do Chrome para fazer login no ChatGPT. E logo quando estamos na página, começamos a digitar os prompts para produzir uma instrumento que pode nos ajudar a gerar o planta do site internacional rastreando a lista de páginas e suas tags hreflang.
Depois de inúmeras solicitações e torturas, o ChatGPT nos forneceu um script Python para gerar o planta do site internacional.
Mas. (😁Quando a história fica tão prazenteiro e positiva, deve possuir uma reviravolta com ‘mas’ para terminar com um orgasmo um pouco mais picante – a receita do filme indiano)
O código gerado pelo ChatGPT rastreou as páginas mais lentamente do que os créditos de franqueza de um filme de James Bond. Infelizmente, não tivemos muito tempo.
Consultamos um desenvolvedor que sugeriu uma livraria Python fragmentada em vez de beautifulsoup.
Em seguida, voltamos ao ChatGPT e pedimos que substituísse beautifulsoup por Scrapy e adivinhe – funcionou porquê um feitiço.
Voilá! Executamos o código em repl para gerar o planta do site para a lista de páginas que tínhamos. E isso nos ajudou a forrar toneladas de horas manuais de trabalho e frustração.
Cá está um código para gerar um sitemap internacional.
import scrapy
class HreflangSpider(scrapy.Spider):
name = "hreflang"
start_urls = []
def start_requests(self):
with open('urls.txt', 'r') as f:
urls = f.readlines()
urls = [url.strip() for url in urls]
self.start_urls = urls
for url in self.start_urls:
yield scrapy.Request(url=url, callback=self.parse)
def parse(self, response):
# Find all the hreflang tags on the page
hreflang_tags = response.css('link[rel="alternate"][hreflang]')
# Create a dictionary to store the hreflang URLs for each language
hreflang_dict = {}
for tag in hreflang_tags:
lang = tag.attrib['hreflang']
href = tag.attrib['href']
hreflang_dict[lang] = href
# Add the default URL to the dictionary
default_href = hreflang_dict.pop('x-default', None)
if default_href:
hreflang_dict['x-default'] = default_href
hreflang_list = [(lang, href) for lang, href in hreflang_dict.items()]
with open('sitemap.xml', 'a') as f:
if f.tell() == 0:
f.write('<?xml version="1.0" encoding="UTF-8"?>n')
f.write('<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"n')
f.write(' xmlns:xhtml="http://www.w3.org/1999/xhtml">n')
f.write(' <url>n')
f.write(f' <loc>{response.url}</loc>n')
for lang, href in hreflang_list:
f.write(f' <xhtml:link rel="alternate" hreflang="{lang}" href="https://botpresso.com/hreflang-xml-sitemap-generator-python-chatgpt/{href}" />n')
f.write(' </url>n')
def close(self, reason):
with open('sitemap.xml', 'a') as f:
if f.tell() > 0:
f.write('</urlset>n')
E cá está uma versão repl.it do código, onde você pode simplesmente bifurcar o código e produzir um planta do site para o seu site internacional.
Aprendizados
Com esse esforço, aprendemos que o esforço persistente e o melhor uso dos avanços tecnológicos podem nos ajudar a produzir as coisas bonitas que imaginamos.
Existem muitas ferramentas de IA, porquê o ChatGPT, que podem nos ajudar a automatizar e simplificar o processo para que possamos nos concentrar em outras coisas importantes que exclusivamente um ser humano pode fazer.
Portanto, pare de temer que a IA assuma o controle e trabalhe em conjunto com ela para produzir um horizonte melhor. #happyautomating