شما پایش کلمه کلیدی را تنظیم کردهاید، وقتی DevTools را باز میکنید میتوانید بهطور کاملاً واضح کلمه را در HTML صفحه ببینید — و با این حال هشدار هرگز فعال نمیشود. چیزی خراب نیست. تشخیص استاندارد کلمه کلیدی، متن قابل مشاهده یک صفحه را میخواند: کلماتی که یک انسان واقعاً میتواند روی صفحه بخواند. اگر مقداری که دنبال میکنید در یک عنصر مخفی، یک ویژگی data- یا یک اسکریپت درونخطی قرار داشته باشد، داده واقعی است اما متن قابل مشاهده نیست، بنابراین تشخیص معمولی از کنار آن عبور میکند.
راهحل فقط یک گزینه است. در زبانه تشخیص کلمه کلیدی افزونه Auto Refresh توسط Extfy، گزینه یافتن متن پایش در منبع را فعال کنید تا جستجوی کلمه کلیدی از متن رندرشده به کد منبع کامل HTML تغییر کند — شامل عناصر مخفی، ویژگیها و اسکریپتها.
in_stock ✕
به کاربر اطلاع بده
پخش صدا هنگام یافتن/نیافتن کلمه کلیدی
یافتن متن پایش در منبع
صفحات مدرن اطلاعات بسیار بیشتری را در نشانهگذاری خود نسبت به چیزی که روی صفحه نمایش میدهند، نگه میدارند. کلمه کلیدی موردنظر شما اغلب در یکی از این مکانها قرار دارد:
display:none یا visibility:hidden قرار گرفته و منتظر است یک اسکریپت آن را نمایش دهد.data- — مقادیری مانند data-availability="in_stock" یا data-status="approved" که رابط کاربری را هدایت میکنند اما هرگز بهصورت متن نمایش داده نمیشوند.<script> ارسال میکند و بعداً با جاوااسکریپت نمایش میدهد.title، alt و aria-label — قابل خواندن برای ماشینها و صفحهخوانها، اما نامرئی برای تطبیق متن.تشخیص متن قابل مشاهده عمداً طوری ساخته شده است که با درک شما هماهنگ باشد: صفحه را همانطور میخواند که یک انسان میبیند، پس از اینکه مرورگر همهچیز را رندر کرده است، و فقط کلماتی را در نظر میگیرد که واقعاً روی صفحه ظاهر میشوند. این کار آن را سریع نگه میدارد و نتایج را تمیز نگه میدارد — تطبیق یعنی یک انسان هم میتواند آن کلمه را ببیند. هزینه این طراحی یک نقطه کور است. هر چیزی که فقط در نشانهگذاری وجود داشته باشد، طبق تعریف متن قابل مشاهده نیست، بنابراین تشخیصدهنده اصلاً به آن نگاه نمیکند. صفحه میتواند پر از دقیقاً همان رشتهای باشد که بهعنوان کلمه کلیدی وارد کردهاید و تشخیص صادقانه گزارش دهد «یافت نشد»، زیرا در نمای رندرشده واقعاً آنجا وجود ندارد.
in_stock، نه برچسب «موجود» که صفحه ممکن است بعداً نمایش دهد.صفحه محصولی را تصور کنید که هنگام خرید به کاربران «ناموجود» را نشان میدهد، در حالی که نشانهگذاری آن از قبل دارای data-availability="in_stock" است — داده بهروزرسانی شده، اما رابط کاربری هنوز هماهنگ نشده است. تشخیص متن قابل مشاهده همچنان با برچسب قدیمی «ناموجود» تطبیق میدهد. با فعال بودن یافتن متن پایش در منبع و تنظیم کلمه کلیدی روی in_stock، Auto Refresh تغییر را همان لحظهای که در HTML قرار میگیرد تشخیص میدهد، اغلب کمی پیش از اینکه صفحه قابل مشاهده بهروزرسانی شود. همین روش برای پرچمهای خطای پنهان، وضعیتهای تأیید در ابزارهای مدیریتی و هر مقداری که صفحه با جاوااسکریپت با تأخیر نمایش میدهد نیز کار میکند.
in_stock یا status-approved بسیار ایمنتر از stock است.تشخیص متن قابل مشاهده حالت پیشفرض مناسب است — تا زمانی که چیزی که دنبال میکنید هرگز واقعاً رندر نشود. وقتی کلمه کلیدی در یک عنصر پنهان، یک ویژگی یا یک اسکریپت قرار دارد، گزینه یافتن متن پایش در منبع را در زبانه تشخیص کلمه کلیدی و Auto Refresh فعال کنید تا صفحه را همانطور که DevTools انجام میدهد بخواند و دادههایی را که تشخیص معمولی بیسروصدا از دست میدهد، پیدا کند.