آموزش ساخت نقشه سایت برای موتورهای جستجو با PHP و MySQL

daskhatmin فواد طهماسبی
7,689 بازدید
آموزش ساخت نقشه سایت برای موتورهای جستجو با PHP و MySQL

نقشه سایت (Sitemap) یک سند xml میباشد که لینک های مطالب شما را با آخرین تاریخ ویرایش و اهمیت لینک و …  فهرست میکند. این فایل در شاخه اصلی وبسایت (ROOT) با نام sitemap.xml ذخیره میشود و هدف از آن آگاه سازی سریع موتورهای جستجو برای فهرست کردن این لینکها در نتایج جستجویشان است. در این مطلب نحوه ساختن نقشه سایت به وسیله php و mysql را توضیح خواهیم داد.

نقشه سایت چیست؟
راهی برای معرفی صفحات سایت شما به موتورهای جستجو است. نقشه سایت که xml Sitemap نام دارد معمولا با نام Sitemap (با S بزرگ) به کار برده میشود، که تمام صفحاتی را که میخواهید قابل دسترس باشد را لیست میکند. ایجاد و ثبت نقشه سایت در موتورهای جستجو به شما این اطمینان را میدهد که تمام صفحات سایت شما در موتورهای جستجو لیست شود. همچنین شما میتوانید از این طریق صفحاتی را که فکر میکنید پیدا کردن آن برای موتورهای جستجو مشکل خواهد بود را نیز معرفی کنید.

نقشه سایت زمانی با اهمیت تر میشود که:

  • سایت شما از مطالب داینامیک استفاده کند.
  • سایت شما دارای صفحاتی میباشد که به راحتی توسط روبات موتورهای جستجو قابل دسترسی نیست. مانند صفحاتی که محتویات آن با تکنولوژی Ajax بارگذاری میشود.
  • سایت شما جدید است و به خوبی در وب لینک دهی نشده است.
  • سایت شما دارای محتویات حجیم چند صفحه ای است و به خوبی به یک دیگر لینک دهی نشده است

گوگل فهرست کردن تمام صفحات شما را تضمین نمیکند و اظهار میکند که نقشه سایت فقط یک راهنما برای فهرست کردن درست صفحه های وب است.
گوگل از پروتکل استاندارد نقشه سایت که توسط sitemaps.org طراحی شده است استفاده میکند و در حالت کلی نقشه سایت ساخته شده برای تمام موتورهای جستجوی استاندارد قابل فهم است.

فرمت فایل:

<?xml version="1.0" encoding="utf-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
        <url>
                <loc>http://example.com/</loc>
                <lastmod>2006-11-18</lastmod>
                <changefreq>daily</changefreq>
                <priority>0.8</priority>
        </url>
</urlset>

برای آشنایی با المانهای کد بالا میتوانید به لینک تعریف المانها در ویکی پدیا مراجعه کنید.

ایجاد فایل نقشه سایت توسط PHP:
برای ساختن نقشه سایت نیاز به ایجاد اسکلت اولیه آن دایم. برای این کار یک فایل با نام sitemap.php ایجاد کرده و کد زیر را در آن ذخیره کنید:

$host = "localhost"; // host name
$user = "user"; // database user name
$pass = "password"; // database password
$database = "dbname"; // database name
// connecting to database
$connect = @mysql_connect($host,$user,$pass)or die (@mysql_error());
// selecting database
@mysql_select_db($database,$connect) or die (@mysql_error());

 ایجاد کدهای xml:
کد زیر را در فایل sitemap.xml بعد از کدهای اتصال به پایگاه داده ذخیره کنید:

// default header(don't delete)
header("Content-Type: text/xml;charset=iso-8859-1");
echo '<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';

 اضافه کردن url ها در xml:
در کد زیر یک جدول پایگاه داده با نام mytable با فیلدهای url و date برای مطالب در نظر گرفته ایم. کد زیر را بعد از کد بالا در فایل sitemap.xml ذخیره کنید:

// selecting data from "mytable"
// mytable = your article table name
$query = @mysql_query("SELECT * FROM mytable");

while($row = @mysql_fetch_array($query)){
// [url] = article url
$url = $row['url'];
// [time] = article date
$date = date("Y-m-d", $row['time']);

// NO CHANGES BELOW
	echo
    '<url>
     <loc>' . $url .'</loc>
     <lastmod>'. $date .'</lastmod>
     <changefreq>daily</changefreq>
     <priority>0.8</priority>
     </url>
    ';
}
echo '</urlset>';?>

همین! در کل فایل به صورت زیر است:

<?php
$host = "localhost"; // host name
$user = "user"; // database user name
$pass = "password"; // database password
$database = "dbname"; // database name
// connecting to database
$connect = @mysql_connect($host,$user,$pass)or die (@mysql_error());
// selecting database
@mysql_select_db($database,$connect) or die (@mysql_error());

// default header(don't delete)
header("Content-Type: text/xml;charset=iso-8859-1");
	echo '<?xml version="1.0" encoding="UTF-8"?>
	<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';

// mytable = your content table name
$query = @mysql_query("SELECT * FROM mytable");
while($row = @mysql_fetch_array($query)){
// [url] = content url
$url = $row['url'];
// [time] = content date
$date = date("Y-m-d", $row['time']);

// NO CHANGES BELOW
	echo
    '<url>
     <loc>' . $url .'</loc>
     <lastmod>'. $date .'</lastmod>
     <changefreq>daily</changefreq>
     <priority>0.8</priority>
     </url>
    ';
}
	echo '</urlset>';?>

اگر دقت کرده باشید فایل ما به صورت sitemap.php است و ما میخواهیم به فایل sitemap.xml برسیم. برای این کار کد زیر را در فایل htaccess. در شاخه اصلی وبسایت ذخیره کنید:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule (.*)\.xml(.*) $1.php$2 [nocase]
</IfModule>

بعد از اضافه کردن کد بالا در فایل htaccess. آدرس نقشه سایت شما هنگام فراخوانی، از www.example.com/sitemap.php به www.example.com/sitemap.xml تبدیل میشود. یعنی شما آدرس نقشه سایت را با فرمت xml در موتورهای جستجو ثبت خواهید کرد.

نقشه سایت شما تقریبا شبیه به این خواهد شد: نمونه نقشه سایت

راهنمایی بیشتری لازم دارید؟ میتونید از فرم نظرات استفاده کنید.


منبع: urphp

daskhatmin

فواد طهماسبی

فواد طهماسبی هستم، موسس وبسایت آموزشی دسخط. مهندسی نرم افزار خوندم و چندین سال تجربه کاری مرتبط با تکنولوژیهای توسعه وب دارم. علاقمند به ایده پردازی و توسعه کسب و کارهای اینترنتی هستم.

7 دیدگاه برای “آموزش ساخت نقشه سایت برای موتورهای جستجو با PHP و MySQL”

  1. زهرا یونسی گفت:

    با تشکر از توضیحات وب سایتتون

  2. arman گفت:

    سلام.خسته نباشید
    راستش بنده یه سایت دارم که با html و ajax درست شده لذا برام خیلی سخته که یه جستجوگر براش تنظیم کنم/دیتابیس هم ندارم آیا راهی برای من وجود داره؟چون هر راهی میرم به بن بست میخورم

  3. babak گفت:

    سلام
    من دانشجوی مهندسی نرم افزار هستم. موضوع پروژه من ساخت search engine هستش. هیچ اطلاعی ندارم. لطفا منو راهنمایی کنین که باید از کجا شروع کنم و باید چی بلد باشم. اگه زحمتی نیست از صفر برام توضیح بدین که باید از کجا و چجوری شروع کنم؟

  4. آناز گفت:

    با سلام و تشکر از مطالب خوب سایت
    در خصوص سئو و کد های افزایش سئو و بهبود آنها اگر توضیحی بدهید ممنون می شوم

  5. ساره شفیعی گفت:

    سلام
    ببخشید من برای پروژم که طراحی سایت با پی اچ پیه استاد گفته براش جستجو بزام و کداشا پیدا کردم اما اصلا نمیدونم باید در مراحل اول چیکار کنم میشه کمکم کنید.واقعا ممنونتون میشم.
    باتشکر

  6. پارسا گفت:

    دوست عزیز برای آدرس های فارسی سایت مپ دچار اشکال میشه و آدرس ها رو خراب میکنه

  7. فاطمه اکبری گفت:

    سلام اگه میشه یکم راهنماییم کنیم برای قرار دادن فرم پرسش وپاسخ وجستجو

دیدگاه‌های بیشتر

کد HTMLCSSJavaScriptPHP