RSS fayl xətaları xüsusi kateqoriyadır, ஏünkü fayl maşın tərəfindən oxunur: tək bir səhv simvol bütün faylı yararsız edir. Yandex-in təlimatı bunun səbəbini izah edir və hər xəta üçün həll yolu təqdim edir.
Fayllar nə üçün pozulur
Fayl ciddi tələblərə cavab verməlidir — məlumat formatı, məcburi sahələr, sətr və URL uzunluğu məhdudiyyətləri, XML kodlaşdırması və sintaksis. Yandex faylı məhv edən kiçik detalları qeyd edir: əlavə dırnaq işarəsi, səhv tarix formatı, həddindən artıq uzun URL.
Təhlil xətaları
- Səhv formalaşdırılmış atributlar — qiymətlər dırnaq içində olmalıdır, dırnaqlar uyğun gəlməlidir, atributlar üst-üstə düşməməli və ya səhv daxil edilməməlidir, xüsusi simvollar qaçış simvolu ilə yazılmalıdır (
&sadə qoşma simvolu əvəzinə) və heç bir element atribut adını təkrar etməməlidir. - Çatışmayan dırnaq işarəsi — hər açılan dırnağın bağlananı olmalıdır. Yandex-in praktiki məsləhəti: əgər fayl əllə redaktə edilibsə, son olaraq nəyin dəyişdiyinə baxın.
- Səhv yenidən təyin edilmiş HTTP başlıqları — faylda təkrarlanan və ya səhv təyin edilmiş başlıqlar.
- Düzgün bağlanmamış CDATA — hər bölmə buradan başlayır
<![CDATA[burayadək]]>, və içəridəki]səhv simvol onu vaxtından əvvəl bağlaya bilər. Bu, incə məqamdır, çünki fayl düzgün görünür, lakin təhlilçi razılaşmır. - Etibarsız simvol — formatın icazə verdiyi diapazondan kənar simvol.
Yandex-in təyin etdiyi iş metodu
- Xəta kodunu tapın.
- Mənasını oxuyun.
- Addımları izləyin.
- Bütün bildirilən xətaları eyni şəkildə düzəldin.
- Yenidən yoxlama üçün təqdim edin.
- Təkrarlanmaması üçün qarşısının alınması üzrə məsləhətləri tətbiq edin.
Ümumiləşdirməyə dəyən təkrar olunan təlimat
Demək olar ki, hər bir giriş eyni iki təkliflə bitir: faylı XML və ya YML validatorundan keçirin və əgər fayl proqram vasitəsilə yaradılıbsa, onu yaradan kodu yoxlayın. Əsl həll budur. Əllə düzəldilmiş fayl növbəti dəfə dərc edilərkən yenidən pozulur; bir dəfə düzəldilmiş generator isə artıq səhv yaratmır.
Bunu necə tətbiq edirik
We treat every feed error as a generator bug rather than a file to patch, which is what Yandex effectively recommends. The one that costs the most time is the prematurely closed CDATA section, because the file reads correctly to a human. Running the feed through a validator on every build — not only when something is reported — is a five-minute pipeline addition that removes this whole category.
Əlaqəli xidmətlər