İçeriğe geç
Approvalens

Okuma odası · 7 dk okuma

Kopya Başlık ve Meta Açıklama: Kaynağını Bul, Düzelt

Yazıların neden aynı başlığı ya da meta açıklamayı aldığı, Google'ın başlık ve özeti nasıl seçtiği; Yoast, Rank Math, Blogger ve Next.js için çözümler.

Approvalens ekibi

Şu rapor bulgularını düzeltir

  • Aynı başlıklar
  • Aynı meta açıklamalar
  • Birden fazla title etiketi
  • Birden fazla meta açıklama
  • Eksik sayfa başlıkları
  • Meta açıklamalar
  • Uzun başlıklar
  • Kısa başlıklar
  • +2

Kopya başlık ve meta açıklamaların neredeyse hiçbiri birinin aynı cümleyi iki kez yazmasından çıkmıyor. Kaynak çoğu zaman bir şablon. Ya tema her sayfanın başlığına site adını basıyor, ya SEO eklentisinin varsayılan kalıbında yazı başlığı yok, ya da hem tema hem eklenti <head> içine kendi etiketini yazıyor. Etiketi hangi katmanın bastığını bul, orayı bir kez düzelt, sonra gerçekten çakışan birkaç başlığı elle yeniden yaz. Bu sorun tek başına AdSense incelemesini belirlemiyor. Ama arama sonuçlarında okurun sayfalarını birbirinden ayırıp ayıramayacağını belirliyor.

Google başlığı ve açıklamayı nasıl kullanıyor?

Google ikisini de öneri olarak görüyor. Başlık bağlantıları belgesinde bu sürecin tamamen otomatik olduğu, hem sayfanın içeriğine hem de web'deki ona yapılan atıflara baktığı yazıyor (başlık bağlantıları). <title> öğesi kaynaklardan yalnızca biri. Diğerleri sayfadaki ana görsel başlık, <h1> gibi başlık öğeleri, og:title, öne çıkan biçimli metin, bağlantı metinleri ve sayfaya işaret eden linkler.

Aynı belge <title> içinde tekrar eden kalıp metinden kaçınmanı istiyor ve her sayfası "Cheap products for sale" başlıklı bir mağazayı örnek veriyor. Google'ın başlığı yeniden yazma sebepleri arasında <title>| Site Adı</title> gibi yarı boş başlıklar, eskimiş ya da yanlış başlıklar ve küçük kalıp metinler var.

Açıklamada da durum aynı. Google'a göre özetler öncelikle sayfa içeriğinden üretiliyor. Meta açıklama ise kullanıcıya daha doğru bir tarif sunuyorsa kullanılıyor (özetler). Tekrar konusunda belge net: "Identical or similar descriptions on every page of a site aren't helpful".

Uzunluk için Google iki etikete de sınır koymuyor. İki belge de metnin gerektiğinde, genellikle cihaz genişliğine sığacak şekilde kesildiğini söylüyor. Başka yerde okuduğun karakter sayıları birer pratik kural. Approvalens'in kullandığı eşikler de öyle, aşağıda anlatıyorum.

Kopyalar nereden geliyor?

Gördüğün Genelde sebebi Düzeltme yeri
Her yazının başlığı "Örnek Blog" Tema <title> içine site adını sabit yazmış Tema şablonu ya da SEO eklentisi başlık şablonu
Bir sayfada iki <title> Biri temadan, biri SEO eklentisinden Kaynaklardan birini kaldır
Tüm yazılarda aynı açıklama Şablon site sloganını kullanıyor ya da layout'taki açıklama miras kalıyor Yazı şablonu ya da sayfa bazında açıklama
/page/2/, /page/3/ ilk sayfanın başlığını taşıyor Arşiv şablonunda sayfa numarası yok %%page%% / %page% ekle
Aynı başlıklı etiket ve kategori arşivleri Aynı adlı iki sınıflandırma ("Tarifler" etiketi ve "Tarifler" kategorisi) Birini yeniden adlandır, birleştir ya da noindex yap
İki adres, aynı başlık ve açıklama Bir sayfa iki farklı yoldan açılıyor Yönlendirme ya da canonical
Çevrilmiş sayfada orijinalin başlığı Başlık alanı çevrilmemiş Başlığı ve açıklamayı da çevir

Son iki satırı gerçek taramalarda görüyoruz. Taradığımız bir site aynı araç sayfasını hem /en/tools/svg-tools hem /en/developer-tools/svg-tools adresinden sunuyordu. Başlık da açıklama da kopya olarak raporlandı. Aynı sitenin Türkçe blog dizini ise İngilizce dizinin başlığını kelimesi kelimesine taşıyordu. Bunun çözümü başlığı yeniden yazmak değil. Bir adres seçip diğerini ona bağla (canonical etiketi sorunları, yönlendirme zinciri ve döngüsü), atlanan alanı da çevir.

Her başlığa site adını basan tema ile yazı başlığını ve sayfa numarasını ekleyen Yoast şablonunu karşılaştıran iki kart
Sabit şablon üç farklı adrese aynı başlığı veriyor. Değişkenler, bölünmüş bir yazının 2. sayfası dahil her birine kendi başlığını veriyor.

Etiketi hangi katman basıyor?

Ayarlara dokunmadan önce tarayıcının aldığı HTML'e bak. Terminalde:

$ curl -s https://ornekblog.com/orkide-saksi-degistirme/ | grep -c '<title'
2
$ curl -s https://ornekblog.com/orkide-saksi-degistirme/ | grep -o '<title>[^<]*</title>'
<title>Orkide bakımı – Örnek Blog</title>
<title>Orkide saksısı 5 adımda nasıl değiştirilir | Örnek Blog</title>

Terminal yoksa sayfa kaynağını aç (Ctrl+U), Ctrl+F ile önce <title, sonra name="description" ara. DevTools'taki Elements paneline değil, kaynağa bak. Kaynak sunucunun gönderdiğini gösterir, Elements ise scriptlerin değiştirdiği hali.

Sonra etiketlerin çevresine bak. Yoast çıktısını <!-- This site is optimized with the Yoast SEO plugin … --> yorumuyla, Rank Math ise <!-- Search Engine Optimization by Rank Math … --> yorumuyla sarıyor. Bu yorumların dışında kalan etiket başka yerden geliyor: temanın header.php dosyasından, bir sayfa oluşturucunun SEO modülünden ya da ikinci bir SEO eklentisinden.

Bir title etiketi temanın header.php dosyasından, ikincisi SEO eklentisinden gelen sayfa kaynağı
Tema da eklenti de başlık basıyorsa eklentininkini tut, elle yazılmış olanı kaldır.

Platforma göre çözüm

WordPress + Yoast SEO

Varsayılan kalıplar Yoast SEO → Settings altında. Yazılar ve sayfalar için "Content types", arşivler için "Categories & tags" ve "Advanced" bölümlerinde, her birinin "Search appearance" kısmında duruyor (Yoast yardım). Yazılar için sağlam bir başlık şablonu:

%%title%% %%page%% %%sep%% %%sitename%%

Yoast'un değişken listesine göre %%title%% yazının başlığıyla, %%page%% ise bağlamıyla birlikte sayfa numarasıyla ("page 2 of 4" gibi) değişiyor. Açıklama şablonun yalnızca %%sitedesc%% (site sloganı) ise bütün yazılar aynı açıklamayı paylaşır. %%excerpt%% kullan, önemli yazılarda da açıklama alanını elle doldur.

WordPress + Rank Math

Mantık aynı, işaretler tek yüzde: Rank Math SEO → Titles & Meta → Posts, alan adları "Single Post Title" ve "Single Post Description". Rank Math, %page% değişkeninin yalnızca 2. ve sonraki sayfalarda göründüğünü yazıyor (değişkenler). Bir de "Rewrite Titles" seçeneği var. Bu seçenek yalnızca tema title-tag desteği sunmuyorsa çıkıyor (Titles & Meta). Onu görüyorsan teman muhtemelen kendi başlığını da elle basacak kadar eski.

Çift başlığın tema tarafı

Klasik bir tema <title> etiketini kendisi basmamalı. WordPress, add_theme_support( 'title-tag' ) çağrısının wp_title() yerine kullanılmasını istiyor (geliştirici belgesi). Bir alt temada header.php içindeki <title><?php wp_title(); ?></title> satırını sil, functions.php dosyasına tema desteği çağrısını ekle. Tek bir SEO eklentisi çalıştır. İki eklenti ya da eklenti artı temanın kendi "SEO ayarları", seo.multiple_titles ve seo.multiple_descriptions bulgularının olağan sebebi.

Blogger

Blogger'da başlığı tema oluşturuyor. Theme menüsüne gir, "My theme" altındaki menüden Edit HTML'i seç (Blogger yardım) ve <title> ara. Satır <title><data:blog.title/></title> ise her sayfa blogun adını alıyor. Blogger, data:blog.pageTitle etiketinin çoğu zaman blog başlığı olduğunu ama arşiv ve yazı sayfalarında ek bilgi içerebildiğini belgeliyor (veri etiketleri). Yani şu satır her yazıya kendi başlığını verir:

<title><data:blog.pageTitle/></title>

Açıklama için Blogger ayarlarında "Meta tags" bölümü ve Enable search description seçeneği var (Blogger ayarları). Açınca yazı ayarları panelinde arama açıklaması alanı çıkıyor. Bu alanı her yazı için ayrı doldur, blog geneli tek bir cümleyle değil.

Next.js App Router

Metadata kök layout'tan aşağı doğru birleşiyor ve aynı anahtarlar sonraki segmentlerde değiştiriliyor (Next.js 16 belgelerindeki generate-metadata.md). Yalnızca app/layout.tsx içinde tanımlanan bir description, kendi açıklamasını vermeyen her sayfaya miras kalıyor. Bu da bütün sitede tek açıklama demek. Layout'a şablon koy, her rotaya kendi değerini ver:

// app/layout.tsx
export const metadata: Metadata = {
  title: { template: '%s | Örnek Blog', default: 'Örnek Blog' },
  description: 'Balkonda yetiştirilen orkide ve saksı bitkileri için denenmiş bakım notları.',
}

// app/blog/[slug]/page.tsx
export async function generateMetadata(
  { params }: { params: Promise<{ slug: string }> }
): Promise<Metadata> {
  const { slug } = await params
  const post = await getPost(slug)
  return { title: post.title, description: post.summary }
}

Çıktı <title>Orkide saksısı 5 adımda nasıl değiştirilir | Örnek Blog</title> olur. Belgelerden iki ayrıntı: title.template aynı segmentte tanımlanan başlığa uygulanmıyor, şablon eklediğinde de title.default zorunlu.

Çakışan başlıkları yeniden yazmak

Şablonlar düzelince geriye kalan kopyalar gerçek editoryal çakışmalardır. Her sayfanın neyi farklı anlattığını söyleyerek düzelt:

Önce (kopya) Sonra
Orkide bakımı Orkide saksısı 5 adımda nasıl değiştirilir
Orkide bakımı Orkide yaprakları neden sararır: 6 sebep ve çözüm
Ana Sayfa Örnek Blog: balkonda orkide ve saksı bitkisi bakımı

Bir fark bulamıyorsan sayfalar muhtemelen aynı şeyi anlatıyor. Bu durumda başlığı oynamak yerine birleştir. Hangisinin kalacağını seçmek için anahtar kelime yamyamlığı rehberine bak. İkisi de az şey söylediği için çakışan sayfalar zayıf içerik konusu. Çok sayıda adreste kopyalanmış metin ise kopya içerik rehberinde.

Açıklama için sayfaya özgü bir iki sade cümle yeter. Google büyük, veritabanı tabanlı sitelerde açıklamaların programla üretilmesinin uygun olabileceğini de yazıyor. Eksik açıklama kopya açıklamadan iyidir, çünkü Google bu durumda sayfadan metin seçer.

Approvalens taraması neye bakıyor?

Bu kontrollerin hepsi tarayıcının aldığı HTML'i okuyor. Sayfaların nasıl tarandığı ve ayrıldığı metodoloji sayfasında.

  • Kopya başlık ve açıklama: Yazı olarak sınıflanan sayfalarda metni büyük-küçük harf farkını yok sayarak birebir karşılaştırır. Arşive benzeyen adresler (/tag/, /category/, /page/2/, /search/label/, sorgu parametreli adresler) hesaba katılmaz. Yani buradaki bir bulgu iki arşiv sayfasını değil, iki yazıyı ya da sayfayı gösterir. Başlıklar uyarı, açıklamalar bilgi notu düzeyinde.
  • Birden fazla title: <head> içindeki <title> öğelerini sayar. Birden fazla açıklama ise <meta name="description"> etiketlerini. Ana sayfada ya da herhangi bir yazıda fazladan bir tane bulgu için yeter.
  • Eksik title: Ana sayfaya ve her yazıya bakar.
  • Eksik meta açıklama: Yazıların yarısından fazlasında açıklama yoksa çıkar.
  • Uzunluk notları: Google'ın değil, bizim çizgilerimiz. Başlıkta 60 karakterden uzun ya da 25'ten kısa, açıklamada 160'tan uzun ya da 70'ten kısa. Ana sayfa ve yazılara bakılır, bulgu ancak bunların %20'si ya da fazlası çizgiyi geçerse çıkar. Tek tek sayfalar sayfa tablosunda yine görünür.
Approvalens uzunluk eşiklerini gösteren iki cetvel: başlıklar 25–60, açıklamalar 70–160 karakter
Uzunluk notları okunabilirlik ipucu. Google bir sınır koymuyor, ekran genişliğine göre kesiyor.

Başlıklarını site genelinde kontrol et

Ücretsiz Approvalens taraması kopya başlıkları ve açıklamaları paylaşan adreslerle birlikte listeliyor. Böylece suçun şablonda mı, iki sayfada mı olduğunu görürsün.

Sık sorulan sorular

Kopya başlıklar AdSense reddine yol açar mı?

Tek başına hayır. AdSense sitenin içeriğine ve politikalara bakıyor. Kopya başlık bir belirti olarak önemli: çoğu zaman şablondan üretilmiş ya da kopyalanmış sayfalara işaret ediyor, bu da reddedilme sebebi olabiliyor.

H1 ile title birebir aynı mı olmalı?

Hayır, aynı şeyi anlatmaları yeter. Title daha kısa olup site adını taşıyabilir, H1 tam manşet olabilir. Ayrıntısı H1 ve başlık yapısı rehberinde.

Google benim yazdığımdan farklı bir başlık gösteriyor. Bir şey mi bozuk?

Şart değil. Google başlık bağlantısını otomatik seçiyor, H1'ini ya da başka bir metni kullanabiliyor. Başlık yarı boş, kalıp ya da yanlışsa yeniden yazılma ihtimali artıyor.

Meta açıklamayı boş bırakmak sorun mu?

İyi yazamayacağın sayfalar için sorun değil. Google özeti sayfa içeriğinden oluşturur. Boş açıklama, elli yazıya kopyalanmış bir açıklamadan iyidir.

Sayfalı arşivlerim aynı başlığı taşıyor. Düzeltmem gerekir mi?

%%page%% ya da %page% ile sayfa numarasını ekle. Approvalens kopya kontrolünde arşiv adreslerini atlıyor, ama okur da Google da o başlıkları görüyor.

Eskimiş ya da yanlış bir şey mi gördün? Bize yaz, düzeltelim.

Bu rehberi İngilizce oku →

Ücretsiz tarama

Kendi siteni kontrol et

Ücretsiz tarama: uygunluk puanı ve tüm sorunlar, genelde birkaç dakikada.

Ücretsiz tarama · puan ve bulunan tüm sorunlar · üyelik yok

Tüm rehberler →