Di halaman kami, kami menggunakan modul Metatag untuk menunjukkan meta tag kanonik. Dalam konfigurasi kita menggunakan [current-page:url:absolute]
token. Ini berfungsi dengan baik, tetapi masalahnya adalah, apakah halaman dapat diakses melalui HTTP atau HTTPS, protokol ini digunakan dalam URL kanonik.
Untuk keperluan SEO kami ingin URL kanonik sama dan menggunakan HTTP untuk kedua protokol.
Bagaimana kita bisa mencapai hal ini?
.htaccess
atau konfigurasi Apache. Masalah terpecahkan.Jawaban:
Drupal 7
Anda dapat menerapkan
hook_html_head_alter()
untuk mengubah tag kepala; berikut ini belum diuji tetapi harus melakukan trik:sumber
Dengan modul metatag Anda dapat menggunakan token [current-page: url: relative] alih-alih token [current-page: url: absolute].
jadi tag kanonik Anda akan menjadi seperti: http: //www.mywebsite [halaman-saat ini: url: relatif]
sumber
Drupal 8
Untuk node yang harus Anda gunakan
hook_ENTITY_TYPE_view_alter
karena itulah tempat mereka ditambahkanNodeViewController::view()
.Dan biarkan saya perhatikan bahwa Anda mungkin lebih baik dengan hanya mengarahkan semua lalu lintas masuk ke SSL secara default: Bagaimana cara membuat seluruh situs HTTPS?
Saya baru tahu, bahwa pada akhirnya kita akan menemukan semua tag kepala di
hook_preprocess_html
dalam$variables['page']['#attached']
array yang akan diubah.sumber
Panggil saya gila dan tolong perbaiki saya jika saya salah, tetapi tidak bisakah Anda hanya membuat kode URL dengan HTTP?
Saya yakin ada sesuatu yang saya lewatkan, tetapi jika Anda memasukkan URL lengkap alih-alih menggunakan token, Anda akan berakhir dengan URL tertentu sebagai kanonik untuk setiap variasi halaman yang dibuat Drupal.
Peringatannya adalah ia menciptakan pembaruan mimpi buruk karena Anda harus ingat untuk mengubah kanonik jika alias halamannya pernah berubah.
sumber