Seo Url (ana sayfa sepetim giris cikis vs..)

tukrok

OpenCart-TR
Katılım
8 Ara 2009
Mesajlar
37
Tepkime puanı
0
Puanları
0
Öncelikle eklentiyi ben yazmadım, yazan arkadaşa helal olsun demekten başka bir şey söyleyemiyorum..

(Neden opencart geliştiricileri bunu yapmıyor diye de kara kara düşünüyorum)

Olay şu,

Kod:
index.php?route=common/home
index.php?route=account/login
index.php?route=information/contact

gibi linkleri;

Kod:
site.com/
site.com/giris
site.com/iletisim

haline çeviriyor.

Eklentinin orjinal dosyaları burada ancak Türkçeleştirilmiş değil:

http://www.opencart.com/index.php?route=extension/extension/info&extension_id=6112

İsterseniz aşağıdaki ek dosyasından Türkçe olarak yükleyebilirsiniz.

Yapmanız gerekenler,

Çıkardığınız dosyalardan catalog klasörünü dizininize atın. (zaten bir tek seo_url dosyası var, eskisinin yedeğini almanızı tavsiye ederim)

Sonra phpmyadmin vb. panelinizi açıp, database.sql içindekileri veritabanınıza sorgu ile kayıt etmeniz gerekiyor.

İşlemler az buçuk işi bilenler için çok basit.

Sistemi 1.5.2.1 versiyonu için denedim, sorunsuz çalıştı.
(Eklentiyi yapanın yazdığı destekler: v1.5.1, v1.5.1.1, v1.5.1.2, v1.5.1.3, v1.5.2, v1.5.2.1)

Geriye kalan tek şey, admin paneli ayarlarından SEO URL : Evet yapmak

Kolay gelsin arkadaşlar.

Not: Bu konuda ben destek vermiyorum, sadece yararlanın istedim. Desteği orjinal eklenti yazarından alabilirsiniz.

Database:

Kod:
INSERT INTO url_alias (query, keyword) VALUES ('common/home', '');
INSERT INTO url_alias (query, keyword) VALUES ('account/wishlist', 'istek');
INSERT INTO url_alias (query, keyword) VALUES ('account/account', 'hesabim');
INSERT INTO url_alias (query, keyword) VALUES ('checkout/cart', 'sepetim');
INSERT INTO url_alias (query, keyword) VALUES ('checkout/checkout', 'odeme');
INSERT INTO url_alias (query, keyword) VALUES ('account/login', 'giris');
INSERT INTO url_alias (query, keyword) VALUES ('account/logout', 'cikis');
INSERT INTO url_alias (query, keyword) VALUES ('account/order', 'siparis-gecmisi');
INSERT INTO url_alias (query, keyword) VALUES ('account/newsletter', 'haber');
INSERT INTO url_alias (query, keyword) VALUES ('product/special', 'kampanyalar');
INSERT INTO url_alias (query, keyword) VALUES ('affiliate/account', 'affiliates');
INSERT INTO url_alias (query, keyword) VALUES ('checkout/voucher', 'hediye-kuponu');
INSERT INTO url_alias (query, keyword) VALUES ('product/manufacturer', 'markalar');
INSERT INTO url_alias (query, keyword) VALUES ('information/contact', 'iletisim');
INSERT INTO url_alias (query, keyword) VALUES ('account/return/insert', 'geri-donus');
INSERT INTO url_alias (query, keyword) VALUES ('information/sitemap', 'site-haritasi');
INSERT INTO url_alias (query, keyword) VALUES ('account/forgotten', 'sifremi-unuttum');
INSERT INTO url_alias (query, keyword) VALUES ('account/download', 'indir');
INSERT INTO url_alias (query, keyword) VALUES ('account/return', 'iade');
INSERT INTO url_alias (query, keyword) VALUES ('account/transaction', 'islemler');
INSERT INTO url_alias (query, keyword) VALUES ('account/register', 'hesap-olustur');
INSERT INTO url_alias (query, keyword) VALUES ('product/compare', 'karsilastirmali-urunler');
INSERT INTO url_alias (query, keyword) VALUES ('product/search', 'arama');
INSERT INTO url_alias (query, keyword) VALUES ('account/edit', 'hesap-duzenle');
INSERT INTO url_alias (query, keyword) VALUES ('account/password', 'sifre-degistir');
INSERT INTO url_alias (query, keyword) VALUES ('account/address', 'adres');
INSERT INTO url_alias (query, keyword) VALUES ('account/reward', 'hediye-puani');
INSERT INTO url_alias (query, keyword) VALUES ('affiliate/edit', 'ortaklik-hesabi-duzenleme');
INSERT INTO url_alias (query, keyword) VALUES ('affiliate/password', 'ortaklik-hesabi-sifre');
INSERT INTO url_alias (query, keyword) VALUES ('affiliate/payment', 'ortaklik-hesabi-odeme');
INSERT INTO url_alias (query, keyword) VALUES ('affiliate/tracking', 'ortaklik-hesabi-takip');
INSERT INTO url_alias (query, keyword) VALUES ('affiliate/transaction', 'ortaklik-hesabi-islemler');
INSERT INTO url_alias (query, keyword) VALUES ('affiliate/logout', 'ortaklik-hesabi-cikis');
INSERT INTO url_alias (query, keyword) VALUES ('affiliate/forgotten', 'ortaklik-hesabi-sifremi-unuttum');
INSERT INTO url_alias (query, keyword) VALUES ('affiliate/register', 'ortaklik-hesabi-kayit');
INSERT INTO url_alias (query, keyword) VALUES ('affiliate/login', 'ortaklik-hesabi-giris');

catalog/controller/common/seo_url.php

Kod:
<?php
    class ControllerCommonSeoUrl extends Controller {
       public function index() {
          // Add rewrite to url class
          if ($this->config->get('config_seo_url')) {
             $this->url->addRewrite($this);
          }
          
          // Decode URL
          if (isset($this->request->get['_route_'])) {
             $parts = explode('/', $this->request->get['_route_']);

             $route = "";
            
             foreach ($parts as $part) {
                $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE keyword = '" . $this->db->escape($part) . "'");
                
                if ($query->num_rows) {
                   $url = explode('=', $query->row['query']);

                   if(count($url) > 1){
                  
                   if ($url[0] == 'product_id') {
                      $this->request->get['product_id'] = $url[1];
                   }
                  
                   if ($url[0] == 'category_id') {
                      if (!isset($this->request->get['path'])) {
                         $this->request->get['path'] = $url[1];
                      } else {
                         $this->request->get['path'] .= '_' . $url[1];
                      }
                   }  
                  
                   if ($url[0] == 'manufacturer_id') {
                      $this->request->get['manufacturer_id'] = $url[1];
                   }
                  
                   if ($url[0] == 'information_id') {
                      $this->request->get['information_id'] = $url[1];
                   }
                   }else{
                      $route = $url[0];
                   }
                } else {
                   $this->request->get['route'] = 'error/not_found';  
                }
             }
            
             if (isset($this->request->get['product_id'])) {
                $this->request->get['route'] = 'product/product';
             } elseif (isset($this->request->get['path'])) {
                $this->request->get['route'] = 'product/category';
             } elseif (isset($this->request->get['manufacturer_id'])) {
                $this->request->get['route'] = 'product/manufacturer/product';
             } elseif (isset($this->request->get['information_id'])) {
                $this->request->get['route'] = 'information/information';
             }else {
                $this->request->get['route'] = $route;
             }

            
             if (isset($this->request->get['route'])) {
                return $this->forward($this->request->get['route']);
             }
          }
       }
      
       public function rewrite($link) {
          if ($this->config->get('config_seo_url')) {
             $url_data = parse_url(str_replace('&', '&', $link));
          
             $url = '';
            
             $data = array();
          
             parse_str($url_data['query'], $data);
            
             foreach ($data as $key => $value) {
                if (($key == 'product_id') || ($key == 'manufacturer_id') || ($key == 'information_id')) {
                   $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = '" . $this->db->escape($key . '=' . (int)$value) . "'");
                
                   if ($query->num_rows) {
                      $url .= '/' . $query->row['keyword'];
                      
                      unset($data[$key]);
                   }              
                } elseif ($key == 'path') {
                   $categories = explode('_', $value);
                  
                   foreach ($categories as $category) {
                      $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = 'category_id=" . (int)$category . "'");
                
                      if ($query->num_rows) {
                         $url .= '/' . $query->row['keyword'];
                      }                    
                   }
                  
                   unset($data[$key]);
                }elseif ($key == 'route') {
                   $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = '" . $this->db->escape($value) . "'");
                
                   if ($query->num_rows) {
                      $url .= '/' . $query->row['keyword'];
                      
                      unset($data[$key]);
                   }              
                }
             }
          
             if ($url) {
                unset($data['route']);
            
                $query = '';
            
                if ($data) {
                   foreach ($data as $key => $value) {
                      $query .= '&' . $key . '=' . $value;
                   }
                  
                   if ($query) {
                      $query = '?' . trim($query, '&');
                   }
                }

                return $url_data['scheme'] . '://' . $url_data['host'] . (isset($url_data['port']) ? ':' . $url_data['port'] : '') . str_replace('/index.php', '', $url_data['path']) . $url . $query;
             } else {
                return $link;
             }
          } else {
             return $link;
          }      
       }  
    }
    ?>

.htaccess

Kod:
<FilesMatch "\.(tpl|ini|log)">
 Order deny,allow
 Deny from all
</FilesMatch>

RewriteEngine On

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
 

Ekli dosyalar

  • seoeklenti.rar
    2.1 KB · Görüntüleme: 426

onlinesaticim

OpenCart-TR
Katılım
6 Ocak 2012
Mesajlar
61
Tepkime puanı
0
Puanları
0
Sonra phpmyadmin vb. panelinizi açıp, database.sql içindekileri veritabanınıza sorgu ile kayıt etmeniz gerekiyor.

Bunu ayrıntılı anlartırmsıın ?
 

dokuz34

OpenCart-TR
Katılım
6 Haz 2011
Mesajlar
2
Tepkime puanı
0
Puanları
0
phpmyadmin vasıtasıyla veritabanınıza bağlanın,
ordan içe aktar diyerek database.sql dosyasını aktarırsanız yaptığınız değişiklikler sonuç verir.


onlinesaticim' Alıntı:
Sonra phpmyadmin vb. panelinizi açıp, database.sql içindekileri veritabanınıza sorgu ile kayıt etmeniz gerekiyor.

Bunu ayrıntılı anlartırmsıın ?
 

afaruki

OpenCart-TR
Katılım
28 Ağu 2012
Mesajlar
37
Tepkime puanı
0
Puanları
0
forumdaki en önemli on paylaşımdan biridir bu bence.. e-ticaret için..
 

juha34

OpenCart-TR
Katılım
11 Eyl 2012
Mesajlar
8
Tepkime puanı
0
Puanları
0
paylaşımın için teşekkürler bu ara1.5.4 deneyen oldumu
 

AcikSepet

OpenCart-TR
Katılım
23 Kas 2012
Mesajlar
6
Tepkime puanı
0
Puanları
0
Arkadaşlar, benim OpenCart yüzünden ciddi indeksleme sorunlarım var... Google arama sonuçlarındaki eski URL'lerin içerisine "index.php?_route_=" parçasını eklemeye başladı. Şimdi tüm eski linklerimi bu şekilde değiştirip indekslediğinden hızlı bir düşüş yaşıyorum!

Örnek: 4 yıldır "www.sitem.com/urun-sayfasi" olarak indekslenmiş olan URL artık "www.sitem.com/index.php?_route_=urun-sayfasi" halini aldı... ama benim back-linklerim 4 yıldır hep aynıydı... Dolayısıyla google URL'yi bu şekilde farklı algılamaya başladığından beri hızla pozisyon kaybediyorum. Lütfen birileri yardımcı olsun; Google neden URL'leri bu şekilde algılamaya başladı? OpenCart bu nasıl sebep oluyor? Nereye müdahale ederek bu durumu düzeltebilirim?
 

talkmedya

OpenCart-TR
Katılım
30 Ocak 2013
Mesajlar
4
Tepkime puanı
0
Puanları
0
1.5.3.1 de sorunsuz çalıştı arkadaşlar.

Teşekkürler.
 

noslabs

OpenCart-TR
Katılım
5 Nis 2013
Mesajlar
24
Tepkime puanı
0
Puanları
0
Hocam galıba kategorılerıde elle sqlden ınsert etmek durumundayız deme
 

kaan33

OpenCart-TR
Katılım
5 Ocak 2011
Mesajlar
6
Tepkime puanı
0
Puanları
0
10 numara 5 yıldız valla çok teşekkürler
 

tugce06

OpenCart-TR
Katılım
11 Nis 2013
Mesajlar
4
Tepkime puanı
0
Puanları
0
Hata
SQL sorgusu:

INSERT INTO url_alias( query, keyword )
VALUES (

'common/home', ''
);

MySQL çıktısı:

#1146 - Table 'wwwotoiz_open.url_alias' doesn't exist


Bu Hata ile Karşılaştım neden olabilir aceba :(

v1.5.1.1, kullanıyorum
 

ekare

OpenCart-TR
Katılım
8 Ocak 2013
Mesajlar
7
Tepkime puanı
0
Puanları
0
tugce06' Alıntı:
Hata
SQL sorgusu:

INSERT INTO url_alias( query, keyword )
VALUES (

'common/home', ''
);

MySQL çıktısı:

#1146 - Table 'wwwotoiz_open.url_alias' doesn't exist


Bu Hata ile Karşılaştım neden olabilir aceba :(

v1.5.1.1, kullanıyorum



Bende 1.5.5.1 kullanıyorum sorunu çözemedim.
url_alias_id numaralarını bilsem elle tek tek eklemeye çalışıcam.
 

tiesto

OpenCart-TR
Katılım
12 Tem 2013
Mesajlar
21
Tepkime puanı
0
Puanları
0
tugce06' Alıntı:
Hata
SQL sorgusu:

INSERT INTO url_alias( query, keyword )
VALUES (

'common/home', ''
);

MySQL çıktısı:

#1146 - Table 'wwwotoiz_open.url_alias' doesn't exist


Bu Hata ile Karşılaştım neden olabilir aceba :(

v1.5.1.1, kullanıyorum



tablo ön ekiniz mevcut büyük ihtimak ile şu şekildedir oc_url_alias

opencart 1.5.5.1 de denendi sonuç başarılı.

seo url dosyasını olduğu yere atın 1.5.5.1 de bende mevcuttu değişiklik yaptım.
ve bu sorguyu çalıştırdım

Kod:
INSERT INTO oc_url_alias (query, keyword) VALUES ('common/home', '');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/wishlist', 'istek');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/account', 'hesabim');
INSERT INTO oc_url_alias (query, keyword) VALUES ('checkout/cart', 'sepetim');
INSERT INTO oc_url_alias (query, keyword) VALUES ('checkout/checkout', 'odeme');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/login', 'giris');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/logout', 'cikis');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/order', 'siparis-gecmisi');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/newsletter', 'haber');
INSERT INTO oc_url_alias (query, keyword) VALUES ('product/special', 'kampanyalar');
INSERT INTO oc_url_alias (query, keyword) VALUES ('affiliate/account', 'affiliates');
INSERT INTO oc_url_alias (query, keyword) VALUES ('checkout/voucher', 'hediye-kuponu');
INSERT INTO oc_url_alias (query, keyword) VALUES ('product/manufacturer', 'markalar');
INSERT INTO oc_url_alias (query, keyword) VALUES ('information/contact', 'iletisim');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/return/insert', 'geri-donus');
INSERT INTO oc_url_alias (query, keyword) VALUES ('information/sitemap', 'site-haritasi');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/forgotten', 'sifremi-unuttum');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/download', 'indir');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/return', 'iade');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/transaction', 'islemler');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/register', 'hesap-olustur');
INSERT INTO oc_url_alias (query, keyword) VALUES ('product/compare', 'karsilastirmali-urunler');
INSERT INTO oc_url_alias (query, keyword) VALUES ('product/search', 'arama');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/edit', 'hesap-duzenle');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/password', 'sifre-degistir');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/address', 'adres');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/reward', 'hediye-puani');
INSERT INTO oc_url_alias (query, keyword) VALUES ('affiliate/edit', 'ortaklik-hesabi-duzenleme');
INSERT INTO oc_url_alias (query, keyword) VALUES ('affiliate/password', 'ortaklik-hesabi-sifre');
INSERT INTO oc_url_alias (query, keyword) VALUES ('affiliate/payment', 'ortaklik-hesabi-odeme');
INSERT INTO oc_url_alias (query, keyword) VALUES ('affiliate/tracking', 'ortaklik-hesabi-takip');
INSERT INTO oc_url_alias (query, keyword) VALUES ('affiliate/transaction', 'ortaklik-hesabi-islemler');
INSERT INTO oc_url_alias (query, keyword) VALUES ('affiliate/logout', 'ortaklik-hesabi-cikis');
INSERT INTO oc_url_alias (query, keyword) VALUES ('affiliate/forgotten', 'ortaklik-hesabi-sifremi-unuttum');
INSERT INTO oc_url_alias (query, keyword) VALUES ('affiliate/register', 'ortaklik-hesabi-kayit');
INSERT INTO oc_url_alias (query, keyword) VALUES ('affiliate/login', 'ortaklik-hesabi-giris');
 

halo2007

OpenCart-TR
Katılım
13 Eyl 2013
Mesajlar
10
Tepkime puanı
0
Puanları
0
Teşekkür ederim hocam. Ellerinize sağlık ne zamandır arıyordum.
 

fanty_35

OpenCart-TR
Katılım
15 May 2010
Mesajlar
64
Tepkime puanı
0
Puanları
0
Yaş
37
hocam süper oldu çalıştı fakat tek sorun markalar üreticilere tıkladığımızda aradığınız sayfa bulunamadı hatası veriyor, bunun çözümü nedir , seo_url.php yi yedeğini yüklediğimde düzeliyor sorun ?


----------------------------------------------

Arkadaşlar sorunu çözdüm , aynı hatayı alan arkadaşlar varsa aşağıdaki gibi yapsınlar;

catalog/controller/common/seo_url.php

bul

PHP:
} elseif (isset($this->request->get['manufacturer_id'])) {
                $this->request->get['route'] = 'product/manufacturer/product';

değiştir

PHP:
} elseif (isset($this->request->get['manufacturer_id'])) {
                $this->request->get['route'] = 'product/manufacturer/info';
 

sembolpc

OpenCart-TR
Katılım
4 Ara 2009
Mesajlar
17
Tepkime puanı
0
Puanları
0
Yaş
45
Konum
istanbul
Web sitesi
serkanpekdemir.com
Sql Sorunu yaşayan arkadaşlar için,
Sistem -> Tasarım -> Bölümler-> Bölüm Düzenle Tıklayın,
Yol alanını değişmeniz yeterli olucaktır.
 

tutku3441

OpenCart-TR
Katılım
8 Ara 2011
Mesajlar
26
Tepkime puanı
0
Puanları
0
olmuyor hocam denedim sorun aynı

Error
SQL query:


INSERT INTO url_alias (query, keyword) VALUES ('common/home', '');
MySQL said: Documentation

#1146 - Table 'wxkedudi_db1234.url_alias' doesn't exist
 
Üst