Pada artikel kali ini kita akan membahas mengenai bad escape sequence in string atau Masalah Data terstruktur tidak dapat diurai baru terdeteksi untuk situs media-info.id yang harus segera diperbaiki agar tidak mengganggu peringkat halaman yang berpengaruh.
Laporan ini mencantumkan data terstruktur yang ditemukan di situs kita, yang tidak dapat diurai karena error sintaks yang serius. Jenis data terstruktur yang di inginkan (Lowongan, Acara, deskripsi, dan sebagainya) tidak dapat ditentukan karena terjadi error penguraian
Penyebab error yang paling umum terkait kegagalan dalam menguraikan struktur data adalah:
1. Strukturdata template yang digunakan kurang baik, error atau tidak lengkap
2. Umumnya ini juga disebabkan karena adanya konflik pada script schema mark-up atau Json-ld dengan title tag , judul dan deskripsi yang anda atur (kebanyakan di deskripsi)
Error ini sebenarnya tidak mempengaruhi seluruh halaman disitus kita. Jika kita mengujinya dengan alat pengujian struktur data testing tools (https://search.google.com/structured-data/testing-tool) kita mungkin tidak akan melihat kesalahan karena error ini hanya terjadi pada halaman yang terpengaruh saja
Untuk melihat mana halaman yang terpengaruh pertama-tama kita buka dulu halaman search console https://www.google.com/webmasters/
di menu seblah kiri scroll ke bawah cari enhancements -> Data terstruktur tidak dapat diurai disana saya menemukan ada 4 unparsable structured data/data terstruktur tidak dapat diparsing/tidak dapat diuraikan
Gambar di atas terlihat ada 4 error dan klik kesalahan yang ada di detail ternyata markup data terstruktur atau json-ld yang digunakan oleh template blog mengalami konflik dengan deskripsi gara-gara syntaks string yang tidak dikenali oleh markup schema
Gambar di atas memperlihatkan alamat halaman yang terpengaruhi, coba klik urlnya maka akan ada tampilan seperti dibawah untuk mengetahui error di sebelahmana.
Sekarang kita buka dashboard blogger dan cari postingan terpengaruh seperti yang ditunjukkan pada search console terkait data struktur yang tidak dapat di uraikan > klik edit postingan
Lihat baik-baik dibagian deksripsi ada tanda petik "..." dan rupanya itu yang menyebabkan konflik Urutan escape dalam string salah.
Jadi silahkan dihapus tanda petik dua-duanya lalu tekan perbaharui postingan Lakukan hal yang sama pada halaman lain yang juga terpengaruh
Kenapa ini bisa terjadi?
Menyertakan tanda petik pada deksripsi postingan blog dapat mempengaruhi penafsiran markup json-ld dan schema yang digunakan dalam template sehingga saat di embed/ditampilkan itu menyebabkan error penguraian ',' atau '}' tidak ada (Decomposition error: ',' or '}' does not exist).
Struktur markup pada jsonld menggunakan tanda petik untuk mendeskripsikan jenis property atau elemen. Jadi jika terdapat sebuah teks yang tidak terdefinisi dalam markup pada kotak deskripsi yang menggunakan tanda petik maka itu akan dianggap sebagai property markup jsonld namun jika definisinya tidak diketahui akan menyebabkan kesalahan tidak dapat diuraikan
Google menggunakan data terstruktur yang ditemukan di web untuk memahami isi halaman, juga untuk mengumpulkan informasi tentang web dan dunia secara umum.
Misalnya, berikut ini adalah cuplikan data terstruktur JSON-LD :
<script type='application/ld+json'>
{ "@context": "http://schema.org",
"@type": "BlogPosting",
"headline": "Tutorial NodeJS Part 10 : Query di MongoDB ",
"description": "Pada MongoDB tersedia penggunaan query yang bertujuan untuk mempermudah melakukan filter data, Biasanya filter digunakan ketika kita hendak menampilkan data yang diinginkan seperti menu search dalam website misalnya",
"mainEntityOfPage" : {
"@type": "WebPage",
"@id": "https://www.media-info.id/2020/03/tutorial-nodejs-10-query-di-mongodb.html"
},
Jika anda menyertakan tanda petik dua maka itu akan dikenal sebagai property pada markup konten tapi karena tidak dikenali oleh schema.org akhirnya tidak bisa diuraikan dengan benar dan muncul pesan kesalahan error, coba lihat tabel kesalahan yang sering muncul di google webmaster tools
Yang jadi masalah ketika di deskripsi blog kita tidak ada tanda petik 2 bagaimana ? seperti gambar dibawah.
Tuhkan pada gambar di atas ga ada tanda petik 2. klo gini gimana nih?
Sebenarnya sudah di jawab di atas, permasalahannya adalah template kalian kurang baik, error atau tidak lengkap.
Klo gitu gmna dong? apa harus ganti template lagi ? masalahnya nih template udh matep, udh gue resing sampe jatuh bangun masa di ganti!!!
Ternyata ada solusinya guys, yang pertama kita masuk dlu ke blogger dan pilih menu Tema -> Edit Tema/HTML
Setelah itu cari ld+json dengan cara tekan ctrl+f untuk mencarinya setelah itu masukan ld+json lalu enter, pastikan cari tampilannya mirip seperti gambar dibawah
Coba kalian lihat gambar di atas ada description dan sebelah kanannya ada value <data:post.longSnippet> artinya mengambil isi postingan bukan deskripsi postingan yang ada di sebelahkanan maka kita ganti dengan <data:blog.metaDescription/> setelah itu save
Selanjutnya kita tes di https://search.google.com/structured-data/testing-tool
Tekan jalankan pengujian, klo tidak ada error berarti kita sudah berhasil. Selanjutnya kembali ke halaman webmaster tools
Kita dapat meminta Google untuk memvalidasi perubahan agar halaman terkait segera dirayapi dan pesan error tersebut hilang dari laporan jadi kedepannya halaman yang terpengaruh peringkatnya tidak turun terlalu jauh. Buka halaman GSC masuk pada error Unparsable structured data > Bad escape sequence in string > Validate fix
Masukkan url yang bermasalah ke inspeksi url atau sitemap.xml kemudian tunggu sampai perubahannya dirayapi oleh google (24 jam)
Mengatasi error Unparsable structured data report | |||
---|---|---|---|
Pesan Error | Saran perbaikan | ||
Invalid JSON document | JSON memiliki kesalahan sintaksis tingkat atas | ||
Incorrect value type | Nilai yang ditentukan untuk properti adalah tipe yang salah. Misalnya, Anda menentukan string ketika angka atau array diharapkan. | ||
Parsing error: Missing ':' | Tanda ':' hilang. | ||
Parsing error: Missing ',' or '}' | Tidak ada tanda ',' atau tanda kurung tutup. | ||
Parsing error: Missing '}' or object member name | Tidak ada braket penutup atau nama anggota objek. | ||
Parsing error: Missing ',' or ']' in array declaration | Kesalahan saat menguraikan nilai array: melewatkan ',' atau ']' dalam deklarasi array. | ||
Unable to parse token length | Untuk beberapa alasan, awal dan akhir properti atau nilai tidak dapat ditemukan. | ||
Invalid number | Nilai properti diharapkan menjadi angka, tetapi jenis nilai lain digunakan. | ||
Empty escape sequence in string | Nilai string mencakup karakter urutan keluar yang kosong: misalnya: "description" : "Call me \ John" daripada "description" : "Call me \"John\"". | ||
Bad escape sequence in string | Urutan escape tidak valid yang digunakan dalam nilai string. Sebagai contoh: "description": "Beberapa \ q urutan yang tidak diketahui" | ||
Truncated Unicode character | Kehilangan 6 karakter terakhir dalam pasangan pengganti Unicode. | ||
Invalid Unicode character | Kehilangan token pada awal paruh kedua dari pasangan pengganti Unicode. | ||
Invalid Unicode escape sequence: four digits expected | Urutan escape Unicode memiliki kesalahan sintaksis: urutannya harus berisi empat digit. | ||
Invalid Unicode escape sequence: hexadecimal digit expected | Urutan escape Unicode memiliki kesalahan sintaksis: digit heksadesimal diharapkan tetapi tidak disediakan. | ||
Duplicate unique property | Anda memberikan dua definisi untuk properti unik di objek data terstruktur Anda. Misalnya, dua @contextvalue. | ||
Invalid top level element | Item tingkat atas di JSON-LD Anda tidak valid | ||
Reference to nonexistent item | Sebuah itemrefattribut menunjuk ke pengenal tidak ada |
Yang jadi masalah ketika di deskripsi blog kita tidak ada tanda petik 2 bagaimana ? seperti gambar dibawah.
Tuhkan pada gambar di atas ga ada tanda petik 2. klo gini gimana nih?
Sebenarnya sudah di jawab di atas, permasalahannya adalah template kalian kurang baik, error atau tidak lengkap.
Klo gitu gmna dong? apa harus ganti template lagi ? masalahnya nih template udh matep, udh gue resing sampe jatuh bangun masa di ganti!!!
Ternyata ada solusinya guys, yang pertama kita masuk dlu ke blogger dan pilih menu Tema -> Edit Tema/HTML
Setelah itu cari ld+json dengan cara tekan ctrl+f untuk mencarinya setelah itu masukan ld+json lalu enter, pastikan cari tampilannya mirip seperti gambar dibawah
Coba kalian lihat gambar di atas ada description dan sebelah kanannya ada value <data:post.longSnippet> artinya mengambil isi postingan bukan deskripsi postingan yang ada di sebelahkanan maka kita ganti dengan <data:blog.metaDescription/> setelah itu save
Selanjutnya kita tes di https://search.google.com/structured-data/testing-tool
Tekan jalankan pengujian, klo tidak ada error berarti kita sudah berhasil. Selanjutnya kembali ke halaman webmaster tools
Kita dapat meminta Google untuk memvalidasi perubahan agar halaman terkait segera dirayapi dan pesan error tersebut hilang dari laporan jadi kedepannya halaman yang terpengaruh peringkatnya tidak turun terlalu jauh. Buka halaman GSC masuk pada error Unparsable structured data > Bad escape sequence in string > Validate fix
Masukkan url yang bermasalah ke inspeksi url atau sitemap.xml kemudian tunggu sampai perubahannya dirayapi oleh google (24 jam)