TALHA KESKİN

Web Developer / UI Designer / Graphic & Web Designer

Kartal - İSTANBUL

Hoşgeldiniz. PHP, CSS, Javascript, jQuery, Bootstrap, PSD TO CSS, C#, .NET, Ajax, MsSQL, MySQL İşlerinizi yapabilirim.

Sosyal Profillerim
<
bahis siteleri deneme bonusu bonus veren siteler sekabet casino siteleri bahis siteleri deneme bonusu veren siteler imajbet asyabahis deneme bonusu deneme bonusu sohbet hattı sohbet hattı'; } ?>
  • Yazı Detayı

PHP SEO Uyumlu Linkler Yapmak

Bu Yazı PHP İçin Yazılmıştır.

Merhaba bu yazımda PHP ile SEO Uyumlu Linkler Yapımı konusunda bilgi vermek istedim.

Tüm PHP Makalelerime Buradan Bakabilirsiniz

PHP’ye yeni başlayan ve PHP konusunda uzmanlaşmak isteyen kişilerin en çok merak ettikleri konulardan bir tanesi PHP ile SEO uyumlu linkler yapmaktır. PHP ile seo uyumlu linkler yapmak arama motorlarında sizi üst sıralara çıkarmasının yanında kullanıcıların gözüne de hoş görüneceğinden en faydalı konulardan bir tanesidir.

Bu konu aynı zamanda SEO’nun olmazsa olmazlarından bir tanesidir. Bir SEO uzmanına sitenizi gösterdiğinizde ilk olarak bakacağı yer SEO uyumlu link yapısı olmaktadır

PHP’de 3 türde veri alışverişi yapılabilmektedir. Bunlar;

  • POST
  • GET
  • REQURST

türleridir. Bu yazımızda bizi ilgilendiren kısım ise GET metodudur. Normal bir PHP dosyasında detay sayfalarında genellikle parametreler GET olarak parametrelere yayılarak alınmaktadır. Örneğin bir id sistemini düşünürsek ve linkimizi index.php?id=1 olarak düşünürsek GET’ten gelen id değerini echo $_GET[“id”] olarak ekrana bastırabiliriz.

Fakat bu yapımızda verdiğimiz linkler seo uyumlu değildir. Bu nedenle bu yapıyı .htacsess dosyasını kullanarak seo uyumlu hale getirip index/1 şekline dönüştürmeliyiz.

Yapmamız Gerekenler

  • Yazılarımızı özel bir fonksiyon kullanarak türkçe ve özel karakterlerden arındırmak
  • .htacsess dosyasını kullanarak bu linklerin yönlendirmelerini doğru şekilde yapmak

İlk adımımız olarak türkçe karakterleri ve özel karakterleri arındıran fonksiyonumuzu yazalım

 function urlYap($baslik){
       $baslik = str_replace(array(""","'"), NULL, mb_strtolower($baslik,"UTF-8"));
    $bul = array('Ç', 'Ş', 'Ğ', 'Ü', 'İ','I', 'Ö', 'ç', 'ş', 'ğ', 'ü', 'ö', 'ı', '-');
    $yap = array('c', 's', 'g', 'u', 'i','i','o', 'c', 's', 'g', 'u', 'o', 'i', ' ');
    $perma = strtolower(str_replace($bul, $yap, $baslik));
    $perma = preg_replace("@[^A-Za-z0-9\-_]@i", ' ', $perma);
    $perma = trim(preg_replace('/\s+/',' ', $perma));
    $perma = str_replace(' ', '-', $perma);
    return $perma;
    }

Bu adımımızdan sonra artık linklerimize sadece id parametresini değil seo url olabilecek örnek olarak olarak başlık parametresini de dahil etmemiz gerekiyor yani yeni link yapımız index.php?baslik=php-konusunda-ornek&id=1

şeklinde olacak.

Htaccess Yönlendirmesi

.htacces dosyamızı açıyoruz ve içerisine aşağıda vereceğim kodları yapıştırıyoruz.

 <IfModule mod_rewrite.c>
     RewriteEngine on
     RewriteRule ^index/(.*)/(.*)$    index.php?baslik=$1&id=$2 [L,NC]
</IfModule>
Açıklamalar

index.php = içerikleri çekedeğimiz dosyamız
baslik = seo linkimiz için kullandığımız başlık parametresi
id = index.phpye gönderdiğimiz id parametremiz

(.*)= herhangi harf veya rakamdan oluşan karakterlerin buraya gelebileceğini belirtmektedir.

[L] = en son parametreyi belirttikten sonra parametrelerimizin o anda bittiği anlamına gelmektedir.

PHP SEO Uyumlu Link Fonksiyonu

Şimdi linklerimizi yeniden oluşturarak SEO Uyumlu Linker Veriyoruz. Yukarıda yazmış olduğumuz fonksiyonumuzu kullanarak çok kolay bir şekilde bunu yapabileceğiz.

Örnek link yapımız

<a href="index/<?=urlYap(PHP ile Seo Uyumu Linkler Yapmak).'/1'?>">  
PHP ile Seo Uyumu Linkler Yapmak </a>
// Örnek Çıktısı index/php-ile-seo-uyumlu-linkler-yapmak/1

Son

Yazımızın sonuna gelirken .htacsess dosyası hakkında da bir kaç küçük bilgiyi sizlerle yaplaşmak istiyorum.

.Htacses ile WWW Yönlendirmesi Yapmak

RewriteEngine on
RewriteCond %{HTTP_HOST} ^sitemiz\.com [NC]
RewriteRule ^(.*)$ http://www.sitemiz.com/$1 [L,R=301,NC]

.Htacsess ile WWW Yönlendirmesini Kaldırmak

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.sitemiz\.com [NC]
RewriteRule ^(.*)$ http://sitemiz.com/$1 [L,R=301]

.Htacsess ile HTTPS Yönlendirmesi Yapmak

RewriteEngine on
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

.Htacsess URL’nin Sonuna / Koymak

RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]

.Htacsess İle 301 Yönlendirmesi

Redirect 301 /oldpage.html http://www.sitemiz.com/yenisayfa.html
Redirect 301 /oldpage2.html http://www.sitemiz.com/klasor/

.Htacsess İle Deny All Access

Deny from All

.Htacsess ile Resim Görüntülemesini Kapatmak

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?sitemiz.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]

.Htacsess İle Kodları Sıkıştırmak

<IfModule mod_deflate.c>

    # Force compression for mangled headers.
    # http://developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping
    <IfModule mod_setenvif.c>
        <IfModule mod_headers.c>
            SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
            RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
        </IfModule>
    </IfModule>

    # Compress all output labeled with one of the following MIME-types
    # (for Apache versions below 2.3.7, you don't need to enable `mod_filter`
    #  and can remove the `<IfModule mod_filter.c>` and `</IfModule>` lines
    #  as `AddOutputFilterByType` is still in the core directives).
    <IfModule mod_filter.c>
        AddOutputFilterByType DEFLATE application/atom+xml \
                                      application/javascript \
                                      application/json \
                                      application/rss+xml \
                                      application/vnd.ms-fontobject \
                                      application/x-font-ttf \
                                      application/x-web-app-manifest+json \
                                      application/xhtml+xml \
                                      application/xml \
                                      font/opentype \
                                      image/svg+xml \
                                      image/x-icon \
                                      text/css \
                                      text/html \
                                      text/plain \
                                      text/x-component \
                                      text/xml
    </IfModule>

</IfModul

.Htacsess İle PHP Ayarları Yapmak

php_value <key> <val>

# For example:
php_value upload_max_filesize 50M
php_value max_execution_time 240

.Htacsess İle Hata Sayfalarını Ayarlamak

ErrorDocument 400 /hata/400.html
ErrorDocument 401 /hata/401.html
ErrorDocument 403 /hata/403.html
ErrorDocument 404 /hata/404.html
ErrorDocument 500 /hata/500.html

.Htacsess İle İndirmeye Zorlama (Force Download)

<Files *.md>
    ForceType application/octet-stream
    Header set Content-Disposition attachment
</Files>

.Htacsess ile UFT-8 Kodlama Ayarlamak

# Use UTF-8 encoding for anything served text/plain or text/html
AddDefaultCharset utf-8

# Force UTF-8 for a number of file formats
AddCharset utf-8 .atom .css .js .json .rss .vtt .xml

S


Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

*

*