크롤링, 인덱싱 및 Python: 알아야 할 모든 것
게시 됨: 2021-05-31이 기사를 매우 간단한 방정식으로 시작하고 싶습니다. 페이지가 크롤링되지 않으면 색인이 생성되지 않으므로 SEO 성능이 항상 저하되고 악취가 납니다.
결과적으로 SEO는 웹사이트를 크롤링할 수 있는 최상의 방법을 찾고 Google에 가장 중요한 페이지를 제공하여 색인을 생성하고 이를 통해 트래픽을 확보하기 시작해야 합니다.
고맙게도 Screaming Frog, Oncrawl 또는 Python과 같이 웹 사이트 크롤링 기능을 개선하는 데 도움이 되는 많은 리소스가 있습니다. 크롤링 친화성과 인덱싱 지표를 분석하고 개선하는 데 Python이 어떻게 도움이 되는지 보여드리겠습니다. 대부분의 경우 이러한 종류의 개선은 더 나은 순위, SERP의 더 높은 가시성 및 궁극적으로 더 많은 사용자가 귀하의 웹사이트에 방문하도록 유도합니다.
1. 파이썬으로 인덱싱 요청하기
1.1. 구글용
슬프게도 나는 그 중 어느 것도 그다지 확신하지 못하지만 Google에 대한 인덱싱을 요청하는 것은 여러 가지 방법으로 수행할 수 있습니다. 장단점이 있는 세 가지 옵션을 안내해 드리겠습니다.
- Selenium 및 Google Search Console: 제 관점에서, 그리고 테스트와 나머지 옵션을 살펴본 후 이것이 가장 효과적인 솔루션입니다. 그러나 여러 번 시도한 후에는 이를 깨는 보안 문자 팝업이 나타날 수 있습니다.
- 사이트맵 핑: 사이트맵을 요청한 대로 크롤링하는 데 확실히 도움이 되지만 특정 URL은 크롤링되지 않습니다(예: 웹사이트에 새 페이지가 추가된 경우).
- Google Indexing API: 방송사 및 취업 플랫폼 웹사이트를 제외하고는 그다지 안정적이지 않습니다. 크롤링 속도를 높이는 데 도움이 되지만 특정 URL을 인덱싱하지는 않습니다.
각 방법에 대한 간략한 개요가 끝나면 하나씩 자세히 살펴보겠습니다.
1.1.1. 셀레늄 및 Google 검색 콘솔
기본적으로 이 첫 번째 솔루션에서 수행할 작업은 Selenium이 설치된 브라우저에서 Google Search Console에 액세스하고 Google Search Console을 사용하여 색인을 생성하기 위해 많은 URL을 수동으로 제출하는 것과 동일한 프로세스를 자동화된 방식으로 복제하는 것입니다.
참고: 이 방법을 남용하지 말고 콘텐츠가 업데이트되었거나 페이지가 완전히 새로운 경우에만 색인 생성을 위해 페이지를 제출하십시오.
Selenium을 사용하여 Google Search Console에 로그인할 수 있는 방법은 이 기사에서 GSC 크롤링 통계 보고서 다운로드를 자동화하는 방법에 대해 설명한 것처럼 먼저 OUATH Playground에 액세스하는 것입니다.
#이 모듈을 가져옵니다. 가져오기 시간 셀레늄 가져오기 웹 드라이버에서 webdriver_manager.chrome에서 ChromeDriverManager 가져오기 selenium.webdriver.common.keys에서 키 가져오기 #셀레늄 드라이버를 설치합니다. 드라이버 = webdriver.Chrome(ChromeDriverManager().install()) #Google 서비스에 로그인하기 위해 OUATH 플레이그라운드 계정에 액세스합니다. driver.get('https://accounts.google.com/o/oauth2/v2/auth/oauthchooseaccount?redirect_uri=https%3A%2F%2Fdevelopers.google.com%2Foauthplayground&prompt=consent&response_type=code&client_id=407408718192.googleusercontent .com&scope=email&access_type=offline&flowName=GeneralOAuthFlow') #Xpath로 요소를 선택하고 이메일 주소를 소개하기 전에 렌더링이 완료되었는지 확인하기 위해 조금 기다립니다. time.sleep(10) form1=driver.find_element_by_xpath('//*[@]') form1.send_keys("<귀하의 이메일 주소>") form1.send_keys(Keys.ENTER) #여기서도 마찬가지로 조금 기다렸다가 비밀번호를 알려줍니다. time.sleep(10) form2=driver.find_element_by_xpath('//*[@]/div[1]/div/div[1]/input') form2.send_keys("<비밀번호>") form2.send_keys(Keys.ENTER)
그런 다음 Google Search Console URL에 액세스할 수 있습니다.
driver.get('https://search.google.com/search-console?resource_id=your_domain'') time.sleep(5) box=driver.find_element_by_xpath('/html/body/div[7]/div[2]/header/div[2]/div[2]/div[2]/form/div/div/div/div/div /div[1]/입력[2]') box.send_keys("귀하의 URL") box.send_keys(Keys.ENTER) time.sleep(5) 인덱싱 = driver.find_element_by_xpath("/html/body/div[7]/c-wiz[2]/div/div[3]/span/div/div[2]/span/div[2]/div/div /div[1]/span/div[2]/div/c-wiz[2]/div[3]/span/div/span/span/div/span/span[1]") index.click() time.sleep(120)
불행히도 도입부에서 설명했듯이 여러 요청 후에 색인 요청을 진행하기 위해 퍼즐 보안 문자가 필요하기 시작하는 것 같습니다. 자동화된 방법은 보안 문자를 해결할 수 없기 때문에 이것이 이 솔루션에 장애가 되는 것입니다.
1.1.2. 사이트맵 핑
사이트맵 URL은 ping 방법을 사용하여 Google에 제출할 수 있습니다. 기본적으로 사이트맵 URL을 매개변수로 도입하는 다음 엔드포인트에 요청하기만 하면 됩니다.
http://www.google.com/ping?sitemap=URL/of/file
이것은 내가 이 기사에서 설명한 것처럼 Python 및 요청을 사용하여 매우 쉽게 자동화할 수 있습니다.
urllib.request 가져오기 url = "http://www.google.com/ping?sitemap=https://www.example.com/sitemap.xml" 응답 = urllib.request.urlopen(url)
1.1.3. 구글 인덱싱 API
Google Indexing API는 크롤링 속도를 향상시키는 좋은 솔루션이 될 수 있지만 일반적으로 웹사이트에 VideoObject에 포함된 JobPosting 또는 BroadcastEvent가 있는 경우에만 사용되어야 하기 때문에 콘텐츠의 색인을 생성하는 데 그다지 효과적인 방법은 아닙니다. 그러나 직접 시도하고 테스트하려는 경우 다음 단계를 수행할 수 있습니다.
우선 이 API를 시작하려면 Google Cloud Console로 이동하여 프로젝트와 서비스 계정 자격 증명을 만들어야 합니다. 그런 다음 라이브러리에서 Indexing API를 활성화하고 서비스 계정 자격 증명과 함께 제공된 이메일 계정을 Google Search Console에서 속성 소유자로 추가해야 합니다. 이 이메일 주소를 속성 소유자로 추가하려면 이전 버전의 Google Search Console을 사용해야 할 수 있습니다.
이전 단계를 따르면 다음 코드를 사용하여 이 API로 인덱싱 및 디인덱싱을 요청할 수 있습니다.
oauth2client.service_account에서 ServiceAccountCredentials 가져오기 httplib2 가져오기 범위 = [ "https://www.googleapis.com/auth/indexing" ] ENDPOINT = "https://indexing.googleapis.com/v3/urlNotifications:publish" client_secrets = "path_to_your_credentials.json" 자격 증명 = ServiceAccountCredentials.from_json_keyfile_name(client_secrets, 범위=SCOPES) 자격 증명이 없음 또는 자격 증명이 잘못된 경우: 자격 증명 = tools.run_flow(흐름, 저장소) http = 자격 증명.권한 부여(httplib2.Http()) list_urls = ["https://www.example.com", "https://www.example.com/test2/"] 범위 내 반복(len(list_urls)): 내용 = '''{ 'url': "'''+str(list_urls[반복])+'''", '유형': "URL_UPDATED" }''' 응답, 콘텐츠 = http.request(ENDPOINT, 메소드="POST", 본문=콘텐츠) 인쇄(응답) 인쇄(내용)
색인 해제를 요청하려면 요청 유형을 "URL_UPDATED"에서 "URL_DELETED"로 변경해야 합니다. 이전 코드는 알림 시간 및 상태와 함께 API의 응답을 인쇄합니다. 상태가 200이면 요청이 성공적으로 이루어진 것입니다.
1.2. 빙의 경우
SEO에 대해 이야기할 때 종종 Google만 생각하지만, 일부 시장에는 Bing과 같이 상당한 시장 점유율을 가진 다른 주요 검색 엔진 및/또는 기타 검색 엔진이 있다는 사실을 잊을 수 없습니다.
처음부터 Bing의 Bing 웹마스터 도구에는 대부분의 경우 하루에 최대 10,000개의 URL 제출을 요청할 수 있는 매우 편리한 기능이 있다는 점을 언급하는 것이 중요합니다. 때로는 일일 할당량이 URL 10,000개 미만일 수 있지만 요구 사항을 충족하기 위해 더 큰 할당량이 필요하다고 생각되면 할당량 증가를 요청할 수 있습니다. 이 페이지에서 이에 대한 자세한 내용을 읽을 수 있습니다.
이 기능은 Bing 웹마스터 도구의 일반 인터페이스에서 URL 제출 도구의 다른 줄에 URL을 추가하기만 하면 되므로 대량 URL 제출에 매우 편리합니다.
1.2.1. 빙 인덱싱 API
Bing Indexing API는 매개변수로 도입해야 하는 API 키와 함께 사용할 수 있습니다. 이 API 키는 Bing 웹마스터 도구에서 API 액세스 섹션으로 이동한 후 API 키를 생성하여 얻을 수 있습니다.
API 키를 받으면 다음 코드를 사용하여 API를 사용할 수 있습니다(API 키와 사이트 URL만 추가하면 됨).
가져오기 요청 list_urls = ["https://www.example.com", "https://www.example/test2/"] list_urls의 y에 대해: URL = 'https://ssl.bing.com/webmaster/api.svc/json/SubmitUrlbatch?apikey=yourapikey' myobj = '{"siteUrl":"https://www.example.com", "urlList":["'+ str(y) +'"]}' headers = {'콘텐츠 유형': '응용 프로그램/json; 문자 집합=utf-8'} x = requests.post(url, 데이터=myobj, 헤더=헤더) print(str(y) + ": " + str(x))
이렇게 하면 각 반복에서 URL과 응답 코드가 인쇄됩니다. Google Indexing API와 달리 이 API는 모든 종류의 웹사이트에 사용할 수 있습니다.
[사례 연구] Googlebot의 웹사이트 크롤링 기능을 개선하여 가시성 향상
2. 사이트맵 분석, 생성 및 업로드
우리 모두 알고 있듯이 사이트맵은 검색 엔진 봇이 크롤링하기를 원하는 URL을 제공하는 데 매우 유용한 요소입니다. 검색 엔진 봇이 사이트맵의 위치를 알 수 있도록 Google Search Console 및 Bing 웹마스터 도구에 업로드하고 나머지 봇에 대해 robots.txt 파일에 포함해야 합니다.
Python을 사용하여 사이트맵과 관련된 주로 세 가지 측면, 즉 분석, 생성 및 Google Search Console에서 업로드 및 삭제 작업을 수행할 수 있습니다.
2.1. Python을 사용한 사이트맵 가져오기 및 분석
Advertools는 사이트맵 가져오기 및 기타 여러 SEO 작업에 사용할 수 있는 Elias Dabbas가 만든 훌륭한 라이브러리입니다. 다음을 사용하여 사이트맵을 Dataframes로 가져올 수 있습니다.
sitemap_to_df('https://example.com/robots.txt', recursive=False)
이 라이브러리는 일반 XML 사이트맵, 뉴스 사이트맵 및 비디오 사이트맵을 지원합니다.
반면에 사이트맵에서 URL을 가져오는 데만 관심이 있는 경우 라이브러리 요청 및 BeautifulSoup을 사용할 수도 있습니다.
가져오기 요청 bs4 import BeautifulSoup에서 r = requests.get("https://www.example.com/your_sitemap.xml") xml = r.text 수프 = BeautifulSoup(xml) URL = 수프.find_all("loc") urls = [[x.text] for x in urls]
사이트맵을 가져온 후에는 추출된 URL을 가지고 놀고 이 기사에서 Koray Tugberk가 설명한 대로 콘텐츠 분석을 수행할 수 있습니다.
2.2. Python으로 사이트맵 생성
이 기사에서 JC Chouinard가 설명한 것처럼 Python을 사용하여 URL 목록에서 sitemaps.xml을 만들 수도 있습니다. 이는 URL이 빠르게 변경되는 매우 동적인 웹사이트에 특히 유용할 수 있으며 위에서 설명한 ping 방법과 함께 Google에 새 URL을 제공하고 빠르게 크롤링하고 색인을 생성하는 훌륭한 솔루션이 될 수 있습니다.
최근 Greg Bernhardt는 Streamlit 및 Python을 사용하여 사이트맵을 생성하는 APP도 만들었습니다.
2.3. Google Search Console에서 사이트맵 업로드 및 삭제
Google Search Console에는 웹 성능에 대한 데이터를 추출하고 사이트맵을 처리하는 두 가지 방식으로 주로 사용할 수 있는 API가 있습니다. 이 게시물에서는 사이트맵 업로드 및 삭제 옵션에 중점을 둘 것입니다.
먼저 Google Cloud Console에서 기존 프로젝트를 만들거나 사용하여 OUATH 자격 증명을 얻고 Google Search Console 서비스를 활성화하는 것이 중요합니다. JC Chouinard는 이 문서에서 Python으로 Google Search Console API에 액세스하기 위해 따라야 하는 단계와 첫 번째 요청을 만드는 방법을 아주 잘 설명합니다. 기본적으로 우리는 그의 코드를 완전히 사용할 수 있지만 변경을 도입해야만 범위에 "https://www.googleapis.com" 대신 "https://www.googleapis.com/auth/webmasters"를 추가할 것입니다. /auth/webmasters.readonly” API를 사용하여 사이트맵을 읽을 뿐만 아니라 업로드 및 삭제합니다.
API에 연결하면 API를 사용하여 다음 코드를 사용하여 Google Search Console 속성의 모든 사이트맵을 나열할 수 있습니다.
verify_sites_urls의 site_url: 인쇄(site_url) # 제출된 사이트맵 목록 검색 사이트맵 = webmasters_service.sitemaps().list(siteUrl=site_url).execute() 사이트맵에 '사이트맵'이 있는 경우: sitemap_urls = [s['path'] for s in sitemaps['sitemap']] 인쇄(" " + "\n ".join(sitemap_urls))
특정 사이트맵과 관련하여 다음 섹션에서 자세히 설명할 세 가지 작업인 정보 업로드, 삭제 및 요청을 수행할 수 있습니다.
2.3.1. 사이트맵 업로드
Python으로 사이트맵을 업로드하려면 사이트 URL과 사이트맵 경로를 지정하고 다음 코드를 실행하기만 하면 됩니다.
웹사이트 = '귀하의GSC속성' SITEMAP_PATH = 'https://www.example.com/page-sitemap.xml' webmasters_service.sitemaps().submit(siteUrl=WEBSITE, feedpath=SITEMAP_PATH).execute()
2.3.2. 사이트맵 삭제
동전의 반대편은 사이트맵을 삭제하고 싶을 때입니다. "제출" 대신 "삭제" 방법을 사용하여 Python을 사용하여 Google Search Console에서 사이트맵을 삭제할 수도 있습니다.
웹사이트 = '귀하의GSC속성' SITEMAP_PATH = 'https://www.example.com/page-sitemap.xml' webmasters_service.sitemaps().delete(siteUrl=WEBSITE, feedpath=SITEMAP_PATH).execute()
2.3.3. 사이트맵에서 정보 요청
마지막으로 "get" 메서드를 사용하여 사이트맵에서 정보를 요청할 수도 있습니다.
웹사이트 = '귀하의GSC속성' SITEMAP_PATH = 'https://www.example.com/page-sitemap.xml' webmasters_service.sitemaps().get(siteUrl=WEBSITE, feedpath=SITEMAP_PATH).execute()
그러면 다음과 같은 JSON 형식의 응답이 반환됩니다.
3. 내부연계분석 및 기회
적절한 내부 링크 구조를 갖는 것은 웹사이트의 검색 엔진 봇 크롤링을 용이하게 하는 데 매우 유용합니다. 매우 정교한 기술 설정을 갖춘 여러 웹사이트를 감사하면서 발견한 주요 문제 중 일부는 다음과 같습니다.
- 클릭 시 이벤트와 함께 도입된 링크: 간단히 말해서 Googlebot은 버튼을 클릭하지 않으므로 링크가 클릭 시 이벤트와 함께 삽입되면 Googlebot이 해당 링크를 따라갈 수 없습니다.
- 클라이언트 측 렌더링 링크: Googlebot 및 기타 검색 엔진이 JavaScript 실행에 있어 훨씬 더 나아지고 있음에도 불구하고 여전히 상당히 어려운 일이므로 이러한 링크를 서버 측에서 렌더링하고 원시 HTML에 제공하여 검색 엔진 봇이 JavaScript 스크립트를 실행할 것으로 기대하는 것보다
- 로그인 및/또는 연령 제한 팝업: 로그인 팝업 및 연령 제한은 검색 엔진 봇이 이러한 "장애물" 뒤에 있는 콘텐츠를 크롤링하는 것을 방지할 수 있습니다.
- Nofollow 속성 남용: 귀중한 내부 페이지를 가리키는 많은 nofollow 속성을 사용하면 검색 엔진 봇이 해당 페이지를 크롤링하는 것을 방지할 수 있습니다.
- Noindex 및 Follow: 기술적으로 noindex와 follow 지시문을 조합하면 검색 엔진 봇이 해당 페이지에 있는 링크를 크롤링할 수 있습니다. 그러나 Googlebot은 잠시 후 noindex 지시문을 사용하여 해당 페이지 크롤링을 중지하는 것 같습니다.
Python을 사용하여 내부 연결 구조를 분석하고 대량 모드에서 새로운 내부 연결 기회를 찾을 수 있습니다.
3.1. Python을 사용한 내부 연결 분석
몇 달 전에 저는 Python과 Networkx 라이브러리를 사용하여 내부 연결 구조를 매우 시각적으로 표시하는 그래프를 만드는 방법에 대한 기사를 썼습니다.
이것은 Screaming Frog에서 얻을 수 있는 것과 매우 유사하지만 이러한 종류의 분석에 Python을 사용하는 것의 장점은 기본적으로 이러한 그래프에 포함하려는 데이터를 선택하고 다음과 같은 대부분의 그래프 요소를 제어할 수 있다는 것입니다. 색상, 노드 크기 또는 추가하려는 페이지로도 사용할 수 있습니다.
3.2. Python으로 새로운 내부 연결 기회 찾기
사이트 구조를 분석하는 것 외에도 Python을 사용하여 여러 키워드와 URL을 제공하고 콘텐츠에서 제공된 용어를 검색하는 해당 URL을 반복함으로써 새로운 내부 연결 기회를 찾을 수도 있습니다.
이것은 Semrush 또는 Ahrefs 내보내기와 함께 매우 잘 작동하여 이미 키워드에 대한 순위가 매겨진 일부 페이지에서 강력한 컨텍스트 내부 링크를 찾기 위해 사용할 수 있는 것이므로 이미 어떤 유형의 권한이 있습니다.
여기에서 이 방법에 대한 자세한 내용을 읽을 수 있습니다.
4. 웹사이트 속도, 5xx 및 소프트 오류 페이지
크롤링 예산이 Google에 의미하는 바에 대해 이 페이지에서 Google이 설명한 것처럼 사이트를 더 빠르게 만들면 사용자 환경이 개선되고 크롤링 속도가 증가합니다. 반면에 소프트 오류 페이지, 낮은 품질의 콘텐츠 및 사이트 중복 콘텐츠와 같이 크롤링 예산에 영향을 줄 수 있는 다른 요소도 있습니다.
4.1. 페이지 속도와 파이썬
4.2.1 Python으로 웹사이트 속도 분석하기
Page Speed Insights API는 페이지 속도 측면에서 웹사이트의 성능을 분석하고 다양한 페이지 속도 측정항목(거의 50개)과 핵심 성능 지표에 대한 많은 데이터를 얻는 데 매우 유용합니다.
Python으로 Page Speed Insights를 사용하는 것은 매우 간단하며 API 키와 요청만 있으면 사용이 가능합니다. 예를 들어:
urllib.request, json 가져오기 url = "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=your_URL&strategy=mobile&locale=ko&key=yourAPI키" # 매개변수 URL과 함께 URL을 삽입할 수 있으며 데스크톱용 데이터를 얻으려면 장치 매개변수를 수정할 수도 있습니다. 응답 = urllib.request.urlopen(url) 데이터 = json.loads(response.read())
또한 Python 및 Lighthouse Scoring 계산기를 사용하여 이 문서에 설명된 대로 페이지 속도를 향상시키기 위해 요청한 변경을 수행하는 경우 전체 성능 점수가 얼마나 향상될지 예측할 수도 있습니다.
4.2.2 Python을 사용한 이미지 최적화 및 크기 조정
웹사이트 속도와 관련하여 Python은 Koray Tugberk와 Greg Bernhardt가 작성한 다음 기사에 설명된 대로 이미지를 최적화, 압축 및 크기 조정하는 데 사용할 수도 있습니다.
- FTP를 통한 Python으로 이미지 압축을 자동화하십시오.
- 대량의 Python으로 이미지 크기 조정.
- SEO 및 UX용 Python을 통해 이미지를 최적화합니다.
4.2. Python을 사용한 5xx 및 기타 응답 코드 오류 추출
5xx 응답 코드 오류는 서버가 수신하는 모든 요청을 처리할 만큼 충분히 빠르지 않음을 나타낼 수 있습니다. 이는 크롤링 속도에 매우 부정적인 영향을 미칠 수 있으며 사용자 경험을 손상시킬 수도 있습니다.
웹 사이트가 예상대로 작동하는지 확인하기 위해 Python 및 Selenium을 사용하여 크롤링 통계 보고서 다운로드를 자동화하고 로그 파일을 면밀히 관찰할 수 있습니다.
4.3. Python을 사용한 소프트 오류 페이지 추출
최근 Jose Luis Hernando는 Hamlet Batista를 기리기 위해 Node.js로 커버리지 보고서 추출을 자동화하는 방법에 대한 기사를 게시했습니다. 이는 크롤링 속도에 부정적인 영향을 미칠 수 있는 소프트 오류 페이지와 5xx 응답 오류까지 추출하는 놀라운 솔루션이 될 수 있습니다.
또한 Google Search Console에서 오류, 경고 포함, 유효 및 제외로 제공되는 모든 URL을 하나의 Excel 탭에서 컴파일하기 위해 Python을 사용하여 이 동일한 프로세스를 복제할 수도 있습니다.
먼저 이 기사에서 앞서 설명한 대로 Python with Selenium을 사용하여 Google Search Console에 로그인해야 합니다. 그런 다음 모든 URL 상태 상자를 선택하고 페이지당 최대 100개의 행을 추가하고 GSC에서 보고한 모든 유형의 URL에 대해 반복을 시작하고 모든 단일 Excel 파일을 다운로드합니다.
가져오기 시간 셀레늄 가져오기 웹 드라이버에서 webdriver_manager.chrome에서 ChromeDriverManager 가져오기 selenium.webdriver.common.keys에서 키 가져오기 드라이버 = webdriver.Chrome(ChromeDriverManager().install()) driver.get('https://accounts.google.com/o/oauth2/v2/auth/oauthchooseaccount?redirect_uri=https%3A%2F%2Fdevelopers.google.com%2Foauthplayground&prompt=consent&response_type=code&client_id=407408718192.googleusercontent .com&scope=email&access_type=offline&flowName=GeneralOAuthFlow') time.sleep(5) searchBox=driver.find_element_by_xpath('//*[@]') searchBox.send_keys("<당신의 메일주소>") searchBox.send_keys(Keys.ENTER) time.sleep(5) searchBox=driver.find_element_by_xpath('//*[@]/div[1]/div/div[1]/input') searchBox.send_keys("<비밀번호>") searchBox.send_keys(Keys.ENTER) time.sleep(5) yourdomain = str(input("여기에 http 속성 또는 도메인을 삽입하십시오. 도메인인 경우 'sc-domain':")) driver.get('https://search.google.com/search-console/index?resource_https://search.google.com/search-console/index?resource_Tabla') listvalues = [list_problems[x] for i in range(len(df1["URL"]))] df1['유형'] = 목록 값 list_results = df1.values.tolist() 또 다른: df2 = pd.read_excel(yourdomain.replace("sc 도메인:","").replace("/","_").replace(":","_") + "- 적용 범위 드릴다운-" + 오늘 + " (" + str(x) + ").xlsx", '타블라') listvalues = [list_problems[x] for i in range(len(df2["URL"]))] df2['유형'] = 목록 값 list_results = list_results + df2.values.tolist() df = pd.DataFrame(list_results, 열= ["URL","타임스탬프", "유형"]) df.to_csv('<파일 이름>.csv', 헤더=True, 인덱스=False, 인코딩 = "utf-8")
최종 출력은 다음과 같습니다.
4.4. Python을 사용한 로그 파일 분석
Google Search Console의 크롤링 통계 보고서에서 사용할 수 있는 데이터뿐만 아니라 Python을 사용하여 자신의 파일을 분석하여 검색 엔진 봇이 웹사이트를 크롤링하는 방법에 대한 더 많은 정보를 얻을 수도 있습니다. 아직 SEO용 로그 분석기를 사용하고 있지 않다면 Python을 사용한 로그 분석이 설명된 SEO Garden의 이 기사를 읽을 수 있습니다.
[전자책] SEO 로그 분석을 활용하는 4가지 활용 사례
5. 최종 결론
우리는 Python이 다양한 방식으로 웹사이트의 크롤링 및 인덱싱을 분석하고 개선하는 훌륭한 자산이 될 수 있음을 확인했습니다. 또한 수천 시간이 소요되는 지루하고 수동적인 작업을 대부분 자동화하여 삶을 훨씬 더 쉽게 만드는 방법을 살펴보았습니다.
불행히도 나는 현재 Google에서 많은 수의 URL에 대한 인덱싱을 요청하기 위해 제공하는 솔루션에 대해 완전히 확신하지 못한다고 말해야 합니다. 그것을 남용하는 것.
이와 대조적으로 API를 통해 그리고 Bing 웹마스터 도구의 일반 인터페이스를 통해서도 URL 인덱싱을 요청하는 탁월하고 편리한 솔루션을 제공하는 Bing이 있습니다.
Google 인덱싱 API에는 개선의 여지가 있기 때문에 액세스 가능하고 업데이트된 사이트맵, 내부 링크, 페이지 속도, 소프트 오류 페이지, 중복되고 품질이 낮은 콘텐츠와 같은 기타 요소가 웹사이트가 제대로 크롤링되고 가장 중요한 페이지의 색인이 생성됩니다.