파이썬은 전세계적으로 널리 사용되는 프로그래밍 언어로 최근 몇년 사이에 SEO 업계에서도 활용도가 빠르게 증가하고 있습니다.
파이썬의 특징은 직관적인 문법과 뛰어난 성능, 그리고 다양한 기능을 갖춘 라이브러리와 프레임워크 덕분에 많은 SEO 전문가들 또한 업무 자동화와 최적화에 파이썬을 적극 활용하고 있습니다.
그럼 이번 글에서는 SEO 업무를 더욱 효율적으로 수행할 수 있도록 돕는, 기초적인 파이썬 코드를 몇가지 소개하겠습니다.
SEO 개념과 중요성
SEO는 단순히 타이틀, 메타 디스크립션, 헤딩 태그와 같이 개별 웹페이지에 주요 SEO 요소를 설정하거나 웹사이트 속도나 특정 HTML 코드를 개선하는 것으로 그치지 않습니다.
해당 웹사이트가 속한 비즈니스의 주요 키워드에서 검색 상위 노출을 위해서는 웹사이트의 기술적인 환경뿐 아니라 키워드 관점에서 치열한 고민과 시도가 필요한데요, 성공적인 SEO를 통해서 검색 순위가 상승한다면 사용자의 유입이 자연스레 증가하여 비즈니스의 전환이나 목표 달성에 대한 기대값이 높아진다고 할 수 있습니다.
파이썬(Python)이 SEO에서 하는 역할
글의 서두에서 말씀드린 바와 같이 파이썬은 굉장히 유용한 프로그래밍 언어로 기타 언어에 비해 배우는 것 또한 수월하여 SEO
업무를 자동화하는데 그 활용도가 무궁무진합니다.
특히나 SEO에서 파이썬이 활용되는 주요 방식은 크게 4가지로 정리할 수 있을 것 같습니다.
항목 | 설명 |
자동화 및 효율성 | 주요 키워드 식별, 링크 분석, 콘텐츠 최적화 작업 등을 자동화해서 SEO를 수행하는데 전략적인 분석에 집중할 수 있도록 합니다. |
데이터 분석 | 파이썬에서 제공하는 다양한 라이브러리를 활용하여 방대한 데이터를 처리하고 분석할 수 있습니다. |
웹 스크래핑 | 다양한 라이브러리를 사용하여 SEO에서 주요한 데이터를 수집하고, 이를 기반으로 SEO 전략을 수립할 수 있습니다. |
SEO 점검 | 웹사이트의 SEO 상태를 점검하고, 잘못 설정된 링크, 잘못된 태그, 페이지 로딩 속도 문제 등을 식별할 수 있습니다. |
파이썬(Python)을 시작하는 방법
사실 파이썬을 활용하여 SEO 업무를 수행하는데는 정말 다양한 방법이 있을 것 같습니다. 그 중에서도 파이썬을 처음 시작하는 사람들에게 추천하는 툴은 구글에서 제공하는 Colab입니다.
Colab은 구글에서 지원하는 서비스로 복잡한 설치 과정이 없이 웹 브라우저에서 즉시 파이썬 코드를 실행할 수 있도록 지원하는 무료 서비스인데요, 구글 Colab은 머신러닝 및 데이터 분석에 필요한 라이브러리를 기본적으로 제공하며, 구글 드라이브를 통해 파일을 저장하고 공유할 수 있어 편리합니다.
파이썬을 활용하기 위해 다음과 같은 필수 라이브러리를 설치하면 더욱 효율적으로 SEO 작업을 수행할 수 있습니다.
!pip install requests beautifulsoup4 pandas numpy scikit-learn
파이썬(Python) SEO 활용 예제
초보자도 쉽게 파이썬을 활용하여 SEO 작업을 자동화할 수 있습니다.
이번 파트에서는 실제로 사용할 수 있는 예제를 통해 파이썬이 SEO에서 어떻게 활용될 수 있는지를 살펴보겠습니다.
1. 구글 추천 검색어 스크래핑
앞선 설명에서 SEO가 해당 비즈니스 주요 키워드에서 검색 상위 노출을 통해 오가닉 트래픽을 기대할 수 있다고 간략하게 설명한 바가 있습니다. 그렇다면 사용자가 빈번하게 검색하는 키워드가 도대체 어떤 키워드인지 식별하는 것도 SEO에서 굉장히 중요한 단계라고 할 수 있습니다.
실제로 다양한 프로젝트를 하다보면 이러한 키워드를 확보하는 것이 굉장히 중요한 업무에 해당하는데요,
파이썬을 활용하면 구글에서 제공하는 추천 검색어를 자동으로 수집할 수 있습니다.
import requests
from bs4 import BeautifulSoup
def get_google_suggestions(keyword):
url = f’http://suggestqueries.google.com/complete/search?output=toolbar&hl=en&q={keyword}’
headers = {‘User-Agent’: ‘Mozilla/5.0’}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.content, ‘xml’)
suggestions = [suggestion[‘data’] for suggestion in soup.find_all(‘suggestion’)]
return suggestions
keyword = ‘관련 키워드 입력‘
suggestions = get_google_suggestions(keyword)
print(f”Keyword Suggestions for ‘{keyword}’:”)
for suggestion in suggestions:
print(f”- {suggestion}”)
파이썬 코드 동작 방식
- 사용자가 특정 키워드를 입력하면, 해당 키워드에 대한 추천 검색어 목록을 가져옵니다.
- requests 라이브러리를 활용하여 Google의 자동완성 API에서 데이터를 요청합니다.
- BeautifulSoup을 이용해 XML 형식으로 제공되는 추천 검색어를 추출합니다.
2. 키워드 클러스터링
키워드 리서치를 통해서 주요 키워드를 수집하게 되면 적게는 수백개에서 많게는 수천, 수만개의 키워드를 모을 수 있습니다.
때문에 이후 키워드를 활용하는 단계에서 너무나 많은 키워드에서 어떤 키워드를 활용할지 전략적으로 고민하게 되는 경우가 많습니다.
이때, 파이썬을 활용하면 키워드 클러스터링을 통해 유사한 키워드를 묶어서 전략적으로 활용할 수 있습니다.
(* 파이썬 코드를 구글 Colab에서 실행할 경우, 키워드를 정리하여 ‘keywords.txt’ 파일 형태로 Colab에 업로드해야합니다.)
import csv
import numpy as np
from sklearn.cluster import AffinityPropagation
from sklearn.feature_extraction.text import TfidfVectorizer
# 키워드 리스트 불러오기
with open(“keywords.txt”, “r”, encoding=”utf-8″) as f:
keywords = f.read().splitlines()
# Tf-idf 벡터화
vectorizer = TfidfVectorizer()
X = vectorizer.fit_transform(keywords)
# Affinity Propagation 클러스터링
af = AffinityPropagation(random_state=42).fit(X)
labels = af.labels_
# 결과 저장
with open(“clusters.csv”, “w”, newline=””, encoding=”utf-8″) as f:
writer = csv.writer(f)
writer.writerow([“Cluster”, “Keyword”])
for i, keyword in zip(labels, keywords):
writer.writerow([i, keyword])
파이썬 코드 동작 방식
- ‘keywords.txt’ 파일에서 키워드 목록을 불러옵니다.
- T
fidfVectorizer
를 사용하여 키워드를 수치화된 벡터로 변환합니다. AffinityPropagation
알고리즘을 적용하여 키워드를 자동으로 클러스터링합니다.- 각 키워드가 속한 클러스터 정보를
clusters.csv
파일에 저장합니다.
3. 온페이지 SEO 요소 스크래핑
개별 웹페이지의 주요 온페이지 SEO 요소인 타이틀, 메타 디스크립션, 헤딩 태그 최적화 상태를 점검하기 위해서는 해당 값들을 스크래핑 하는 것이 필수입니다.
관련하여 파이썬 코드를 활용하면 페이지별 핵심 요소가 올바르게 설정되었는지 점검할 수 있습니다.
from bs4 import BeautifulSoup
import requests
def check_seo_elements(url):
response = requests.get(url, headers={‘User-Agent’: ‘Mozilla/5.0’})
soup = BeautifulSoup(response.text, ‘html.parser’)
title = soup.find(‘title’).text if soup.find(‘title’) else “No Title”
meta_description = soup.find(‘meta’, attrs={‘name’: ‘description’})
meta_description = meta_description[‘content’] if meta_description else “No Description”
headers = [h.text.strip() for h in soup.find_all([‘h1’, ‘h2’, ‘h3’])]
return {
‘title’: title,
‘meta_description’: meta_description,
‘headers’: headers
}
url = ‘관련 페이지 주소 입력‘
seo_elements = check_seo_elements(url)
print(f”SEO Elements for ‘{url}’:”)
print(f”Title: {seo_elements[‘title’]}”)
print(f”Meta Description: {seo_elements[‘meta_description’]}”)
print(f”Headers: {seo_elements[‘headers’]}”)
✅ 파이썬 코드 동작 방식
requests.get()
을 사용하여 지정한 웹페이지의 HTML 소스를 가져옵니다.BeautifulSoup
을 활용하여 HTML을 파싱하고,title
,meta description
,h1~h3
태그를 추출합니다.title
태그가 존재하면 해당 내용을 저장하고, 없으면"No Title"
로 설정합니다.meta
태그에서name="description"
속성을 가진 요소를 찾아 그 내용을 저장하며, 없으면"No Description"
로
설정합니다.h1
,h2
,h3
태그를 모두 찾아 리스트로 저장합니다.- 최종적으로 추출한 데이터를 딕셔너리 형태로 반환합니다.
- 결과를 출력하여, 해당 페이지의 SEO 주요 요소를 확인할 수 있도록 합니다.
파이썬을 활용하면 SEO 작업을 보다 체계적이고 자동화된 방식으로 수행할 수 있습니다.
이번 가이드를 통해 소개해드린 기본적인 SEO 활용법을 익히고, 나아가 그 외에도 파이썬을 통해서 활용할 수 있는 다양한 기능을 통해 효율적인 작업 방식과 더 나은 검색엔진 최적화를 수행할 수 있습니다.
📌 이런 주제의 글은 어떠신가요? 😊
SEO 컨설턴트 송주호라고 합니다. SEO를 포함하여 디지털 마케팅 전반에 걸친 다양하고 유익한 정보를 제공 드리겠습니다.