
Elementor SEO’yu kendi başına bozmaz; teknik hataların çoğu varsayılan ayarlardan ve kurulum alışkanlıklarından doğar. Heading widget’ı h2 olarak gelir, “mobilde gizle” yalnızca CSS’tir, Rank Math da açıklama yazılmamışsa içerikteki ilk paragrafı alır. Aşağıdaki 9 hatanın her biri için neye bakacağını, hangi araçla bulacağını ve nasıl düzelteceğini yazdım.
Liste iki kaynaktan çıktı: REST API ile yaptığım Elementor kurulumlarının notları ve 26 Eylül 2026’da kendi sitemin sitemap’indeki 77 URL’yi taradığım ölçüm. Sitemde o gün WordPress 7.1.2, Elementor 4.3.2, Rank Math ve LiteSpeed Cache çalışıyordu. Bulduklarım: 3 sayfada H1 yok, 1 yazıda iki H1 var; 359 görselin 28’inde alt metin boş; 3 sayfanın meta açıklaması içerikten otomatik çekilmiş; robots.txt dosyasında da iki sorun var. Elementor ve Rank Math davranışlarını GitHub’daki kaynak kodlarıyla (Eylül 2026) karşılaştırdım, taslak aşamasında yapay zekâ yardımı aldım.

Önce doğru yere bak: ham HTML, işlenmiş DOM ve Google’ın gördüğü
Aynı sayfanın üç hâli var; her hata için doğru olanına bakmak gerekiyor:
- Ham HTML (view-source ya da curl): sunucunun gönderdiği metin. curl’e Googlebot kullanıcı ajanı verince Google’a farklı bir sürüm gidip gitmediğini de görürsün.
- İşlenmiş DOM (DevTools’ta Elements ve Console): JavaScript çalıştıktan sonraki hâl; aşağıdaki konsol satırları buraya yapıştırılıyor.
- Google’ın gördüğü: Search Console’da URL Denetimi > Canlı URL’yi test et > Test edilen sayfayı görüntüle. HTML ve ekran görüntüsü buradan çıkar; dizindeki sürüm için “Taranan sayfayı görüntüle” kullanılır. Zengin Sonuç Testi de varsayılan olarak akıllı telefon ajanıyla çalışır.
Bir örnek: LiteSpeed’in lazy-load özelliği açıkken ana sayfamın ham HTML’inde görsellerin gerçek adresi data-src özniteliğinde duruyordu; src’de ise bir yer tutucu vardı (28 adet). View-source’a bakan biri “görsel yok” der. Tarayıcıda işlenince tek bir yer tutucu kalmadı. Google’ın lazy-load rehberi de URL Denetimi’nde işlenmiş HTML’deki img src değerine bakmayı öneriyor.
Elementor SEO hataları: 9 madde, tespit ve düzeltme
Her maddede sorun, tespit ve düzeltme sırası var. Konsol satırlarını 26 Eylül 2026’da kendi ana sayfam ve 3D render sayfam üzerinde çalıştırdım.
1. Hero ve slider görseli CSS arka planında
Google’ın görsel rehberi bu konuda net: “Google doesn’t index CSS images.” Google görselleri img öğesinin src özniteliğinden buluyor. Elementor’da konteyner ve bölüm arka planları, Pro Slides widget’ında Background sekmesinden verilen slayt görselleri ve V4’te stil içinde url(…) olarak saklanan arka planlar bu kapsama giriyor. Dekoratif doku için sorun yok; ama ürün görseli, portfolyo işi ya da hero’daki asıl fotoğraf Google Görseller’de çıkacaksa arka plan olmamalı.
- Tespit: Konsolda […document.querySelectorAll(‘*’)].filter(e => getComputedStyle(e).backgroundImage.includes(‘url(‘)) arka plan görseli taşıyan öğeleri listeler.
- Düzeltme: Önemli görseli Image (V4’te e-image) widget’ıyla ver, metni üstüne katman olarak yerleştir.
- Kendi sitemde: Ana sayfada ve 3D render sayfasında sonuç 0.
2. “Mobilde gizle” içeriği silmez, telefona iki kopya gider
Elementor’un duyarlı görünürlük ayarı yalnızca CSS’tir: mobil kırılım noktasında .elementor-hidden-mobile sınıfına display: none verir, öğe HTML’den çıkmaz. Ana sayfamın işlenmiş DOM’unda böyle iki blok var: 3D animasyonun boş kabı ve bir HTML widget’ının içindeki anahtar kelime şeridi. Googlebot Smartphone, Googlebot masaüstü ve Chrome kullanıcı ajanlarıyla attığım üç istek aynı 170.624 baytlık HTML’i döndürdü; şeridin metni üçünde de vardı.
Google, display: none ile gizlenmiş metne ne ağırlık verdiğini yazılı olarak açıklamıyor; ben de tahmin etmeyeceğim. Kesin kural mobil öncelikli dizine ekleme rehberinde: mobil sürüm masaüstüyle aynı içeriği taşımalı; başlıklar, meta bilgiler, yapılandırılmış veri ve alt metinler eşdeğer olmalı. Asıl risk, masaüstü ve mobil için iki ayrı bölüm kurmak. Bu çift H1’e ve tekrar eden metne yol açar. Masaüstündeki asıl içerik mobilde gizlenirse de eşlik kuralıyla çelişir.
- Tespit: Konsolda document.querySelectorAll(‘.elementor-hidden-mobile’), ardından curl ile Googlebot Smartphone kullanıcı ajanı.
- Düzeltme: Tek bölüm, duyarlı stil. Gizlemeyi dekoratif öğelere bırak.
3. H1 yok ya da iki tane
Heading widget’ının varsayılan etiketi V3’te de, V4’teki e-heading’de de h2. H1’i elle seçmezsen sayfada H1 olmaz. Sayfa ayarlarındaki “Başlığı gizle” de temaya göre değişir: Elementor bunu CSS ile yapar, Hello Elementor ise başlığı HTML’den tamamen kaldırır; Tam Genişlik şablonu temanın başlığını hiç basmaz. Tersi de olur: tema şablonu yazı başlığını H1 basarken içerik de bir H1 ile başlarsa iki H1 çıkar. Pro Slides’ta başlık etiketi ayrı bir alandan seçiliyor; tam boy slider istenen kurulumlarda H1’i slaytın dışına koyuyorum.
Kendi sitemde H1’i olmayan üç sayfa var: iletişim ve gizlilik sayfalarının ilk başlığı h2, Canvas şablonlu bir yan projede hiç başlık yok. Bir yazıda da tema başlığıyla içerikteki H1 üst üste binmiş. Google başlık linkini oluştururken sayfanın ana görsel başlığına ve başlık öğelerine bakıyor. Başlıkların sırası ise SEO Başlangıç Rehberi’ne göre Google Search açısından önemli değil; sıranın asıl gerekçesi erişilebilirlik.
- Tespit: Konsolda document.querySelectorAll(‘h1’).length sonucu 1 olmalı.
- Düzeltme: H1’i bilinçli seç; tema ya da içerik H1’inden birini kaldır. V4’teki başlık öğesini ve varsayılan stilleri Elementor V4 Atomic tasarım sistemi yazımda anlattım.
4. Rank Math’in otomatik açıklaması: üst etiket, “/” ve “–:–“
Meta açıklama elle yazılmamışsa Rank Math’in varsayılan şablonu sırasıyla yazı özetini, odak kelimeyi içeren ilk paragrafı ve içerikteki ilk paragrafı dener. Elementor ise her kayıtta widget’ların düz metnini post_content alanına yazıyor. Bu yüzden “ilk paragraf” çoğu zaman bir üst etiket, ayraç ya da boş bir sayaç oluyor.
Kendi sitemde üç örnek var. Yapay zekâ hizmet sayfasının açıklaması üst etiketteki “Yapay Zeka Sistemleri”, e-ticaret içerik otomasyonu sayfasınınki de yalnızca sayfa adı. Bir yan projede açıklama, JavaScript ile dolan sefer sayacının boş hâli olmuş: “Beşiktaş / Üsküdar Bir sonraki sefer –:–“. Kurulum notlarımda da açıklamanın tek bir “/” karakteri olarak çıktığı bir örnek var.
- Tespit: document.querySelector(‘meta[name=description]’).content değerini sayfanın ilk paragrafıyla karşılaştır; aynıysa açıklama otomatiktir.
- Düzeltme: Açıklamayı elle yaz. Çok sayfada toplu iş gerekiyorsa Rank Math’in /rankmath/v1/updateMeta uç noktası işe yarıyor; bağlantıyı nasıl kurduğumu Claude Code ile WordPress ve Elementor kurulumu yazımda anlattım.
5. robots.txt: Elementor klasörünü kapatmak, Googlebot’a ayrı grup açmak
26 Eylül 2026’da kendi robots.txt dosyamda iki grup vardı:
- User-agent: * grubunda /wp-admin/, /?s= ve /search/ engellerinin yanında Disallow: /wp-content/uploads/elementor/ satırı.
- Ayrı bir User-agent: Googlebot grubunda yalnızca Allow: /.
Elementor’un ürettiği CSS dosyaları ve yerel olarak barındırılan Google Fonts dosyaları bu klasörde duruyor; sayfalarım fontları da oradan yüklüyor. Google’ın robots.txt dokümanına göre bir tarayıcı için yalnızca bir grup geçerli: kendisiyle eşleşen en özel grup. Kullanıcı ajanına özel gruplar * grubuyla birleştirilmiyor. Sonuç iki yönlü: Bingbot dahil diğer tarayıcılar Elementor CSS’ine ve fontlara erişemiyor, Googlebot ise * grubundaki arama ve panel engellerini hiç görmüyor.
- Tespit: alanadi.com/robots.txt adresini aç, her tarayıcı için hangi grubun geçerli olduğunu tek tek yaz.
- Düzeltme: Tek bir * grubu kullan, Elementor klasörü satırını kaldır. Bir tarayıcıya özel grup gerçekten gerekiyorsa ortak kuralları o grupta da tekrarla.

6. FAQ şemasından zengin sonuç beklemek, her sayfaya Article basmak
Google’ın Search Central güncelleme kaydına göre FAQ zengin sonucu 7 Mayıs 2026’dan beri aramada görünmüyor. Elementor ise 22 Eylül 2026’da 4.3.0 ile V4 akordeonunu yayımladı; bu akordeonda FAQ Schema anahtarı var. Kaynak koduna göre varsayılanı kapalı, açılınca yalnızca canlı sayfaya FAQPage JSON-LD basıyor. V3 iç içe akordeon ise anahtar açılınca Google’ın bu şemayı artık desteklemediğini, AI için ikincil bir değeri olabileceğini söyleyen bir not gösteriyor. Google’ın AI özellikleri için özel şema istemediğini GEO nedir yazımda kaynağıyla anlattım.
Sayfada duran FAQ işaretlemesini bırakabilir ya da kapatabilirsin; Search Engine Journal’ın Mayıs 2026 haberine göre kalmasının zararı yok. Ama zengin sonuç bekleme, yenisini bu amaçla ekleme. İkinci konu Article. Rank Math’in kurulum varsayılanında sayfalar da Article şemasıyla geliyor; kendi sitemde ana sayfa, hizmet sayfaları, iletişim ve gizlilik dahil 10 sayfanın 10’u Article basıyor. Google Article işaretlemesini haber, blog ve spor makaleleri için tarif ediyor; hizmet ve iletişim sayfalarında Rank Math’in sayfa şeması ayarını gözden geçirmek gerekiyor.
- Tespit: application/ld+json betiklerindeki “@type” değerlerini listele ya da Zengin Sonuç Testi’ni kullan.
- Düzeltme: FAQ anahtarını görünürlük beklentisiyle açma; sayfa türüne uymayan şema türünü değiştir.
7. Boş ya da şablon alt metin
Medya kütüphanemi REST ile çektim (/wp/v2/media): 359 görselin 28’inde alt metin boş (%7,8). 133’ünde (%37) “Davut İlbak tasarım çalışması:” ile başlayıp dosya adından türeyen şablon bir metin var, “framer icon” gibi. 3D render sayfasındaki 6 portfolyo görseli alt=”” ile çıkıyor. Header logosunun kütüphanede alt metni var ama header şablonu onu her sayfada boş basıyor; şablon ayarlarını ayrıca kontrol etmek gerekiyor.
İyi haber şu: Elementor alt metni sayfa işlenirken medya kütüphanesinden okuyor. V3 WordPress’in görsel fonksiyonuyla kütüphanedeki alt metni kullanıyor, V4’teki e-image doğrudan o alanı alıyor. Yani alt metni kütüphanede bir kez düzeltmek, önbellek temizlendikten sonra o görselin geçtiği her sayfayı düzeltiyor. Alt metne anahtar kelime doldurmak ise Google’ın görsel rehberine göre spam sayılabilir; görseli anlatmak yeterli.
- Tespit: Konsolda […document.images].filter(i => !i.alt.trim()); kütüphane geneli için /wp-json/wp/v2/media?_fields=id,alt_text.
- Düzeltme: POST /wp/v2/media/ID isteğiyle {“alt_text”: “…”} gönder; toplu işte bile her görsele bakarak yaz.
8. URL ve sitemap hijyeni: tarihli kalıcı bağlantı ve toplu lastmod
WordPress kurulumda kalıcı bağlantı yapısı boşsa önce /%year%/%monthnum%/%day%/%postname%/ yapısını deniyor; kurulum notlarımda da tarihli gelen yazı adresleri var. Google’ın URL rehberinde tarihli adrese karşı bir kural yok, yani bu bir sıralama cezası değil. Sorun, yayından sonra yapıyı değiştirmenin her adresi değiştirmesi ve yönlendirme işi doğurması. Bu yüzden /%postname%/ ayarını ilk gün yapıyorum. Bu ayar REST’te yok, Ayarlar > Kalıcı Bağlantılar ekranından değişiyor.
Google’ın site haritası rehberine göre lastmod önemli bir değişikliği yansıtmalı: ana içerik, yapılandırılmış veri ya da linkler değiştiyse önemli, telif yılı değil. Google lastmod’u yalnızca tutarlı ve doğrulanabilir olduğunda kullanıyor; priority ve changefreq alanlarını yok sayıyor. Kendi sitemde sitemap’teki 77 URL’nin hepsi 200 dönüyor, kendine canonical veriyor, tarihli adres yok. Ama 61 yazının 37’sinin değişiklik tarihi 7 Haziran 2026’da 14 dakikalık bir aralığa düşüyor. Bu toplu bir işlemin izi; o işlem ana içeriği değiştirmediyse lastmod anlamını yitirir.
- Tespit: Sitemap’i çek, lastmod değerlerini güne göre say; tek güne yığılma varsa sebebine bak.
- Düzeltme: Toplu bir işlemden önce değişiklik tarihini güncelleyip güncellemediğini tek yazıda dene; sitemap’e yalnızca canonical adresler girsin.
9. Slogan site adıyla aynı: ana sayfa başlığında tekrar
WordPress ana sayfa başlığına sloganı, diğer sayfalara site adını ekliyor. Slogan site adıyla aynıysa ana sayfa başlığı “Ad – Ad” oluyor. Rank Math’in kurulum varsayılanı da ana sayfa başlığını site adı ve slogandan kurduğu için aynı tekrar orada da çıkıyor. WordPress 6.1’den beri slogan varsayılan olarak boş; tekrar, bu alana site adı yazılınca çıkıyor. Bu kontrol yayın öncesi listemde “slogan ≠ site adı” diye duruyor. Kendi sitemde slogan farklı, ana sayfa başlığı da elle yazılmış.
- Tespit: /wp-json/ adresindeki name ve description alanlarını ana sayfanın title etiketiyle karşılaştır.
- Düzeltme: Sloganı POST /wp/v2/settings ile {“description”: “…”} göndererek değiştir ya da ana sayfa başlığını Rank Math’te elle yaz.
Rank Math testleri mi, Google mı?
Rank Math’in yeşil puanı 81’de başlıyor ve eklentinin kendi 100/100 rehberi de önerileri tek ölçüt yapmamayı söylüyor. Google ise Haziran 2026’da güncellediği üçüncü taraf SEO araçları sayfasında bu araçların Google’ın iç sıralama verilerine erişimi olmadığını yazıyor. Testleri şöyle ayırıyorum (eşikler Eylül 2026 itibarıyla):
| Rank Math testi | Rank Math eşiği | Google ne diyor | Karar |
|---|---|---|---|
| İçerik uzunluğu | 2500+ kelime tam puan, 600 altı sıfır | Sihirli bir kelime sayısı yok | Yok say |
| Anahtar kelime yoğunluğu | %1–1,5 | Anahtar kelime doldurma spam | Doğal yaz |
| Başlıkta güç kelimesi, duygu, sayı | Var ya da yok | Açıklayıcı, kalıp olmayan başlık | Doğal düşüyorsa kullan |
| Content AI | Puan verir | Üçüncü taraf araçlar sıralama verisini görmez | Yok say |
| URL en fazla 75 karakter | Geçer ya da kalır | URL’deki kelimelerin etkisi çok az; okunur ve tireli olsun | Okunurluk için kısa tut |
| Alt metinde odak kelime | Var ya da yok | Açıklayıcı alt; doldurma spam sayılabilir | Görseli anlat |
| Paragraf en fazla 120 kelime | Geçer ya da kalır | Bir kural yok | Okunurluk için uygula |
| Genel puan | Yeşil 81 ve üstü | Search Console verisine bak | 81 üstü yeter |
Tek sayfada denetim akışı: kendi ana sayfam
Kontrolleri tek sayfada sırayla çalıştırınca şu akış çıkıyor; değerler 26 Eylül 2026’da kendi ana sayfamdan:
- Canlı HTML: Googlebot Smartphone, Googlebot masaüstü ve Chrome ajanlarıyla üç istek; üçü de aynı 170.624 baytlık HTML’i aldı. Googlebot’a farklı bir sürüm gitmiyor.
- Başlık ve meta: title ve açıklama elle yazılmış, og etiketleri dolu, canonical kendini gösteriyor, robots değeri index, follow.
- Başlıklar: 1 H1, 4 H2, 10 H3, 2 H4. H4’ler telefon ve e-posta; stil için başlık kullanılmış.
- Görseller: 21 img, CSS arka plan görseli 0; ham HTML’deki 28 lazy-load yer tutucusundan işlenmiş DOM’da hiç kalmıyor.
- Mobil eşlik: 2 gizli blok; şerit metni telefona giden HTML’de var.
- Şema: WebSite, WebPage, Person, ImageObject ve Article; FAQPage yok.
- Dizin durumu: URL Denetimi’nde canlı test, HTML sekmesi ve ekran görüntüsü. Bu adımı bu yazı için çalıştırmadım, sonucu tahmin etmek yerine boş bırakıyorum.
- Önbellek ve tekrar: Düzeltmeden sonra Elementor önbelleğini (DELETE /wp-json/elementor/v1/cache) ve LiteSpeed’in mobil dahil tüm önbelleğini temizle, 4. ve 6. adımı tekrarla.

Bu listede neden hız ve 2 MB sınırı yok?
Googlebot dokümanına göre (Şubat 2026 güncellemesi) Googlebot desteklenen bir dosyanın ilk 2 MB’ını tarıyor ve sınır sıkıştırılmamış veriye uygulanıyor. Kendi sitemde en ağır sayfa 170.624 baytlık ana sayfa, yani sınırın yaklaşık %8’i. Ölçmediğim bir sorunu listeye koymadım. Hız ve Core Web Vitals ayrı bir iş; onlar için WordPress site hızlandırma rehberime ve Core Web Vitals yazıma bakabilirsin.
Sık sorulan sorular
Elementor SEO uyumlu mu, SEO’yu kötü etkiler mi?
Araç nötr; hatalar varsayılanlardan ve kurulum alışkanlıklarından doğuyor. Kendi sitemde taradığım 77 URL’nin hepsi 200 dönüyor, kendine canonical veriyor ve indekslenebilir. Bulduğum sorunlar H1, alt metin, açıklama ve robots.txt gibi ayar düzeyinde.
Elementor’da SEO başlığı ve açıklaması nereden girilir?
Bunları kullandığın SEO eklentisi yönetir. Rank Math’te editördeki eklenti panelinden girilir; çok sayfada REST’teki updateMeta uç noktası da iş görür.
Rank Math puanı 100 olmalı mı?
Hayır. Rank Math’in kendi rehberi yeşili 81 ve üstü sayıyor, Google da üçüncü taraf araçların sıralama verisine erişimi olmadığını yazıyor. 81 üstü yeterli; gerisine Google’ın rehberine göre karar ver.
FAQ şemasını kaldırmalı mıyım?
Zorunlu değil; işaretlemenin sayfada kalmasının zararı yok. Ama 7 Mayıs 2026’dan beri FAQ zengin sonucu görünmüyor, Google AI özellikleri için de özel şema istemiyor. Yeni sayfalara bu amaçla eklemeye gerek yok.
Mobilde gizlenen içerik indekslenir mi?
Elementor gizlediği içeriği HTML’den çıkarmaz, telefon da onu alır. Google display: none metne nasıl davrandığını yazılı olarak açıklamıyor. Güvenli yol, iki sürümde de aynı asıl içeriği göstermek.
Bu kontrollerin çoğu yayın öncesi listemde duruyor ve çoğu tek bir ayarla ya da bir REST çağrısıyla düzeliyor. Web sitesi hizmetimde teknik SEO kurulumun parçası: başlık hiyerarşisi, URL düzeni, index mantığı, şema ihtiyacı ve taranabilir sayfa yapısı. Elementor siteni bu listeyle birlikte gözden geçirmek istersen web sitesi tasarım ve geliştirme sayfamdan kısa bir keşif görüşmesi planlayabiliriz.
