شنبه ۲۲ شهریور ۱۴۰۴

Saturday, September 13, 2025 GMT +3:30

مقایسه خطای 404 و کد 301 ریدایرکت (Redirect)

web-http-redirect-error

یکی از مهم ترین مسائل در دانش سئو (SEO مخفف Search Engine Optimization و به معنی بهینه سازی صفحات وب برای موتورهای جستجو) این است که در پاسخ درخواست موتورهای جستجو برای دریافت محتوای URL چه کد HTTP ای باید از طرف سرور تنظیم شود، شاید برای کاربران عادی سایت ها و وبلاگ ها این مسئله چندان فرقی نکند و مهم صفحه و محتوایی باشد که نمایش داده می شود، اما از نظر موتورهای جستجو اینکه یک سرور در پاسخ به درخواست دریافت URL چه کد HTTP ای برمی گرداند می تواند نقش تعیین کننده ای در نحوه عملکرد آنها داشته باشد، بعضا مشاهده می شود که به دلیل اشتباه یا ناآگاهی از نحوه عملکرد کدهای HTTP حتی کلیه محتوای یک سایت که در ظاهر مشکلی نداشته از لیست نتایج جستجو حذف شده است، از جمله مهم ترین این اشتباهات استفاده نادرست از کد خطای 404 به جای کد 301 ریدایرکت است، به همین دلیل در این مطلب می خواهیم این دو کد را با هم مقایسه کنیم تا با کاربردها و تفاوت های آنها بیشتر آشنا شویم.

چگونه کدهای HTTP سرور را بررسی کنیم؟


ممکن است برایمان این سوال مطرح باشد که چگونه می توانیم مطمئن شویم سرور در پاسخ درخواست ها چه کد وضعیت HTTP را برمی گرداند؟
در پاسخ باید گفت در مرورگرهایی نظیر فایرفاکس، گوگل کروم و... معمولا قسمتی تحت عنوان Web Developer، Developer Tools، Web Console یا عباراتی شبیه به این وجود دارد که در آنها ابزارهای بسیار خوبی برای برنامه نویسان وب و مدیران سایت ها ارائه می شود، به طور مثال هنگام ورود به یک سایت یا صفحه وب جزئیات کاملی از پاسخ های سرور نمایش داده می شود.
Browser Console Status
نکته: معمولا با زدن دکمه F12 صفحه کلید در مرورگرها قسمت مربوط به بررسی کدهای وضعیت HTTP و سایر امکانات خطایابی در دسترس قرار می گیرد.
علاوه بر این گوگل نیز در ابزار وبمستر خود امکانی تحت عنوان Fetch as Googlebot دارد که با آن می توانیم صفحات خود را با ربات گوگل دریافت و از کارکرد صحیح آنها اطمینان حاصل کنیم، این خدمات گوگل در آدرس 
https://www.google.com/webmasters
ارائه می شود.

کد HTTP 200 یا وضعیت Ok چیست؟


قبل از اینکه بخواهیم خطای 404 را با کد 301 ریدایرکت مقایسه کنیم باید اول ببینیم که پاسخ سرور در حالت عادی چگونه است و اصلا این کدها به چه معنی هستند؟!
طبق پروتکل های وب و از جمله پروتکل HTTP در تعامل بین واسط کاربری (User-agent) و سرور (Server) به طور مثال تعامل بین مرورگر کاربر و سرور یک سایت کدهایی از طرف سرور به عنوان پاسخ به درخواست مرورگر ارسال می شود که وضعیت منبع درخواست شده را تعیین می کند، به فرض اگر منبع درخواستی از URL یک فایل تصویر بوده:
http://example.com/images/tree.png
و این فایل قبلا حذف شده یا تغییر نام داده باشد کد 404 به عنوان عدم پیدا شدن منبع درخواستی یا کد 301 به عنوان تغییر نام یا تغییر محل نگهداری تصویر به مرورگر ارسال می شود، به همین صورت این کد در حالتی که همه چیز روبه راه و به اصطلاح وضعیت Ok باشد با عدد 200 ارسال می شود که نشان دهنده مرتب بودن اوضاع و بدون مشکل بودن سرور و منبع درخواستی است.
Request URL: http://example.com/images/tree.png
Request Method: GET
Status Code: 200 OK
همان طور که گفتیم گاهی خواسته یا ناخواسته ممکن است مشکلی وجود داشته باشد و سرور نتواند منبع مورد نظر را به درستی در پاسخ درخواست ارسال کند و در اینجاست که اهمیت کدهای خطای HTTP مشخص می شود، شاید کاربر عادی (انسان) برایش چندان فرقی نکند که چه کدی از طرف سرور ارسال شده است اما موتورهای جستجو به دلیل ماهیتشان نمی توانند مثل انسان ها اوضاع را تجزیه تحلیل کنند و تنها به کدی که به عنوان پاسخ برگردانده می شود اهمیت می دهند، فرض کنیم سایتی دچار مشکل شده است و نمی تواند منبع درخواست شده را پیدا کند اما با این وجود در مقابل درخواست ربات جستجوگر کد 200 HTTP یا وضعیت Ok را برگرداند، واضح است که در چنین شرایطی ربات تصور می کند همه چیز مرتب است و صفحه دارای مشکل که بعضا ممکن است فاقد محتوا یا پیغام خطا در آن نشان داده شده باشد را ایندکس (ذخیره) می کند، از این وضعیت بدتر اینکه ممکن است منبع درخواستی در سرور وجود داشته باشد اما با ارسال کد HTTP نادرست (به فرض 404) ربات تصور کند که محتوای مد نظرش حذف شده و در دسترس نیست!
برای جلوگیری از بروز اینگونه مشکلات باید در هر وضعیت از کد خطای 404 و 301 ریدایرکت متناسب آن استفاده کنیم که البته هر کدام موارد استفاده جداگانه ای دارند که در ادامه به آنها اشاره خواهیم کرد.

کد خطای 404، صفحه مورد نظر پیدا نشد!


کد خطای 404 یا Not Found به این معنی است که سرور نمی تواند منبع درخواستی (اعم از صفحه وب، فایل و...) را پیدا کند و دلیل خطای 404 یا Not Found معمولا حذف مطلب یا فایل و یا تغییر نام آنها است، گاهی مواقع برای اینکه به ربات های جستجوگر بگوییم که محتوای مد نظر آنها دیگر وجود ندارد و آن را از لیست جستجو حذف کنند، باید با کد 404 HTTP به درخواست آنها پاسخ دهیم، معمولا سرورها در حالت عادی این کار را برای لینک ها و فایل هایی که واقعا وجود ندارند به صورت خودکار انجام می دهند اما گاهی نیاز است که به صورت آگاهانه این کد خطا را تنظیم کنیم، به طور مثال برای دایرکتوری هایی که از نظر ما حساس هستند و نمی خواهیم ربات آنها را پیدا کند (به فرض دایرکتوری پنل مدیریت سایت) و یا در مورد لینک های داینامیک ناقص که ممکن است برنامه سمت سرور به جای خطای 404 صفحه اصلی سایت را نمایش دهد، در این حالت ها لازم است که به صورت دستی کد خطای 404 تنظیم کنیم و خواهیم دید که خزنده های جستجوگر بعد از چند بار مراجعه و درخواست محتوا، نهایتا منصرف شده و آن لینک را به عنوان لینک مُرده برچسب گذاری می کنند.

چگونه کد خطای 404 HTTP را تنظیم کنیم؟


تنظیم کد خطای 404 HTTP بسته به اینکه هدفتان چه باشد می تواند کار ساده و در عین حال حساسی باشد، اشتباه در این کار می تواند به قیمت حذف سایت یا صفحه از لیست نتایج جستجو تمام شود، با این وجود برای انجام این کار معمولا دو راه پرکاربرد وجود دارد:
استفاده از دستورات فایل htaccess. و یا استفاده از زبان های برنامه نویسی سمت سرور مانند PHP یا ASP که در مثال های زیر روش استفاده از دستورات فایل htaccess. و برنامه نویسی PHP را بررسی می کنیم.

تنظیم خطای 404 با دستورات فایل htaccess.


در سرورهای Apache معمولا می توانیم با ایجاد فایلی با نام htaccess. در ریشه سایت (فولدر www یا public_html) بر روی اینگونه عملکردهای سرور کنترل داشته باشیم (در صورت نیاز در این رابطه باید از پشتیبانی هاستمان سوال کنیم)، این فایل در صورت عدم وجود دقیقا به همین صورت صرفا با پسوند htaccess و بدون نام باید ساخته شود.
همانطور که گفتیم سرورها در حالت معمول به طور خودکار خطای 404 را برای صفحات و فایل هایی که به هر دلیل در دسترس نباشند نمایش خواهند داد، اما برای تنظیم صفحه ای سفارشی که کاربر را پس از دریافت خطا با اطلاعات مد نظرمان راهنمایی کند یا او را به آدرس دیگری منتقل نماید، می توان از دستوری مشابه نمونه دستور زیر استفاده کرد:
ErrorDocument 404 /404errorpage.html
کافی است دستور بالا را در فایل htaccess. قرار دهیم (اگر این فایل در سرور وجود ندارد می توانیم در محیط مدیر فایل سرور یا با کپی از فایل های موجود آن را بسازیم)، از این به بعد سرور به جای نمایش صفحه پیش فرض صفحه موجود در ریشه سایت با نام 404errorpage.html را نمایش خواهد داد، همچنین می توانیم این صفحه را در یک فولدر دیگر نیز قرار دهیم:
ErrorDocument 404 /error/404errorpage.html
دقت کنیم که حتما آدرس ها باید به شکل بالا در یک خط و به صورت دایرکتوری تنظیم شده باشند، به فرض تنظیم به صورت
http://www.example.com/error/404errorpage.html
صحیح نیست، از طرفی می توانیم درون صفحه 404 سفارشی از متاتگ های robots و مقادیر noindex استفاده کنیم تا از عدم ذخیره صفحه توسط ربات ها مطمئیم شویم.
<meta name="robots" content="noindex">
این متاتگ را باید در قسمت header صفحه 404 بین تگ های head قرار دهیم.

تنظیم خطای 404 با برنامه نویسی PHP


علاوه بر دستورات htaccess می توانیم با برنامه نویسی سمت سرور و کدهای PHP نیز خطاهای 404 را مدیریت کنیم، برای این کار کافی است با استفاده از توابع header در PHP کد 404 HTTP را در پاسخ درخواست کاربر از سرور به مرورگر (یا هر واسط کاربری دیگری) ارسال کنیم:
<?php
header('HTTP/1.0 404 Not Found');
?>
دقت کنیم که دستورات مربوط به header در PHP باید قبل از چاپ هر نوع خروجی متنی یا HTML اجرا شوند در غیر این صورت با خطا ی 
Warning: Cannot modify header information - headers already sent
مواجه خواهیم شد.

خطای Soft 404 چیست؟


علاوه بر خطای 404 حقیقی که با دریافت کد 404 در سربرگ های HTTP مشخص می شود، نوعی خطای عدم پیدا شدن منبع درخواستی با عنوان Soft 404 error وجود دارد که در این حالت فقط صفحه ظاهری خطا نمایش داده می شود بدون اینکه واقعا کد 404 HTTP در Header پاسخ از طرف سرور تنظیم و ارسال شود (به جای کد 404 کد 200 و وضعیت Ok ارسال می شود)، هرچند این کار می تواند در مواقع خیلی ضروری که نیاز به غیر فعال کردن موقت یک منبع (صفحه، فایل و...) صرفا از دید کاربران (و نه موتورهای جستجو) است مفید باشد اما باید دقت کنیم که در صورت مراجعه ربات های جستجوگر و دریافت پاسخ 200، محتویات فعلی منبع جایگزین محتویات از پیش ایندکس شده آن خواهند شد و بدیهی است که ایندکس شدن محتوای صفحه خطا تاثیر منفی بر SEO را در پی خواهد داشت.
باید سعی کنیم تا حد امکان از عدم وجود خطاهای Soft 404 در کل سایتمان اطمینان حاصل کنیم و در صورتی که نیاز به استفاده از این نوع خطا داشتیم در حداقل زمان ممکن وضعیت را به حالت عادی برگردانیم.

کد 301 HTTP ریدایرکت چیست؟


گفتیم خطای 404 برای لینک هایی مناسب است که می خواهیم از لیست جستجو حذف شوند یا دیگر مورد درخواست ربات های خزنده قرار نگیرند، اما فرض کنیم به تازگی سایت خود را از دامنه قبلی به آدرس جدیدی منتقل یا تغییراتی در ساختار لینک های آن اعمال کرده باشیم، مسلم است که اگر بدون اطلاع موتورهای جستجو این کار را انجام دهیم تمام تلاش هایمان و اعتبار کسب شده برای آن سایت و لینک های قبلی به هدر خواهد رفت، اما اگر کد 301 HTTP ریدایرکت (Redirect 301) را به درستی تنظیم کنیم موتورهای جستجو و کاربران به راحتی و بدون از دست رفتن اعتبار قبلی به آدرس جدید محتوای مد نظرشان هدایت می شوند، در مورد موتورهای جستجو وقتی آنها در پاسخ درخواست کد 301 را دریافت می کنند، آدرس جدید را جایگزین لینک قدیمی کرده و تمام ویژگی ها، رنک و امتیازات را از آدرس قبلی به آدرس جدید انتقال می دهند (البته معمولا این کار مدت زمان کوتاهی طول می کشد)، در مورد کاربران نیز مرورگرها به طور خودکار به آدرس جدید هدایت می شوند (حتی ممکن است سرعت انتقال در حدی باشد که متوجه این فرآیند نشویم).
نکته: تنظیم کد 301 ریدایرکت شیوه توصیه شده موتورهای جستجو از جمله گوگل جهت انتقال از آدرس های قبلی به آدرس جدید است.

تنظیم کد 301 ریدایرکت با دستورات فایل htaccess.


مانند خطای 404 می توانیم کد 301 ریدایرکت را هم با دستوراتی در فایل htaccess. تنظیم کنیم و برای این کار از Flag [R] استفاده می کنیم، در مثال زیر این کار برای فایل index.html انجام شده است و کاربر در صورت درج عبارت index.html در آدرس URL به صفحه اصلی سایت هدایت می شود.
RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.html
RewriteRule ^index.html$ https://webgoo.ir [R=301,L]
دقت کنیم که ممکن است برخی سرورها قابلیت کنترل با دستورات فایل htaccess. را غیرفعال کرده باشند (معمولا این قابلیت فعال است)، در اینگونه موارد باید با پشتیبان هاست خود موضوع را مطرح کنیم.
نکته: برای اطمینان از فعال بودن فایل htaccess. در سرور کافی است در این فایل یک دستور ناقص مانند کد زیر درج کنیم:
.htaccess Test!
اگر با اجرای سایت خطای
500 Internal Server Error
دریافت کنیم یعنی سایت تنظیمات فایل htaccess. را پردازش کرده و این قابلیت فعال است، در غیر این صورت باید موضوع را جهت فعال سازی به پشتیبانی هاست اطلاع دهیم.

تنظیم کد 301 ریدایرکت با برنامه نویسی PHP


با استفاده از تابع header در PHP و تنظیم آدرس URL جدید جهت انتقال، می توانیم لینک را به اصطلاح برای همیشه (Permanently) منتقل کنیم، به طور مثال:
<?php
header('HTTP/1.1 301 Moved Permanently');    
header('Location: https://webgoo.ir');
die();
?>
همان طور که دیدیم شرایط و موقعیت های استفاده از خطای 404 با 301 ریدایرکت متفاوت است و باید هوشمندانه و به جا از این کدها در برنامه مدیریت سایتمان استفاده کنیم.
دسته بندی: مهارتهای وب » بهینه سازی
related مطالب بیشتر:
نحوه استفاده از فایل robots.txt در سایت
دوباره نویسی آدرس های وب (URL Rewrite) در htaccess
چگونه سایت یا وبلاگ را برای موتورهای جستجو بهینه سازی کنیم؟
مشکلات رایج در کدنویسی معتبر و رفع آنها
پیج رنک چیست و چگونه می توان آن را افزایش داد؟
دیدگاه
more ۲۸ دیدگاه برای این مطلب ارسال شده است.
more چینش دیدگاه ها به ترتیب از جدیدترین به قدیمی ترین است.
۲۲:۲۲ ۱۴۰۰/۰۶/۲۱
درود بر شما
آقا باز من برگشتم با یه سوال فنی دیگه دنبال یه کد ریدایرکت میگردم که یجای سایت بزارم که لینک دانلود رو اصلاح کنه یعنی این رو:
https://france.van-movie.ir/3/2021/3/Kate.2021.480p.Bluray.mkv
که الان قطع شده توی سایت تبدیل کنه به:
https://dl2.van-movie.ir/3/2021/3/Kate.2021.480p.Bluray.mkv
که وصله
هدفم اینه که کسی لینک دانلود واقعی رو نتونه کپی کنه به این راحتی یعنی من توی سایت با سابدامین https://france.van-movie.ir لینک ها رو مینویسم اما دانلود از آدرس https://dl2.van-movie.ir انجام بشه
میشه چنین کاری کرد؟
احتمالا با نمونه دستور زیر در فایل htaccess این کار شدنی باشد:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^old\.example\.com$ [NC]
RewriteRule ^(.*) https://new.example.com/$1 [L]
قاعدتا به جای old و new و example.com باید اطلاعات سایت و ساب دامین ها را جایگزین کنید، فایل htaccess را در ساب دامین قرار دهید، اگر مشکلی بود در ریشه سایت هم تست کنید.
۲۱:۵۹ ۱۴۰۰/۰۶/۰۵
نه هنوز مشکلم رفع نشده
فقط صفحه اصلیم منتقل میشه اونم چون که از توی وردپرس و قسمت تنظیمات آدرس جدید رو وارد کردم توش ولی مطالب نمیشه
الان این لینک
https://music-1.ir/%D9%85%D9%88%D8%B2%DB%8C%DA%A9-%D9%88%DB%8C%D8%AF%DB%8C%D9%88-%D8%AC%D8%AF%DB%8C%D8%AF-%D8%A7%D9%85%DB%8C%D8%B1-%D8%AE%D9%84%D9%88%D8%AA-%D8%AA%D8%A7-%D8%A2%D8%AE%D8%B1/
وقتی بازش میکنی با همین دامین باز میکنه و جدیدرو نمیاره!
ظاهرا که دستورات مشکل خاصی ندارند، برای رفع مشکل نیاز به دسترسی به پنل هاست و بررسی فایل htaccess جهت آزمایش و خطا است، در صورت تمایل می توانید اطلاعات یک اکانت آزمایشی را ارسال یا برای بررسی با برنامه TeamViewer از طریق فرم تماس هماهنگی کنید.
۱۷:۳۱ ۱۴۰۰/۰۶/۰۵
سلام و وقت بخیر خدمت شما بزرگوار
یه کد ریدایرکت میخوام برای انتقال یک سایت به سابدامین یک سایت دیگه یعنی میخوام آدرس های
https://music-1.ir
منتقل بشه به ساب دامین
https://music.van-movie.ir
از این کد استفاده کردم هیچ اتفاقی توی صفحش نمیفته:
writeEngine on
RewriteCond %{HTTP_HOST} ^music-1.ir [NC,OR]
RewriteCond %{HTTP_HOST} ^www.music-1.ir [NC]
RewriteRule ^(.*)$ https://music.van-movie.ir/$1 [L,R=301,NC]
طبق بررسی ما ظاهرا مشکل برطرف شده است؟ ضمن اینکه در خط اول writeEngine on باید به صورت RewriteEngine On باشد.
۲۰:۳۶ ۱۴۰۰/۰۲/۰۷
آیا ریدایرکت 301 مشکل به حساب می آید؟
به خودی خود خیر صرفا یک کد استاندارد برای انتقال آدرس های قدیمی یا فرعی به آدرس جدید و اصلی است که اگر درست استفاده شود برای بهبود SEO سایت لازم و مفید است، اما اگر به فرض آدرس URL باید کد 200 OK ارسال کند و اشتباها کد 301 تنظیم شود در اینجا قاعدتا مشکل بارگذاری ایجاد شده و صفحه توسط موتورهای جستجو ایندکس نمی شود.
ali jfz
۰۱:۰۴ ۱۳۹۹/۱۱/۱۱
سلام وقت بخیر من قبلا یه سایت وردپرس داشتم الان اونو پاک کردم روی همون دامین یه سایت طراحی کردم منتهی یه سری صفحات هست که ایندکس شده روی این سایت ارور 404 میده میشه محبت کنید بگید باید چیکار کنم تو فایل htaccess ریدایرکت میکنم کلا سایتم بالا نمیاد
ریدایرکت به خودی خود مشکلی برای نمایش سایت ایجاد نمی کند مگر اینکه خطایی در دستورات وجود داشته باشد، قانون ها را مورد به مورد اضافه و تست کنید تا قانون دارای اشکال مشخص شود، دقت کنید بهتر است قبل از اطمینان از صحت عملکرد دستورات از پرچم R به جای R=301 استفاده کنید تا در صورت اعمال تغییرات بعدی با مشکل Cache مواجه نشوید، در صورت تمایل می توانید یک نمونه فایل htaccess را به همراه آدرس سایت به ایمیل ما (موجود در بخش تماس) ارسال کنید تا بررسی شود.
۲۱:۵۴ ۱۳۹۸/۱۱/۱۰
بازم سلام.
ممنون مثل همیشه کمک کردی. برای شروع ssl رو از سی پنل پاک کردیم. گوگل فقط صفحه اول رو https ایندکس کرده و بقیه http هستند.
به نظر شما کد رو اعمال کنم؟ یا خود سیستم گوگل طی چند روز آینده خودش صفحه اول رو تصحیح میکنه؟
این ssl هم داستانش اینه که خودش به سی پنلم اضافه شده بود و خودش هم زمانش تمام شد و بعد ما فهمیدیم :)
اول باید تمام صفحات سایت صرفا با یک پروتکل (HTTPS یا HTTP) قابل نمایش باشند و حالت دیگر به صورت ریدایرکت 301 به حالت اصلی منتقل شود (کد را اعمال و البته خوب تست کنید)، سپس بهتر است در ابزار وبمستر گوگل حالت اصلی را برای سایتتان ثبت کنید که با فعال نبودن گواهی SSL قاعدتا به صورت HTTP خواهد بود، در اینصورت گوگل به مرور آدرس های اصلی را تشخیص داده و موارد قبلی را اصلاح می کند.
۱۱:۴۳ ۱۳۹۸/۱۱/۰۹
سلام. خسته نباشی.
آقا اگه بخواهیم https رو ریدایرکت کنیم با همان http باز بشه فقط جای کدها عوض میشه؟
در ضمن میشه در htaccess از چند کد ریدایرکت 301 استفاده کرد چون من چند سال پیش طبق همین آموزشت بدون www رو گذاشتم سایت روی آدرس کامل با http www باز بشه.
برای ریدایرکت از https به http می توانید از نمونه دستور زیر استفاده کنید:
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
البته اگر گواهی سایت منقضی شده و سایت با https فراخوانی شود ممکن است مرورگر (قبل از پردازش فایل htaccess در سرور) پیام هشدار نمایش دهد، همچنین ممکن است نیاز به غیرفعال سازی گواهی منقضی شده در سرور از طریق پشتیبانی هاست باشد.
در مورد بخش دوم سوال به شرطی که دستورات با هم تداخل نداشته باشند و از فلگ L (Last یا آخرین دستور) استفاده کنیم می توانیم هر تعداد دستور مجزا در یک فایل htaccess داشته باشیم.
salmansalehi
۲۲:۳۴ ۱۳۹۷/۰۲/۲۴
این چه وضعی داریم با این ۴۰۴ یا ۴۰۳ فقط سنگ میندازن جلو راه ما درست کنید این وسایل رو
۰۳:۰۰ ۱۳۹۵/۰۷/۰۶
اگر از سایت 1 به سایت 2 روزی چند تا پست ریدایرکت 301 کنیم مشکلی پیش نمیاد؟
چون سایت 1 آنچنان بازدیدی نداره ولی پست های اندک پربازدیدی داره و مورد دوم مبدا ریدایرکت همیشه باید وجود داشته باشه اگر بعد از 5 ماه پاک شد قدرت ریدایرکت 301 در سایت مقصد از بین میره؟
مرسی
ریدایرکت 301 یک روش استاندار در وب است و از نظر سئو مسئله خاصی پیش نخواهد آمد، البته این در صورتی است که دقیقا بدانید ریدایرکت با چه هدفی انجام می شود!
در مورد بخش دوم سوال، در صورت عدم وجود مبدا ریدایرکت، در واقع کد 404 برای موتور جستجو دریافت می شود که به معنی عدم وجود منبع اصلی است، این هم مانند یک خطای 404 معمول پردازش می شود و آدرس اولیه پس از مدتی در لیست 404 موتور جستجو قرار خواهد گرفت (معمولا این آدرس ها رفته رفته ارزش و اعتبار سئو خود را از دست می دهند اما به دفعات کمتر و در فواصل طولانی تری توسط ربات موتورهای جستجو بازبینی می شوند).
۱۲:۳۸ ۱۳۹۵/۰۵/۰۷
ممنون میشم این بررسی رو برام انجام بدین هزینه ای هم اگه داشته باشه در خدمتتم. فقط میخوام 100 در 100 حل شه واسم خیلی مهمه
در صورت تمایل اطلاعات حساب خود را به آدرس ایمیل سایت (موجود در بخش تماس) ارسال نمائید، مشکل در فرصتی مناسب بررسی و از همان طریق اطلاع رسانی خواهد شد.
۱۵:۳۲ ۱۳۹۵/۰۵/۰۴
با سلام .من هنگام کار با قسمت fetch and render در webmaster tools به مشکلی بر خوردم که لینکامو تایید نمیکنه و خطای redirected میده . ممنون میشم راهنماییم کنین که چیکار باید انجام بدم
دوست گرامی مشکل باید کامل تست و بررسی شود، صرف طرح این مورد برای راهنمایی و حل آن کافی نیست!
ehsan
۰۳:۵۰ ۱۳۹۵/۰۴/۳۰
سلام. من سايت قديميم روي يك دايركتوري روي هاستم بوده و با سيستم جوملا . الان سايت جديدم بدون سيستم مديريت محتوا هست و توي يك دايركتوري جديد.
حالا ميخوام ريدايركت كنم. مشكلم اينه كه چجوري اينكارو انجام بدم.
مثلاً
لينك قبلي :
/old/index.php?option=com_content&view=article&id=43&Itemid=54 
لينك جديد :
mydomain.com/new/
و لينك قبلي :
/old/index.php?option=com_content&view=frontpage&Itemid=53
لينك جديد :
mydomain.com/new/contact/
با كد هاي فعلي تموم بخشاي مختلف به صورت :
mydomain.com/new/?option=com_content&view=frontpage&Itemid=53
و
mydomain.com/new/?option=com_content&view=article&id=43&Itemid=54 
ديده ميشود و هر دو در واقع به صفحه
mydomain.com/new/
مي رود .
چه بايد كرد . ممنون ميشم جواب بدين .
قاعدتا هر قانونی در ریدایرکت نیاز به یک پارامتر اختصاصی دارد، باید ببینید در لینک های شما کدام پارامتر اختصاصی وجود دارد که دو آدرس را از هم متمایز می کند، طبق بررسی اجمالی ما بین دو لینک درج شده در قسمت view=article و view=frontpage و همچنین وجود پارامتر id اختلاف وجود دارد، لذا این اختلاف ها می توانند در تعریف قانون ریدایرکت مورد استفاده قرار گیرند (برای هر حالت یک قانون جداگانه).
جباری
۰۰:۴۲ ۱۳۹۵/۰۱/۰۵
سلام خسته نباشین
سایت بنده یک سایت وردپرسی هستش و با کد پی اچ پی ریدایرکت 301 زدم رو سایت وردپرسی دیگه که تازه باز شده (سایتی که ریدایرکت زدم فیلتر شده و میخام دامینش عوض بشه) تمام کارهای وبمستر هم به درستی انجام شده.
الان بعد از 4 روزه که بعضی وقتا ادرس جدید میاد بالا و بعضی وقتا میره!!!
میخواستم ببینم مشکلش چیه؟
و اینکه چه کارهایی باعث سرعت بخشیدن به ریدایرکت میشه؟
بدون بررسی سایت و سورس کدها، پاسخ خاصی نمی توان ارائه کرد، در مورد بخش آخر سوال، اصولا ریدایرکت یک سربرگ HTTP است که سرور در پاسخ به درخواست مرورگر ارسال می کند و لذا هرچه سرعت سرور شما (سخت افزار و نرم افزار) بالاتر باشد، قاعدتا سریعتر پاسخ مرورگر را ارسال خواهد کرد!
ریدایرکت 301
۰۱:۵۵ ۱۳۹۴/۱۲/۲۰
درباره ریدایرکت ۳۰۱ سوال داشتم
چه چیزی باعث میشه ریدایرکت ۳۰۱ زده شده که از وبمستر هم چند اف ادرس زده شده سریع تر صورت بگیره؟
شنیدم وقتی مثال دامین فیلتر میشه و ریدایرکت میزنیم اگر برای دامین فیلترمون ای پی بخریم (ای پی بدیم بهش) سریعتر ریدایرکت میشه اگر میشه راهنمایی کنید که چجوری میشه کاری کرد که دامین کمتر از ۲ روز ریدایرکتش انجام بشه
یا اینکه سریعتر باشه ریدایرکت
ممنون میشم کمک کنید بهم
سوالتان مبهم است! اگر منظورتان تسریع در روند دسترسی به دامنه تازه ثبت شده و فعال شدن DNS ها است، این موضوع در اختیار کاربر یا تنظیمات سرور نیست، بلکه به کارگذار دامنه (به طور مثال سایت nic.ir برای دامنه های کشوری ایران) ارتباط دارد و هر کارگذاری سیاست های خاص خودش را در این زمینه اعمال می کند.
محمد رضا
۱۹:۰۶ ۱۳۹۴/۱۲/۱۷
سلام . خسته نباشید .
برای مثال یک وب سایت دارم
میخوایم به طور دائم با آدرس همراه با www باز بشه برای اینکار باید چیکار کنیم یعنی هرکس آدرس
http://test.com
رو زد
http://www.test.com
باز شه و همه ی صفحاتشم با www باز بشه ..
لطفا کمک کنید خیلی واجبه ممنون از سایت خوبتون ...
می توانید دستور htaccess زیر را در ریشه سایت قرار دهید:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
اگر از HTTPS استفاده می کنید:
RewriteEngine On
RewriteCond %{HTTPS}s ^on(s)|
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http%1://www.%{HTTP_HOST}/$1 [R=301,L]
more لطفا پیش از ارسال دیدگاه نکات زیر را مد نظر داشته باشید:
- به سوالات کلی، زمانبر، مبهم و مشکلاتی که تلاشی برای رفع آنها نکرده باشید پاسخ مختصر داده شده یا به بخش برنامه نویسی اختصاصی ارجاع داده می شوند.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین یا به صورت حساب موقت و آزمایشی قرار دهید تا امکان بررسی دقیق مشکل و خطایابی میسر باشد.
- تمام دیدگاه های ارسالی خوانده شده و برای هر کاربر مدت زمان لازم جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.



 refresh
10 × 10
9 × 5
20 × 20
=