المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : [شرح طريقة] برمج مولد خرائط تلقائي Sitemaps لمحركات البحث لبرمجتك



Chakira
11-01-2013, بتوقيت غرينيتش 03:44 PM
http://www.dzbatna.com/images/icons/iconrote.gif [ط´ط±ط*] ط¨ط±ظ…ط¬ ظ…ظˆظ„ط¯ ط®ط±ط§ط¦ط· طھظ„ظ‚ط§ط¦ظٹ Sitemaps ظ„ظ…ط*ط±ظƒط§طھ ط§ظ„ط¨ط*ط« ظ„ط¨ط±ظ…ط¬طھظƒ (http://www.dzbatna.com/t1304954/)



السلام عليكم ورحمة الله وبركاته

ها هنا نحن اليوم في درس مفصل جديد تأكدت من عدم وجوده ... على الأقل في المواقع العربية

درس مفصلنا لهذا اليوم يتعلق بأحد أهم العوامل لإنتشار المواقع في محركات البحث , وبالتحديد في قوقل google

أن تبرمج مولد خرائط تلقائي لموقعك يعني أن تتعب مرة واحدة فقط .. عوضاً عن توليدها كل مرة لفترات طويلة وببرامج وأدوات لا تعطيك مبتغاك بالضبط

فحينما يضاف إلى موقعك موضوعاً أو درس مفصلاً جديداً ... لن تقوم باعادة التوليد مرة أخرى لأن كل ما عليك هو تحديث update الـ sitemap في اعدادات الموقع في حسابك بقوقل google أو غيره من محركات البحث

الخطوة الأولى ستكون برمجة ملف مولد الخرائط
الخطوة الثانية ستكون كتابة ملف .htaccess لتحويل الرابط sitemap.php إلى sitemap.xml حتى تقبلها محركات البحث

تذكر يجب أن تتعامل برمجة مع قواعد البيانات MySQL لأننها سنقوم باستخراج النتائج منها لتوليد الخريطة

حقوق الدرس مفصل محفوظة لـ صفوف (http://www.sufuf.com/lesson-2837-1-%5B%C3%98%C2%B4%C3%98%C2%B1%C3%98%C2%AD%5D%20%C3%9 8%C2%A8%C3%98%C2%B1%C3%99%C2%85%C3%98%C2%AC%20%C3% 99%C2%85%C3%99%C2%88%C3%99%C2%84%C3%98%C2%AF%20%C3 %98%C2%AE%C3%98%C2%B1%C3%98%C2%A7%C3%98%C2%A6%C3%9 8%C2%B7%20%C3%98%C2%AA%C3%99%C2%84%C3%99%C2%82%C3% 98%C2%A7%C3%98%C2%A6%C3%99%C2%8A%20Sitemaps%20%C3% 99%C2%84%C3%99%C2%85%C3%98%C2%AD%C3%98%C2%B1%C3%99 %C2%83%C3%98%C2%A7%C3%98%C2%AA%20%C3%98%C2%A7%C3%9 9%C2%84%C3%98%C2%A8%C3%98%C2%AD%C3%98%C2%AB%20%C3% 99%C2%84%C3%98%C2%A8%C3%98%C2%B1%C3%99%C2%85%C3%98 %C2%AC%C3%98%C2%AA%C3%99%C2%83.html) + ديزاد باتنة (http://www.dzbatna.net)




الخطوة الأولى : برمجة مولد الخرائط

سنقوم بكتابة ملف sitemap.php لكن سنقوم بإضافة header لها حتى تعاملها المحركات على أنها ملف xml وليس php
أولاً يجب استدعاء ملف الاتصال بقواعد البيانات أو الملف الرئيسي للموقع بالكود code التالي :
رمز PHP:

<code style="white-space:nowrap"> <code> require_once('./global.php');
</code> </code>

ثانياً يجب أن نعلم المستخدم أو المحرك أنه يستعرض ملف بصيغة xml وليس php بالكود code التالي :
رمز PHP:

<code style="white-space:nowrap"> <code> header('Content-Type: text/xml');
</code> </code>

لمزيد من المعلومات عن دالة header اضغط هنا (http://www.php.net/manual/en/function.header.php)

الجميع يعلم ان ملفات xml تحتفظ بالبيانات داخل وسوم لذا...
ثالثاً سنكتب بداية كل ملف xml متضمناً أيضاً معلومات عامة عن الموقع كالتالي :
رمز PHP:

<code style="white-space:nowrap"> <code> echo '<?xml version="1.0" encoding="windows-1256"?>'. "\r\n";
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">',"\r\n";
echo "\t<url>\r\n";
echo "\t\t<changefreq>daily</changefreq>\r\n";
echo "\t\t<priority>1.0</priority>\r\n";
echo "\t\t<loc>".$SiteLink."</loc>\r\n";
echo "\t</url>\r\n"; </code> </code>

لاحظنا أن هناك متغير باسم SiteLink وبالطبع سيحمل هذا المتغير رابط موقعك كالتالي :
http://www.SiteLink.com

رابعاً هو استخراج روابط الأقسام لديك ان وجدت حتى تتأرشف هي الأخرى .. فمن غير الطبيعي أن تتأرشف المواضيع بدون الأقسام ! الكود code كالتالي :
رمز PHP:

<code style="white-space:nowrap"> <code> $cat_query = mysql_query("SELECT `id` FROM threads ORDER BY `id` DESC");
while($cat_info = mysql_fetch_array($cat_query))
{
echo "\t<url>\r\n";
echo "\t\t<changefreq>daily</changefreq>\r\n";
echo "\t\t<priority>0.5</priority>\r\n";
echo "\t\t<loc>".$SiteLink."/thread.php?id=".$cat_info&#91;'id'&#93;."</loc>\r\n";
echo "\t</url>\r\n";
}
</code> </code>

ستلاحظ في الكود code السابق في أحد السطور وجود الرابط .. يمكنك التعديل عليه حسب ما يناسبك
ويمكنك أيضاً التعديل على أمر الإستعلام ليناسب البرمجة خصوصاً اذا كنت تضع عنوان القسم في الرابط أيضاً أو قمت بتحويل الروابط مسبقاً إلى html

خامساً وأهم مافي الشرح طريقة هو استخراج المواضيع أو المقالات واحداً تلو الأخرى كما في استخراج الأقسام ... الكود code كالتالي :
رمز PHP:

<code style="white-space:nowrap"> <code> $thread_query = mysql_query("SELECT id,title,lastmod FROM threads WHERE hidden=0 ORDER BY id DESC");
while($thread_info = mysql_fetch_array($thread_query))
{
echo "\t<url>\r\n";
echo "\t\t<changefreq>weekly</changefreq>\r\n";
echo "\t\t<priority>0.5</priority>\r\n";
echo "\t\t<lastmod>".$thread_info&#91;'lastmod'&#93;."</lastmod>\r\n";
echo "\t\t<loc>".$SiteLink."/thread.php?id=".$thread_info&#91;'id'&#93;."</loc>\r\n";
echo "\t</url>\r\n";
}
</code> </code>

يمكنك الملاحظة أن في الإستعلام hidden=0 وذلك حتى لا تتأرشف المواضيع المحذوفة او المخفية
وأيضاً هناك آخر تعديل حيث يجب أن يكون بصيغة W3C Datetime المعروفة ولها عدة أشكال منها :
YYYY-MM-DD مثال : 1997/06/15
ويجب عليك تعديل الرابط حسب احتياجات الموقع

سادساً وأخيرا يجب علينا اغلاق الوسم الي قمنا بفتحه سابقا وهو كالتالي :
رمز PHP:

<code style="white-space:nowrap"> <code> echo "</urlset>";
</code> </code>

إذن الكود code كاملاً :
رمز PHP:

<code style="white-space:nowrap"> <code> <?php

// Copyright for Sufuf.com + dzbatna.net

require_once('./global.php');

header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="windows-1256"?>'. "\r\n";
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">',"\r\n";
echo "\t<url>\r\n";
echo "\t\t<changefreq>weekly</changefreq>\r\n";
echo "\t\t<priority>1.0</priority>\r\n";
echo "\t\t<loc>".$SiteLink."</loc>\r\n";
echo "\t</url>\r\n";
$cat_query = mysql_query("SELECT id FROM cats ORDER BY id DESC");
while($cat_info = mysql_fetch_array($cat_query))
{
echo "\t<url>\r\n";
echo "\t\t<changefreq>weekly</changefreq>\r\n";
echo "\t\t<priority>0.5</priority>\r\n";
echo "\t\t<loc>".$SiteLink."/cat.php?id=".$cat_info&#91;'id'&#93;."</loc>\r\n";
echo "\t</url>\r\n";
}

$thread_query = mysql_query("SELECT id,title,lastmod FROM threads WHERE hidden=0 ORDER BY id DESC");
while($thread_info = mysql_fetch_array($thread_query))
{
echo "\t<url>\r\n";
echo "\t\t<changefreq>weekly</changefreq>\r\n";
echo "\t\t<priority>0.8</priority>\r\n";
echo "\t\t<lastmod>".$thread_info&#91;'lastmod'&#93;."</lastmod>\r\n";
echo "\t\t<loc>".$SiteLink."/thread.php?id=".$thread_info&#91;'id'&#93;."</loc>\r\n";
echo "\t</url>\r\n";
}

echo "</urlset>";

?> </code> </code>

الخطوة الثانية : تحويل رابط الخريطة

حتى تعتمد الخريطة من أغلب محركات البحث يجب عليك وضعها بامتداد xml ولكن لن تقوم بتعديل اسم الملف إلى ذلك الامتداد بل سنبقيه sitemap.php ولكن سننشئ ملف .htaccess حتى تدخل على الملف sitemap.xml كأنك دخلت على sitemap.php وذلك من خلال الكود code التالي : رمز Code:
RewriteEngine on RewriteRule ^sitemap.xml sitemap.php [L]
تذكر ان اسم الملف هو .htaccess


ملاحظات :

- لخرائط المواقع عدة أشغال وعدة صيغ يأتي منها المضغوط ويأتي العادي وأنواع أخرى ولكن هذا الدرس مفصل لأشهر وأفضل الخرائط
- يمكنك التعديل على الخريطة كما تشاء حسب خبرتك في هذه المواضيع
- اذا كنت لا تعرف فائدة الخرائط فعليك بمراجعة دروس خرائط محركات البحث
- يجب عليك وضع ملف .htaccess في نفس مجلد الملف sitemap.php
- اذا كان لديك بالفعل ملف .htaccess ويحتوي على أكواد سابقة إذن قم بوضع السطر الثاني فقط من الكود code المذكور في هذا الدرس مفصل


أتمنى أن يكون الدرس مفصل مفهوم
وعدم حذف الحقوق
وأي سؤال أنا حاضر
اخوكم / العذاب
صفوف (http://www.sufuf.com) - ديزاد باتنة (http://www.dzbatna.net)







ألعاب الأندرويد مجانا و حصريا (http://www.apotox.info/forum)




https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-ash4/482113_236967293114455_1193518507_n.png (http://www.dzbatna.com)
©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى (http://www.dzbatna.com)©

استعمل مربع البحث في الاسفل لمزيد من المواضيع


سريع للبحث عن مواضيع في المنتدى