Bir firmanın iletişim sayfasında sık görülen bir durum: harita koyu ya da gri bir katmanla açılır, üzerinde tekrar tekrar "For development purposes only" yazar ve çoğu zaman "This page can't load Google Maps correctly" diye bir kutu çıkar. Ziyaretçi adresi bulmaya çalıştığı yerde bir hata mesajı görür.
Harita kodu genellikle doğrudur. Sorun, haritanın bağlı olduğu Google hesabındadır.
Neden olur?
Sitelere harita eklemenin iki yolu var. Biri Google Haritalar'ın paylaş menüsünden alınan hazır yerleştirme kodu. Diğeri, haritayı sitenin kendi koduyla çizen Maps JavaScript API. Bu uyarı ikinci yolda çıkar: bu API 2018'den beri bir API anahtarı ve Google Cloud'da tanımlı bir faturalandırma hesabı istiyor. Anahtar ya da hesap geçerli değilse Google haritayı yine gösterir ama bu uyarıyla işaretler.
En sık nedenler:
- Faturalandırma hesabı yok ya da kapanmış. Anahtar oluşturulmuş ama bir ödeme yöntemi bağlanmamıştır; ya da bağlı kartın süresi dolmuş ve hesap askıya alınmıştır.
- Anahtar başka bir adrese kısıtlı. Anahtar güvenlik için yalnızca belirli adreslerde çalışacak şekilde ayarlanmıştır. Site yeni bir alan adına ya da www'lu sürüme taşındıysa anahtar yeni adresi tanımaz. Sitenin birden fazla adreste açılmasının başka sonuçları için: Siteniz www ile girince farklı mı açılıyor?
- Gerekli API açılmamış. Anahtarın bağlı olduğu projede Maps JavaScript API etkinleştirilmemiştir.
- Anahtar silinmiş ya da erişilemeyen bir hesapta. Siteyi kuran kişi ya da ajans anahtarı kendi Google hesabında oluşturmuş, sonra projeyi kapatmış ya da firmayla çalışmayı bırakmıştır.
Nasıl anlaşılır?
- Haritanın olduğu sayfayı bilgisayarda açın.
- Tarayıcının geliştirici araçlarını açın (çoğu tarayıcıda F12) ve "Console" (Türkçe arayüzde "Konsol") sekmesine geçin.
- Google Maps kaynaklı hata satırını bulun. Hatanın adı nedeni doğrudan söyler.
BillingNotEnabledMapError: Projede faturalandırma etkin değil.RefererNotAllowedMapError: Anahtar bu sayfanın adresinde kullanılmaya izinli değil.ApiNotActivatedMapError: Maps JavaScript API projede açılmamış.InvalidKeyMapErrorya daMissingKeyMapError: Anahtar geçersiz ya da hiç verilmemiş.
Sayfanın kaynak kodunda maps.googleapis.com/maps/api/js geçiyorsa site JavaScript API'yi kullanıyordur; adresteki key= değeri kullanılan anahtardır.
Nasıl düzelir?
İki yol var. Hangisinin uygun olduğu haritanın ne için kullanıldığına bağlı.
1. Yol: Hazır yerleştirme koduna geçmek
Harita yalnızca firmanın konumunu gösteriyorsa en basit çözüm budur. Google Haritalar'da firmanın kaydını açın, paylaş menüsünden haritayı yerleştirme seçeneğini seçin ve verilen iframe kodunu sitedeki eski haritanın yerine koyun. Bu yöntem API anahtarı ya da faturalandırma hesabı gerektirmez.
2. Yol: Anahtarı ve hesabı düzeltmek
Harita özel işaretler, birden fazla konum ya da site içinde başka işlevlerle kullanılıyorsa JavaScript API'de kalmak gerekir.
- Anahtarın hangi Google Cloud projesine ait olduğunu ve bu projeye kimin erişebildiğini bulun. Erişim yoksa firmanın kendi hesabında yeni bir proje ve anahtar oluşturun.
- Projede faturalandırma hesabını bağlayın ve Maps JavaScript API'yi etkinleştirin.
- Anahtarı yalnızca sitenin adreslerinde çalışacak şekilde kısıtlayın ve bu listeye sitenin açıldığı bütün adresleri ekleyin.
- Sitedeki anahtarı yenisiyle değiştirin, sayfayı yenileyin ve konsolda hata kalmadığını kontrol edin.
Faturalandırma hesabı tanımlı olmak zorundadır, ancak kurumsal bir sitenin iletişim sayfası gibi düşük trafikli kullanımlarda maliyet çoğu zaman Google'ın ücretsiz kullanım sınırları içinde kalır. Beklenmedik bir fatura olmaması için Google Cloud'da bütçe uyarısı tanımlayın.
Haritanın dışında
İletişim sayfasında adres her zaman metin olarak da yazılı olmalı; harita yüklenmese bile ziyaretçi adresi okuyabilmeli. Haritadaki firma adı siteden değil Google İşletme Profili'nden gelir. Arama sonucunda firma adı yanlış görünüyorsa o ayrı bir sorundur: Google'da firma adınız yerine "Ana Sayfa" mı yazıyor?
Sık sorulanlar
01Sitede harita göstermek için Google'a para ödemem gerekir mi?
Google Haritalar'ın paylaş menüsünden alınan hazır yerleştirme kodu için gerekmez. Maps JavaScript API kullanılıyorsa bir faturalandırma hesabı tanımlı olmak zorundadır; düşük trafikli bir iletişim sayfasında kullanım çoğu zaman ücretsiz sınırlar içinde kalır.
02API anahtarı kimin hesabında olmalı?
Firmanın kendi Google hesabında. Siteyi kuran kişi ya da ajansın hesabındaki bir anahtar, o kişiyle çalışma bittiğinde kapatılabilir ya da faturası ödenmeyebilir; harita da o gün bozulur.
03Harita bazı sayfalarda çalışıyor, bazılarında çalışmıyor. Neden?
Anahtar genellikle belirli adreslerle sınırlandırılır. Listede olmayan bir adreste, örneğin www'lu sürümde ya da yeni bir alan adında açılan sayfalarda harita uyarı verir. Anahtar ayarlarındaki adres listesine sitenin bütün adreslerini eklemek gerekir.
04Harita yerine ne kullanılabilir?
Adresi metin olarak yazıp yanına Google Haritalar'da o konumu açan bir bağlantı koymak yeterli olabilir. Bu yöntem API anahtarı ya da faturalandırma hesabı gerektirmez.
Sitenizde bu ya da benzeri bir durum varsa 15 dakikada ekranda gösteririm; sonrasındaki takibi de ben yaparım.