Eklentinin ücretsiz sürümünü kullanıyorsanız Polylang WordPress için, çeviri için oluşturduğu yeni sayfa veya yazının orijinal içeriği kopyalamadığını bilirsiniz.
Bu, ücretli sürümünün özelliklerinden biridir ve ücretsiz sürümde elle yapıştırmanız gerekir.
Bunu çözmek ve süreci hızlandırmak için, şablonunuzun functions.php dosyasına bazı işlevler eklemeniz yeterlidir.
Her zaman bir "çocuk teması", senin içinde kendi fonksiyon eklentisi veya kullanarak Code Snippets Sizin için çalışmazsa ve değişiklikleri kolayca geri döndürebilirseniz veya WordPress'in, şablonunuzun, Polylang'ın veya PHP sürümünün gelecekteki bir güncellemesi nedeniyle bir şeylerin bozulması durumunda.
// Copying content when creating a translation with Polylang
function jb_editor_content( $content ) {
// Polylang sets the 'from_post' parameter
if ( isset( $_GET['from_post'] ) ) {
$my_post = get_post( $_GET['from_post'] );
if ( $my_post )
return $my_post->post_content;
}
return $content;
}
add_filter( 'default_content', 'jb_editor_content' );
// Copying content when creating a translation with Polylang
function jb_editor_title( $title ) {
// Polylang sets the 'from_post' parameter
if ( isset( $_GET['from_post'] ) ) {
$my_post = get_post( $_GET['from_post'] );
if ( $my_post )
return $my_post->post_title;
}
return $title;
}
add_filter( 'default_title', 'jb_editor_title' );
Tüm şablonlarda çalışıp çalışmadığını bilmiyorum (burada GeneratePress ile iyi çalışıyor). Bunu bir not Aralık 2020, bu nedenle test için izole bir ortamda o zamandan önce test etmek en iyisidir (staging).
Polylang ile etiket çevirisi, başka bir hikaye
Bir kenara. Polylang, ücretsiz eklentilerden biri olmasına rağmen çok dilli bir blog oluşturun PRO sürümünde çok fazla geliştiğini düşünmediğim kullandığım birkaç sürümden biri. Her iki sürümü de denedim ve zaman zaman hantal oluyor. Kullanımını basitleştirmek, dize çevirisini iyileştirmek ve daha sezgisel hale getirmek için gelişmesi gerektiğini düşünüyorum.
Artık orijinal içeriği Polylang ile çevrilecek yeni sayfaya kopyalayabildiğimize göre, başlığa, içeriğe ve genellikle etiketlere de sahip olacağız.
Buradaki sorun, gönderiler söz konusu olduğunda, etiketlerin İngilizce olarak kopyalanması ve daha sonra slug'ın sonuna dil öneki eklenerek yeni etiketler olarak kaydedilmesidir, örneğin "tagname-in" (İngilizce olması durumunda).
Bu da orijinal dil etiketine bağlantısı olmayan ve çevirisi bulunmayan yeni bir etiketin daha oluşturulmasına neden olur. Büyük olasılıkla öksüz kalacak veya yalnızca bir gönderide kullanılacaktır.
Ve daha da kötüsü, etiketler gülünç rakamlara ulaşacak. İnanın bana, son revizyon ve temizlikten önce (ki bunları robots.txt'de indekslerseniz ve sayfanızın kırılacak URL'leri olduğu için 301 yönlendirmeleri oluşturursanız çok dikkatli yapmanız gerekir) 8848 gibi büyük bir rakama ulaştılar.
Ayrıca, çok fazla etiket olması veritabanı sorgularını yavaşlatır ve performansa zarar verir.
Çözüm, bunları editörde kaldırmak ve yeni dilde yenilerini eklemek değildir, çünkü bu onları silmeyecektir, sadece slug'da "-en" önekiyle aynı kelimeleri yeniden oluşturacaksınız.
Sıkıcı olsa da ideal yol, çevirmek için gönderide tam olarak hangi etiketleri (en fazla dört veya beş) kullanacağınız konusunda net olmak ve ÖNCE YARAT karşılık gelen çevirileri.
Çeviriler kaydedildikten sonra, yazının yeni kopyasını oluştururken, Polylang etiketleri de dışa aktaracaktır, ancak şimdi seçilen ilgili dil için çevrilmiş olacaktır.
Etiketler öncelikle blogunuzdaki dahili aramaları iyileştirmeye yarar ve birçok SEO uzmanı ne etiketleri ne de kategorileri indekslememeyi tavsiye etse de, akılcı ve dikkatli bir strateji ile yapılırsa azımsanmayacak miktarda organik ziyaret oluşturabilirler. Buna kefil olabilirim.
İyi açıklamalar ve kategori adlarıyla örtüşmeyen ve yinelenen içerik oluşturmaktan kaçınan mantıksal bir hiyerarşi oluşturarak etiketlerden çok şey elde edebilirsiniz.