View Categories

Tahmini okuma süresi: 8 dk. ortalama

HTTP Header: Nedir, Türleri Nelerdir, SEO’da Nasıl Kullanılır? #

HTTP başlıkları (HTTP headers), web sunucuları ile tarayıcılar arasında veri iletimini sağlayan meta bilgileri içeren protokollerdir. Bu başlıklar, istemci ve sunucu arasındaki iletişimi düzenleyerek, web sayfalarının doğru bir şekilde görüntülenmesini ve işlevselliğini sağlar.

HTTP Header Nedir? #

HTTP header’lar, HTTP istekleri ve yanıtları sırasında aktarılan metinsel bilgilerdir. Her bir başlık, bir ad ve değer çiftinden oluşur ve iki nokta üst üste (:) ile ayrılır. Bu başlıklar, sunucu ve istemci arasında veri aktarımını düzenleyerek, web sayfalarının doğru bir şekilde görüntülenmesini ve işlevselliğini sağlar.

Örnek:

GET /ornek-sayfa HTTP/1.1
Host: www.orneksite.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36
Accept-Language: tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7
Connection: keep-alive

Yukarıdaki örnekte, Host, User-Agent ve Accept-Language gibi farklı HTTP başlıkları bulunmaktadır.


HTTP Header Türleri Nelerdir? #

HTTP başlıkları, farklı işlevlere sahip çeşitli türlere ayrılır:

  1. Genel Başlıklar (General Headers): Hem istek hem de yanıt mesajlarında kullanılan genel bilgileri içerir.
  2. İstek Başlıkları (Request Headers): İstemciden sunucuya gönderilen isteklerle ilgili bilgileri taşır.
  3. Yanıt Başlıkları (Response Headers): Sunucudan istemciye gönderilen yanıtlarla ilgili bilgileri içerir.
  4. Varlık Başlıkları (Entity Headers): İçeriğin kendisi hakkında meta bilgiler sağlar.
  5. Özel Başlıklar (Custom Headers): Geliştiriciler tarafından belirli amaçlar için tanımlanan başlıklardır.

Bu başlık türleri, web sayfalarının performansını ve güvenliğini etkiler.

Genel Başlıklar (General Headers) #

Genel başlıklar, hem istek hem de yanıt mesajlarında kullanılan ve mesajın genel özelliklerini belirten başlıklardır.

Örnek:

Cache-Control: no-cache

Bu başlık, tarayıcıya içeriğin önbelleğe alınmaması gerektiğini belirtir.

İstek Başlıkları (Request Headers) #

İstek başlıkları, istemciden sunucuya gönderilen isteklerle ilgili bilgileri taşır ve sunucunun isteği nasıl işleyeceğini belirler.

Örnek:

Accept-Language: tr-TR

Bu başlık, istemcinin Türkçe dilindeki içerikleri tercih ettiğini belirtir.

Yanıt Başlıkları (Response Headers) #

Yanıt başlıkları, sunucudan istemciye gönderilen yanıtlarla ilgili bilgileri içerir ve istemcinin yanıtı nasıl işleyeceğini belirler.

Örnek:

Server: Apache/2.4.1 (Unix)

Bu başlık, sunucunun Apache 2.4.1 sürümünü kullandığını belirtir.

Varlık Başlıkları (Entity Headers) #

Varlık başlıkları, içeriğin kendisi hakkında meta bilgiler sağlar ve içeriğin nasıl işleneceğini belirtir.

Örnek:

Content-Type: text/html; charset=UTF-8

Bu başlık, içeriğin HTML formatında ve UTF-8 karakter setinde olduğunu belirtir.

Özel Başlıklar (Custom Headers) #

Özel başlıklar, geliştiriciler tarafından belirli amaçlar için tanımlanan ve standart olmayan başlıklardır.

Örnek:

X-Custom-Header: Değer

Bu başlık, geliştirici tarafından tanımlanmış özel bir bilgiyi taşır.


En Önemli HTTP Header Örnekleri Nelerdir? #

Web geliştirme ve SEO açısından kritik öneme sahip bazı HTTP başlıkları şunlardır:

İçeriğin türünü belirtir.

Örnek:

Content-Type: text/html; charset=UTF-8

Bu başlık, içeriğin HTML formatında ve UTF-8 karakter setinde olduğunu belirtir.

Web geliştirme ve SEO açısından kritik öneme sahip bazı HTTP başlıkları şunlardır:

Önbellekleme politikalarını belirler.

Örnek:

Cache-Control: max-age=3600

Bu başlık, içeriğin 3600 saniye boyunca önbellekte saklanabileceğini belirtir.

Kimlik doğrulama bilgilerini taşır.

Örnek:

Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l

Bu başlık, temel kimlik doğrulama bilgilerini Base64 formatında içerir.

İstemcinin desteklediği veri sıkıştırma yöntemlerini belirtir.

Örnek:

Accept-Encoding: gzip, deflate

Bu başlık, tarayıcının gzip veya deflate algoritmalarını desteklediğini ve sunucudan bu yöntemlerle sıkıştırılmış verileri kabul edebileceğini belirtir.

Kullanıcı oturumlarını yönetmek için çerez bilgilerini taşır.

Örnek:

Set-Cookie: sessionId=abc123; Secure; HttpOnly

Bu başlık, bir oturum kimliği oluşturur ve yalnızca güvenli bağlantılar (HTTPS) üzerinden iletilmesine izin verir. Ayrıca, tarayıcıların JavaScript ile erişimini engeller.


HTTP Header Güvenlik Ayarları Nasıl Yapılır? #

1. Strict-Transport-Security (HSTS): #

HTTPS bağlantılarını zorunlu kılar ve veri güvenliğini sağlar.

Örnek:

Strict-Transport-Security: max-age=31536000; includeSubDomains

2. Content-Security-Policy (CSP): #

Cross-site scripting (XSS) saldırılarını engeller.

Örnek:

Content-Security-Policy: default-src 'self'; script-src 'self' https://apis.google.com

3. X-Frame-Options: #

Clickjacking saldırılarına karşı koruma sağlar.

Örnek:

X-Frame-Options: DENY

Bu başlıklar, hem güvenliği artırır hem de SEO performansını güçlendirir.

CMS ve Web Teknolojilerinde HTTP Header Düzenleme Yöntemleri Nelerdir? #

WordPress, dünya genelinde en çok kullanılan CMS’lerden biridir. HTTP header’ların yönetimi için kod düzenlemeleri ve eklentiler kullanılır.

WordPress’te HTTP Header Yönetimi Nasıl Yapılır? #

1. WordPress Eklentileri İle HTTP Header Yönetimi

WordPress’ta HTTP Header yönetimi yapabileceğiniz SEO Eklentileri:

  • Yoast SEO
  • Security Headers
  • RankMath SEO
  • Redirection Plugin

2. functions.php Dosyasını Düzenleyerek Header Ekleme

Manuel olarak header eklemek için WordPress tema dosyasındaki functions.php dosyası kullanılabilir.

Örnek Kod:

add_action('send_headers', function() {

    header('Strict-Transport-Security: max-age=31536000; includeSubDomains; preload');

    header('X-Frame-Options: SAMEORIGIN');

    header('Content-Security-Policy: default-src \'self\'');

});

Bu kod, tarayıcı güvenliğini artırmak için üç önemli HTTP header’ı ekler:

  • HSTS (Strict Transport Security Header): HTTPS bağlantılarının zorunlu olmasını sağlar.
  • X-Frame-Options: Tıklama korsanlığına karşı koruma sağlar.
  • Content-Security-Policy: İçeriklerin yalnızca belirli kaynaklardan yüklenmesine izin verir.

Shopify’da HTTP Header Yönetimi #

Shopify, barındırılan bir e-ticaret platformu olduğundan HTTP header yönetimi sınırlıdır. Ancak, bazı ayarlamalar yapılabilir:

1. Tema Kod Düzenlemeleri #

Shopify’da tema dosyaları düzenlenerek meta header’lar eklenebilir.

Örnek Kod – theme.liquid Dosyası:

<meta http-equiv="Content-Security-Policy" content="default-src 'self' https:;">

<meta http-equiv="Strict-Transport-Security" content="max-age=31536000;">

2. Shopify Uygulamaları ile Yönetim #

  • SEO Manager App: SEO odaklı başlık düzenlemeleri ve yönlendirmeler sağlar.
  • HTTP Header App: Özel header eklemeye izin veren uygulamalar.

PHP Tabanlı Sunucularda HTTP Header Yönetimi #

PHP, dinamik içerik yönetimi ve sunucu taraflı işlemler için yaygın olarak kullanılan bir dildir. HTTP header’lar doğrudan PHP kodlarıyla veya .htaccess dosyası ile yapılandırılabilir.

1. PHP Kodları ile Header Yönetimi #

Örnek Kod – PHP Header Ayarları:

<?php

header("X-Frame-Options: DENY");

header("Strict-Transport-Security: max-age=31536000; includeSubDomains; preload");

header("Referrer-Policy: no-referrer");

?>

2. .htaccess Dosyası ile Yönetim (Apache Sunucuları İçin) #

Örnek Kod – .htaccess Header Ayarları:

<IfModule mod_headers.c>

    Header always set X-Content-Type-Options "nosniff"

    Header always set Strict-Transport-Security "max-age=31536000"

</IfModule>

Bu yapılandırma, Apache sunucularında header’ların manuel olarak yönetilmesine olanak tanır.


ASP.NET Tabanlı Uygulamalarda HTTP Header Yönetimi #

ASP.NET, kurumsal web uygulamalarında sıkça tercih edilen bir framework’tür. HTTP header yönetimi için Web.config dosyası ve C# kodları kullanılır.

1. Web.config Dosyası ile Header Ekleme #

ASP.NET web uygulamalarında HTTP Header kodlarını düzenlemek için web.config dosyası kullanılabilir.

Aşağıda web.config dosyasının nasıl düzenlenebileceğine dair bir örnek paylaşılmıştır:

Örnek Kod:

<system.webServer>

  <httpProtocol>

    <customHeaders>

      <add name="X-Frame-Options" value="DENY" />

      <add name="Strict-Transport-Security" value="max-age=31536000" />

      <add name="Content-Security-Policy" value="default-src 'self'" />

    </customHeaders>

  </httpProtocol>

</system.webServer>

2. C# ile Dinamik Header Yönetimi #

Yine ASP.NET ile yönetilen sunucularda C# dilinde aşağıdaki satırları çalıştırarak HTTP Header düzenlemesi yapılabilir.

Örnek Kod:

Response.Headers.Add("X-Content-Type-Options", "nosniff");

Response.Headers.Add("Referrer-Policy", "strict-origin");

Node.js ve Express.js ile HTTP Header Yönetimi #

Node.js, modern web uygulamalarında tercih edilen bir JavaScript çalışma ortamıdır. HTTP header yönetimi için Express.js framework’ü sıkça kullanılır.

Aşağıda Node.js ortamında Express.js framework’ü ile HTTP Header düzenlemeye bir örnek sunulmuştur:

Örnek Kod:

const express = require('express');

const app = express();

app.use((req, res, next) => {

    res.setHeader('Content-Security-Policy', "default-src 'self'");

    res.setHeader('X-Frame-Options', 'SAMEORIGIN');

    res.setHeader('Strict-Transport-Security', 'max-age=31536000; includeSubDomains; preload');

    next();

});

app.listen(3000, () => {

    console.log('Server is running...');

});

NGINX ile HTTP Header Yönetimi #

NGINX, yüksek performanslı bir web sunucusudur ve HTTP header yönetimi için esnek yapılandırma seçenekleri sunar. Header ayarlarını optimize etmek için nginx.conf düzenlemesi yapılabilir.

Aşağıda bir örnek kod konfigürsayonu paylaşılmıştır:

Örnek Konfigürasyon:

server {

    listen 443 ssl http2;

    ssl_certificate /etc/ssl/cert.pem;

    ssl_certificate_key /etc/ssl/key.pem;

    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

    add_header X-Content-Type-Options "nosniff";

    add_header Content-Security-Policy "default-src 'self'";

}

HTTP Header ve SEO Arasındaki İlişki Nedir? #

HTTP Header’lar, SEO performansını etkileyen önemli araçlardan biridir.

SEO Açısından Kritik Katkılar: #

  1. Durum Kodları (301, 404, 500):
    Sayfaların durumu hakkında arama motorlarına bilgi verir. Örneğin, 301 yönlendirmesi SEO değerinin korunmasını sağlar.
  2. Cache-Control ve Expires:
    Önbellekleme politikaları, yüklenme hızını artırarak kullanıcı deneyimini ve sıralamaları iyileştirir.
  3. Canonical Etiketler:
    Yinelenen içeriklerin indekslenmesini önleyerek SEO sorunlarını çözer.
  4. Mobil Uyum (Mobile-First Indexing):
    HTTP başlıkları, mobil cihazlara uygun içerik sunulmasını sağlar.

Örnek:

HTTP/1.1 301 Moved Permanently
Location: https://www.yeni-url.com

Bu örnek, eski URL’nin yeni URL’ye kalıcı olarak yönlendirildiğini gösterir. SEO açısından otoritenin yeni sayfaya aktarılmasını sağlar.


HTTP Yanıt Kodları ve SEO’ya Etkileri Nelerdir? #

Başlıca HTTP Yanıt Kodları:

Sayfa başarıyla yüklendi ve gösterime hazır. SEO için olumlu sinyaldir.

Kalıcı yönlendirme yapılmış ve SEO değeri korunmuştur.

Örnek:

HTTP/1.1 301 Moved Permanently
Location: https://www.yenidomain.com

Sayfa bulunamadı ve arama motorları tarafından indeksleme sorunu yaşanabilir.

Örnek:

HTTP/1.1 404 Not Found


Sunucu tarafında bir hata meydana gelmiştir. SEO performansı için olumsuz bir sinyal taşır.

Örnek:

HTTP/1.1 500 Internal Server Error

Cache-Control ve Expires Header’ları Nasıl Optimize Edilir? #

Önbellekleme sürelerini belirleyerek yüklenme hızını optimize eder.

Aşağıdaki başlık, tarayıcıya içeriği 3600 saniye boyunca önbellekte tutmasını söyler.

Cache-Control: public, max-age=3600

Belirli bir tarihten sonra içeriğin geçersiz olduğunu belirtir.

Aşağıdaki örnek, içeriğin 1 Aralık 2025 tarihine kadar geçerli olduğunu gösterir.

Expires: Thu, 01 Dec 2025 16:00:00 GMT

Content-Type Header’ı ve SEO İçin Önemi Nedir? #

Content-Type, tarayıcılara ve arama motorlarına içerik türü hakkında bilgi sağlar. Yanlış yapılandırılması, indeksleme sorunlarına yol açabilir.

Örnek:

Content-Type: application/json

Redirect Başlıkları (301, 302) SEO’ya Nasıl Katkı Sağlar? #

301 yönlendirmesi, kaldırılmış bir sayfanın kalıcı olarak farklı bir adrese yönlendirildiğini ifade eder ve SEO değerinin korunmasını sağlar.

Örnek:

HTTP/1.1 301 Moved Permanently
Location: https://www.yenisayfa.com

302 yönlendirmeleri ise sayfanın geçici süreliğine yönlendirildiğini ifade eder.

Caching Header’ları Performans ve SEO İçin Nasıl Kullanılır? #

Cache-Control: #

Cache-Control başlığı, tarayıcıların içerikleri nasıl ve ne kadar süreyle önbellekte tutacağını belirler.

Örnek:

Cache-Control: public, max-age=86400
  • public: İçerik herkes tarafından önbelleğe alınabilir.
  • max-age=86400: İçerik, 24 saat (86400 saniye) boyunca önbellekte tutulur.

ETag: #

ETag, içeriğin benzersiz bir sürüm kimliğini belirtir. Tarayıcı, bu kimliği kullanarak içeriğin değişip değişmediğini kontrol eder.

Örnek:

ETag: "abc123"
  • Tarayıcı, bir sonraki istekte bu kimliği sunucuya gönderir.
  • Eğer kimlik değişmemişse, sunucu yeni içerik göndermek yerine “304 Not Modified” yanıtı verir.

Last-Modified: #

Last-Modified başlığı, içeriğin en son ne zaman güncellendiğini belirtir.

Örnek:

Last-Modified: Wed, 21 Oct 2023 07:28:00 GMT
  • Tarayıcı, içerik değişmediğinde eski önbelleği kullanabilir.
  • Güncellenmişse, yeni içerik talep edilir.

Bu başlıklar, sayfa yükleme sürelerini optimize ederek sıralamalarda avantaj sağlar.


HTTP Header ve Mobil Uyum (Mobile-First Indexing) Arasındaki İlişki Nedir? #

Mobil öncelikli indeksleme, sayfaların mobil cihazlarda nasıl render edildiğini değerlendirir. HTTP başlıkları, mobil dostu içerik sunarak SEO’yu iyileştirir.

Örnek:

Vary: User-Agent

Bu başlık, mobil ve masaüstü kullanıcılarına farklı içerik sunulmasını sağlar. Böylelikle istenirse farklı cihazlardaki kullanıcılara farklı içerik sunulabilir.


HTTP Header İle İlgili En Sık Sorulan Sorular (FAQ) #


Sonuç #

HTTP Header’lar, web sitelerinin güvenliği, performansı ve SEO başarısı için kritik öneme sahiptir. Önbellekleme, yönlendirme ve güvenlik politikalarının doğru yapılandırılması, hem kullanıcı deneyimini hem de arama motorlarındaki sıralamaları olumlu yönde etkiler.

Bu başlıklar, düzenli olarak kontrol edilmeli ve optimize edilmelidir. Özellikle SEO açısından kritik durum kodları, yönlendirmeler ve güvenlik ayarları sürekli izlenmeli ve gerektiğinde güncellenmelidir.

Updated on 9 Ocak 2025

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir