سلام
میخواستم بدونم برای ساخت سایت مپ برای سایت های بزرگ با حدود بیش از 20 هزار صفحه چه راهی رو پیشنهاد میکنید که کمترین فشار به سرور بیاد و بهینه باشه
مرسی
سلام
میخواستم بدونم برای ساخت سایت مپ برای سایت های بزرگ با حدود بیش از 20 هزار صفحه چه راهی رو پیشنهاد میکنید که کمترین فشار به سرور بیاد و بهینه باشه
مرسی
سایت مپ هاتو تیکه تیکه کن و تو هر کدوم به تعداد مورد نیاز نشون بده
http://your-site/sitemap.phpو اینم یه تیکه از سایت مپ http://your-site/sitemap.php?p=2
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>http://your-site/sitemap.php?p=1</loc>
</sitemap>
<sitemap>
<loc>http://your-site/sitemap.php?p=2</loc>
</sitemap>
</sitemapindex>
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://your-site/post/3456</loc>
<lastmod>2014-05-07T15:28:44+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>never</priority>
</url>
<url>
<loc>http://your-site/post/456</loc>
<lastmod>2014-05-07T15:28:25+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>never</priority>
</url>
</urlset>
چه طور تیکه تیکه کنم و بر چه اساس؟
مثلا هر 1000 تا توی یه بخش؟
کش کنم و به صورت استاتیک باشند یا داینامیک؟
فایل sitemap.php در ریشه سایت
<?php
$db_link=mysql_connect('localhost','root','') ;
mysql_select_db('blog',$db_link);
mysql_set_charset('utf-8',$db_link);
$run_query=mysql_query("select * from posts where posts.post_status='publish' ;",$db_link);
$count_post=mysql_affected_rows($db_link);
$host= 'http://your-site/';
$sitmap_url=$host."/sitemap.php?p=";
////// 50,000 url max
////// 10 mb (10,485,760 bytes) max byte
$max_url=50000;
// $max_byte=2;
$max_url_post=$max_url/2;
$sitemap_part=ceil(($count_post)/$max_url);
if((isset($_GET['p'])&&is_numeric($_GET['p']))){
header("Content-Type: text/xml; charset=utf-8");
$page=$_GET['p'];
if(is_numeric($page)&&$page>0){
$page=(int)$page;
if(!($page<=$sitemap_part)) {
$page=1;
}
}else{
$page=1;
}
echo '<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
$query="select posts.* from posts where posts.post_status='publish' group by posts.postid order by time desc limit ".(($page-1)*$max_url_post).",$max_url_post ";
$mysql_query=mysql_query($query,$db_link);
while($line=mysql_fetch_array($mysql_query,MYSQL_A SSOC)){
echo '<url><loc>';
echo $host.'/post/'.($line['name'])."\n";
echo '</loc><lastmod>';
echo date('Y-m-d',$line['time']);
echo 'T';
echo date('H:i:sP',$line['time']);
echo '</lastmod><changefreq>monthly</changefreq><priority>never</priority></url>';
}
echo '</urlset>';
}else{
header("Content-Type: text/xml; charset=utf-8");
echo '<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
for($i=1;$i<=$sitemap_part;$i++){
echo '<sitemap><loc>'.$sitmap_url."$i".'</loc></sitemap>';
}
echo '</sitemapindex>';
}
مطالب سایت شما گروه بندی هستند؟
اگر آره بهترین روش هر گروه در یک فایل باشد ...
بنده به همین صورت برای سایت خبری ام انجام میدهم و هر چند ساعت نقشه سایت ایجاد میشه ...
خودم نظرم اینه که بیام بر اساس هر مثلا 1000 تا پست یه فایل جدا درست کنم. اما چون تعداد مطالب دقیقا مطابق آی دی نیست نمیشه دقیقا تشخیص داد 1000 تا از چه آی دی تا چه آی دی ـه .
مگه اینکه به صورت دستی 1000 تا رو مشخص کنیم و اون رو در یه فایل بسازیم.
تا 1000 تای بعدی هم به صورت داینامیک سایت مپ رو ایجاد کنیم. نظرتون چیه؟
سایت دسته بندی و تگ گذاری داره
اگه بخواهیم به این صورت عمل کنیم باید با ارسال هر پست اون کش رو حذف و مجدد بسازیم. ایده خوبیه اما تعداد دسته ها خیلی زیاده و تعداد پست های ارسال هم روزانه زیاده. به نظرت از لحاظ سئو و استفاده از منابع مشکلی پیش نمیاره؟
فرضا شما 10 گروه دارید، در نتیجه 10 فایل هم دارید، بروز رسانی فایل ها هم در بازه زمانی مورد نظر خودتان(فرضاً هر یک ساعت) با cron job انجام می شود.
اطلاعات قبلی از فایل ها حذف نمی شوند بلکه در هر مرحله اضافه می شوند ...
کسی نظر دیگه ای نداره؟
ساخت sitemapحرفه ای در لاراول برای سایتهای بزرگ و داده های حجیم که در مطلب مورد نظر کاملا توضیح داده شده است
https://jobteam.ir/ProductUser/97-Laravel-Sitemap-Xml
در زمانی که از وب مستر دارید سایت مپ معرفی میکنید در همان زمان عملیات ساخت سایت مپ را انجام دهید یعنی اتوماتیک زمانی که صفحه اجرا شد شما دستورات ساخت سایت مپ رو اجرا کنید و داخل sitemap.xml ذخیره کنید . ترتیب صفحات مهم که اول باشن خیلی مهمه .
معمولا داخل sitemap.xml تعداد سایت مپ هایی که با نام های 1 2 3 4 ساخته میشن رو واکشی میکنن . یه جایی خونده بودم تا 40 هزار لینک در یک سایت مپ مورد قبول گوگل هست .