View Full Version : متد جدید در شماره گذاری صفحات
mr.wolf
چهارشنبه 03 اردیبهشت 1393, 12:47 عصر
سلام
حتما تا حالا با Google Image Search یا Facebook کار کردید.
دیدین که با پایین رفتن صفحه (اسکرول) مطالب قدیمی تر بصورت خودکار لود میشن و نمایش داده میشن.
حالا سئوال من اینجاست:
من یه وب سایت دارم که مطالب خیلی زیادی رو توی دسته بندی های مختلف داره.
برای هر صفحه هم یه لینک کاملا بهینه شده SEO ساخته شده که با با کلیک کردن روی اون لینک ، صفحه مطلب باز میشه.
نقشه سایت هم تمام اون آدرس ها رو داره.
حالا اگر در قسمت نمایش دسته های مطالب (جایی که همون مطالب سایت بصورت دسته بندی شده نمایش داده میشن : عنوان + لینک به مطلب) دیگه شماره صفحه نداشته باشیم و مثل Google Image Search یا Facebook کار کنیم ، آیا از نظر SEO نکته منفی حساب میشه یا فرقی نمی کنه واسش ؟
alireza_s_84
چهارشنبه 03 اردیبهشت 1393, 13:00 عصر
سلام
حتما تا حالا با Google Image Search یا Facebook کار کردید.
دیدین که با پایین رفتن صفحه (اسکرول) مطالب قدیمی تر بصورت خودکار لود میشن و نمایش داده میشن.
حالا سئوال من اینجاست:
من یه وب سایت دارم که مطالب خیلی زیادی رو توی دسته بندی های مختلف داره.
برای هر صفحه هم یه لینک کاملا بهینه شده SEO ساخته شده که با با کلیک کردن روی اون لینک ، صفحه مطلب باز میشه.
نقشه سایت هم تمام اون آدرس ها رو داره.
حالا اگر در قسمت نمایش دسته های مطالب (جایی که همون مطالب سایت بصورت دسته بندی شده نمایش داده میشن : عنوان + لینک به مطلب) دیگه شماره صفحه نداشته باشیم و مثل Google Image Search یا Facebook کار کنیم ، آیا از نظر SEO نکته منفی حساب میشه یا فرقی نمی کنه واسش ؟
منظور شما InfiniteScroll هست که به جای کلیک روی لینک ، صفحه ی بعدی بارگذاری میشه.
سیستم ایندیکس موتورهای جستجو به اینصورت هست که با توجه به خصوصیت rel یک لینک با اون رفتار میکنن. حالا برای اینکه توی همچین سیستمهای بخوایم سئو رو اجرا کنیم به این شکل عمل میکنیم:
میدونیم که اینکار با استفاده از جاوا اسکریپت صورت میگیره. یعنی در رویداد onscroll شئی window (یا ممکنه یک div) وقتی کاربر به اندازه ی اسکرول کرد (معمولا 15 تا 20 درصد مانده به انتهای سند) یک درخواست ایجکس به سمت سرور صورت میگیره و محتوای صفحه ی بعدی لود میشه. برای مثال به شکل زیر:
if ($('#outer-post')) { var url = $('#outer-post').attr('data-url');
var pageNumber = 1;
var endpage = false;
var inProgress = false;
$(window).scroll(function () {
var percent = ($(document).height() * 20) / 100;
if (($(window).scrollTop() + $(window).height() >= $(document).height() - percent) && endpage != true && inProgress != true) {
var newUrl = url + '?page=' + pageNumber + '&date=' + (new Date).getTime().toString();
$.ajax({
type: 'get',
url: newUrl,
beforeSend: function (xhr) {
inProgress = true;
$("#outer-post .data-loader").show();
},
success: function (data) {
if (data.success) {
pageNumber++;
var id = 'page' + pageNumber;
var $div = $(data.html);
$div.insertBefore($('#outer-post .data-loader'));
bindPlaceholder($div);
}
else {
endpage = true;
}
},
complete: function (xhr, status) {
inProgress = false;
$("#outer-post .data-loader").hide();
}
});
}
});
}
خب تا اینجا مشکلی وجود نداره ولی با این روش ما دیگه ایندکس شدن صفحات و مطالبمون رو در صفحه های پیشین از دست میدیم چون اسپایدرها توانایی اجرای کدهای جاوا اسکریپت رو ندارن. پس باید برای اونها یک کاری بکنیم.
خیلی ساده یک تگ لینک به انتهای صفحه اضافه میکنیم و خصوصیت rel اون رو مقدار دهی میکنیم به شکل زیر:
<noscript> <a href="@Request.Url.AbsolutePath?page=@NextPage" rel="next">بارگذاری نگاشت های پیشین</a>
</noscript>
به این ترتیب اسپایدرها مدام این لینک رو دنبال میکنن تا وقتی که به صفحه ی آخر برسن و همه ی مطالب رو ایندکس میکنن. (در واقع به جای Pager ما یک لینک برای صفحه بعدی گذاشتیم)
rerzaz
چهارشنبه 21 خرداد 1393, 21:04 عصر
سلام من کد مطالب توی صفحه اصلی این هست
<div class="postin"><ul><?phpglobal $post;$myposts = get_posts(array('offset' => 0,'post_status'=>'publish'));foreach($myposts as $post) :setup_postdata($post);?><a href="<?php the_permalink(); ?>"><li class="recent_post_item"><?phpif(has_post_thumbnail()) {echo get_the_post_thumbnail($post->ID, array(80,80) );} ?><h2><?php echo get_post_meta($post->ID, 'reader',true); ?></h2><h3><?php echo get_post_meta($post->ID, 'nameso',true); ?></h3><div class="metap">
<item><div class="comnu"><?php comments_popup_link('0', '۱ ', '% '); ?></div></item><item><div class="pviwe"><?php if(function_exists('the_views')) { the_views(); } ?></div></item><item><div class="like">
</item></div>
</li></a><?php endforeach; ?><?php wp_reset_query(); ?></ul></div>
چجوری می تونم توی کد Jquery بالا جاش بدم که وقتی به پست پایین تر رسید بقیه رو اضافه کنه
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.