تاریخ عضویت: فروردین ۱۳۹۲
سپاس ها 101
سپاس شده 338 بار در 342 ارسال
سلام دوستان
در این آموزش مشکل ثبت نشدن آگهی ها در گوگل رو با چندتا تغییرات کوچیک حل خواهیم کرد.
قدم اول: فایل formatting.php رو در مسیر oc-includes\osclass باز کنید و به آخر فایل توابع زیر رو اضافه کنید.
کد php:
function seems_utf8 ( $str ) { $length = strlen ( $str ); for ( $i = 0 ; $i < $length ; $i ++) { $c = ord ( $str [ $i ]); if ( $c < 0x80 ) $n = 0 ; # 0bbbbbbb elseif (( $c & 0xE0 ) == 0xC0 ) $n = 1 ; # 110bbbbb elseif (( $c & 0xF0 ) == 0xE0 ) $n = 2 ; # 1110bbbb elseif (( $c & 0xF8 ) == 0xF0 ) $n = 3 ; # 11110bbb elseif (( $c & 0xFC ) == 0xF8 ) $n = 4 ; # 111110bb elseif (( $c & 0xFE ) == 0xFC ) $n = 5 ; # 1111110b else return false ; # Does not match any model for ( $j = 0 ; $j < $n ; $j ++) { # n bytes matching 10bbbbbb follow ? if ((++ $i == $length ) || (( ord ( $str [ $i ]) & 0xC0 ) != 0x80 )) return false ; } } return true ; } function utf8_uri_encode ( $utf8_string , $length = 0 ) { $unicode = '' ; $values = array(); $num_octets = 1 ; $unicode_length = 0 ; $string_length = strlen ( $utf8_string ); for ( $i = 0 ; $i < $string_length ; $i ++ ) { $value = ord ( $utf8_string [ $i ] ); if ( $value < 128 ) { if ( $length && ( $unicode_length >= $length ) ) break; $unicode .= chr ( $value ); $unicode_length ++; } else { if ( count ( $values ) == 0 ) $num_octets = ( $value < 224 ) ? 2 : 3 ; $values = $value ; if ( $length && ( $unicode_length + ( $num_octets * 3 ) ) > $length ) break; if ( count ( $values ) == $num_octets ) { if ( $num_octets == 3 ) { $unicode .= '%' . dechex ( $values [ 0 ]) . '%' . dechex ( $values [ 1 ]) . '%' . dechex ( $values [ 2 ]); $unicode_length += 9 ; } else { $unicode .= '%' . dechex ( $values [ 0 ]) . '%' . dechex ( $values [ 1 ]); $unicode_length += 6 ; } $values = array(); $num_octets = 1 ; } } } return $unicode ; } function sanitize_title_with_dashes ( $title ) { $title = strip_tags ( $title ); // Preserve escaped octets. $title = preg_replace ( '|%([a-fA-F0-9][a-fA-F0-9])|' , '---$1---' , $title ); // Remove percent signs that are not part of an octet. $title = str_replace ( '%' , '' , $title ); // Restore octets. $title = preg_replace ( '|---([a-fA-F0-9][a-fA-F0-9])---|' , '%$1' , $title ); $title = remove_accents ( $title ); if ( seems_utf8 ( $title )) { if ( function_exists ( 'mb_strtolower' )) { $title = mb_strtolower ( $title , 'UTF-8' ); } $title = utf8_uri_encode ( $title , 200 ); } $title = strtolower ( $title ); $title = preg_replace ( '/&.+?;/' , '' , $title ); // kill entities $title = str_replace ( '.' , '-' , $title ); $title = preg_replace ( '/[^%a-z0-9 _-]/' , '' , $title ); $title = preg_replace ( '/\s+/' , '-' , $title ); $title = preg_replace ( '|-+|' , '-' , $title ); $title = trim ( $title , '-' ); return $title ; }
قدم دوم : فایل item.php در مسیر oc-includes\osclass\controller باز کنید و در خطوط 640 تا 643 به جای
کد php:
if( $itemURI != $URI ) { $this -> redirectTo ( osc_base_url (). $itemURI , 301 ); }
کد زیر رو قرار بدید
کد php:
$camp = strcmp ( $itemURI , strtolower ( $URI )); if( $camp ) { $this -> redirectTo ( osc_base_url () . $itemURI ); }
قدم سوم: فایل hDefines.php در مسیر oc-includes\osclass\helpers باز کنید و در خط 495 بجای
کد php:
$url = str_replace ( '{ITEM_TITLE}' , osc_sanitizeString ( $item [ 's_title' ]), $url );
کد زیر رو قرار بدید
کد php:
$url = str_replace ( '{ITEM_TITLE}' , sanitize_title_with_dashes ( osc_item_title ()), $url );
تموم شد
حالا برید گوگل وبمستر بعد از اینکه سایت خودتون رو اد کردین از منوی Crawl زیر منوی Fetch as Google رو بزنید حالا آدرس های آگهی خود را فیلد آدرس وارد کنید و fetch رو بزنید بعد چند ثانیه نتیجه رو به شما نشون میده که لینک های شما قابل ثبت هست یا نه در قسمت Status میتونید وضعیت لینک رو مشاهد کنید.
مثلا در عکس پایین قبل و بعد تغییرات رو نشون میده کادر سبز کاملا ثبت شده و مشکلی از لحاظ گوگل نداره ولی کادر قرمز نشون میده که آگهی ریدایرکت میشه که قابل ثبت نیست.
پایان
فایل(های) پیوست شده
تصویر (ها)
سپاس شده توسط
سپاس ها 0
سپاس شده 0 بار در 0 ارسال
آقا دستت درد نکنه
فقط یه سوال ؟؟!!
الان ما برای تمامی آگهی هامون دونه دونه باید این کار رو انجام بدیم !!!؟؟؟
سپاس شده توسط
تاریخ عضویت: فروردین ۱۳۹۲
سپاس ها 101
سپاس شده 338 بار در 342 ارسال
نه این برای نشان دادن عملکرد درسته تغییرات بود بعد از انجام این تغییرات منتظر باید باشید تا گوگل وب سایت شما رو ایندکس کنه برای سریعتر کردن ایندکس بهتره از سایت مپ استفاده کنید.
سپاس شده توسط
سپاس ها 4
سپاس شده 9 بار در 7 ارسال
سلام مرتصی جان رو قالب نیاز هم باید اعمال کنم؟
سپاس شده توسط
تاریخ عضویت: فروردین ۱۳۹۲
سپاس ها 101
سپاس شده 338 بار در 342 ارسال
(۱۳۹۳-۰۷-۰۸، ۰۱:۱۲ ب.ظ) RayanBit نوشته است: سلام مرتصی جان رو قالب نیاز هم باید اعمال کنم؟
به قالب ربطی نداره در هسته تغییرات انجام میشه
سپاس شده توسط
سپاس ها 0
سپاس شده 1 بار در 1 ارسال
سلام
ضمن تشکر از این پست مفید اصلا نیاز نیست این کار را کرد . در خود گوگل وبمستر امکان ایندکس کردن همه لینک ها ی سایت وجود دارد .شما میتونید بعد از تست یک لینک برای ایندکس شدن ، در صورتی که لینک مورد نظر ایندکس نبود به پیشنها خود گوگل مراحل ایندکس شدن رو طی کنید .
سپاس شده توسط
سپاس ها 4
سپاس شده 3 بار در 2 ارسال
(۱۳۹۳-۰۷-۰۶، ۰۱:۱۸ ب.ظ) morteza نوشته است: سلام دوستان
در این آموزش مشکل ثبت نشدن آگهی ها در گوگل رو با چندتا تغییرات کوچیک حل خواهیم کرد.
قدم اول: فایل formatting.php رو در مسیر oc-includes\osclass باز کنید و به آخر فایل توابع زیر رو اضافه کنید.
کد php:
function seems_utf8 ( $str ) { $length = strlen ( $str ); for ( $i = 0 ; $i < $length ; $i ++) { $c = ord ( $str [ $i ]); if ( $c < 0x80 ) $n = 0 ; # 0bbbbbbb elseif (( $c & 0xE0 ) == 0xC0 ) $n = 1 ; # 110bbbbb elseif (( $c & 0xF0 ) == 0xE0 ) $n = 2 ; # 1110bbbb elseif (( $c & 0xF8 ) == 0xF0 ) $n = 3 ; # 11110bbb elseif (( $c & 0xFC ) == 0xF8 ) $n = 4 ; # 111110bb elseif (( $c & 0xFE ) == 0xFC ) $n = 5 ; # 1111110b else return false ; # Does not match any model for ( $j = 0 ; $j < $n ; $j ++) { # n bytes matching 10bbbbbb follow ? if ((++ $i == $length ) || (( ord ( $str [ $i ]) & 0xC0 ) != 0x80 )) return false ; } } return true ; } function utf8_uri_encode ( $utf8_string , $length = 0 ) { $unicode = '' ; $values = array(); $num_octets = 1 ; $unicode_length = 0 ; $string_length = strlen ( $utf8_string ); for ( $i = 0 ; $i < $string_length ; $i ++ ) { $value = ord ( $utf8_string [ $i ] ); if ( $value < 128 ) { if ( $length && ( $unicode_length >= $length ) ) break; $unicode .= chr ( $value ); $unicode_length ++; } else { if ( count ( $values ) == 0 ) $num_octets = ( $value < 224 ) ? 2 : 3 ; $values = $value ; if ( $length && ( $unicode_length + ( $num_octets * 3 ) ) > $length ) break; if ( count ( $values ) == $num_octets ) { if ( $num_octets == 3 ) { $unicode .= '%' . dechex ( $values [ 0 ]) . '%' . dechex ( $values [ 1 ]) . '%' . dechex ( $values [ 2 ]); $unicode_length += 9 ; } else { $unicode .= '%' . dechex ( $values [ 0 ]) . '%' . dechex ( $values [ 1 ]); $unicode_length += 6 ; } $values = array(); $num_octets = 1 ; } } } return $unicode ; } function sanitize_title_with_dashes ( $title ) { $title = strip_tags ( $title ); // Preserve escaped octets. $title = preg_replace ( '|%([a-fA-F0-9][a-fA-F0-9])|' , '---$1---' , $title ); // Remove percent signs that are not part of an octet. $title = str_replace ( '%' , '' , $title ); // Restore octets. $title = preg_replace ( '|---([a-fA-F0-9][a-fA-F0-9])---|' , '%$1' , $title ); $title = remove_accents ( $title ); if ( seems_utf8 ( $title )) { if ( function_exists ( 'mb_strtolower' )) { $title = mb_strtolower ( $title , 'UTF-8' ); } $title = utf8_uri_encode ( $title , 200 ); } $title = strtolower ( $title ); $title = preg_replace ( '/&.+?;/' , '' , $title ); // kill entities $title = str_replace ( '.' , '-' , $title ); $title = preg_replace ( '/[^%a-z0-9 _-]/' , '' , $title ); $title = preg_replace ( '/\s+/' , '-' , $title ); $title = preg_replace ( '|-+|' , '-' , $title ); $title = trim ( $title , '-' ); return $title ; }
قدم دوم : فایل item.php در مسیر oc-includes\osclass\controller باز کنید و در خطوط 640 تا 643 به جای
کد php:
if( $itemURI != $URI ) { $this -> redirectTo ( osc_base_url (). $itemURI , 301 ); }
کد زیر رو قرار بدید
کد php:
$camp = strcmp ( $itemURI , strtolower ( $URI )); if ( $camp ) { $this -> redirectTo ( osc_base_url () . $itemURI ); }
قدم سوم: فایل hDefines.php در مسیر oc-includes\osclass\helpers باز کنید و در خط 495 بجای
کد php:
$url = str_replace ( '{ITEM_TITLE}' , osc_sanitizeString ( $item [ 's_title' ]), $url );
کد زیر رو قرار بدید
کد php:
$url = str_replace ( '{ITEM_TITLE}' , sanitize_title_with_dashes ( osc_item_title ()), $url );
تموم شد
حالا برید گوگل وبمستر بعد از اینکه سایت خودتون رو اد کردین از منوی Crawl زیر منوی Fetch as Google رو بزنید حالا آدرس های آگهی خود را فیلد آدرس وارد کنید و fetch رو بزنید بعد چند ثانیه نتیجه رو به شما نشون میده که لینک های شما قابل ثبت هست یا نه در قسمت Status میتونید وضعیت لینک رو مشاهد کنید.
مثلا در عکس پایین قبل و بعد تغییرات رو نشون میده کادر سبز کاملا ثبت شده و مشکلی از لحاظ گوگل نداره ولی کادر قرمز نشون میده که آگهی ریدایرکت میشه که قابل ثبت نیست.
پایان
سلام
تغییراتی که ن.شتید انجام دادم ---} صفحه اصلی سایت را که باز میکنم بالای صفحه پیغام زیر میاد:
function seems_utf8($str) { $length = strlen($str); for ($i=0; $i < $length; $i++) { $c = ord($str[$i]); if ($c < 0x80) $n = 0; # 0bbbbbbb elseif (($c & 0xE0) == 0xC0) $n=1; # 110bbbbb elseif (($c & 0xF0) == 0xE0) $n=2; # 1110bbbb elseif (($c & 0xF8) == 0xF0) $n=3; # 11110bbb elseif (($c & 0xFC) == 0xF8) $n=4; # 111110bb elseif (($c & 0xFE) == 0xFC) $n=5; # 1111110b else return false; # Does not match any model for ($j=0; $j<$n; $j++) { # n bytes matching 10bbbbbb follow ? if ((++$i == $length) || ((ord($str[$i]) & 0xC0) != 0x80)) return false; } } return true; } function utf8_uri_encode( $utf8_string, $length = 0 ) { $unicode = ''; $values = array(); $num_octets = 1; $unicode_length = 0; $string_length = strlen( $utf8_string ); for ($i = 0; $i < $string_length; $i++ ) { $value = ord( $utf8_string[ $i ] ); if ( $value < 128 ) { if ( $length && ( $unicode_length >= $length ) ) break; $unicode .= chr($value); $unicode_length++; } else { if ( count( $values ) == 0 ) $num_octets = ( $value < 224 ) ? 2 : 3; $values = $value; if ( $length && ( $unicode_length + ($num_octets * 3) ) > $length ) break; if ( count( $values ) == $num_octets ) { if ($num_octets == 3) { $unicode .= '%' . dechex($values[0]) . '%' . dechex($values[1]) . '%' . dechex($values[2]); $unicode_length += 9; } else { $unicode .= '%' . dechex($values[0]) . '%' . dechex($values[1]); $unicode_length += 6; } $values = array(); $num_octets = 1; } } } return $unicode; } function sanitize_title_with_dashes( $title) { $title = strip_tags($title); // Preserve escaped octets. $title = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', '---$1---', $title); // Remove percent signs that are not part of an octet. $title = str_replace('%', '', $title); // Restore octets. $title = preg_replace('|---([a-fA-F0-9][a-fA-F0-9])---|', '%$1', $title); $title = remove_accents($title); if (seems_utf8($title)) { if (function_exists('mb_strtolower')) { $title = mb_strtolower($title, 'UTF-8'); } $title = utf8_uri_encode($title, 200); } $title = strtolower($title); $title = preg_replace('/&.+?;/', '', $title); // kill entities $title = str_replace('.', '-', $title); $title = preg_replace('/[^%a-z0-9 _-]/', '', $title); $title = preg_replace('/\s+/', '-', $title); $title = preg_replace('|-+|', '-', $title); $title = trim($title, '-'); return $title; }
چطور میشه این مشکل را حل کرد؟
سپاس شده توسط
سپاس ها 4
سپاس شده 3 بار در 2 ارسال
(۱۳۹۵-۰۴-۲۶، ۱۲:۲۸ ب.ظ) delijanisp نوشته است: (۱۳۹۳-۰۷-۰۶، ۰۱:۱۸ ب.ظ) morteza نوشته است: سلام دوستان
در این آموزش مشکل ثبت نشدن آگهی ها در گوگل رو با چندتا تغییرات کوچیک حل خواهیم کرد.
قدم اول: فایل formatting.php رو در مسیر oc-includes\osclass باز کنید و به آخر فایل توابع زیر رو اضافه کنید.
کد php:
function seems_utf8 ( $str ) { $length = strlen ( $str ); for ( $i = 0 ; $i < $length ; $i ++) { $c = ord ( $str [ $i ]); if ( $c < 0x80 ) $n = 0 ; # 0bbbbbbb elseif (( $c & 0xE0 ) == 0xC0 ) $n = 1 ; # 110bbbbb elseif (( $c & 0xF0 ) == 0xE0 ) $n = 2 ; # 1110bbbb elseif (( $c & 0xF8 ) == 0xF0 ) $n = 3 ; # 11110bbb elseif (( $c & 0xFC ) == 0xF8 ) $n = 4 ; # 111110bb elseif (( $c & 0xFE ) == 0xFC ) $n = 5 ; # 1111110b else return false ; # Does not match any model for ( $j = 0 ; $j < $n ; $j ++) { # n bytes matching 10bbbbbb follow ? if ((++ $i == $length ) || (( ord ( $str [ $i ]) & 0xC0 ) != 0x80 )) return false ; } } return true ; } function utf8_uri_encode ( $utf8_string , $length = 0 ) { $unicode = '' ; $values = array(); $num_octets = 1 ; $unicode_length = 0 ; $string_length = strlen ( $utf8_string ); for ( $i = 0 ; $i < $string_length ; $i ++ ) { $value = ord ( $utf8_string [ $i ] ); if ( $value < 128 ) { if ( $length && ( $unicode_length >= $length ) ) break; $unicode .= chr ( $value ); $unicode_length ++; } else { if ( count ( $values ) == 0 ) $num_octets = ( $value < 224 ) ? 2 : 3 ; $values = $value ; if ( $length && ( $unicode_length + ( $num_octets * 3 ) ) > $length ) break; if ( count ( $values ) == $num_octets ) { if ( $num_octets == 3 ) { $unicode .= '%' . dechex ( $values [ 0 ]) . '%' . dechex ( $values [ 1 ]) . '%' . dechex ( $values [ 2 ]); $unicode_length += 9 ; } else { $unicode .= '%' . dechex ( $values [ 0 ]) . '%' . dechex ( $values [ 1 ]); $unicode_length += 6 ; } $values = array(); $num_octets = 1 ; } } } return $unicode ; } function sanitize_title_with_dashes ( $title ) { $title = strip_tags ( $title ); // Preserve escaped octets. $title = preg_replace ( '|%([a-fA-F0-9][a-fA-F0-9])|' , '---$1---' , $title ); // Remove percent signs that are not part of an octet. $title = str_replace ( '%' , '' , $title ); // Restore octets. $title = preg_replace ( '|---([a-fA-F0-9][a-fA-F0-9])---|' , '%$1' , $title ); $title = remove_accents ( $title ); if ( seems_utf8 ( $title )) { if ( function_exists ( 'mb_strtolower' )) { $title = mb_strtolower ( $title , 'UTF-8' ); } $title = utf8_uri_encode ( $title , 200 ); } $title = strtolower ( $title ); $title = preg_replace ( '/&.+?;/' , '' , $title ); // kill entities $title = str_replace ( '.' , '-' , $title ); $title = preg_replace ( '/[^%a-z0-9 _-]/' , '' , $title ); $title = preg_replace ( '/\s+/' , '-' , $title ); $title = preg_replace ( '|-+|' , '-' , $title ); $title = trim ( $title , '-' ); return $title ; }
قدم دوم : فایل item.php در مسیر oc-includes\osclass\controller باز کنید و در خطوط 640 تا 643 به جای
کد php:
if( $itemURI != $URI ) { $this -> redirectTo ( osc_base_url (). $itemURI , 301 ); }
کد زیر رو قرار بدید
کد php:
$camp = strcmp ( $itemURI , strtolower ( $URI )); if ( $camp ) { $this -> redirectTo ( osc_base_url () . $itemURI ); }
قدم سوم: فایل hDefines.php در مسیر oc-includes\osclass\helpers باز کنید و در خط 495 بجای
کد php:
$url = str_replace ( '{ITEM_TITLE}' , osc_sanitizeString ( $item [ 's_title' ]), $url );
کد زیر رو قرار بدید
کد php:
$url = str_replace ( '{ITEM_TITLE}' , sanitize_title_with_dashes ( osc_item_title ()), $url );
تموم شد
حالا برید گوگل وبمستر بعد از اینکه سایت خودتون رو اد کردین از منوی Crawl زیر منوی Fetch as Google رو بزنید حالا آدرس های آگهی خود را فیلد آدرس وارد کنید و fetch رو بزنید بعد چند ثانیه نتیجه رو به شما نشون میده که لینک های شما قابل ثبت هست یا نه در قسمت Status میتونید وضعیت لینک رو مشاهد کنید.
مثلا در عکس پایین قبل و بعد تغییرات رو نشون میده کادر سبز کاملا ثبت شده و مشکلی از لحاظ گوگل نداره ولی کادر قرمز نشون میده که آگهی ریدایرکت میشه که قابل ثبت نیست.
پایان
سلام
تغییراتی که ن.شتید انجام دادم ---} صفحه اصلی سایت را که باز میکنم بالای صفحه پیغام زیر میاد:
function seems_utf8($str) { $length = strlen($str); for ($i=0; $i < $length; $i++) { $c = ord($str[$i]); if ($c < 0x80) $n = 0; # 0bbbbbbb elseif (($c & 0xE0) == 0xC0) $n=1; # 110bbbbb elseif (($c & 0xF0) == 0xE0) $n=2; # 1110bbbb elseif (($c & 0xF8) == 0xF0) $n=3; # 11110bbb elseif (($c & 0xFC) == 0xF8) $n=4; # 111110bb elseif (($c & 0xFE) == 0xFC) $n=5; # 1111110b else return false; # Does not match any model for ($j=0; $j<$n; $j++) { # n bytes matching 10bbbbbb follow ? if ((++$i == $length) || ((ord($str[$i]) & 0xC0) != 0x80)) return false; } } return true; } function utf8_uri_encode( $utf8_string, $length = 0 ) { $unicode = ''; $values = array(); $num_octets = 1; $unicode_length = 0; $string_length = strlen( $utf8_string ); for ($i = 0; $i < $string_length; $i++ ) { $value = ord( $utf8_string[ $i ] ); if ( $value < 128 ) { if ( $length && ( $unicode_length >= $length ) ) break; $unicode .= chr($value); $unicode_length++; } else { if ( count( $values ) == 0 ) $num_octets = ( $value < 224 ) ? 2 : 3; $values = $value; if ( $length && ( $unicode_length + ($num_octets * 3) ) > $length ) break; if ( count( $values ) == $num_octets ) { if ($num_octets == 3) { $unicode .= '%' . dechex($values[0]) . '%' . dechex($values[1]) . '%' . dechex($values[2]); $unicode_length += 9; } else { $unicode .= '%' . dechex($values[0]) . '%' . dechex($values[1]); $unicode_length += 6; } $values = array(); $num_octets = 1; } } } return $unicode; } function sanitize_title_with_dashes( $title) { $title = strip_tags($title); // Preserve escaped octets. $title = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', '---$1---', $title); // Remove percent signs that are not part of an octet. $title = str_replace('%', '', $title); // Restore octets. $title = preg_replace('|---([a-fA-F0-9][a-fA-F0-9])---|', '%$1', $title); $title = remove_accents($title); if (seems_utf8($title)) { if (function_exists('mb_strtolower')) { $title = mb_strtolower($title, 'UTF-8'); } $title = utf8_uri_encode($title, 200); } $title = strtolower($title); $title = preg_replace('/&.+?;/', '', $title); // kill entities $title = str_replace('.', '-', $title); $title = preg_replace('/[^%a-z0-9 _-]/', '', $title); $title = preg_replace('/\s+/', '-', $title); $title = preg_replace('|-+|', '-', $title); $title = trim($title, '-'); return $title; }
چطور میشه این مشکل را حل کرد؟
درست شد تو formatting.php باید کد جدید را قبل از ?> قرار بدیم .
سپاس شده توسط
سپاس ها 0
سپاس شده 0 بار در 0 ارسال
این صفحات باز هم ریدایرکت میشن منظورم : index.php?page=search&sCategory=100
صفحه سرچ دسته بندیها باز هم ریدایرکت میشن
سپاس شده توسط
تاریخ عضویت: فروردین ۱۳۹۲
سپاس ها 101
سپاس شده 338 بار در 342 ارسال
فعلا مشکل ریدایرکت آگهی ها حل شده و قابل ایندکس هستن
سپاس شده توسط