PDA

View Full Version : ajax + seo



ariou879
سه شنبه 29 مهر 1393, 12:42 عصر
با سلام
من یک وبسایت دارم که صفحه محصولاتش با ajax کار میکنه. کاربر روی هر محصول که کلیک میکنه لینکش به صورت زیر هست:

<a href="#" id="50" onclick="showUser(this.id)">Product x</a>

یک تابع جاوا اسکریپت به صورت زیر در صفحه وجود داره که id محصول رو میگیره و درخواست رو به سرور ارسال میکنه:


<script type="text/javascript">
function showUser(str)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","showProductInfo.php?q="+str,true);
xmlhttp.send();
}
</script>


فایل سمت سرور اسمش showProductInfo.php هست که id رو توی query string میخونه و مشخصات محصول رو از توی دیتابیس برمیگردونه به تابع جاوا اسکریپت. و اون تابع هم مشخصات رو توی یک div نمایش میده.

محتویات فایل showProductInfo.php:


<?php
$q=$_GET["q"];


$con = mysql_connect('localhost', 'root', '');
if (!$con)
{
die('Could not connect: ' . mysql_error());
}


mysql_select_db("com", $con);
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET SESSION collation_connection = 'utf8_persian_ci'");




$sql="SELECT * FROM products WHERE id = '".$q."'";


$result = mysql_query($sql);


while($row = mysql_fetch_array($result))
{
echo "<div style='float: left;'><img src='".$row['imagePath']."' id='productImg' style='width:230px; height:230px;'/></div>";
echo "<div style='float: right; width: 470px; text-align:justify; direction:rtl;'><p><b>".$row['productName']."</b><br /><br />".$row['des']."<br/>".$row['pdfPath']."<br/></p></div>";
}



mysql_close($con);


//echo "<a href='products.php'>back</a>";


?>


من میخوام برای این صفحه از یکی از تکنیک های hijax یا google crawling scheme استفاده کنم که گوگل محتوای ایجکسی من رو هم ببینه. اما موفق نشدم. خواهش میکنم راهنمایی بفرمایید.
ممنون

SlowCode
شنبه 03 آبان 1393, 08:53 صبح
برای اینکار باید مقدار خاصیت href تگ a رو درست تنظیم کنی(از # استفاده نکن، لینک صفحه ات رو بده) و تو رویداد onClick تو آخر کد js یه return false بنویسی تا redirect به لینک href انجام نشه.
این سایت رو خودتون نوشتین؟
ماشالا امنیتش خیلی بالاست!!:لبخندساده:


$q=$_GET["q"];
$sql="SELECT * FROM products WHERE id = '".$q."'";