طريقة إنشاء روابط URL ملائمة لمحركات البحث في php
عندما تنشأ روابط ملائمة لمحركات البحث فهذا سيؤدي إلى تحسن كبير لنتائج موقعك في محركات البحث.
هناك فرق كبير بين أن يكون رابط موقعك كالتالي "/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>';
//النتيجة :: كيف-حالكم-صحتكم
وبهذا يصبح بإمكانك إنشاء روابط لطيفة ملائمة لمحركات البحث.
لا يوجد تعليقات بعد، كن أول من يبدأ النقاش