การวิเคราะห์ SEO ให้อันดับข้อมูลเด่นสุดเมื่อเทียบกับคู่แข่งนั้น สามารถให้ข้อมูลเชิงลึกด้านประสิทธิภาพในการค้นหาของสิ่งของคุณเปรียบเทียบกับคู่แข่ง กระบวนการนี้ก็ยังเปิดเผยแหล่งที่มาของการเข้าชมของคู่แข่งของคุณอีกด้วย นอกจากนี้ ก็ยังช่วยให้คุณกำหนดกลยุทธ์และลำดับความสำคัญของ SEO ของคุณเช่นกัน หากยังมีเวลาพอให้ทำในบางกรณี
ผลลัพธ์จากการใช้ฮีทแมปของ SERP - ตั๋วเครื่องบิน
ตรงนี้จะเป็นด้านผลที่ได้รับจากการใช้ความพยายามสักนิดในการเขียนเล่นกับโค้ด Python ปะมาณสองสามบรรทัด
มาเริ่มกันเลย
ในบทความนี้ ผมจะทำการอธิบายว่าคุณจะสามารถหาผลประโยชน์อะไรได้บ้างจากการใช้ไลบรารี Python Advertools (โดย Elias Dabbas) ในการปรับปรุงความสามารถในการวิเคราะห์เชิงและวิชวลไลซ์กระบวนการแข่งขันของคุณได้อย่างไร นอกจากนี้ คุณจะได้รับรางวัลจากการใช้ฮีทแมป SERP แบบโต้ตอบได้ ที่จะทำการแสดงสิ่งที่ถูกครอบคลุมต่างๆให้เห็น รวมทั้งลักษณะและอันดับโดยเฉลี่ยของคู่แข่งที่คุณต้องการศึกษา เรามาเริ่มเซ็ตสภาพแวดล้อมกันเลยดีกว่า
วิธีการติดตั้ง Jupyter Lab
สำหรับบทเรียนนี้ ผมจะเน้นไปด้านการตั้งค่าสภาพต่างๆให้เหมาะสมในการนำมาใช้กับ OSX
โดยที่ผมจะเป็นคนเลือกสภาพแวดล้อมและพื้นที่ทำงานของ Jupyter Lab มาใช้ คุณสามารถข้ามขั้นตอนนี้ แล้วตรงไปที่ส่วนการเขียนโค้ดไปได้เลย หากว่าคุณคุ้นเคยกับ Google Colab อยู่แล้ว
มาเริ่มต้นด้วยการติดตั้งแบบง่ายๆลงบน Terminal
ของคุณ ตอนนี้แค่ไปที่ Applications > Utilities
แล้วมองหา Terminal.app ให้เปิด Terminal
แล้วเพิ่มตอมมานง่ายๆนี้ลงไปเพื่อเริ่มการติดตั้ง
brew install jupyterlab
หากคุณใช้ Linux เป็นโอเอส คุณก็สามารถใช้คำสั่งเดิมนี้ หรือจะลองวิธีอื่นในการติดตั้ง Jupyter Lab บนแพลตฟอร์มที่คุณต้องการตามที่มีไว้ให้ในหน้าเพจการติดตั้งหลัก
จะเริ่มใช้ Jupyter Lab ยังไง
ทั้งหมดนี้คือทุกสิ่งที่จำเป็นได้รับการติดตั้งลงบนระบบของคุณ ตอนนี้เหลือแค่ป้อนคำสั่งนี้ลงใน Terminal
jupyter lab
ในเบราว์เซอร์เริ่มต้นของคุณจะมีการเปิดแท็บที่มี http://localhost:8888
มาเริ่มเขียนโค้ดกันเลย
ไปที่ File > New > Notebook
จะมีแท็บใหม่เปิดขึ้นมาให้สำหรับคุณ สิ่งแรกที่คุณต้องทำคือติดตั้งไลบรารีก่อนในการที่จะเล่นกับตัวแปรที่จำเป็น
การติดตั้งไลบรารี
ไลบรารีเหล่านี้จะถูกติดตั้งไว้ใน Jupiter Lab
โดยจะมีความแตกต่างเล็กน้อยหากเทียบกับเหล่าคำสั่ง Terminal
มาตรฐานทั่วไป โดยคุณต้องเอ็นเทอร์ก่อนคำสั่ง !
(เครื่องหมายอัศเจรีย์)
!pip install advertools
!pip install adviz
ในหน้า Jupiter Lab
ของคุณจะมีลักษณะเช่นนี้ หากต้องการเรียกใช้คำสั่ง คุณจะต้องกำลังเปิดหน้าฟิลด์ที่กำลังใช้งานที่มีโค้ดของคุณอยู่ แล้วกด Shift + Enter
หากต้องการป้อนโค้ดต่อไป คุณต้องกดที่ไอคอน +
ตรงด้านบนซะก่อน เพื่อเพิ่มช่องว่างใหม่สำหรับป้อนซินแท็กซ์โค้ดอันใหม่
การอิมพอร์ทนำเข้าแพ็คเกจ
อะไรที่ติดตั้งไปแล้วจะต้องผ่านการอิมพอร์ทนำเข้ามาซะก่อนถึงจะใช้ได้ ดังนั้นเราจะทำการนำเข้า pandas
, advertools
, adviz
และ plotly
เข้าสู่ช่องใหม่ของโค้ดนี้
import pandas as pd
import advertools as adv
import adviz
import plotly.express as px
การตั้งค่าเครื่องมือค้นหาเซิร์จเอนจิ้นและคีย์ API โดยเฉพาะ
คุณจะต้องทำการตั้งค่า ID ของเครื่องเซิร์จเอ็นจิ้นโดยเฉพาะนี้ซะก่อน (ตรงโค้ด cx) เพื่อทำการคิวรี่เซิร์จเอ็นจิ้นที่คุณต้องการผ่าน API จากนั้นค่อยตามด้วยรายการคีย์เวิร์ดที่คุณต้องการรับผลลัพธ์มาดูหลังจากที่ทำไปแล้ว ไปที่ Programmable search engine homepageเพื่อดูว่าจะ ค้นหาอะไร?
เลือก ○ ค้นหาทั้งเว็บ
ในการตั้งค่าการค้นหา
เลือก ○ ค้นหารูปภาพ
และ ○ การค้นหาแบบปลอดภัย
กดติ๊กเครื่องหมาย reCAPTCHA
แล้วกดสร้าง
จากสคริปต์ทั้งหมดนี้ คุณแค่คัดลอกเฉพาะส่วนหลัง cx=
นี้ก็พอ
<script async src="https://cse.google.com/cse.js?cx=YOUR-SEARCH-ENGINE-ID">
</script>
<div class="gcse-search"></div>
หากต้องการให้มี API ในการค้นหาโดยเฉพาะ ให้ไปที่ตรงนี้แล้วกด Get a Key
โค้ดที่คุณได้คัดลอกไปนั้นจะอ้างอิงถึง key
ในสคริปต์ สิ่งที่จะถูกส่งไปยังฟิลด์ Jupyter lab
ก็คือโค้ดสุดท้ายอันนี้
cx = "YOUR-SEARCH-ENGINE-ID"
key = "YOUR-CUSTOM-SEARCH-API-KEY"
เช็คคีย์เวิร์ดด้วยการใช้ API
ในส่วนนี้ เราจะทำการคิวรี่ API ผ่านการใช้ Advertools
เป็น adv
โดยใช้ serp_goog
เป็นตัวช่วย ผมจะสร้างตัวแปร dataz
ไว้จัดเก็บผลลัพธ์ โดยคุณสามารถตั้งชื่อตัวแปรนั้นยังไงก็ได้ โดยค่า gl=["th”]
จะเป็นตัวกำหนดค่าใน Google
ที่คุณต้องการค้นหา ซึ่งในกรณีนี้ก็คือ Google.co.th
ในส่วนโค้ดสุดท้ายของคุณนี้ ถ้าอยากคุณจะเพิ่มคีย์เวิร์ดเพิ่มเติมเข้าไปอีกก็ได้ โดยวัตถุประสงค์ของโค้ดนี้ ผมได้เลือกเพียงแค่บางส่วนเท่านั้น ถ้าคุณอยากที่จะทดลองอะไรเพิ่มเติมก็ตามแต่
dataz = adv.serp_goog(cx=cx,
key=key,
gl=["th"],
q=["จอง ตั๋ว เครื่องบิน",
"จอง ตั๋ว เครือ ง บิน",
"ตั๋ว เครื่อง บิน",
"จองตั๋ว",
"จองตั๋วล่วงหน้า",
"จองตั๋วออนไลน์",
"จอง ตั๋ว เครื่อง เครื่องบิน",
"ตั๋ว ถูก",
"ตั๋วเครื่องบิราคถูก",
])
เมื่อคุณเรียกใช้ฟิลด์นี้ด้วย Shift + Enter
กระบวนการคิวรี่ก็จะเริ่มขึ้น คุณแค่รอก็พอ
หากอยากจะรู้ว่าคุณสามารถตั้งค่าอะไรอีกบ้างในการใช้
serp_goog
ให้ป้อนช่องว่างของ Jupyter Labadv.serp_goog?
(ที่มี ? เครื่องหมายคำถาม)
วาดแผนที่ฮีทแมปโดยใช้ SERP
ส่วนโค้ดตรงนี้จะตรงๆไปเลย จะให้มันเยอะกว่านี้ก็ได้ คุณก็สามารถแก้ไขผ่าน fig
ค่าเกือบทั้งหมดที่คุณจะเห็นจะเป็นฮีทแมป SERP
แต่สำหรับกรณีนี้ ผมจะทำให้มันง่ายที่สุดเท่าที่จะทำได้ หากเราใช้ fig.layout.title
เราก็จะสามารถทำการกำหนดชื่อของแผนที่ฮีทแมปได้ ผมตั้งชื่อตัวแปรนี้ว่า dataz ผ่าน serp_heatmap
ที่ตรงนี้ เราจะทำการกำหนดผลลัพธ์จำนวนหนึ่งให้เป็น num_domains
(จำนวนโดเมน) ทั้งหมดนี้ คือสิ่งที่เราต้องตั้งค่าเพื่อสร้างฮีทแมปของ SERP
adviz.serp_heatmap(dataz,
num_domains=10)
fig = adviz.serp_heatmap(dataz)
fig.layout.title = "ผลลัพธ์จากการใช้ฮีทแมปของ SERP - ตั๋วเครื่องบิน"
fig
ผลลัพธที่โต้ตอบได้แบบฮีทแมป SERP - ตั๋วเครื่องบิน
ตามที่แสดงไว้ตรงข้างต้น ตอนนี้คุณควรจะเห็นผลลัพธ์ที่เป็นแบบฮีทแมป SERP ในฟิลด์ใหม่ของ Jupyter Lab ได้แล้ว โดยมันจะเป็นแบบอินเตอร์แรคทีฟคือสามารถโต้ตอบได้อย่างสมบูรณ์ เพราะงั้น คุณจะสามารถวางเมาส์เหนือวงกลมเพื่อดูว่าคีย์เวิร์ดใดในตำแหน่งใดที่ถูกเรียกใช้ในแต่ละโดเมน ดังที่แสดงในแผนที่ฮีทแมป SERP แบบโต้ตอบได้อันนี้
ผลลัพธ์ที่ไม่เสถียรในฮีทแมป SERP
ผลลัพธ์อาจแตกต่างกันไปขึ้นกับวันที่คุณทำการวิเคราะห์ เนื่องจากเว็บไซต์ส่วนใหญ่ผลิตเนื้อหาและอัลกอริทึมของ Google สะท้อนถึงการเปลี่ยนแปลง และคำนวณความครอบคลุมและตำแหน่งใหม่สำหรับแต่ละโดเมน/เว็บไซต์ต่างๆที่เกิดขึ้น (เว็บไซต์ข่าวอัปเดตบ่อยที่สุด) แทบจะทันที
ยกตัวอย่างเช่น ก่อนเทศกาลวันหยุด วันตรุษจีน หรือวันหยุดประจำชาติไทยอื่นๆ สามารถทำให้การจัดอันดับเว็บไซต์บางแห่งดีขึ้นมาอย่างแปลกหูแปลกตาก็ได้ เพราะเว็บนั้นอาจมีข้อเสนอโปรโมชั่นที่เกี่ยวข้องกับ (จุดหมายปลายทาง) พิเศษให้ เลยทำให้เครื่องมือค้นหาจะดำเนินการโดยรวมผลพิเศษนี้ไปด้วย
วิธีปรับเปลี่ยนผลลัพธ์ของฮีทแมป SERP ให้เป็นไปตามตามโดเมนระดับบนสุด
หากคุณต้องการจำกัดผลลัพธ์ในฮีทแมป SERP ให้มันแคบลงเหลือแค่เฉพาะโดเมนจากประเทศใดประเทศหนึ่งเท่านั้น หรือจะพูดว่าอยากจำกัดแค่ผลการค้นหาเฉพาะจากเอกสารที่มาจากประเทศใดประเทศหนึ่ง คุณอาจใช้ตัวดำเนินการบูลีนในค่าของพารามิเตอร์ cr
โดยโค้ดทั้งหมดนี่มีไว้เพื่อจำกัดโดเมนที่มาจากประเทศไทยเท่านั้น คือ cr=["countryTH"]
(วางไว้ตรงโค้ดที่คุณระบุว่าเป็นคีย์หลัก) จากนั้น Google Search จะทำการกำหนดประเทศของเอกสารโดยการวิเคราะห์โดเมนด้านบนสุด (TLD) จาก URL ของเอกสาร และตำแหน่งทางภูมิศาสตร์ของที่อยู่ IP ของเว็บเซิร์ฟเวอร์
ขอขอบคุณ San สำหรับงานแปลบทความนี้ และ Goh Rhy Yan สำหรับภาพปกจาก Unsplash
Top comments (1)
@chawansatita thanks for your support. Feel free to share this article with the Thai community. It will encourage me to provide new articles in the Thai language.