Site yapma amacı-şekli ve kolaylık sağlayarak kazancı artırma

yazan mustafa akseli | kategori seo, web genel | 28-07-2010

0

Site yapma amacı-şekli hakkında

Vatana millete hayırlı şeyler yapmak istiyorsanız şunu tavsiye ederim; ilgili olduğunuz, açmak gerekirse: “o konuda yeni bir haber veya program-ürün çıktığında heyecanlanıp araştırma-denemeye koyuluyorsanız” bu konu hakkında bir site açın. hoşunuza giden bir tasarım yapın. gerekirse themeforest ten ücreti dahilinde bir tema alın, farketmez ama önemli olan tasarım sizin hoşunuza gitsin. hoşunuza gitmeyen şeyler sizi projenizden soğutur. sitenizi kurun ve yazılar yazın. ff ve twitter hesabı açın, bizi bilgilendirin. övgüler ve olumlu eleştiriler isteyin. geri dönüşlere göre yaptıklarınızı şekillendirin. reklam koyun sitenize, ufak tefek tıklamalar, küçük getiriler gibi gözüksede motivenizi sağlayacaktır. bu işi ticaret için yapmış olmuyorsunuz ama ona harcadığınız emeğin karşılığında ufak bir hediye gibi görün. gerisi gelir zaten ;)

Kolaylık sağlama ve kazanç artırma

tıklatın ! adsense reklamlarından daha fazla kazanmak için sitenize adsense aramayı koyun. ziyaretçilerin siteme google den arayıpta geldiği kelimeleri arama kutusunun içerisine yazdırdım. insanlar konu ile alakalı hatta kendi aradıkları şeyler olduğu için tıklıyorlar. onlara tekrar yazdırmak işkence gelir. ziyaretçiye elini fareden kaldırıp klavyeye tekrar götürtmeyin. kolaylaştırın ve kazanın ! denenmiştir. arama sonuçlarından hatırı sayılır şekilde tıklama geliyor ;)

CodeIgniter ile yazmaya başlangıç 1

yazan mustafa akseli | kategori codeigniter, Php, seo | 28-06-2010

1

CodeIgniter ile yazmak – 1

Uzun zamandır yazmıyordum ve sonunda Phpdergi.com için yazdığım yazıyı burada da paylaşayım istedim. Php için Türkiye de insanların bu tür ortaklaşması ve çalışma yapması hoşuma gidiyor. Teşekkürler PhpDergi. evet, yazımıza geçelim…

– öncelikle yazımız phpdergi.com da yayınlansın –

Merhaba Dunya

PhpDergi.com

yazarak kaydedip kapatalım. Anasayfamızı yenilediğimiz bizim yazdığımız “Merhaba Dunya PhpDergi.com” yazısını görmüş olmalısınız. controllers dosyamızdaki ilk açılış sayfası olan welcome nin adını değiştirmek istiyoruz. öyle kalmasını istemiyorsak şunları yapacağız; 1) “application/controllers/welcome.php” dosyamızın ismini “anasayfa.php” olarak değiştirelim. Şimdi “application/controllers/anasayfa.php” dosyamızı şu şekilde düzenleyelim; //anasayfaKOD.txt Şimdi sitemizin anasayfasını yenilersek hata mesajı ile karşılaşabiliriz. Çünkü sitemizin açılış sayfasının kontrollerini hangi dosyada yaptığımızı bilemiyor. Şimdiki adımda bunu halledelim. 2) “application/config/routes.php” yi açalım, 43. satırdaki “welcome” olan tanımlamayı “anasayfa” $route['default_controller'] = “anasayfa”; olarak değiştirelim. //router.png Bu işlem ile sitemizin anasayfasının kontrollerini “application/controllers/anasayfa.php” içinde yapacağımızı belirtmiş olduk. Tarayıcımızdan anasayfamızı yenilersek yine “Merhaba Dunya PhpDergi.com” yazısını görmeliyiz. İyigüzelde controllers dizinin içindeki anasayfa.php de yazdıklarımızı neden öyle yazdık diyebilirsiniz. CodeIgniter in MVC mantığında bir kontrol dosyası bu şekilde yazılmalıdır. Bir alt sayfa ekledikten sonra bunu daha kolay anlayabilriz. Buraya kadar yaptıklarımızı ana başlıklarıyla gözden geçirecek olursak; + CodeIgniter in tanımını yaptık + Dosya yapısına gözattık + Anasayfa tanımlamasını değiştirdik + Kontroller dosyasının kodlama şeklini şimdi göreceğiz, önce bir alt sayfa ekleyelim sistemimize. Sitemize bir alt sayfa eklemek için şunları takip ediyoruz; 1) “controllers” dizinimize “seolusayfa.php” isimli bir dosya oluşturalım. Dosya konumu olarak “application/controllers/seolusayfa.php” tam olarak böyle olmuş oluyor. İçerisini şu şekilde düzenleyelim; //seolusayfa.txt 2) “views” dizinimize “VW_seolusayfa.php” isimli bir dosya oluşturalım. Ve içini şu şekilde düzenleyelim; //VW_seolusayfa.txt Sistemimize alt sayfa ekleme işlemi basitçe bu şekilde. Tarayıcımızda geçelim http://localhost/index.php/seolusayfa u çalıştıralım. Bu viewdeki sabit yazı Bu da Kontrol sayfamızdan gelen değişkenin verisi… bu şekilde çıktı alıyorsak sorun yok demektir. Şimdi “Kontrol Dosya Yapısnı” görelim. //controllers_yapisi.png 1) php dosyamız ismi ile sınıfımızın (class) ismi aynı olmalıdır. 2) “parent::Controller();” kısmını sabit olması gereken olarak bilelim şimdilik. ( php normal sınıf yapısı yazılarında kullanım amacının ne olduğuna bakabilirsiniz. ) 3) “index” isimli fonksiyonumuz; o sayfa yüklendiğinde ilk olarak çalıştırılacak işlemler içindir. yani biz; http://localhost/index.php/seolusayfa sayfasını çalıştırdığımızda sistem “seolusayfa” isimli sınıfımızda direk “index” isimli fonksiyona baktı ve ona göre bize sayfayı gösterdi. 4+6) kontrolden sayfamızın html tarafındaki verileri gönderirken, bir diziye eleman olarak eklenir ve gönderilir. 5) “views” dizinin de hangi dosyada işlem yapacağımızı belirten işlem olarak bilelim şimdilik. Buraya kadar yaptıklarımız doğru ise başımız göğe ermiş olmalı :) şaka bi tarafa artık CodeIgniter a ısındık. Genel olarak kullanım mantığımız bu. İyide bu url de geçen “/index.php/” hoş durmuyor, kaldıralım dersek; Sistemimizin ana dizininde yani “index.php, system ve application” dosya-dizinlerinin bulunduğu yere “.htaccess” dosyası oluşturalım(windows larda bir ftp den indirmeden oluşturmanız zordur). İçeriğini //htaccess.txt şeklinde düzenleyelim. Şimdi http://localhost/seolusayfa sayfamıza baktığımızda normal olarak çalıştığımızı görürüz. Eğer “500 Internal Server Error” şeklinde hata alırsanız apache “rewrite_module” modulünün çalıştığını kontrol ediniz. Yeri gelmişken başta yapmamız gereken işlemi yapalım. “application/config/config.php” 14. satırı $config['base_url'] = “http://localhost/”; ve 26. satırı $config['index_page'] = “”; şeklinde düzenleyelim. Geriye veritabanı işlemleri kaldı. Ama önce kabaca tema yapısından bahsedeyim. Kendi yazdığım kodlardan birinden örnek göstererek daha kolay açıklayabilirim. Açıklamaları yanlarına yazdım, sorunuz olursa “http://groups.google.com/group/codeigniter-turkish” adresinden sorabilirsiniz. //tema_sistemi.png Veritabanı işlemleri için öncelikle “application/config/database.php” yi düzenlememiz gerekiyor. Örnek olarak ben “CIDeneme” isminde bir veritabanı(utf-8-generalci) ve içerisine “Icerik” isminde bir tablo oluşturdum. //VT_IcerikTablo.png sizde resimde gördüğünüz şekilde oluşturunuz. “application/config/database.php” dosyamızı resimdeki gibi ayarlıyoruz. //database.png “application/config/autoload.php” dosyamızda $autoload['libraries'] = array(); satırını buluyoruz ve diziye ‘database’ elemanını ekliyoruz. $autoload['libraries'] = array(‘database’); şeklini alıyor. Aynı şekilde $autoload['helper'] = array(‘url’); satırını düzenliyoruz(bu işlem veritabanı ile ilgili değildir). Models isimli dizinde (“application/models/”) “vt_icerik.php” isimli bir dosya oluşturalım ve içeriğini şu şekilde düzenleyelim. //vt_icerik.txt “application/controllers/seolusayfa.php” sayfamızı aşağıdaki gibi düzenleyelim. //C_seolusayfa.txt Son olarakta “application/views/VW_seolusayfa.php” dosyamızı aşağıdaki gibi düzenleyelim. //VW_SeoluSayfa_1.txt Veritabanı işlemleri için buraya kadar olanları açıklayalım; 1) “config” dizinimizdeki “database.php” yi kendi düzenledik. 2) “CIDeneme” isimli database ve “Icerik” isimli bir tablo oluşturduk. (tabloya 2-3 kayıt girelim) 3) “application/config/autoload.php” dosyasında düzenlemeler yaptık. (Sistem çalışırken, otomaik yüklenmesini sağlamak.) 4) “models” dizinimize “vt_icerik.php” isimli bir dosya oluşturduk ve içeriğini düzenledik. 5) “controllers” ve “views” dizinlerindeki “seolusayfa.php” ve “VW_seolusayfa.php” dosyalarımızda ilgili düzenlemeleri yaptık. Burda 4. ve 5. maddeleri uzun uzun açıklayalım şimdi. Öncelikle şunu belirteyim; Dizinlerde oluşturduğunuz dosyaların isimlerinin olmazsa olmaz bir özellik yoktur. “views” ve “models” dizininde oluşturduğum dosya isimlerinin başlarındaki “VW_” veya “vt_” takıları sadece kolaylık olsun içindir. Ama şunu unutmayalım, models ve controllers dizinlerinde dosya isimleri ile sınıf(class) isimleri mutlaka aynı olmalıdır. + 4. madde; Oluşturduğumuz dosya ismi ile bir sınıf oluşturup CodeIgniter in Model sınıfından türetme(instıns alma da deniliyor) yaptık. İlk yüklemede parent direktifimizi verdik. “parent::Model();” ile. “SayfaListe” ve “SayfaDetay” isimli fonksiyonlarla veritabanından bilgi çektik-gönderdik. + 5. madde; “seolusayfa.php” dosyamızda $this->load->model(‘vt_icerik’, ‘VT’); tanımlamasıyla “models” dizinindeki “vt_icerik.php” isimli dosyayı kullanacağımızı belirttik. Yanındaki ‘VT’ tanım yardımcısı, sayfa içerisinde kullanım kolaylığı içindi. $SayfaIcerik['VTGelen'] $this->VT->SayfaListe(); satırı “vt_icerik.php” dosyamızdaki “SayfaListe()” isimli fonksiyonun göndereceği bilgileri almak içindi. Dikkat ettiyseniz $SayfaIcerik['VTGelen'] = $VTGelen[0]; satırında “$VTGelen[0]” şeklinde kullandım. Bunun sebebi ise, bize veritabanından gelen 1 kayıt lazım. O kayıtta $VTGelen isimli dizinin ilk kaydı yani “0″ sıfırıncı elemanı. Veritabanı(model) dosyamızda “return result_array()” ile veri gönderdiğimiz için bu gerekliydi. “VW_seolusayfa.php” içerisinde Kayıt Listeleme mi yoksa Detay gösterim kodlarının çalıştırılacağını belirlemek üzere “switch” fonksiyonunu kullandık. “KayitListe” kısmında veritabanından gelen verileri($VTGelen dizisini) “foreach” ile yazdırdık. “KayitDetay” kısmında veritabanından gelen içeriği sayfa yazdırdık. Son olarak url yönlendirme işleminden bahsedelim. KayitListe kısmında detay için verdiğimiz link “SuperIcerik” ile başlıyordu. Ama bizim SuperIcerik isimli bir altsayfamız yok. Bunu seo yaparken url tanımlamasını istediğimiz şekilde verebildiğimizi göstermek için yaptım. “application/config/routes.php” dosyamıza bu satırı ekleyelim; $route['SuperIcerik/(.*)'] = “seolusayfa/detay/$1″;. SuperIcerik ile başlayan ve bir sonraki konumda herhangi “(.*)” bir şey yazan bir sayfa ile karşılaşırsan, bu çalışmayı “seolusayfa” içerisindeki “detay” isimli fonksiyona gönder demek oluyor. Buraya kadar olanları yapanlar aşağıdaki gibi 2 sayfa elde etmiş olmalılar. //sonuc1.png //sonuc2.png Arkadaşlar veritabanı işlemlerini burada bırakıyorum. Sadece veritabanından bilgi çekip yazdırmayı gördük. Veritabanına sayfadan gelen verileri yazdırma işlemi öğrenecek arkadaşlara ödev olarak veriyorum. Bunun için http://codeigniter.gen.tr/user_guide (Fatih Bazman ‘a teşekkürler) deki Türkçeleştirilmiş klavuzu inceleyerek veya internetten araştırarak bilgi edinebilirsiniz. Karşınıza çıkan bir hatayı çözmek için interneti kullanmayı da öğrenmelisiniz. Yoksa birileri yazı yazacak da bizde madde madde takip edecez derseniz bu işi yapmayın. Ben CodeIgniter öğrenirken-yazarken karşılaştığım problem ve durumlar için http://aklimdakisite.com/CodeIgniter adresinde linklerimi topladım. Acizane tavsiyem, öğrenirkken elde ettiğiniz aşamaları bir yere kaydedin. Bilgi edindiğiniz linkleri kaydedin, kendinize blog açın yazın vs. Başka bir durumda aynı şeyleri tekrar tekrar arayıp bulmak için sürekli vakit kaybı yapmayın. Değişik kişilerin yazdıkları kodlara bakın, öğrenmek istediğiniz olayı sadece Türkçe olarak aramayın, ingilizceye çevirin arayın. Cevabını bulamadığınız birşeyi birilerine sormadan önce kısaca geçtiğiniz yolları söyleyin, yani cevap verecek kişileri en az yoracak şekilde soru sorun. Örneğin “Ben upload olayını bilmiyorum” diye soru sormayın – başlık açmayın. Gidin önce Kullanım Klavuzundan dosya gönderme ile ilgili bilgiyi okuyun sonra uygulamaya çalışın, bir yerde takılırsanız gelin deyinki; “ben upload işleminde şurada takıldım. şunu şöyle ve bunu böyle yaptım ama şu hatayı veriyor.” diye soru sorun. Öğrenmek-yazmak isteyene bilgi-belge çok, yeterki nasıl ulaşacağını-nasıl soracağını bilsin… saygılarımla Mustafa Akseli – http://www.mustafaakseli.com p>

“Site olay bildirim” ile sayfanızı güncel tutun !

yazan mustafa akseli | kategori seo, web genel | 08-05-2010

0

Site olay bildirim diye bir şey yok, ben uydurdum :) Şunun içün;

Hitap ettiği konu bakımıyla az güncellenen bir siteniz varsa şunu uygulayabilirsiniz: Sitenizde üyelikte olmadığı varsayarsak genel küçük bildirimler yayınlayın ana sayfanızda.

Mesela : Sitenize bir ziyaretçi Google arama motorundan “hangi site en güzel” kelimelerini arayarak geldi ise, bu olayı kaydedip “16:48 de TRDershane.com sitemize Google den hangi site en güzel  kelimelerini arayan ziyaretçimiz geldi; sitemizde yorum yazmak serbesttir; sitemizde kahve içebilirsiniz” gibi yazılar yazarak ve linklerini vererek aktif ilgili güncelleme sağlayabilirsiniz.

Buna ek başka birşeylerde yazdırabilirsiniz. Bunun için bir giriş ekranı yaparsınız kendinize ve boş olduğunuzda elle de giriş yapın. Değişik içerikler sağlanmış olur.

Sitenizle ilgili istatistikleri verin, sitenizin bilmem hangi sayfasının ziyaretçilerin daha çok sevdiğini yazın gibi…

Bol kazançlar :)

Seo – Site Linkleme yapısı hakkında

yazan mustafa akseli | kategori seo, web genel | 13-04-2010

2

Son zamanlarda gördüğüm kadarıyla seo da linklemenin şu biçimine rastladım. Site içinde bir alt sayfada iken linklemesini “mustafaakseli.com/seo-linkleme-hakkımda-yazi” yada “mustafaakseli.com/seo-linkleme-hakkımda/yazi.php?id=14″ gibi idi. yani önemli olan burda içerik kelimelerinin site domainine yakın olması. bakalım daha neler göreceğiz :)