Merhaba arkadaşlar. Bir kaç gündür joomla seosu ile ilgili araştırma yapıp duruyorum. Bununla ilgili bir çok eklenti mevcut ama bir kaç ufak yardımcı program ile joomlanın kendi seosunu kullanmaya karar verdim. İşe yarar bir kaç eklentiyi de kendi kullanımıma göre değiştirdim. Belki sizin de işinize yarar diye yaptığım bir değişikliği sizinle paylaşmak istedim.

Missing Metadata modülü, meta açıklaması veya anahtar kelimeleri olmayan içeriklerinizi gösterir. Seo için bu alanlara içeriğimizle alakalı veri girmemiz çok önemlidir ama buraya yazdığımız açıklama ve anahtar kelimeleri haddinden fazla uzatırsak da spama düşme durumuyla karşılaşabiliriz. Ben de vaktinde epey uzun açıklamalar ve bol bol anahtar kelime eklemişim siteme.Şimdi de geniş çaplı bir temizliğe başladım ama sitenin tüm içeriğini tek tek kontrol edemeyeceğim için meta açıklama ve anahtar kelimeleri olmayan konularımla beraber, bunların gereğinden daha uzun olduğu konularımı da listelettim. (Çok uzattım farkındayım ve hemen konuya giriyorum).

Buradaki konuyu baz alarak maksimum meta açıklama uzunluğunu 160, maksimum anahtar kelime uzunluğunu da 260 karakter olarak aldım. Dilerseniz aşağıdaki kodda siz bu sayıları değiştirebilirsiniz. Bu değişiklikle admin sayfasında sadece meta verisi olmayan konular değil, tüm konular listelenmiş olacak ve hangi konuların hangi alanlarının bu karakter sınırlamalarına uymadığı da yanlarında belirtilmiş olacak. Böylelikle tek tek konuları kontrol etmek yerine, tabloda bu sınırlamalara uymayan konularınızı tekrardan düzenleyebileceksiniz. İçinde binlerce konu bulunan sitelerde bu liste epey uzayabilir. Benimkinde bir kaç yüztane olduğu için sorun yaşamadım.

Orjinal modülü buradan indirebilirsiniz. Ben sadece modül içerisindeki php dosyasını değiştirdim. Aşağıdaki kod parçasını mod_missingmeta.php olarak kayıt edip, indirdiğiniz dosyanın içindeki ile değiştirmeniz yeterli olacaktır. Kurulumu diğer modül kurulumları gibi yapıp modül yöneticisi bölümünün "Yönetici" kısmından aktif edip kullanabilirsiniz. Yanlız konum olarak modül sırasını cpanell olarak seçmeniz gerekiyor (Zaten daha önce bu modülü kullananlar biliyordur).
Modülü çalıştırdıktan sonra Admin sayfanızın Denetim Masası alanında liste halinde içeriklerinizi görebilirsiniz. Burada açıklama ve anahtar kelimelerle ilgili sayısal bir sıkıntı yoksa "Ok" yazacaktır. Eğer bu kısımlar boş ise veya programda belirtilen sayılardan daha uzunsalar (160 ve 260 karakter) "Kontrol ediniz" yazacaktır.

Çok basit bir değişiklik ama beni büyük bir amelelikten kurtardı ve en azından şimdi tüm konular bu kriterlere uyuyor mu uymuyor mu sürekli kontrol edebileceğim! Umarım işinize yarar. İyi çalışmalar..


<?php
/**
* @version $Id: mod_missingmeta.php 2007-07-12 21:49:30Z Danr $
*/
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );

$db =& JFactory::getDBO();

// Find all empty strings in metakey and metadesc and
// make sure the article is published (state=1).
$where = "state = 1 ";
$query = "SELECT id, title, metakey, metadesc"
	. " FROM #__content WHERE "
	. $where . " ORDER BY title ASC";

$db->setQuery( $query, 0);
?>
<table class="adminlist">
	<tr>
	<td class="title">
	<strong><?php echo JText::_( 'Makale' ); ?></strong>
	</td>
	<td class="title">
	<strong><?php echo JText::_( 'Aciklama' ); ?></strong>
	</td>
	<td class="title">
	<strong><?php echo JText::_( 'Anahtar Kelimeler' ); ?></strong>
	</td>
	</tr>
    
<?php

// Make sure some rows match query
if ($rows = $db->loadObjectList()) {
	foreach ($rows as $row) {	
		// Create url to allow user to click & jump to edit article
		$url = "index.php?option=com_content&task=edit&" .
			"&id=" . $row->id;
		
		// Check meta fields for record and set Yes/No value
		if ($row->metadesc =="" || strlen($row->metadesc) > "160") $metad = JText::_("Kontrol ediniz");
		else $metad = JText::_("Ok");
		
		if ($row->metakey =="" || strlen($row->metakey) > "260") $metak = JText::_("Kontrol ediniz");
		else $metak = JText::_("Ok");
		
		echo "<tr>";
		
		// Place article title inside link
		echo "<td><a href='" . $url . "'>" .
		$row->title . "</a></td>";
		
		// Display status of empty meta column
		echo "<td>" . $metad . "</td>";
		echo "<td>" . $metak . "</td>";
		echo "</tr>";
	}
} else {
	// No articles with missing metadata found
	echo '<tr><td>None</td>';
	echo '<td>n/a</td>';
	echo '<td>n/a</td></tr>';
}
?>
</table>