Atilla Tanrikulu

I am an experienced software engineer and architect living in Germany. I’m passionate about distributed scalable enterprise web-based microservices/applications and delivering great user experiences. I have created some amazing enterprise-level applications that many people have used and hopefully enjoyed.

Articles

Java Quick Reference Apache Kafka Tutorial Guvenli Kod Gelistirme Making an Enterprise Scale Angular Project Step by Step Nightly SQL Server Database Backup with command line batch file and windows scheduler AOP Framework without proxy pattern IdentityServer Nedir Middleware Pattern With Csharp And Javascript Docker most used commands Online Proje Dokumantasyonu, Docker, Nginx, mdwiki How to use Github Pages for static websites Inheritance with JavaScript, EC6 (ECMAScript 6, ECMAScript 2015) Object oriented javascript and Inheritance Singleton Pattern with Javascript Factory Pattern with Javascript Open terminal here mac os x service IdentityServer4-Angular-6-integration JMater notlari, kurulum ve kullanim Learn Jekyll in 12 Steps Make Mac Application with Automater from sh script Make spotlight index markdown or code files OAuth 2.0 Nedir (RFC6749) Using Custom CSS and Custom JavaScript to an Angular Project Cross Platform Desktop Application With .Net Core 2x and Angular 6x front-end projects with nodejs gulp bower yeoman and angularjs Host Asp.Net Core on Linux with Apache Redis kurulumu ve ayarlari Useful Mac OS Apps Choosing internet connection on multiple interface windows Name Server Kurulumu How to define domain name for your dynamic IP SQL table data compare, and prepare insert satements Useful Git Commands TFS ile Otomatik deployment yapmak Spring Boot Tutorial Sql server icin maliyetli sorgularin tespit edilmesi Arama Motoru Optimizasyonu (SEO) My installed mac apps

Arama Motoru Optimizasyonu (SEO)

Atilla Tanrıkulu

18/11/2007

İnsanların İnternet’te bilgiye ulaşmak için en çok kullandığı yol arama motorlarıdır. Eminim siz de İnternet’te bilgi arama işlerini arama motorlarından yapıyorsunuzdur. Web sitenizin daha çok ziyaretçi toplamasını istiyorsanız mutlaka arama motorlarında yer almalısınız. Yer almaktan daha önemli olan, arama motorlarında üst sıralarda listelenmektir. Peki ne yaparız da arama motorlarında üst sıralarda yer alırız? İşte bunun yanıtını bu makalede bulacaksınız.

Arama Motorları Nasıl Çalışır?

Arama motorları çok kuvvetli işlem gücüne sahip bilgisayarlarda çalışan özel programlardır. Bu programlar bilgisayarların üzerinde çalışır ama bunlar bildiğimiz bilgisayarlar gibi değildirler: Çok daha gelişmiş donanımları vardır, bağlantıları hızlıdır, daha büyük sabit disklere (Disk dizileri, Storage) sahiptirler, büyük miktarda verileri depolayabilirler, çok büyük bellekleri vardır, çoğunlukla da birden fazla işlemciye sahiptiler, genel olarak ağ üzerinden hizmet veren bilgisayarlar web sunucusu (web server) adıyla anılırlar. Bu sunucular birbirlerine bağlanarak üzerlerine düşen yükü paylaşırlar. Örneğin, Google da yüzlerce sunucu birbirlerine paralel olarak istemci (Client) isteklerini karşılarlar. Çünkü binlerce insan aynı anda arama yapabilir, bu yükün altından kalkmak hiç de kolay değildir.

Öncelikle isterseniz arama motorlarının nasıl çalıştığını öğrenelim. Çalışma yöntemini bilmeden üst sıralarda nasıl çıkarız sorusunun yanıtını anlamamız güç olur.

Arama şu aşamalarla olur: Arama motoruna gideriz, aratacağımız kelimeyi uygun kısma yazdıktan sonra search (ara) düğmesine basarız ve karşımıza sayfalar dolusu web adresi çıkar. Peki, bu web adresleri nereden bulunuyor nasıl bulunuyor?.

Arka Planda Neler Oluyor?

Arama düğmesine bastığımızda arama motoru kendi veri tabanındaki bilgileri arar, İnternet üzerinde arama yapmaz. Peki, bu veri tabanına milyonlarca web adresi nasıl girilir? Sakın bir insan veya birkaç insanın yaptığını düşünmeyin çünkü yapılan bir araştırmaya göre bir insan, ömrünün sonuna kadar her saniye bir web sayfası açıp kapasa yine de İnternet’teki bütün sayfaları dolaşamaz. Ne kadar korkutucu değil mi?

Veri tabanının doldurulması “Spider” (Örümcek), “Crawler” yada “Bot” (Robot) denen akıllı programlarla olur. Günümüzde bu programlara isimler verilmektedir örneğin google un spider programına “GoogleBot” denir. Spider programlarının bir parçası olan indeksleme mekanizması da indeksleme işini yapar. Web sitesinin tüm sayfaları, içeriklerine göre veri tabanına kaydedilirler.

Spider’lar durmadan arama motorlarındaki yazılımcılar tarafından geliştirilir çünkü insanlar aradıkları bilgiyle ilgili sitelere ulaşmak isterler. Yazılımcıların görevi ise insanların aradıkları şeyleri bulmasını sağlamaktır. Hiç kimse aradıkları ile ilgisiz siteler görmek istemez, zaten bu da arama motorunun kalite ölçütüdür. Diğer bir kalite ölçütü de barındırdığı web adresi sayısıdır.

Spider’lar barındırılan her URL i periyodik olarak indekslerler . İndeksleme şu şekilde yapılır: Bu programlar tıpkı bir bilgisayar kullanıcısı gibi web adresini sunuculardan talep ederler, içindeki linkleri (Bağlantıları) de ziyaret ederler. Bu işlem bütün sayfalar için uygulanır ve web sitesi bütün sayfalarıyla beraber arama motoru veri tabanına işlenir. Spider talep ettiği web sayfasından yanıt alamayınca veri tabanından ilgili URL i belirli bir süre ve periyot sonrası siler.

Arama sonuç listesinde yer almanın yolları nelerdir?

Artık arama motorlarının nasıl çalıştığı konusunda bilgimiz olduğuna göre web sitemizi arama sonuç listesinde nasıl üst sıralarda çıkarırız, bir de bunu inceleyelim. Bu iş pek kolay değil, üzerinde yoğun bir şekilde çalışılması gereken bir konu.

Ülkemizde ve yurt dışında sadece bu işi yapan optimizasyon şirketleri bile var. Bu şirketler müşterilerinin web sitesini en üst sıralarda çıkarmak için çalışırlar. Bu şirketler genel olarak tasarım yapmazlar; işleri tasarlanmış bir sayfayı alıp arama motorlarında üst sırada yer alması için optimize etmektir. Google ve çeşitli kurumlar, optimizasyon işlemleri için eğitim ve sertifikasyon sınavları düzenlerler, bu sayede dünya üzerinde sertifikalı profesyonel optimizayoncular (optimizer) yetişir, bu eğitimlere,

“SEO(Search Engine Optimizer Certifications), bakınız: http://www.seocertification.org” denir.

Genel olarak yanlış anlaşılmış bir konu vardır, sitemizi ne kadar çok arama motoruna kayıt ettirirsek o kadar çok ziyaret ediliriz. Bazı yerlerde okuruz; şu kadar arama motoruna kayıt şu ücretedir diye. Aslında önemli olan çok arama motoruna kayıt değil iyi ve çok ziyaret edilen arama motorlarına kayıttır. Yaptığı sitelerde ziyaretçi istatistiklerini sürekli inceleyen biri olarak, edindiğim tecrübelere göre insanlar hep aynı arama motorlarından geliyorlar. Çünkü insanların ziyaret ettiği ve arama yaptığı arama motorlarının sayısı çok azdır. Bu yüzden biz bu makalemizde Google ve Yahoo’yu temel alıyoruz.

Eskiden Arama motoru dostu (Search Engine Friendly) bir web sitesi yapmak bir makalede sıralayabileceğimiz kadar az kriter göz önünde bulundurmamız yeterliydi, fakat günümüzde kriterler ve stratejiler bir kitabın konusu olacak kadar genişletilebilir Optimizasyon konusunun bu kadar geniş olmasına karşın başlangıç olarak önemli kuralları burada sıralamamız mümkün. Hiç bir arama motoru Sıralama algoritmasını açıklamadığı için burada bulacağınız bilgiler, çoğu SEO’nun da kabul ettiği deneyimlerinin derlenmiş halidir. Kuralların genişlemesinin sebebi tahmin edebileceğiniz gibi, arama motorlarını kandırmaya çalışan siteler ve bu sitelerle, spider programlarını geliştiren yazılımcıların arasındaki savaştır. Her iki tarafta kendini yıllardır geliştirdiği için konunun kapsamı da artmıştır. Kim bilir birkaç yıl sonra bu makale de güncelliğini yitirince karşımıza neler çıkacak?

Nedir Bu Kurallar?

Kuralları iki farklı açıdan değerlendirebiliriz.

I. Sayfa İçi kurallar: Teknik olarak sayfalar içinde bizim yapacağımız ayarlamalar. Yani site içeriği

II. Sayfa harici kurallar: sitenin dışında bizim elimizde olmayan faktörler, örneğin sitemize diğer sitelerden verilen linkler gibi.

II. Sayfa İçi Kurallar?

1- Hızlı olmalıyız: Sitemizi yayınladığımız sunucuda teknik sorunlar olmaması gerekiyor. Herhangi bir anda sitemiz ulaşılmaz durumda olamamalı, yüksek ziyaretçi almamız durumunda da sunucunun bu hizmeti hızlı karşılayabiliyor olması çok önemlidir.

2- Sitemap Oluşturmalıyız : Site Haritasıdır. XML dosya olarak siteye eklenir. Sayfaların sitedeki konumunu, son güncelleme zamanını, önem derecesini vb. bilgileri içerir.

Örnek bir sitemap dosyası: (http://www.filehoo.com/sitemap.xml)

İçerik ise;


<url>
  <loc>http://www.filehoo.com/download_software/Programming/Patchers/download-1.aspx</loc>
  <lastmod>2007-03-01T01:00:00-07:00</lastmod>
  <changefreq>weekly</changefreq>
  <priority>0.5</priority>
</url>

<url>
..............
</url>
.
.

Şeklinde olabilir.

3- Anahtar Kelimeleri İyi analiz etmeliyiz: Keywords (Anahtar Kelimeler), sitemizin arandığında bulunmasını istediğimiz kelimeler kümesidir. Bu kelimeler sitemizde sayfaların kaynak kodunda yani HTML kodunda bulunurlar. Bir HTML kodunda sayfanın görünümünü etkilemeyen ama sayfa hakkında geniş bilgiler sunan bir kısım vardır. Bu kısım sayfanın HTML kodunun en üstünde <head> ve </head> arasında bulunan kısımdır.

Örnek:

<html>

<head>

Sayfa hakkında bilgiler genelde META etiketleri ile bildirilir.

</head>

</html>

<body>

Sayfanın görünümünü oluşturan HTML kodları bulunur.

</body>

</html>



Anahtar kelimeler ise aşağıdaki gibi olur.

<head>

<META name=”KEYWORDS” content=”kelime1, kelime2, kelime3>

</head>

Burada kelimeleri seçerken önem vereceğimiz 2 ana tema vardır, kelimelerin zorluk derecesi ve öncelik derecesi, İnternet’te anahtar kelime analizi yapan birçok araç bulabilirsiniz. Zorluk derecesi kelimenin aranma sıklığını ifade eder. Dikkat edeceğimiz noktaları şöyle sıralayabiliriz.

  • Sitemizde her sayfanın aynı anahtar kelimelerden oluşmaması.

  • Bir sayfada çok fazla anahtar kelime kullanmamalıyız.

  • Anahtar kelimelerimizin sayfa içeriğiyle özdeşleşmesi gerekmektedir.Başarılı bir yerleşim,

o Sayfa başlığında (TITLE) ,

o Sayfa açıklamasında (DESCRIPTION),

o URL (Adres),

o Sayfa içindeki HTML kodunda <H1> ve <H2> etiketlerinde

o Birkaç yerde <p><p> etiketlerinden hemen önce geçmesi, <P> etiketi bir paragrafın başlangıcıdır. Paragraftan hemen önce geçmesi, paragrafın önceki başlıkla ilişkili olduğunu anlatır. Ve paragraf içinde de geçmesi hatta birkaç yerinde , kalın vurgulu (Bold) olarak geçmesi önemlidir.

  • Anahtar kelimelerimizi çok aratılan kelimelerden seçmeliyiz.

4- Arama motoru dostu adresler (Serach Engine Friendly URL): Aratılan kelimelerin sayfa adresinde geçmesi de bizim için önemli bir kriterdir. Hernekadar domain isminde (Web Adresi) geçmesi daha önemli olsa da, her kelimeyi Domain ismimizde bulundurmamız imkansız.

Örnek: aratılan kelimenin “Doktor” olduğunu düşünelim

http://www.doktor-sitesi.com/doktor.html aldığı puan: 9 olsun

http://www.birsite.com/doktor.html aldığı puan:6

http://www.birsite.com/sayfalar/alt-klasor/doktor-sayfasi.html aldığı puan: 4

Görüldüğü gibi sitemizin içinde alt klasörlerde bulunması da puanımızı düşürmektedir. URL de geçen anahtar kelimeler arasına boşluk koyamayacağımız için , “-“ koymak mükemmel bir yöntemdir.

URL adresindeki parametrelere dayalı çalışan siteler arama motorları tarafında düzgün şekilde indekslenemeyebilirler.

Örn: http://www.birsite.com/default.php?d=3&p=123&c=12 bu şekilde oluşan bir URL kesinlikle arama motoru dostu olamaz.

Unutmayalım ki sadece URL de geçmesi yeterli değildir, yukarda sayfaların içeriklerinde ve başlığında da “Doktor” kelimesinin uygun sayıda geçtiğini varsayıyoruz. Peki uygun sayıda olması ne demek bunu biraz açalım Goggle sayfa içinde periyodik tekrar eden, kandırma amaçlı kopyala yapıştırlar tespit edebilecek kadar akıllıdır, Bu yüzden site içeriğini düzenlerken dürüst olarak aratılan kelimenin sayfa içindeki bilgilerle tamamen ilgili olduğunu gösteren yazılar barındırmalıyız.

Benim tavsiyem, sitemizin arama sonuçlarında iyi bir yerde olmasını ve cezalandırılmış siteler arasında yer almamasını istiyorsak. Bu konuda kurallara uyarak dürüst siteler hazırlamalıyız. Zaten bu durum bizi doğal olarak üst sıralara taşıyacaktır.

5- Sayfa Başlığı (TITLE): Sayfa başlığı da arama sonuçlarında yer alabilmemiz için önemli bir kriterdir. Sayfa başlığı başlık etiketleri ile ifade edilen sayfamızın HTML kodunda bulunan kısımdır. Google arama sonuçlarında bulduğu sayfaların başlıklarını alt alta link şeklinde sıralar, buradan önem derecesini tahmin edebiliyorsunuzdur. Unutmayalım ki burada anlattığımız sayfa HTML kodu ile ilgili kısımlarda da aşırıya kaçmamız bizim için tehlikeli olabilir. Yani çok uzun bir TITLE yerine uygun uzunlukta bir TITLE kullanalım 80 karakterden az olmalı.

6- Sayfa Açıklaması (DESCRIPTION): Sayfalarımızın HTML kodunda bulunan sayfa hakkında kısa bilgi veren bir kısımdır. Arama motorları etiketine de önem vermektedir, bu yüzden burayı boş bırakmamamız gerekmektedir. Burası için 100 karakter idealdir.

7- Diğer Sitelere Verilen Linkler: Dışarıya fazla sayıda linkler verdiğimizde hem ziyaretçileri hem de Spider’ları, sayfalarımızı ziyaret ederken kaybetme ihtimalimizi yüksektir.

8- Hatasız HMTL : Sitemizin HTML kodunun W3 standartlarına uygun hazırlanması sitemizin Spider’lar tarafından iyi anlaşılmasına olanak sağlar. Arama motorunun okuyama cağı bir içerik hiç bir işe yaramaz bu konuda dikkat edeceğimiz hususlar,

  • Image (resim) , Script (programcıklar), Flash, gibi web öğeleri kullanırken çok dikkat etmeliyiz. Bir image ekliyorsak kesinlikle alt=”resim açıklaması” kısmını unutmamalıyız arama motorları resmi göremezler fakat resim hakkında bilgiyi alt=”” kısmından okurlar. Aynı şekilde Flah öğeleri de arama motorları tarafından indekslenemezler bu yüzden sayfanın güzelliğini etkileyen bu öğelerde içerik barındırmaktan kaçınmalıyız, örneğin önemli bir yazıyı ziyaretçilerimize flash ile sunmamalıyız.

  • Arama Motoru dostu menü (Serch Engine Frienly Menu), arama motorları sayfanın içinde dinamik oluşan bir menüyü indeksleyemez menü sitenin tüm içeriğine ulaşabileceğimiz tek yol ise arama motoru da bu menü içindeki linkleri indekslemiyorsa, menümüzü hemen değiştirmeliyiz. Internetten “Search Engine Friedly Menu” şeklinde bir araştırma yaparsak uygun menüler bulacağınızdan eminim,

Menümüzün indekslenip indekslenmediğini nasıl anlarız? İnternet Google da “cache:http://www.sitemiz.com” yazarak ziyaret ettiğimizde google da sitemizin depolanmış halini görmüş oluruz. Ve yukarıdaki bilgilerde Google un sitemizi ne zaman depoladığına dair bilgiler görmüş oluruz Sadece metin içeren yazıya tıkladığımızda ise sitemizin arama motoru tarafından nasıl göründüğünü buluruz, işte sitemizde dinamik oluşan kısımları menümüzü burada göremiyorsak indekslenmiyor demektir.

Sayfamızın kaynak kodu boyutunun 150 kb büyüklüğünü geçmeyecek şekilde ayarlamalıyız. Aynı zamanda sitemizdeki sayfaların kodlarının hatasız olmasına çok dikkat etmeliyiz. İnternet’te sitemizin HTML kodundaki hataları yakalayan bazı araçlar bulmamız mümkün, “HTML validation” şeklinde bir araştırma yaptığımızda HTML kodumuzu yorumlayacak araçları bulabiliriz.

Hazırladığımız sayfalardaki HTML hatalarını düzeltme için http://validator.w3.org/ sayfasından yararlanabiliriz.

  • Sitemizdeki iç linklerin anahtar kelimeleri barındırması da Arama motorları açısından önem taşır. Sitemizdeki tüm iç linklerin çalışır durumda olması çok önemlidir.

9- Robots.txt kullanımı: Son derece faydalıdır, sitemizin arama motorları tarafından uygun şekilde tanınmasını ve indekslemesine katkı sağlar. Sitemize eklememiz çok kolaydır robot.txt adında bir dosya oluşturup sitemizin kök klasörüne koymamız yeterlidir. İçeriği ise basit kullanımı ile

User-agent: *
Disallow:

şeklindedir.

Robots.txt dosyası hakkında ayrıntılı bilgiyi. http://www.robotstxt.org/ adresinden bulabilirsiniz.

10- İçeriği Zenginleştirme: Günümüzde ziyaretçilerimizin site içeriğimizi zenginleştirmesini sağlamak en akıllıca davranıştır. Sayfalarımıza ziyaretçilerin yorumlar eklemesine yazılar yazmasına olanak sağlamalıyız. Ziyaretçiler yorum ekledikleri siteleri daha sonra mutlaka ziyaret ederler, ayrıca site tanıtımında çok büyük fayda sağlarlar. Bunu yaparken önem vermemiz gereken şey ise ziyaretçilerin spam linkler eklemesinin önüne geçmeliyiz. Eğer link eklemesine izin veriyor isek “rel=nofollow” özelliğini bu tür linklere eklemeliyiz. Yazı sitemize gönderildiğinde programsal bir işlemden geçirip eklenen linklere bu özelliği de koymalıyız. Örneğin <a href=www.site.com rel=”nofollow”>eklenen link</a> şeklinde. Nofollow sayesinde arama motoruna bu linki indeksleme esnasında göz ardı et emrini vermiş oluruz.

II. Sayfa Harici Kurallar?

1- PageRank

Arama motorları aşağıdaki gibi kriterleri göz önüne alarak, URL’ler için Pagerank (Sayfa Puanı: Sitenin 10 üzerinden aldığı puan) oluştururlar. Basit mantığı ile, bir siteye verilen tüm bağlantıları o site için verilmiş birer puan gibi düşünülür. Daha sonra arama sonuçlarında Pagerank’ı fazla olan siteler üst sıralarda listelenir. Pagerank’ımız nekadar iyi olursa üst sıralarda çıkma şansımız o kadar artar, o zaman bizim en büyük amacımız iyi bir Pagerank yakalamaktır. Sitelerin Pagerank’ı sabit değildir, arama motorları Pagerank değerini devamlı güncel tutarlar, örneğin Google 3 ayda bir sitenin Pagerank değerini günceller, yeni bir sitemiz varsa Pagerank’ımız doğal olarak küçükten başlayarak artacaktır. Başka sitelerden sitemize verilen linkler BackLink olarak ta anılırlar. Backlink almak için İnternet’te webmaster ların haberleştiği forumlar mevcuttur. buralardan çapraz linkler oluşturabileceğiniz webmaster lar ile tanışmanız mümkün.

Google da sitemize link veren diğer siteleri görmek için link:http://www.bizimsite.com şeklinde bir arama yapmamız yeterlidir.

Google da sitemizin kaç sayfasının indekslendiğini görmek için site:http://www.bizimsite.com şeklinde bir arama yapabiliriz.

· Bize link (Bağlantı) veren sitenin Pagerankı yüksek ise bize daha yüksek puan kazandırır.

Bize link veren site dışarıya ne kadar az link vermiş ise bize sağladığı puan o kadar fazladır.

Matematiksel olarak basit şekilde ifade edelim,

puan = (bize link veren sitenin Pagerank’ı) / (bize link veren sitenin dışarıya verdiği link sayısı)

· Bizim dışarıya link vermemiz sitemizin Pagerank değerini etkileyebilir. Sitemiz bir linkler çiftliği (LinkFarm) olmamalıdır. Kalitesiz olan sitelere link vermek sitemizin itibarını düşürebilir. Cezalandırılmış bir siteye link vermemiz bizimde ceza almamıza sebep olabilir. Hatta cezalandırılmış bir siteden link almak ta tehlikelidir. Google site içinden dışarıya link verme miktarının 100 ü geçmemesini öngörür.

· Bize link veren site bizim sitemizle paralel bir içeriğe sahip ise ekstra puan alırız.

Google’ın PageRank için resmi tanıtım sayfası: http://www.google.com/intl/en/technology

Pagerank arama motorlarında ilk sırada çıkmamız için en önemli kriterlerden biridir. Pagerankımız düşükse Gooooooogle un “o” ları arasında kaybolur gideriz.

2- Dizinler

Arama motorları sitemizin İnternet’teki dizinlerde olmasına önem verir. En önemli dizinlerden biri olan “www.dmoz.org” google tarafından çok önemlidir. İnternet’te dizinler editörler tarafında yönetilir. Dizinlere girebilmiş bir site gerçekten güvenilir ve kaliteli bir sitedir.

Sitemizi dizinlere eklerken mutlaka uygun kategorilere eklemeliyiz.

3- Rakip siteler

Rakipler iyi analiz edilmeli, sitemizin rekabet güzü artırılmalı ki arama motorları sitemize değer versin.

4- Ziyaretçiler Sayfalarda Ne Kadar zaman geçiriyor:

Siteler için tutulan istatistiklerde önem verilen bir diğer konuda ziyaretçinin sitede veya sayfada ne kadar zaman geçirdiğidir. Arama motorları sayfanın kalitesini bu şekilde de değerlendirir. Bu yüzden sayfamızda insanların daha fazla zaman geçirmesini sağlamak için, içeriğimiz beğendirmek için elimizden gelen her şeyi yapmalıyız.

5- Sitenin Yaşı: Eski siteler her zaman puanlamada ön sıralarda yer alır. Eski olan güvenilirdir. Çünkü yıllardır ziyaretçi almış ve kendini ayakta tutabilmiştir.

Yazımızı okuduktan sonra SEO olmak için ilk adımınızı atmış bulunuyorsunuz. Bundan sonrasını sınırsız kaynak İnternet’ten araştırarak kendinizi geliştirebilirsiniz.

Date: 2017-11-13 10:20:00 +0000