Website multibahasa perlu membantu mesin pencari memahami hubungan antara halaman-halaman yang isinya setara, tetapi ditujukan untuk pengguna dengan bahasa atau wilayah berbeda. Sebagai contoh, sebuah halaman produk mungkin tersedia dalam Bahasa Indonesia, bahasa Inggris untuk pengguna global, dan bahasa Inggris khusus pengguna Amerika Serikat.
Tanpa konfigurasi yang tepat, Google dapat menampilkan versi halaman yang kurang sesuai dengan bahasa pengguna. Google juga mungkin kesulitan mengenali bahwa beberapa URL tersebut merupakan variasi lokal dari halaman yang sama.
Salah satu solusi teknisnya adalah atribut hreflang. Atribut ini memberi tahu Google mengenai bahasa atau wilayah sasaran setiap versi halaman. Namun, hreflang bukan alat penerjemah, bukan pengganti canonical, dan bukan jaminan mutlak bahwa Google selalu menampilkan URL tertentu. Tag ini merupakan sinyal yang membantu Google memilih versi halaman paling relevan.
Table of Contents
ToggleApa Itu Hreflang?
hreflang adalah atribut pada elemen link yang digunakan untuk menunjukkan hubungan antara beberapa URL dengan konten serupa dalam bahasa atau wilayah berbeda.
Format dasarnya adalah:
<link
rel="alternate"
hreflang="kode-bahasa"
href="URL-halaman-alternatif"
/>
Sebagai contoh, website memiliki halaman produk dalam Bahasa Indonesia dan bahasa Inggris:
https://contoh.com/id/produk
https://contoh.com/en/product
Halaman-halaman tersebut dapat dihubungkan dengan anotasi berikut:
<link rel="alternate"
hreflang="id"
href="https://contoh.com/id/produk" />
<link rel="alternate"
hreflang="en"
href="https://contoh.com/en/product" />
Melalui anotasi itu, Google memperoleh informasi bahwa kedua URL merupakan versi alternatif dari halaman yang setara.
Menurut Google Search Central, hreflang dapat diterapkan melalui tiga metode:
- Elemen HTML di dalam
<head>; - HTTP header; atau
- XML sitemap.
Ketiga metode tersebut setara dari sudut pandang Google. Tidak ada manfaat khusus dalam menerapkan semuanya sekaligus. Menggunakan lebih dari satu metode justru dapat meningkatkan risiko ketidaksesuaian konfigurasi.
Kapan Hreflang Perlu Digunakan?
Hreflang perlu dipertimbangkan ketika sebuah website memiliki URL berbeda untuk konten yang ditujukan kepada pengguna berdasarkan bahasa atau wilayah.
Konten yang Diterjemahkan Sepenuhnya
Contohnya adalah artikel yang tersedia dalam Bahasa Indonesia dan bahasa Inggris:
https://contoh.com/id/panduan-seo
https://contoh.com/en/seo-guide
Bahasa Sama, tetapi Wilayah Berbeda
Sebuah bisnis dapat menyediakan variasi bahasa Inggris untuk beberapa negara:
https://contoh.com/us/product
https://contoh.com/gb/product
https://contoh.com/au/product
Masing-masing halaman mungkin menggunakan mata uang, harga, ketentuan pengiriman, ejaan, atau penawaran yang berbeda.
Konfigurasi bahasanya dapat menggunakan:
en-US
en-GB
en-AU
Hanya Bagian Tertentu yang Dilokalkan
Hreflang juga dapat digunakan ketika konten utama tetap menggunakan bahasa yang sama, tetapi elemen tertentu—seperti navigasi, harga, formulir, layanan, atau informasi kontak—disesuaikan dengan wilayah pengguna.
Hreflang umumnya tidak diperlukan apabila website hanya memiliki satu URL yang mengganti bahasa menggunakan JavaScript, cookie, atau pengaturan peramban. Untuk SEO internasional, Google merekomendasikan URL yang berbeda dan stabil untuk setiap versi bahasa.
Aturan Utama Pemasangan Hreflang
Kesalahan kecil pada implementasi dapat membuat anotasi tidak diproses sebagaimana mestinya. Oleh karena itu, beberapa aturan berikut harus dipenuhi.
Gunakan URL Absolut
Nilai href harus berisi URL lengkap, termasuk protokol dan nama domain.
Penulisan yang benar:
<link rel="alternate"
hreflang="id"
href="https://contoh.com/id/produk" />
Penulisan yang harus dihindari:
<link rel="alternate"
hreflang="id"
href="/id/produk" />
Hindari juga URL tanpa protokol seperti:
<link rel="alternate"
hreflang="id"
href="//contoh.com/id/produk" />
Walaupun browser dapat memahami beberapa bentuk URL relatif, dokumentasi Google mensyaratkan URL alternatif yang fully qualified atau ditulis secara lengkap.
Sertakan Referensi ke Halaman Itu Sendiri
Setiap halaman harus mencantumkan anotasi hreflang yang mengarah kepada dirinya sendiri. Praktik ini disebut self-referencing.
Jika halaman yang sedang dibuka adalah:
https://contoh.com/id/produk
maka halaman tersebut tetap harus memuat:
<link rel="alternate"
hreflang="id"
href="https://contoh.com/id/produk" />
Referensi diri menunjukkan bahasa dan sasaran halaman yang sedang diproses.
Terapkan Hubungan Timbal Balik
Hubungan antarhalaman harus bersifat dua arah atau reciprocal.
Apabila halaman Indonesia menunjuk halaman Inggris sebagai alternatif, halaman Inggris harus menunjuk kembali ke halaman Indonesia.
Dengan dua halaman bahasa, keduanya harus memiliki kumpulan anotasi yang sama:
<link rel="alternate"
hreflang="id"
href="https://contoh.com/id/produk" />
<link rel="alternate"
hreflang="en"
href="https://contoh.com/en/product" />
Google menjelaskan bahwa jika dua halaman tidak saling menunjuk, hubungan tersebut dapat diabaikan. Aturan ini mencegah pihak lain menetapkan halaman pada domainnya sebagai versi alternatif dari website yang bukan miliknya.
URL alternatif tidak harus berada pada domain yang sama. Hubungan hreflang lintas domain diperbolehkan selama pemetaan halamannya benar dan bersifat timbal balik.
Gunakan Kode Bahasa dan Wilayah yang Valid
Bagian pertama nilai hreflang adalah kode bahasa berdasarkan ISO 639-1. Kode wilayah bersifat opsional dan mengikuti ISO 3166-1 Alpha-2.
Contoh:
Nilai hreflang | Sasaran |
|---|---|
id | Pengguna berbahasa Indonesia |
en | Pengguna berbahasa Inggris secara umum |
en-US | Pengguna berbahasa Inggris di Amerika Serikat |
en-GB | Pengguna berbahasa Inggris di Britania Raya |
fr-CA | Pengguna berbahasa Prancis di Kanada |
Bahasa harus ditulis lebih dahulu, kemudian wilayah:
en-US
Bukan:
US-en
Kode negara tidak dapat digunakan sendirian. Sebagai contoh, ID saja tidak berarti Bahasa Indonesia karena kode tersebut hanya mewakili wilayah.
Kesalahan lain yang sering terjadi adalah menggunakan en-UK. Kode wilayah yang benar untuk Britania Raya adalah GB, sehingga penulisannya menjadi:
en-GB
Huruf besar dan kecil pada kode tidak memengaruhi pemrosesan, tetapi format seperti en-US lebih mudah dibaca dan menjadi konvensi yang umum digunakan.
Hubungkan Halaman yang Benar-Benar Setara
Setiap URL harus diarahkan kepada versi bahasa dari halaman yang sama, bukan sekadar halaman berbahasa lain.
Pemetaan yang benar:
/id/produk-a ↔ /en/product-a
Pemetaan yang keliru:
/id/produk-a ↔ /en/
Jangan mengarahkan setiap halaman Indonesia ke halaman beranda Inggris. Hubungan semacam itu tidak merepresentasikan pasangan konten yang setara.
Pastikan URL Dapat Diakses dan Diindeks
URL yang dimasukkan ke dalam kelompok hreflang sebaiknya:
- Mengembalikan status HTTP
200; - Tidak diblokir oleh
robots.txt; - Tidak memakai
noindex; - Tidak mengarah ke halaman yang sudah dihapus;
- Tidak melewati rantai pengalihan;
- Menggunakan protokol dan format URL final yang konsisten; serta
- Dapat dirayapi oleh Googlebot.
Secara teknis Google masih dapat mengikuti pengalihan, tetapi memasukkan URL tujuan final jauh lebih bersih dan mengurangi kemungkinan sinyal yang saling bertentangan.
Cara Memasang Hreflang melalui HTML
Metode HTML paling mudah dipahami dan sesuai untuk website kecil sampai menengah.
Misalkan sebuah halaman produk memiliki tiga versi:
https://contoh.com/id/produk
https://contoh.com/en/product
https://contoh.com/ms/produk
Tambahkan kumpulan anotasi berikut di dalam elemen <head> pada setiap versi halaman:
<head>
<title>Judul Halaman</title>
<link rel="canonical"
href="URL-kanonis-halaman-saat-ini" />
<link rel="alternate"
hreflang="id"
href="https://contoh.com/id/produk" />
<link rel="alternate"
hreflang="en"
href="https://contoh.com/en/product" />
<link rel="alternate"
hreflang="ms"
href="https://contoh.com/ms/produk" />
<link rel="alternate"
hreflang="x-default"
href="https://contoh.com/products" />
</head>
Kumpulan hreflang tersebut harus identik pada halaman Indonesia, Inggris, dan Melayu. Yang biasanya berubah pada masing-masing halaman hanyalah nilai canonical.
Contoh pada Halaman Indonesia
<link rel="canonical"
href="https://contoh.com/id/produk" />
<link rel="alternate"
hreflang="id"
href="https://contoh.com/id/produk" />
<link rel="alternate"
hreflang="en"
href="https://contoh.com/en/product" />
<link rel="alternate"
hreflang="ms"
href="https://contoh.com/ms/produk" />
<link rel="alternate"
hreflang="x-default"
href="https://contoh.com/products" />
Contoh pada Halaman Inggris
<link rel="canonical"
href="https://contoh.com/en/product" />
<link rel="alternate"
hreflang="id"
href="https://contoh.com/id/produk" />
<link rel="alternate"
hreflang="en"
href="https://contoh.com/en/product" />
<link rel="alternate"
hreflang="ms"
href="https://contoh.com/ms/produk" />
<link rel="alternate"
hreflang="x-default"
href="https://contoh.com/products" />
Perhatikan bahwa seluruh pasangan hreflang tetap sama. Halaman Inggris tidak boleh hanya mencantumkan dirinya sendiri atau hanya menunjuk halaman Indonesia.
Fungsi x-default
Nilai x-default digunakan untuk menentukan halaman fallback bagi pengguna yang bahasa atau wilayahnya tidak cocok dengan variasi yang tersedia.
Contohnya:
<link rel="alternate"
hreflang="x-default"
href="https://contoh.com/language-selector" />
URL x-default dapat mengarah ke:
- Halaman pemilih bahasa atau negara;
- Halaman beranda global;
- Halaman bahasa utama; atau
- Halaman netral yang tidak menargetkan bahasa tertentu.
x-default bukan pengganti versi bahasa utama dan bukan kewajiban pada setiap implementasi. Akan tetapi, penggunaannya sangat bermanfaat jika website mempunyai pemilih bahasa atau melakukan pengalihan otomatis pada halaman tertentu.
Hubungan Hreflang dengan Canonical
hreflang dan canonical memiliki fungsi berbeda.
hreflangmenghubungkan versi bahasa atau wilayah yang setara.canonicalmenunjukkan URL yang dipilih sebagai representasi utama di antara URL duplikat atau sangat mirip.
Pada umumnya, setiap halaman bahasa yang memang ingin muncul di hasil pencarian perlu menggunakan self-canonical.
Contoh pada halaman Indonesia:
<link rel="canonical"
href="https://contoh.com/id/produk" />
Contoh pada halaman Inggris:
<link rel="canonical"
href="https://contoh.com/en/product" />
Jangan membuat seluruh versi bahasa memiliki canonical yang mengarah ke satu halaman bahasa utama:
<!-- Hindari konfigurasi ini pada halaman Inggris -->
<link rel="canonical"
href="https://contoh.com/id/produk" />
Konfigurasi tersebut memberikan sinyal bahwa halaman Inggris bukan URL kanonis yang ingin dipertahankan, padahal hreflang menyatakannya sebagai alternatif yang perlu ditampilkan kepada kelompok pengguna tertentu.
Google menyarankan agar URL kanonis berada dalam bahasa yang sama dengan halamannya. Jika tidak tersedia, pilih pengganti bahasa yang paling sesuai. Penjelasan lengkapnya terdapat dalam panduan canonical Google Search Central.
Cara Memasang Hreflang melalui HTTP Header
HTTP header cocok digunakan untuk file non-HTML, seperti PDF, karena file tersebut tidak memiliki bagian <head>.
Contoh untuk dua versi PDF:
Link: <https://contoh.com/id/panduan.pdf>; rel="alternate"; hreflang="id",
<https://contoh.com/en/guide.pdf>; rel="alternate"; hreflang="en"
Header yang sama perlu dikirimkan ketika pengguna atau crawler meminta salah satu versi PDF.
Metode ini juga dapat digunakan untuk halaman HTML, tetapi pengelolaannya bisa lebih sulit karena anotasi tidak terlihat langsung di dalam kode dokumen.
Cara Memasang Hreflang melalui XML Sitemap
Untuk website dengan banyak halaman, XML sitemap dapat memusatkan pengelolaan hreflang. Metode ini menghindari penambahan banyak elemen pada setiap dokumen HTML.
Tambahkan namespace XHTML pada elemen urlset:
<?xml version="1.0" encoding="UTF-8"?>
<urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://contoh.com/id/produk</loc>
<xhtml:link
rel="alternate"
hreflang="id"
href="https://contoh.com/id/produk" />
<xhtml:link
rel="alternate"
hreflang="en"
href="https://contoh.com/en/product" />
</url>
<url>
<loc>https://contoh.com/en/product</loc>
<xhtml:link
rel="alternate"
hreflang="id"
href="https://contoh.com/id/produk" />
<xhtml:link
rel="alternate"
hreflang="en"
href="https://contoh.com/en/product" />
</url>
</urlset>
Setiap URL membutuhkan elemen <url> sendiri. Pada setiap elemen tersebut, sertakan seluruh versi alternatif—termasuk URL itu sendiri.
Elemen <xhtml:link> tidak dihitung sebagai URL tambahan dalam batas jumlah URL sitemap. Meski demikian, sitemap tetap harus mengikuti persyaratan umum Google, termasuk ketentuan lokasi sitemap dan cakupan URL yang boleh dicantumkan.
Memilih Metode Implementasi
Pemilihan metode sebaiknya disesuaikan dengan jenis konten, ukuran website, dan sistem pengelolaannya.
| Metode | Paling sesuai untuk | Kelebihan | Kekurangan |
|---|---|---|---|
HTML <head> | Website kecil hingga menengah | Mudah dilihat, diuji, dan dipahami | Dapat memperbesar HTML jika bahasa sangat banyak |
| HTTP header | PDF dan file non-HTML | Dapat digunakan tanpa elemen <head> | Lebih sulit diperiksa dan dikelola |
| XML sitemap | Website besar dan otomatis | Konfigurasi terpusat serta mudah dibuat secara programatis | Struktur XML lebih kompleks dan harus selalu disinkronkan |
Pilih satu metode yang paling mudah dijaga konsistensinya. Google menyatakan bahwa ketiganya setara dan menggunakan semuanya secara bersamaan tidak memberikan keuntungan tambahan dalam Google Search.
Cara Memasang Hreflang di WordPress
WordPress dapat menangani hreflang secara manual maupun menggunakan plugin multibahasa.
Menggunakan Plugin Multibahasa
Beberapa plugin yang umum digunakan antara lain:
- Polylang;
- WPML; dan
- GTranslate.
Plugin dapat membantu menghubungkan terjemahan, menghasilkan URL terpisah, dan menambahkan anotasi hreflang. Namun, jangan menganggap setiap plugin atau paket layanan otomatis menghasilkan halaman yang bisa diindeks.
Periksa beberapa hal berikut sebelum memilih plugin:
- Apakah setiap bahasa memperoleh URL permanen?
- Apakah versi terjemahan tersedia dalam HTML yang dapat dirayapi?
- Apakah plugin menghasilkan hubungan dua arah?
- Apakah plugin menambahkan self-reference?
- Apakah kode bahasanya valid?
- Apakah anotasi tetap benar setelah artikel diperbarui atau diterjemahkan?
- Apakah paket yang digunakan mendukung fitur SEO multibahasa?
Terjemahan yang hanya ditampilkan di sisi browser tanpa URL terpisah umumnya tidak cukup untuk membentuk halaman bahasa yang dapat diindeks secara mandiri.
Memasang secara Manual
Tag dapat dimasukkan melalui tema, child theme, hook WordPress, atau sistem template khusus. Hindari menyunting file inti WordPress karena perubahan tersebut dapat hilang setelah pembaruan.
Untuk website yang sering menerbitkan konten, jangan menulis setiap URL secara statis. Buat pemetaan berdasarkan relasi terjemahan di database agar tag yang dihasilkan selalu mengikuti pasangan halaman yang sebenarnya.
Redirect Bahasa Otomatis: Gunakan dengan Hati-Hati
Materi awal menyarankan pengalihan berdasarkan negara melalui Cloudflare Workers. Secara teknis, pengalihan tersebut dapat dilakukan di jaringan edge sehingga permintaan tidak perlu diproses terlebih dahulu oleh server utama. Namun, pengalihan berbasis lokasi IP bukan komponen wajib dalam pemasangan hreflang dan tidak selalu menjadi pilihan terbaik untuk SEO.
Google memperingatkan bahwa penyesuaian atau pengalihan berdasarkan lokasi IP dan header bahasa dapat membuat crawler kesulitan menemukan semua variasi. Googlebot umumnya melakukan crawling dari Amerika Serikat dan biasanya tidak mengirimkan header Accept-Language.
Karena itu, pendekatan yang lebih aman adalah:
- Menyediakan URL permanen untuk setiap bahasa;
- Membiarkan crawler mengakses semua URL;
- Menampilkan saran bahasa tanpa memaksa pengalihan;
- Menyediakan pemilih bahasa yang jelas;
- Mengingat pilihan pengguna dengan cookie jika diperlukan;
- Tidak mengarahkan setiap URL secara otomatis berdasarkan IP; dan
- Menggunakan
x-defaultpada halaman pemilih bahasa atau halaman global.
Jika redirect otomatis tetap dibutuhkan, batasi penggunaannya—misalnya hanya pada root URL—dan gunakan redirect sementara apabila keputusan bergantung pada preferensi atau lokasi pengunjung. Selalu sediakan cara untuk mengganti bahasa secara manual.
Panduan struktur website multibahasa dari Google Search Central secara khusus menyarankan agar konten tidak hanya disesuaikan berdasarkan analisis IP. Contoh teknis redirect berdasarkan negara memang tersedia dalam dokumentasi Cloudflare Workers, tetapi penerapannya tetap harus mempertimbangkan crawlability dan pengalaman pengguna.
Kesalahan Hreflang yang Sering Terjadi
Tidak Ada Return Link
Halaman Indonesia menunjuk halaman Inggris, tetapi halaman Inggris tidak menunjuk balik. Akibatnya, hubungan kedua URL dapat diabaikan.
Tidak Menyertakan Self-Reference
Halaman hanya mencantumkan versi bahasa lain tanpa mencantumkan dirinya sendiri.
Semua Tag Mengarah ke Beranda
Setiap artikel diteruskan ke beranda bahasa lain, bukan ke terjemahan artikel yang setara.
Menggunakan Kode Bahasa yang Salah
Contohnya adalah en-UK, eng, atau kode negara tanpa bahasa. Gunakan kode yang didukung seperti en, en-GB, dan id.
Menempatkan Tag di Luar <head>
Pada metode HTML, elemen link harus berada di dalam bagian <head> yang valid. Markup yang ditempatkan di dalam <body> tidak memenuhi cara implementasi yang didokumentasikan Google.
Memakai URL Relatif
Penggunaan /en/product dapat menimbulkan ambiguitas. Gunakan URL lengkap seperti https://contoh.com/en/product.
Mengarah ke URL Redirect atau Error
Jangan memasukkan URL lama, URL dengan pengalihan, halaman 404, atau halaman yang tidak dapat diindeks.
Canonical Bertentangan dengan Hreflang
Halaman Inggris diberi hreflang="en", tetapi canonical-nya menunjuk halaman Indonesia. Sinyal yang bertentangan dapat membuat Google memilih URL yang tidak diharapkan.
Mencampurkan Beberapa Metode yang Tidak Sinkron
HTML menyatakan satu kelompok URL, sedangkan sitemap menyatakan kelompok berbeda. Meskipun Google mendukung beberapa metode sekaligus, implementasi ganda semacam ini lebih sulit dipelihara dan tidak memberikan keuntungan tambahan.
Menganggap Hreflang Menentukan Bahasa Halaman
Google tidak mengandalkan hreflang maupun atribut HTML lang untuk mendeteksi bahasa utama halaman. Bahasa ditentukan secara algoritmis berdasarkan konten yang terlihat. Oleh karena itu, sebuah halaman berlabel hreflang="en" tetap harus benar-benar menyajikan konten berbahasa Inggris.
Checklist Audit Hreflang
Sebelum konfigurasi dipublikasikan, periksa hal-hal berikut:
- Setiap versi bahasa mempunyai URL sendiri;
- URL menggunakan HTTPS dan ditulis secara lengkap;
- Kode bahasa dan wilayah valid;
- Setiap halaman mencantumkan dirinya sendiri;
- Setiap pasangan halaman saling menunjuk;
- Seluruh halaman dalam satu kelompok menggunakan daftar alternatif yang konsisten;
- URL yang dipasangkan membahas konten yang setara;
- Semua URL tujuan memberikan respons HTTP
200; - Tidak ada URL yang diblokir atau menggunakan
noindex; - Canonical mengarah ke URL yang sesuai dalam bahasa yang sama;
- Tag HTML berada di dalam
<head>; - XML sitemap mempunyai namespace XHTML yang benar;
- Tidak ada perbedaan data antara HTML, HTTP header, dan sitemap;
- Pemilih bahasa dapat diikuti oleh crawler;
- Redirect otomatis tidak menghalangi akses ke versi lain; dan
- Semua halaman diuji ulang setelah migrasi atau perubahan struktur URL.
Audit dapat dilakukan dengan melihat kode sumber halaman, memeriksa HTTP response header, memvalidasi XML sitemap, dan menjalankan crawler SEO yang dapat mengecek return link serta kode bahasa. URL penting juga dapat diuji melalui URL Inspection di Google Search Console untuk memastikan halaman bisa dirayapi dan diindeks.
Ringkasan Penerapan yang Tepat
Hreflang yang benar dibangun dari tiga prinsip pokok: URL setiap bahasa harus jelas, setiap halaman harus mencantumkan dirinya sendiri, dan semua versi harus terhubung secara timbal balik. Implementasinya dapat ditempatkan pada HTML, HTTP header, atau XML sitemap sesuai kebutuhan pengelolaan website.
| Aspek | Penerapan yang benar | Penerapan yang harus dihindari |
|---|---|---|
| URL | URL absolut dan langsung menuju halaman final | URL relatif, redirect, atau halaman error |
| Referensi diri | Setiap halaman menunjuk dirinya sendiri | Hanya mencantumkan bahasa lain |
| Hubungan halaman | Setiap pasangan saling menunjuk | Hubungan hanya satu arah |
| Kode bahasa | id, en, en-US, en-GB | eng, US, atau en-UK |
| Pemetaan konten | Artikel dipasangkan dengan terjemahannya | Semua artikel diarahkan ke beranda |
| Canonical | Mengarah ke versi kanonis dalam bahasa yang sama | Semua bahasa dikanoniskan ke satu bahasa |
| Metode | Memilih satu metode yang mudah dipelihara | Menggabungkan metode yang datanya berbeda |
| Redirect bahasa | Terbatas, crawlable, dan tetap menyediakan pemilih bahasa | Memaksa semua pengguna berdasarkan IP |
x-default | Mengarah ke halaman global atau pemilih bahasa | Dianggap sebagai pengganti seluruh versi bahasa |
Konfigurasi yang konsisten akan membantu Google memahami arsitektur website dan menampilkan versi yang lebih relevan kepada pengguna. Sebaliknya, tag yang tidak lengkap, kode yang salah, canonical yang bertentangan, dan redirect berbasis lokasi yang terlalu agresif justru dapat membuat struktur internasional website semakin sulit dipahami.
