عندما تنشأ روابط ملائمة لمحركات البحث فهذا سيؤدي إلى تحسن كبير لنتائج موقعك في محركات البحث.
هناك فرق كبير بين أن يكون رابط موقعك كالتالي "/post.php?id=2382" و بين أن يكون "/php-functions/"
أقدم لكم كود مخصص بتوليد روابط لطيفة لتضيفوها لبرامج إدارة المحتوى لديكم.
الفكرة بسيطة جدا هو أخذ عنوان الصفحة وإجراء بعض الفلترة عليه كالتالي :
1- إزالة الرموز وعلامات الترقيم.
2- تحويل العناوين الإنكليزي إلى الأحرف الصغيرة.
3- إزالة المسافات أو استبدالها بشيء تحدده أنت.
4- إزالة الكلمات المتكررة.
5- إزالة الكلمات الغير مفيدة لمحركات البحث.
الكود :
/* أخذ العنوان المدخل والكلمات الغير مفيدة */
function generate_seo_link($input, $replace = '-', $remove_words = true, $words_array = array()) {
//تصغير الحروف وإزالة المسافات وعلامات الترقيم
$return = trim(preg_replace('/ +/', ' ', preg_replace('/[^a-zA-Z\p{Arabic}0-9\s]/u', '', mb_strtolower($input))));
//إزالة الكلمات الغير مفيدة
//ستعمل فقط إذا أدخلت الكلمات في المصفوفة
if($remove_words) { $return = remove_words($return, $replace, $words_array); }
//استبدال المساحة
//عادة تكون إما - شخطة أو _ شخط سفلية
//...إرجاع القيمة
return str_replace(' ', $replace, $return);
}
/* سيتم أخذ الكلامات الغير مفيدة */
function remove_words($input,$replace,$words_array = array(),$unique_words = true)
{
//فصل الكلمات بالمساحات
$input_array = explode(' ',$input);
//إنشاء المصفوفة التي سترجع
$return = array();
//حلقة لإزالة الكلمات الغير مفيدة من العنوان
foreach($input_array as $word)
{
//الكلمات ستضافة إلى المصفوفة...
if(!in_array($word,$words_array) && ($unique_words ? !in_array($word,$return) : true))
{
$return[] = $word;
}
}
//إعادة الكلمات المفيدة مفصولة بشخطة أو الشيء الذي حددته
return implode($replace,$return);
}
الشرح
تدخل إلى الدالة 4 قيم :
1- المتغير $input نوعه string هو عنوان الصفحة الذي سيحول إلى اسم لطيف.
2- المتغير $replace نوعه string سيستبدل بالفراغ وعادة ما يكون - شخطة أو _ شخطة سفلية.
3- المتغير $remove_words نوعه boolean تحديد إن كنت تريد إزالة الكلمات الغير مفيدة.
4- المتغير $words_array نوعة array مصفوفة الكلمات الغير مفيدة التي سيتم إزالتها من العنوان.
مثال :
$bad_words = array('a','and','the','an','it','is','with','can','of','why','not','و','أو');
echo generate_seo_link('Another day and a half of PHP meetings', '-', true, $bad_words);
//النتيجة :: another-day-half-php-meetings
echo '<br>';
echo generate_seo_link('CSS again? Why not just PHP?', '-', true, $bad_words);
//النتيجة :: css-again-just-php
echo '<br>';
echo generate_seo_link('A penny saved is a penny earned.', '-', true, $bad_words);
//النتيجة :: penny-saved-earned
echo '<br>';
echo generate_seo_link('كيف حالكم و صحتكم', '-', true, $bad_words);
echo '<br>';
//النتيجة :: كيف-حالكم-صحتكم
وبهذا يصبح بإمكانك إنشاء روابط لطيفة ملائمة لمحركات البحث.