وقتی کاربر از یک سایت تقاضای صفحه یا منبعی می کند که وجود ندارد، سرور برای کاربر کد خطای 404 ارسال می کند یا کاربر را به صفحه مرتبط با این خطا ارجاع می دهد.
خب لازم است همین ابتدای کار توضیح داده شود هدف در توسعه و طراحی وب سایت جلوگیری از برخورد کاربرد با صفحه های بی معنی 404 است. گرچه معمولا در طراحی وب و همچنین در وب سایت های پیاده سازی شده توسط طراحی وب ایران برای این صفحه گرافیک های ویژه ای در نظر گرفته می شود ولی این بدان معنی نیست که مشاهده این صفحات برای کاربر طبیعی و نرمال است و یا اشکالی ندارد.
کاربران معمولا با مشاهده خطای 404 در وب سایت با احتمال از کار افتادن وب سایت آن را ترک می کنند. علت تغییر شکل و بهینه سازی شکل صفحه 404 جلوگیری از ترک سایت یا استنباط از کار افتادن سایت صورت می گیرد. توصیه می شود در این صفحه امکان جستجو یا انتقال به صفحات مرتبط نیز گنجانده شود. به صورت کلی مشاهده این صفحه توسط کاربر و بالطبع توسط خزنده / Crawl های موتورهای جستجو می تواند تاثیر های منفی بر رتبه بندی سایت ایجاد کند.
همه تلاش ما جلوگیری از رسیدن کاربر به صفحه 404 است. قدم اول پیدا کردن لینک های ارجاع کاربر به این صفحات و تغییر یا حذف آن هاست. بررسی محتویات صفحات و پیدا کردن لینک های داخلی / Internal Links هایی که به این صفحات ارجاع می کنند از کارهای بعدی است.
یکی دیگر از روش های پیدا کردن مشکلات وجود خطای 404 استفاده از ابزارهای بررسی مشکلات سایت است. ابزارهای آنلاین و یا نرم افزارهای قابل نصب زیر می توانند به پروسه پیدا کردن خطا کمک کنند.
البته همه ی خطاهای 404 هم بد نیستند. به عنوان نمونه پس از حذف یک محصول از سایت و از تمام لینک های سایت ممکن است که هنوز ارجاع به این لینک توسط ربات موتور جستجو صورت گیرد. این ربات ها پس از برخورد با خطای 404 سعی می کنند ایندکس صفحه مورد نظر را حذف کنند.
یکی دیگر از راه حل های جلوگیری از خطای 404 انتقال صحیح درخواست ها به صفحات مناسب است. این انتقال می تواند به صورت دائمی و از طریق انتقال نوع 301 صورت گیرد. این مورد در صفحه جلوگیری از محتویات تکراری به صورت کامل توضیح داده شده است. البته واضح است که جلوگیری از بروز این خطا اجتناب ناپذیر است. آدرس های بسیار قدیمی Bookmark شده در مروگرها و یا اشتباه در تایپ آدرس ها، همواره می توانند باعث بروز این خطا گردند.
بعد از هر پروسه ی به روزآوری، باید امکان دسترسی به تمامی آدرس های قدیمی فراهم باشد.
اما در صورتی به تازگی با پروسه SEF یا هر تغییر ساختار آدرس دهی رو به رو بوده اید بروز این خطا محتمل تر است. بسیاری از صفحات توسط کاربران Bookmark شده یا توسط موتورهای جستجو ایندکس شده است. برای این منظور انتقال 301 و دائمی آدرس های قدیم به آدرس های جدید ضروری به نظر می رسد.
یکی از راه حل های مناسب برای تنبل ها انتقال تمام آدرس های قدیمی به صفحه اول سایت است. با این راه حل تمام رتبه بندی صفحات به دست آمده از بین می رود. پس توصیه می شود که هر آدرس قدیمی به آدرس متناظر جدید خود منتقل شود. البته برای این کار باید قبل از تغییر، راه کارهای آن سنجیده شود، ولی بعد از تغییر هم امکان پذیر است.
برای مدیریت آدرس های منتقل شده در وردپرس می توان از افزودنه های مختلف ورودپرس برای انتقال استفاده کرد. در این پلاگین ها شما می توانید آدرس های قدیمی ایندکس شده یا هر آدرس دلخواه دیگری را به یک آدرس جدید انتقال دهید. این پلاگین ها می توانند علاوه بر انتقال، کد وضعیت 3xx را نیز به آدرس های فعلی اضافه کنند و کاربر می تواند با توجه به نیاز از کد 301، 302 یا سایر کدها استفاده نماید.
برای پروژه های مبتنی بر PHP هنوز هم می توان از اضافه کردن کدهای لازم در htaccess. استفاده کرد. گرچه این روش نیازمند مهارت در مدیریت و نگهداری وب سایت و سامانه های مبتنی بر وب است اما از مزایای آن، انتقال آدرس های دلخواه قبل از بررسی توسط هسته CMS مانند وردپرس است. کاهش زمان انتقال و سرعت و کیفیت از مزایای استفاه از این شیوه است.
برای این کار کافی است از نمونه کد زیر استفاده شود
RewriteRule ^old1$ "http://newsite.com/new1" [R=301,L]
RewriteRule ^old2$ "http://newsite.com/new2" [R=301,L]
در نمونه بالا آدرس قدیمی می تواند به جای کلمات old1 و old2 قرار گیرد و آدرس جدید نیز می تواند جایگزین new1 و new2 شود. وب سرورهایی مانند آپاچی قبل از انتقال درخواست به هسته سامانه CMS مانند وردپرس توسط این انتقال آدرس جدید را در اختیار درخواست کننده یا همان مرورگر کاربر قرار می دهند و در نهایت آدرس درخواستی در مرورگر کاربر جایگزین آدرس جدید می شود.