Blog

AJAX-ın indekslənə bilməsi üçün təklif

Çərşənbə, 7 oktyabr 2009-cu il

Bu gün biz AJAX əsaslı veb-saytların indekslənməsini təmin etmək üçün yeni standart təklif etməkdən məmnunuq. Bu, zəngin və interaktiv AJAX əsaslı veb-saytların məzmununu iştirak etməyi seçən hər hansı axtarış sistemindəki nəticələr vasitəsilə universal olaraq əlçatan etməklə veb-ustalara və istifadəçilərə fayda verəcək. Biz inanırıq ki, bu məzmunun indekslənməsi və skan edilməsi üçün əlçatan edilməsi vebi əhəmiyyətli dərəcədə təkmilləşdirə bilər.

AJAX-ın indekslənə bilməsi üçün təklif

AJAX əsaslı saytlar istifadəçilər arasında populyar olsa da, ənənəvi olaraq axtarış sistemləri onlardakı məzmuna daxil ola bilmir. Sonuncu dəfə yoxladığımız zaman bildiyimiz veb-saytların demək olar ki, 70%-i hansısa formada JavaScript-dən istifadə edirdi. Əlbəttə ki, həmin JavaScript-lərin əksəriyyəti AJAX deyil, lakin axtarış sistemləri AJAX-ı nə qədər yaxşı indeksləyə bilsə, tərtibatçılar bir o qədər zəngin funksiyaları saytlarına əlavə edə bilər və yenə də axtarış nəticələrində göründüklərini görə bilərlər.

Bu təkliflə əldə etmək istədiyimiz məqsədlərdən bəziləri bunlardır:

  • Veb-sayt böyüdükcə minimal dəyişikliklər tələb olunur
  • İstifadəçilər və axtarış sistemləri eyni məzmunu görürlər (klonlama yoxdur)
  • Axtarış sistemləri istifadəçiləri birbaşa AJAX URL-ə yönləndirə bilər (statik nüsxəyə deyil)
  • Sayt sahibləri AJAX veb-saytlarının düzgün işlədiyini və beləliklə skanerin bütün məzmuna çıxışı olduğunu yoxlamaq imkanına malikdirlər

İlkin təklifimizdə axtarış sistemlərinin AJAX-ı necə skan edəcəyi və indeksləyəcəyi budur:

  • Vəziyyətli (stateful) AJAX səhifələri üçün URL fraqmentlərini bir qədər dəyişdirin
    Vəziyyətli AJAX səhifələri birbaşa daxil olunduqda eyni məzmunu göstərir. Bunlar axtarış nəticələrində istinad edilə bilən səhifələrdir. Belə bir URL əvəzinə:
    https://example.com/page?query#state
    biz bu URL-ləri tanımağı mümkün etmək üçün nişan əlavə etməyi təklif etmək istəyirik:
    https://example.com/page?query#[FRAGMENTTOKEN]state. Vebdəki cari URL-lərin təhlilinə əsasən, biz bunun üçün nişan kimi “!” (nida işarəsi) istifadə etməyi təklif edirik. Axtarış nəticələrində göstərilə bilən təklif olunan URL belə olacaq:
    https://example.com/page?query#!state.
  • Veb-serverinizdə HTML çıxışı verən başsız (headless) brauzerdən istifadə edin
    Başsız brauzer AJAX səhifəsinə daxil olmaq üçün istifadə olunur və brauzerdəki son vəziyyətə əsasən HTML kodu yaradır. Emal üçün başsız brauzerə yalnız xüsusi etiketlənmiş URL-lər ötürülür. Bunu server tərəfində etməklə veb-sayt sahibi yaradılan HTML koduna nəzarət edir və bütün JavaScript-lərin düzgün icra olunduğunu asanlıqla yoxlaya bilir. Belə bir brauzerin nümunəsi budur
    HtmlUnit, Java proqramları üçün açıq mənbəli “qrafik interfeysi olmayan brauzer”.
  • Vəziyyəti ötürməklə axtarış sistemi skanerlərinə bu URL-lərə daxil olmağa icazə verin
    URL fraqmentləri heç vaxt serverlərə sorğularla göndərilmədiyi üçün səhifəyə daxil olmaq üçün istifadə olunan URL-i bir qədər dəyişdirmək lazımdır. Eyni zamanda, bu, serverə JavaScript ilə səhifə qaytarmaq əvəzinə HTML kodu yaratmaq üçün başsız brauzerdən istifadə etməyi bildirir. Digər mövcud URL-lər — məsələn, istifadəçi tərəfindən istifadə edilənlər — başsız brauzerdən yan keçməklə normal şəkildə emal olunacaq. Biz vəziyyət məlumatını qaçırmağı (escape) və onu nişanla sorğu parametrlərinə əlavə etməyi təklif edirik. Əvvəlki nümunədən istifadə etsək, belə URL-lərdən biri olardı
    https://example.com/page?query&[QUERYTOKEN]=state. Vebdəki cari URL-lərin təhlilinə əsasən, biz nişan kimi _escaped_fragment_ istifadə etməyi təklif edirik. Təklif olunan URL daha sonra belə olacaq
    https://example.com/page?query&_escaped_fragment_=state.
  • Axtarış nəticələrində istifadəçilərə orijinal URL-i göstərin
    İstifadəçi təcrübəsini yaxşılaşdırmaq üçün istifadəçiləri birbaşa AJAX əsaslı səhifələrə yönləndirmək məntiqlidir. Buna axtarış nəticələrində orijinal URL-i (məsələn, yuxarıdakı nümunəmizdən olan
    https://example.com/page?query#!state ) göstərməklə nail olmaq olar. Axtarış sistemləri Googlebot-a qaytarılan indekslənə bilən mətnin istifadəçilərə qaytarılan mətnlə eyni və ya onun alt çoxluğu olduğunu yoxlaya bilər.

diagram of an http request with ajax crawl setup

Xülasə olaraq, kimi vəziyyətli URL ilə başlayaraq
https://example.com/dictionary.html#AJAX, o, həm skanerlər, həm də istifadəçilər üçün belə əlçatan ola bilər https://example.com/dictionary.html#!AJAX və belə skan edilə bilər
https://example.com/dictionary.html?_escaped_fragment_=AJAX bu da öz növbəsində istifadəçilərə göstəriləcək və belə daxil olunacaq https://example.com/dictionary.html#!AJAX

Təqdimata baxın

Biz hazırda təklif və prototip tətbiqi üzərində işləyirik. Rəyləriniz çox xoşdur — zəhmət olmasa şərhlərinizi aşağıda və ya
Veb-usta Yardım Forumumuzdaəlavə edin. AJAX əsaslı vebi axtarış sistemləri vasitəsilə əlçatan və faydalı etmək marağınız üçün təşəkkür edirik!

Bloq yazısının müəllifi:
John Mueller, Veb-usta Trendləri Analitiki, Google Sürix

Alien Road

Bunu necə tətbiq edirik

Google announcements age. We keep this post here for the record, and we note for clients whether the behaviour it describes still applies today or has since been superseded.

Əlaqəli xidmətlər

Paylaş