Ücretsiz WordPress scriptli sitelerde “Önce html giriş sayfam olsun, sonrada siteye geçilsin” dediğinizde, iki yol izlemeniz gerekiyor. Ya blog scriptini bir klasör içerisine kurup, html sayfayı da ana dizinde bulunduracaksınız. Yada aşağıda anlatacağım ufak düzenleme ile hem scripti hemde html sayfayı ana dizinde çalışır hale getireceksiniz.
Önce ilk yönteme örnek vereyim;
Diyelim ki daha WordPress scriptini kurmadınız ve çok sayfalı bir html grubundan blog scriptine geçiş yapmak istiyorsunuz; O zaman yukarıda dediğim gibi ftp dizininde html sayfaları ana dizine atacak, wordpress scriptini de blog, tr gibi bir isme sahip klasörün içerisine kuracaksınız. Sonrada tabiki html’den bu klasöre, klasördeki blog’dan da html sayfaya geçiş bağlantılarını yapacaksınız.
Yukarıdaki yöntemin kötü yanı, ilerleyen zamanda WordPress scripti klasörden ana dizine taşımak ve html sayfaları kaldırmak istediğinizde arama moturu bağlantılarını yeniden yönlendirme ihtiyacı yaratması..
Asıl kullanışlı yöntem ise şu;
Html sayfalarımızı hazırlayıp ftp ana dizine atıyor ve WordPress scriptinde wp-includes klasöründeki canonical.php dosyasını bilgisayara çekip şöyle düzenliyoruz;
75. satır dolaylarında şunu bulun;
// $original['path'] = preg_replace('|/index\.php$|', '/', $original['path']);
önündeki iki yatık çizgiyi silin,
$original['path'] = preg_replace('|/index\.php$|', '/', $original['path']);
ve 364. satır dolaylarında, // trailing /index.php belirticisinin altındaki şu kodu bulup;
$redirect['path'] = preg_replace('|/' . preg_quote( $wp_rewrite->index, '|' ) . '/*?$|', '/', $redirect['path']);
başına iki yatık çizgi ekleyin;
// $redirect['path'] = preg_replace('|/' . preg_quote( $wp_rewrite->index, '|' ) . '/*?$|', '/', $redirect['path']);
(WordPress 4.0.1’de denenmiştir. Eski veya daha yeni sürümlerde farklar olabilir.)
Eski canonical.php dosyasını yedekleyerek, düzenleme yaptığınız yeni dosyayı wp-includes klasörüne gönderin.
Script güncellemelerinden sonra tekrar aynı işlemleri yapmanız gerekebilir.
Artık html sayfa ile blog aynı dizinde rahat bir şekilde çalışacaklar. Fakat ufacık birkaç düzenleme daha gerekiyor; Wordpress blogumuzda verdiğimiz index.php’siz ana dizin bağlantılarını, arama formundaki index.php’siz yönlendirmeyi index.php ekleyerek yeni duruma uyarlıyoruz.
Örneğin; WordPress scriptinde logoya “siteadresi.com” tanımlıysa, ziyaretçilerin buradan html sayfaya gitmemesi için bu bağlantıyı siteadresi.com/index.php olarak ayarlamalısınız. Çünkü yukarıdaki düzenleme ile WordPress scriptine anasayfa olarak “/” değil “index.php” ayarladık.
Arama formu içinde; Arama sonuçlarına ulaşırken sorun çıkmaması için aşağıdaki değişikliği yapıyoruz;
Aktif tema klasörüne (/public_html/wp-content/themes/temaadı) giriyor, searchform.php dosyasını açıp şunu bulup;
<form method="get" action="<?php bloginfo('url'); ?>" class="searchform">
Şöyle yapıyoruz;
<form method="get" action="<?php bloginfo('url'); ?>/index.php" class="searchform">
Herşey tamam.
Eğer sorun yaşarsanız yada eski/yeni sürümlerde düzenlenecek kodları bulamazsanız, konu altına yorum gönderin yardımcı olmaya çalışayım.
Tam da aradığım konu :) Herkes WP’den WP’ye (subdomain) konuları açmış.
Hocam şu an hali hazırda WP ile yayın yapan bir sitemiz var. Fakat ben subdomaine html bir tema kurup kullanmak istiyorum. A.com wp iken b.a.com html tema olacak. Ben sadece arada a.com’da olan anasayfa için link koyacağım sub’a..
Yardımcı olursan çok sevinirim :)
@Kanuni; Merhaba. Sizinki anlattığım gibi teferruatlı değil. b.a.com alt alan adı oluşturup o alan adı klasörü içine html sayfaları yükleyip içine ana domain linkini ekleyeceksiniz. Eğer ana domaini yazınca ilk olarak sub domain açılsın oradan ana domain wp’ye geçsinler istiyorsanız WP genel ayarlarında WordPress adresi ve site adresi yazılan iki alan var onları bir kurcalayın. Hiç denemedim ama orası işinizi görebilir.