معرفی و حل مشکل Sitelinks search box
شاید شما هم بعد از طراحی سایت، در هنگام سئو وب سایت با این مشکل در گوگل سرچ کنسول مواجه شوید. در ادامه این مقاله قصد داریم به معرفی و حل مشکل Sitelinks search box بپردازیم و در این راستا به شما کمک کنیم تا بتوانید این مشکل را حل کنید و در بهبود سئو وب سایت خود کوشا باشید. پس تا پایان این مقاله همراه ما باشید.
Sitelinks search box چیست؟
sitelinks search box راهی سریع برای افراد است که سایت یا برنامه شما را بلافاصله در صفحه نتایج جستجو، جستجو کنند. search box پیشنهادات real-time و سایر ویژگیها را اجرا میکند. گوگل ممکن است بهطور خودکار search box محدوده وبسایت شما را هنگامی که بهعنوان یک نتیجه جستجو ظاهر میشود، نشان دهد، بدون اینکه نیازی به انجام کار اضافی برای این امر باشد.
search box توسط جستجوی گوگل ارائه شده است. با این حال، میتوانید با افزودن structured data وبسایت، اطلاعاتی را به صراحت ارائه دهید، که میتواند به گوگل در درک بهتر سایت شما کمک کند. اگر جستجوی گوگل قبلاً یک sitelink search box را برای سایت شما نشان داده است، میتوانید جنبههای خاصی از آن را با افزودن structured data وب سایت کنترل کنید.
توجه: گوگل تضمین نمیکند که sitelink search box در نتایج جستجو نشان داده شود. علاوه بر این، استفاده از sitelinks search box markup، احتمال نمایش sitelink search box را افزایش نمیدهد. برای فهرستی از دلایل متداول که چرا گوگل ممکن است structured data را در نتایج جستجو نشان ندهد، دستورالعملهای structured data را مرور کنید.
نحوه پیادهسازی sitelinks search box
این مراحل برای واجد شرایط ساختن سایت شما برای نمایش با search box در نتایج جستجوی گوگل آمده است:
- یک موتور جستجوی کار بر روی وب سایت یا برنامه اندروید خود نصب کنید.
Sitelinks search queries کاربر را به صفحه نتایج جستجوی سایت یا برنامه شما میفرستد؛ بنابراین برای تقویت این ویژگی به یک موتور جستجوی کارآمد نیاز دارید.
وب سایتها: یک موتور جستجو در وب سایت خود راه اندازی کنید. این ویژگی با استفاده از نحو مشخص شده در structured data شما، درخواست کاربر را به هدف شما ارسال میکند. موتور جستجوی شما باید از کلمات کلیدی کدگذاری شده UTF-8 پشتیبانی کند.
برنامهها: برنامه Android شما، با URI اطلاعات مربوطه مشخص شده در ویژگی potencialAction.target نشانهگذاری شما، باید از یک هدف ACTION_VIEW از نتایج جستجو پشتیبانی کند. -
المان structured data وبسایت را در صفحه اصلی سایت خود پیادهسازی کنید.
یک برنامه باید یک وب سایت مرتبط داشته باشد تا این ویژگی فعال شود، حتی اگر وب سایت فقط یک صفحه باشد. چند دستورالعمل اضافی:
– این نشانهگذاری را فقط به صفحه اصلی اضافه کنید، نه به هیچ صفحه دیگری.
– اگر از قبل structured data وبسایت را برای ویژگی نامهای سایت پیادهسازی کردهاید، مطمئن شوید که ویژگیهای نام سایت را در همان مشکل ایجاد شده قرار دادهاید. به عبارت دیگر، اگر میتوانید به آن کمک کنید، از ایجاد یک بلوک structured data وب سایت اضافی در صفحه اصلی خود اجتناب کنید.
– همیشه یک SearchAction برای وبسایت و در صورت پشتیبانی از جستجوی برنامه، به صورت اختیاری، دیگری را مشخص کنید. شما باید یک SearchAction برای وب سایت داشته باشید؛ حتی اگر برنامه هدف جستجوی مورد نظر شما باشد. این تضمین میکند که اگر کاربر از طریق تلفن اندرویدی جستجو نمیکند یا برنامه اندروید شما را نصب نکرده است، نتیجه جستجو به وب سایت شما هدایت میشود.
– بر اساس قالبی که استفاده میکنید، بیاموزید که کجا structured data را در صفحه درج کنید. -
دستورالعملها را دنبال کنید.
- کد خود را با استفاده از Rich Results Test اعتبارسنجی کنید.
- با کپی کردن وب سایت، اجرای موتور جستجوی خود را تأیید کنید. اجرای موتور جستجوی خود را با کپی کردن URL WebSite.potentialAction.target از structured data خود، جایگزینی {search_term_string} با یک جستجوی آزمایشی، و مرور در آن URL در یک مرورگر وب، تأیید کنید. برای مثال، اگر وبسایت شما example.com است، و میخواهید کلمه کلیدی «kittens» را آزمایش کنید، باید به https://www.example.com/search/?q=kittens مراجعه کنید.
- با استفاده از المان لینک rel=”canonical” در تمام صفحه اصلی، یک URL معمولی ترجیحی برای صفحه اصلی دامنه خود تنظیم کنید. این به جستجوی گوگل کمک میکند تا URL صحیح را برای نشانهگذاری شما انتخاب کند. سرور شما باید از رمزگذاری نویسه UTF-8 پشتیبانی کند.
- برای برنامهها، فیلترهای هدف مناسب را برای پشتیبانی از نشانی اینترنتی که در هدف برنامه نشانهگذاری خود مشخص کردهاید، فعال کنید.
- چند صفحه را مستقر کنید که شامل structured data شما باشد و از ابزار بازرسی URL برای تست نحوه مشاهده صفحه توسط گوگل استفاده کنید. مطمئن شوید که صفحه شما برای گوگل قابل دسترسی است و توسط فایل robots.txt، تگ noindex یا الزامات ورود مسدود نشده است. اگر صفحه سالم به نظر می رسد، می توانید از گوگل بخواهید که URLهای شما را دوباره بخزد.
- برای آگاه نگه داشتن گوگل از تغییرات آینده، توصیه میکنیم نقشه سایت را ارسال کنید. شما میتوانید این کار را با Search Console Sitemap API خودکار کنید.
مثال :
در اینجا یک نمونه از نتیجه جستجو برای Pinterest در گوگل است که یک sitelinks search box را برای وب سایت Pinterest برمیگرداند:
در اینجا نمونهای از نشانهگذاری، که یک sitelinks search box را که از موتور جستجوی سفارشی وب سایت استفاده میکند، پیادهسازی میکند:
JSON-LD:
<html> <head> <title>The title of the page</title> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "WebSite", "url": "https://www.example.com/", "potentialAction": { "@type": "SearchAction", "target": { "@type": "EntryPoint", "urlTemplate": "https://query.example.com/search?q={search_term_string}" }, "query-input": "required name=search_term_string" } } </script> </head> <body> </body> </html>
سایت و یک برنامه در JSON-LD:
<html> <head> <title>The title of the page</title> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "WebSite", "url": "https://www.example.com/", "potentialAction": [{ "@type": "SearchAction", "target": { "@type": "EntryPoint", "urlTemplate": "https://query.example.com/search?q={search_term_string}" }, "query-input": "required name=search_term_string" },{ "@type": "SearchAction", "target": { "@type": "EntryPoint", "urlTemplate": "android-app://com.example/https/query.example.com/search/?q={search_term_string}" }, "query-input": "required name=search_term_string" }] } </script> </head> <body> </body> </html>
Microdata:
<div itemscope itemtype="https://schema.org/WebSite"> <meta itemprop="url" content="https://www.example.com/"/> <form itemprop="potentialAction" itemscope itemtype="https://schema.org/SearchAction"> <meta itemprop="target" content="https://query.example.com/search?q={search_term_string}"/> <input itemprop="query-input" type="text" name="search_term_string" required/> <input type="submit"/> </form> </div>
رهنمودها
شما باید این دستورالعملها را دنبال کنید تا سایت شما واجد شرایط ظاهر شدن به عنوان یک rich result باشد.
هشدار: اگر سایت شما یک یا چند مورد از این دستورالعملها را نقض کند، ممکن است گوگل نسبت به آن اقدام دستی انجام دهد. پس از رفع مشکل، میتوانید سایت خود را برای بررسی مجدد ارسال کنید.
از ظاهر شدن sitelinks search box جلوگیری کنید.
جستجوی گوگل میتواند انتخاب کند که sitelinks search box را به سایت شما اضافه کند، حتی اگر شامل structured data که در اینجا توضیح داده شده، نباشد. با این حال، میتوانید با اضافه کردن متا تگ زیر به صفحه اصلی خود از این رفتار جلوگیری کنید:
<meta name="google" content="nositelinkssearchbox">
تعاریف نوع structured data
برای واجد شرایط ساختن محتوای خود برای نمایش با sitelinks search box، ویژگیهای مورد نیاز را اضافه کنید.
نوع اصلاح شده وب سایت
جستجوی گوگل از یک نوع structured data وب سایت اصلاح شده برای sitelinks search box و برنامه استفاده میکند. ویژگیهای پشتیبانی شده توسط گوگل به شرح زیر است:
potentialAction
این موضوع URI برای ارسال کلمات کلیدی و نحو درخواست ارسال شده را توصیف میکند. شما باید یک صفحه وب یا intent handler پیادهسازی کنید که بتواند درخواست را دریافت کند و جستجوی مناسب را در رشته ارسال شده، انجام دهید. اگر کاربر از یک برنامه Android استفاده نمیکند (یا در یک برنامه Android است اما هدف Android را مشخص نکرده است)، search box نسخه وب سایت درخواست را به مکان مشخص شده ارسال میکند. اگر کاربر در یک دستگاه اندرویدی باشد و یک Android intent URI را مشخص کرده باشد، آن هدف را ارسال خواهد کرد.
برای فعال کردن مورد جستجوی دسکتاپ باید یک وب سایت SearchAction ایجاد کنید. اگر از جستجوی برنامه نیز پشتیبانی میکند؛ علاوهبراین میتوانید یک SearchAction برای برنامه خود تعیین کنید. هر SearchAction باید دارای ویژگیهای تودرتو زیر باشد:
- potentialAction.@type
- potentialAction.target
- potentialAction.query-input
نمونه وب سایت
مثال زیر یک درخواست GET را به https://query.example.com/search?q=user%20search%20string ارسال میکند.
"potentialAction": [{ "@type": "SearchAction", "target": { "@type": "EntryPoint", "urlTemplate": "https://query.example.com/search?q={search_term_string}" } "query-input": "required name=search_term_string" }]
مثال زیر یک intent Android را به android-app://com.example/https/query.example.com/search/?q=user_search_string ارسال میکند.
"potentialAction": [{ "@type": "SearchAction", "target": { "@type": "EntryPoint", "urlTemplate": "android-app://com.example/https/query.example.com/search/?q={search_term_string}" } "query-input": "required name=search_term_string" }]
potentialAction. query-input
از استرینگ required name = search-term
یا از هر متغیری که در target استفاده کردید، استفاده کنید. اطمینان حاصل کنید که هر دو مقدار placeholder مطابقت دارند. برای مثال، هر دو مقدار placeholder در ویژگیهای target و query-input از string search-term
استفاده میکنند:
"potentialAction": [{ "@type": "SearchAction", "target": { "@type": "EntryPoint", "urlTemplate": "https://query.example.com/search?q={search-term}" } "query-input": "required name=search-term" }]
potentialAction. target
یک EntryPoint با ویژگی urlTemplate.
urlTemplate باید یک رشته در این قالب باشد: search_handler_uri{search_term_string}
به عنوان مثال:
https://query.example.com/search?q={search_term_string}
search_ handler_ uri
برای وبسایتها، URL کنترلکنندهای که search query را دریافت و مدیریت میکند. برای برنامهها، URI of the intent handler برای موتور جستجوی شما که به کلمات کلیدی رسیدگی میکند.
search_ term_ string
یک placeholder وقتی کاربر روی دکمه “جستجو” در search box کلیک میکند، با عبارت جستجوی کاربر جایگزین میشود. اطمینان حاصل کنید که هر استرینگ placeholder که در اینجا استفاده میکنید با مقدار المان نام برای ویژگی query-input نیز مطابقت داشته باشد.
گوگل همچنین از قالب مختصر این ویژگی پشتیبانی میکند که در آن میتوانید متن را مستقیماً در potencialAction.target ارائه دهید و گوگل آن را به urlTemplate گسترش میدهد. مثلا:
"potentialAction": [{ "@type": "SearchAction", "target": "android-app://com.example/https/query.example.com/search/?q={search_term_string}", "query-input": "required name=search_term_string" }]
اما این غیر استاندارد است و گوگل در درجه اول از آن برای سادگی Microdata پشتیبانی میکند. برای بهترین نتایج، کل EntryPoint را بگنجانید.
URL
نشانی اینترنتی سایت مورد جستجو را مشخص میکند. روی صفحه اصلی canonical سایت خود تنظیم کنید. به عنوان مثال: https://www.example.org
rich results را با سرچ کنسول نظارت کنید.
سرچ کنسول ابزاری است که به شما کمک میکند عملکرد صفحات خود را در جستجوی گوگل نظارت کنید. برای گنجاندن در نتایج جستجوی گوگل، نیازی به ثبت نام در سرچ کنسول ندارید، اما میتواند به شما در درک و بهبود نحوه مشاهده سایت شما توسط گوگل کمک کند. توصیه میکنیم در موارد زیر سرچ کنسول را بررسی کنید:
- پس از استقرار structured data برای اولین بار
- پس از انتشار قالبهای جدید یا بهروزرسانی کد خود
- تجزیه و تحلیل ترافیک به صورت دورهای
پس از استقرار structured data برای اولین بار
پس از اینکه گوگل صفحات شما را ایندکس کرد، با استفاده از گزارش وضعیت Rich result مربوطه به دنبال مشکلات باشید. در حالت ایدهآل، موارد معتبر افزایش مییابد و موارد نامعتبر افزایش نمییابد. اگر در structured data خود مشکلی پیدا کردید:
- موارد نامعتبر را برطرف کنید.
- یک URL زنده را بررسی کنید تا بررسی کنید که آیا مشکل همچنان وجود دارد یا خیر.
- درخواست اعتبار با استفاده از گزارش وضعیت.
پس از انتشار قالبهای جدید یا بهروز رسانی کد خود
هنگامی که تغییرات قابل توجهی در وب سایت خود ایجاد میکنید، برای افزایش موارد نامعتبر structured data نظارت کنید.
اگر مشاهده کردید موارد نامعتبر افزایش یافته است، احتمالاً یک الگوی جدید ارائه کردهاید که کار نمیکند، یا سایت شما با الگوی موجود به روشی جدید و بد در تعامل است.
اگر کاهشی در موارد معتبر مشاهده کردید (که با افزایش موارد نامعتبر مطابقت ندارد)، شاید دیگر structured data را در صفحات خود جاسازی نمیکنید. از ابزار URL Inspection استفاده کنید تا بدانید چه چیزی باعث این مشکل میشود.
تجزیه و تحلیل ترافیک به صورت دورهای
با استفاده از گزارش عملکرد، ترافیک جستجوی گوگل خود را تجزیه و تحلیل کنید. دادهها به شما نشان میدهند که چقدر صفحه شما بهعنوان یک rich result در جستجو ظاهر میشود، کاربران چقدر روی آن کلیک میکنند و میانگین موقعیت شما در نتایج جستجو چقدر است. همچنین میتوانید بهطور خودکار این نتایج را با Search Console API بکشید.
عیب یابی
اگر در پیادهسازی یا اشکال زدایی structured data مشکل دارید، در اینجا منابعی وجود دارد که ممکن است به شما کمک کند.
- اگر از یک سیستم مدیریت محتوا (CMS) استفاده میکنید یا شخص دیگری از سایت شما مراقبت میکند، از آنها بخواهید به شما کمک کنند. اطمینان حاصل کنید که هر پیام سرچ کنسول که جزئیات مشکل را به آنها ارائه میدهد.
- گوگل تضمین نمیکند که ویژگیهایی که structured data را مصرف میکنند در نتایج جستجو نشان داده شوند. برای فهرستی از دلایل متداول که چرا گوگل ممکن است محتوای شما را در یک rich result نشان ندهد، به دستورالعملهای structured data مراجعه کنید.
- ممکن است در structured data خود خطا داشته باشید. لیست خطاهای structured data را بررسی کنید.
- اگر یک اقدام دستی structured data علیه صفحه خود دریافت کردید، structured data در صفحه نادیده گرفته میشوند (اگرچه این صفحه همچنان میتواند در نتایج جستجوی گوگل ظاهر شود). برای رفع مشکلات structured data، از گزارش اقدامات دستی استفاده کنید.
- دستورالعملها را دوباره مرور کنید تا متوجه شوید که آیا محتوای شما با دستورالعملها مطابقت ندارد. این مشکل میتواند ناشی از محتوای spam یا استفاده از نشانهگذاری spam باشد. با این حال، این مشکل ممکن است یک ناهماهنگی در قسمتهای مختلف نباشد؛ بنابراین Rich Results Test قادر به شناسایی این مشکلات نخواهد بود.
- عیبیابی Rich Results از دست رفته/ کاهش کل Rich Results.
- برای خزیدن مجدد و ایندکس کردن مجدد زمان بگذارید. به یاد داشته باشید که پس از انتشار یک صفحه ممکن است چندین روز طول بکشد تا گوگل آن را پیدا کند و بخزد.
شما میتوانید با مراجعه کردن به صفحه مقالات آموزشی ماکان، سایر مقالات ما را مطالعه کنید.
صفحه ما را در اینستاگرام دنبال کنید تا با مطالب روز در حوزه دیجیتال آشنا شوید.