راهنمای Google’s Knowledge Graph Search API برای SEO
گوگل در سال 2012 نمودار دانش را معرفی کرد تا به جستجوگران کمک کند اطلاعات جدید را سریعتر کشف کنند.
اساساً، کاربران میتوانند مکانها، افراد، شرکتها و محصولات را جستجو کنند و نتایج فوری را پیدا کنند که بیشترین ارتباط را با پرس و جو دارند.
نمودار دانش مجموعه ای از موضوعات است که به عنوان موجودیت ها نیز شناخته می شود و به موجودیت های دیگر متصل می شود. موجودیت ها اشیاء اطلاعاتی واحدی هستند که می توانند به طور منحصر به فرد تعریف شوند.
آنها به گوگل این امکان را می دهند که هنگام بازگرداندن پاسخ به یک پرس و جو خاص، فراتر از تطبیق کلمات کلیدی برود. این بیشتر به گوگل کمک می کند تا هدف خود را برای تبدیل شدن به یک موتور پاسخگو انجام دهد.
Google دادههای Graph دانش را در ویژگیهای SERP مانند پانلهای دانش، کارتهای دانش، و قطعههای ویژه نشان میدهد.
این میتواند به برندها کمک کند تا در نتایج جستجو بیشتر دیده شوند و برای موضوعات خاصی اعتبار ایجاد کنند. دادههای ساختاریافته در وبسایتها میتوانند بر دادههایی که به نمودار دانش کشیده میشوند تأثیر بگذارند.
گوگل از نمودار دانش استفاده می کند تا تجربه جستجوی بهتری را برای کاربران فراهم کند زیرا می تواند موضوعات مختلف و روابط آنها با یکدیگر را بهتر درک کند.
برای مثال، اگر بخواهیم بازیگران فیلمی را ببینیم، گوگل میتواند آن را به صورت چرخ فلکی در صفحه نتایج جستجو نمایش دهد.
-
اسکرین شات از گوگل، سپتامبر ۲۰۲۲
با این حال، این ویژگیهای SERP (صفحه نتایج موتور جستجو) همچنین میتواند منجر به کلیکهای کمتری در وبسایت شود، زیرا Google میتواند اطلاعات بسیار بیشتری را در صفحه نتایج جستجو نشان دهد.
این به آنها امکان میدهد با ویژگیهایی مانند «افراد نیز جستجو میکنند» و پرسشهای مرتبط مرتبط با عبارت جستجوی اصلی، پاسخی سریع و دقیق به جستجوگران ارائه دهند و آنها را به سمت سایر نتایج جستجو هدایت کنند.
به عنوان مثال، اگر گروه کیپاپ BTS را در نظر بگیریم، در یک جستجو میتوانم فهرستی از همه اعضا، آهنگها و آلبومهای آنها، و همچنین رویدادهای آینده، جوایزی که برنده شدهاند و مکانهای مختلف را ببینم. می توانند به موسیقی آنها گوش دهند.
همه در یک جستجو بدون نیاز به بازدید از یک وب سایت خارجی.
-
اسکرین شات از گوگل، سپتامبر ۲۰۲۲
API Graph Knowledge
API Graph Knowledge، که Google ساخته است، به ما امکان میدهد برای پرس و جوهای خاص، موجودیتهایی را در Google Knowledge Graph پیدا کنیم.
این به ما دسترسی مستقیم به پایگاه داده را می دهد تا موجودیت های علامت گذاری شده برای هر پرس و جو را ببینیم. همچنین مستقل از موقعیت مکانی کاربر است و نمای دقیق تری از نمودار دانش ارائه می دهد.
برخی از موارد استفاده از API، همانطور که توسط Google ارائه شده است، عبارتند از:
- دریافت لیست رتبه بندی شده از شاخص ترین نهادها که با معیارهای خاصی مطابقت دارند.
- آنها به صورت پیش بینی کننده موجودیت ها را در یک جعبه جستجو تکمیل می کنند.
- حاشیه نویسی/سازماندهی محتوا با استفاده از موجودیت های نمودار دانش.
همانطور که مستندات بیان می کند، خود API به جای نمودارهای موجودیت های به هم پیوسته، فقط موجودیت های منطبق را برمی گرداند.
استفاده از پایتون برای فراخوانی API
چهار کلاینت مختلف وجود دارد که گوگل API را از طریق آنها فراخوانی می کند: Python، Java، JavaScript و PHP.
یک مثال نقطه شروع برای هر یک را می توان در صفحه مربوطه در مستندات یافت.
برای این مثال، من از پایتون استفاده خواهم کرد زیرا زبانی است که بیشتر با آن آشنا هستم.
ایجاد یک کلید API
اولین مرحله ایجاد یک کلید API برای ارسال درخواست به API است.
برای ایجاد یک کلید API، به کنسول Google API بروید و به صفحه اعتبارنامه بروید.
مرحله بعدی این است که به کتابخانه API بروید، Knowledge Graph را جستجو کنید و سپس آن را فعال کنید.
-
تصویری از Knowledge Graph API، سپتامبر ۲۰۲۲
میتوانید یادداشتی از کلید API خود را ذخیره کنید، اما همچنین میتوانید با کلیک بر روی API که قبلاً ایجاد کردهاید، دوباره کلید API را پیدا کنید.
-
تصویری از Knowledge Graph API، سپتامبر ۲۰۲۲
یک درخواست API ساده
برای بازگرداندن موجودیت های مطابق با یک پرس و جو، همراه با امتیاز نتایج برای هر موجودیت، یک قطعه ساده از کد پایتون وجود دارد که می توانید آن را در Google Colab (که برای مبتدیان به راحتی در دسترس است) یا در محیط محلی خود اجرا کنید.
api_key = ' ' #add your API key
query = 'BTS' #add your query
service_url="https://kgsearch.googleapis.com/v1/entities:search"
params = {
'query': query,
'limit': 10,
'indent': True,
'key': api_key,
}
url = service_url + '?' + urllib.parse.urlencode(params)
response = json.loads(urllib.request.urlopen(url).read())
for element in response['itemListElement']:
print(element['result']['name'] + ' (' + str(element['resultScore']) + ')')
این امر نتیجه ای مانند زیر را ایجاد می کند:
-
اسکرین شات از Google Colab، سپتامبر ۲۰۲۲
در این، بسته به آنچه که به دنبال آن هستیم، می توانیم چند پارامتر را تنظیم کنیم.
اولین چیزی که باید اضافه کنید کلید API است و به دنبال آن عبارتی است که می خواهید نتایج را برای آن ایجاد کنید.
سپس پارامترها تنظیم می شوند تا کلید API را که قبلاً اضافه کرده اید و درخواستی را که انتخاب کرده اید فراخوانی کنند.
این به شما امکان می دهد هر بار که کد را اجرا می کنید به راحتی پرس و جوی مورد جستجو را تغییر دهید.
سپس ما محدودیت داریم، که تعداد موجوداتی است که می خواهید برگردانید. پیشفرض برای این 20 است، با حداکثر 500. به یاد داشته باشید که درخواستهایی با محدودیتهای بالا شانس بیشتری برای اتمام زمان دارند.
سپس میتوانیم از یک Boolean (درست یا نادرست) استفاده کنیم تا تصمیم بگیریم که آیا میخواهیم پاسخ JSON را برای قالببندی آسان تورفتگی کنیم.
پارامترهای دیگری نیز وجود دارد که می توانید آنها را در نظر بگیرید، مانند:
- زبان ها: لیستی از کدهای زبانی که می خواهید پاسخ را به آنها محدود کنید.
- انواع: برای محدود کردن موجودیتها به انواعی که انتخاب میکنید، استفاده میشود، به عنوان مثال، اگر فقط نتایج موجودیت «شخص» را میخواهید.
سپس از اسکریپت میخواهیم URL را فراخوانی کند، درخواست را تکمیل کند و نتیجه را به یک چاپ ساده از نام موجودیت و امتیاز نتیجه برای هر موجودیت تجزیه کند، که در پرانتز قرار میگیرد.
استخراج حتی بیشتر
بازگرداندن موجودیت ها و امتیاز نتیجه آنها فقط خراش دادن سطح است. چیزهای بیشتری وجود دارد که می توانیم از API Graph دانش به دست آوریم.
میتوانیم یک شی JSON حاوی تمام فیلدهای پاسخ ذخیره شده برای هر موجودیت را با چند خط کد بیشتر و برخی توابع برگردانیم.
ابتدا میخواهیم صفحه جلسه را که از طریق API جستجو میشود، درخواست کنیم.
def get_source(url):
try:
session = HTMLSession()
response = session.get(url)
return response
except requests.exceptions.RequestException as e:
print(e)
سپس، با استفاده از یک درخواست API مشابه در کد اصلی، میتوانیم آن را در ارتباط با درخواست پرس و جو خود با استفاده از همان پارامترها فراخوانی کنیم.
def knowledge_graph(api_key, query):
query = 'BTS' #add your query
service_url="https://kgsearch.googleapis.com/v1/entities:search"
params = {
'query': query,
'limit': 10,
'indent': True,
'key': api_key,
}
url = service_url + '?' + urllib.parse.urlencode(params)
response = get_source(url)
سپس، کلید API خود را وارد می کنیم تا شی پاسخ خود را با داده های کامل برگردانیم.
return json.loads(response.text)
api_key = " " #add your API key
knowledge_graph_json = knowledge_graph(api_key, query)
knowledge_graph_json
برای دیدن نتایج و کمک به درک بیشتر پاسخ، میتوانیم شی JSON را به یک Pandas DataFrame عادی کنیم. این هر فیلد را می گیرد و آن را به یک ستون، با هر موجودیت یک ردیف متفاوت منتقل می کند.
pd.json_normalize(knowledge_graph_json, record_path=’itemListElement’)
همچنین برای من جالب بود که این کد را در روزهای مختلف با همان کوئری اجرا کنم و نحوه تغییر نتایج را بررسی کنم.
فیلدهای پاسخ
چندین فیلد برای هر موجودیت در Knowledge Graph API استخراج خواهد شد:
- شناسه: URI متعارف برای نهاد.
- نام: نام نهاد
- نوع: لیستی از انواع طرحواره پشتیبانی شده که با موجودیت مطابقت دارند.
- شرح: شرح مختصری از موجودیت
- تصویر: تصویری که مربوط به موجودیت است.
- توصیف همراه با جزئیات: شرح مفصلی از نهاد
- آدرس اینترنتی: وب سایت رسمی این نهاد.
- امتیاز نتیجه: نشانگر میزان مطابقت موجودیت با پرس و جو.
فیلد id به MID (شناسه تولید شده توسط ماشین)، یک شناسه منحصر به فرد برای هر موجودیت اشاره دارد.
این معمولاً با kg:/m/ شروع میشود و سپس یک رشته کوتاه اضافه میشود. MID ها زبان انسان را به قالبی تجزیه می کنند که ماشین ها می توانند آن را بفهمند.
این MIDها همچنین با موجودیت موجود در Google Trends مطابقت دارند و همچنین می توانند برای بازیابی URL هر موجودیت استفاده شوند، حتی اگر پانل دانشی برای آن وجود نداشته باشد.
امتیاز اعتماد به نفس
ResultScore (همچنین به عنوان امتیاز اطمینان شناخته می شود) نشان دهنده اعتماد Google به درک آن از موجودیت است. این اساساً قدرت درک شده رابطه بین نهادی است که Google برای پرس و جو شناسایی کرده است، و نهادی که برگردانده شده است.
هر چه امتیاز نتیجه بالاتر باشد، گوگل اطمینان بیشتری به این دارد که نهاد بهترین منطبق برای پرس و جو است.
با این حال، هیچ تضمینی وجود ندارد که موجودی با بالاترین امتیاز به عنوان قطعه برجسته در نتایج جستجو ظاهر شود.
این امتیاز به ویژه هنگام تجزیه و تحلیل پرس و جوهای مختلف برای فرصت ها مفید است.
به عنوان مثال، فرض کنید متوجه نمرات پایین حوزه انتخابیه برای یک پرس و جو خاص شده اید. در آن صورت، این فرصت را برای بهینه سازی صفحات برای پیشی گرفتن از صفحات شناسایی شده برای موجودیت برجسته می کند.
نشانی اینترنتی موجودیت نیز به عنوان «خانه نهاد» در نظر گرفته میشود، که وبسایت و صفحهای است که Google آن را معتبرترین منبع با دقیقترین اطلاعات در مورد آن نهاد میشناسد.
برای بهبود امتیاز اطمینان، اطمینان از سازگاری وب سایت شما با اطلاعات موجود در خانه آن نهاد مهم است.
بهبود کیفیت و جزئیات ارائه شده در یک صفحه وب همچنین به بهبود امتیاز اطمینان کمک می کند و این را با فعالیت های روابط عمومی همراه می کند تا اعتبار وب سایت را برای موضوع مورد انتخاب شده افزایش دهد.
استخراج بینش
شما می توانید چندین کار را با یافته های پاسخ Graph دانش خود انجام دهید، از جمله شناسایی مناطق فرصت و بررسی موجودیت ها و خانه های موجودیت فعلی برای جستجوهای خاص.
به عنوان مثال، اطمینان از داشتن مناسبترین نشانهگذاری طرحواره و بهینهسازی روی صفحه برای ارتباط با نهادهای هدف، اولین قدم مهم است.
تحقیق کلمات کلیدی
هنگام تکمیل تحقیقات کلمه کلیدی، ارزش این را دارد که در نظر بگیرید که آیا هدف فعلی شما در صورت وجود یک موجودیت قوی برای یک کلمه کلیدی خاص، منطقی است یا خیر.
به هر حال، هدف اصلی گوگل ارائه مفیدترین اطلاعات در نتایج جستجو است. با افزایش جستجوی صفر کلیک، رقابت برای عبارات جستجو و توانایی ظاهر شدن در ویژگی های SERP نیز افزایش می یابد.
ساختمان با نام تجاری
استفاده از نهادها یک راه عالی برای ایجاد حضور و قدرت جستجوی ارگانیک یک برند یا شرکت در یک فضای خاص است.
دانستن نهادهای پشت یک پرس و جو خاص مفید است. آنها می توانند بینش هایی در مورد بینش جستجو برای کلمات کلیدی به ما بدهند و ایجاد محتوای معتبر و مفید در راستای این موضوع را آسان تر کنند.
تحقیق رقبا
از آنجایی که API فهرست رتبهبندیشدهای از موجودیتهایی را ارائه میکند که برای پرس و جوها ظاهر میشوند، میتوانید به جای انجام جستجوهای متعدد برای دیدن آنچه ظاهر میشود، سطح بالایی از بینش را مشاهده کنید.
این به شما امکان می دهد عملکرد رقبای خود را برای پرس و جوهای خاص و نحوه مقایسه خود بررسی کنید.
همچنین میتوانید از این بینشها استفاده کنید تا اطمینان حاصل کنید که میتوانید امتیاز اعتماد به نفس خود را برای پیشی گرفتن از رقبا در نتایج افزایش دهید.
API به شما این امکان را می دهد که به طور منظم این موضوع را پیگیری کنید و هر تغییری را که مشاهده می کنید گزارش دهید، احتمالاً قبل از تغییر ویژگی های SERP.
به طور خلاصه
امیدوارم این موضوع مکانی برای شروع تجزیه و تحلیل نمودار دانش و استخراج بینش های ارزشمند برای کمک به بهینه سازی ظاهر شما در ویژگی های جستجو باشد.
همانطور که گوگل توضیح می دهد، نمودار دانش برای افزایش جستجوی گوگل برای یافتن چیز مناسب، دریافت بهترین خلاصه، و عمیق تر و گسترده تر استفاده می شود.
امکان دیدن زیر پوشش نمودار دانش مکانی عالی برای شروع است تا مطمئن شوید که وب سایت شما بهترین منبع برای Google برای انجام این کار است.
من در اینجا یک نوت بوک Google Colab برای شما ایجاد کرده ام تا از آن استفاده کنید و با کد بازی کنید.
مایلم بدانم چه بینش هایی برای سوالات خود استخراج کرده اید. (لطفاً به یاد داشته باشید که یک کپی تهیه کنید و API ایجاد شده خود را اضافه کنید).
همچنین می توانید نسخه ای از کد را در GitHub در اینجا بیابید.
منابع بیشتر:
تصویر ویژه: REDPIXEL.PL/Shutterstock