ریفرش اتوماتیک صفحه یا ریدایرکت به آدرس جدید با متا تگ refresh
در ادامه سری آموزش های html مسترکد امروز تصمیم دارد که شما با متا تگ ریفرش (رفرش!) آشنا کند. در این آموزش به همراه هم یاد میگیریم که چگونه از متا تگ Refresh به منظور بارگذاری مجدد یک صفحه پس از طی زمان خاص یا برای ریدایرکت صفحه به یک آدرس دیگر استفاده کنیم. ابتدا روش انجام موارد ذکر شده را مرور خواهیم کرد و سپس در پایان هر مورد با هم کمی در رابطه باید و نباید های استفاده از این meta tag صحبت میکنیم. با مسترکد همراه شوید.
ریفرش یا بارگذاری مجدد صفحه پس از زمان مشخص در HTML
انجام این کار بسیار ساده است. گرچه معمولا اهداف پشت آن، اهداف جالبی نیستند ولی برای مقاصد آموزشی بهتر است روش این کار را بدانید. برای بارگذاری مجدد صفحه پس از مدت زمانی مشخص میتوانید از کد زیر استفاده کنید :
1 | <meta http-equiv="refresh" content="600"> |
توجه داشته باشید که کد بالا را برای در بخش head صفحه ی خود قرار دهید تا به درستی کار کند.
کاری که کد فوق انجام میدهد این است که پس از گذشت 600 ثانیه، صفحه ی فعلی را به طور اتوماتیک ریفرش میکند. زمان بارگذاری مجدد را میتوانید بر اساس نیاز خود و بر حسب ثانیه تغییر دهید. اما در این رابطه لازم است چند نکته را به یاد داشته باشید. اول اینکه بارگذاری خود به خود صفحه بدون شک برای کاربران آزار دهنده خواهد بود. خصوصا اگر کاربر در حال مطالعه یک مطلب طولانی باشد و یا حجم صفحه ی شما زیاد باشد و کاربر مجبور شود دوباره منتظر بارگذاری مجدد صفحه بماند، احتمالا ترجیح خواهد داد که سایتتان را ترک کند. دوم اینکه در بسیاری از موارد در چنین شرایطی کاربر احتمال میدهد که سایت آلوده است و بله درست حدس زدید! سایت را ترک میکند. فکر نمیکنم نیازی به نتیجه گیری باشد!
ریدایرکت صفحه به آدرس جدید با متا تگ ریفرش
از انجام این کار ممکن است اهداف گوناگونی داشته باشید، اما قبل از اینکه به هدف شما و باید و نباید های استفاده از این کد بپردازیم، اجازه بدهید شما را با خود کد آشنا کنیم :
1 | <meta http-equiv="refresh" content="0;url=https://mrcode.ir/"> |
این کد را نیز باید در تگ head سایت خود قرار دهید. نحوه ی کار کد بالا این است که به محض بارگذاری صفحه، کاربر را به آدرس جدیدی که مشخص کرده ایم هدایت میکند. حال اگر میخواستیم قبل از ریدایرکت به آدرس جدید، اندکی به کاربر فرصت بدهیم، باید بجای عدد 0 از زمان مورد نظرمان بر حسب ثانیه استفاده میکردیم. مثلا 5 ثانیه یا 10 ثانیه و …
طبعا مشخص است که آدرس محل ریدایرکت را نیز میتوانید بر حسب نیاز در کد بالا تغییر دهید.
کد بالا به تنهایی و در صورت قرار گرفتن در تگ head به درستی کار میکند. اما بخاطر مرورگر های قدیمی تر، شاید بد نباشد که به کاربر این انتخاب را بدهیم که در صورت هدایت نشدن پس از x ثانیه به آدرس جدید، خودش روی لینک مقصد جدید کلیک کرده و به آنجا هدایت شود. برای انجام این کار میتوانیم کد زیر را به کار بگیریم :
1 2 3 4 5 6 7 8 9 10 11 12 13 | <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>عنوان صفحه</title> <meta http-equiv="refresh" content="2;url=https://mrcode.ir/"> </head> <body> <p>این صفحه به ادرس جدیدی منتقل شده. اگر به طور اتوماتیک به آدرس جدید هدایت نشدید، روی لینک زیر کلیک کنید <br> <a href="https://mrcode.ir/"> MrCode.ir</a> </p> </body> </html> |
توجه داشته باشید که کد بالا خودش یک صفحه ی html کامل ایجاد میکند و این تگ ها را نباید در صفحه ی دیگری پیست کنید. (ساختار html صفحه ی شما بهم خواهد ریخت)
و اما بشنویم از باید و نباید های این روش. یکی دو بار استفاده از این روش در کل صفحات سایت شما شاید ضرر و زیان خاصی نداشته باشد ولی به طور کلی موتور های جستجو ممکن است به این شیوه ی ریدایرکت به چشم اسپم نگاه کنند. بنابراین حتی الامکان در مواردی که میتوانید، بجای این روش از ریدایرکت 301 استفاده کنید. توجه داشته باشید که اگر تعداد زیادی از این ریدایرکت ها (با استفاده از تگ ریفرش) در سایت خود داشته باشید، ممکن است موتور های جستجو شما را از نتایج خود حذف کنند.
نکته ی دیگری هم که هست این است که در مرورگر های قدیمی تر، این ریدایرکت ممکن است باعث شود که کاربر قابلیت بازگشت به صفحه ی قبلی را از دست بدهد و فرضا اگر آدرس ریدایرکت به 404 ختم شود، در ناکجا آباد سرگردان بماند! بنابراین در استفاده از این حالت هم دقت کنید.
البته ریدایرکت ها را با استفاده از روش های دیگری مثل بهره گیری از PHP یا جاوااسکریپت نیز میتوان انجام داد. اگر در آینده هم با ما همراه باشید، در رابطه با این موارد نیز با هم صحبت خواهیم کرد.
سلام . مطالب سایتتون وافعا عالیه .
بله دقیقا درسته . من از کد اولی که معرفی کردید استفاده کردم و سایتم پیشرفت زیادی کرد اما بعد از مدتی یکباره توسط گوگل تمام مطالب سایتم از نتایجش حذف شد !!!
البته دیگه نمیدونم برگرده یا نه !
میخواستم کدی را معرفی کنید که ریفرش بشه به همون مطلب که کاربر در ان است ولی با این تفاوت که گوگل متوجه این ریفرش نشه و باز ما راه به تباهی بکشه .؟؟
ممنون
گوگل چشم عقابی داره :دی کاربر رو اذیت کنید میفهمه …
ولی دو از شوخی، روش های دیگه ای برای ریفرش هست ولی 1 – در مورد اینکه گوگل متوجه نشه و شمارو مجددا حذف نکنه تضمینی نیست 2 – دلیلی نداره که صفحه رو دائم ریفرش کنید.
مثلا در آدرس زیر 535 روش برای انجام بارگذاری مجدد صفحه با جاوااسکریپت درج شده ! :
http://www.phpied.com/files/location-location/location-location.html
واقعا همینطور ه .. بنظر منکه کارهای گوگل اصلا قابل پیش بینی نیس !!
از صفحه ای که معرفی کردید هیچ کد ریفرشی پیدا نکردم !!
یعنی هیچ کدی نیست که مطمعنن گوگل نفهمه صفحه بصورت خودکار ریفرش میشه ؟
دلیل ریفرش را پیشرفت درالکسا و رتبه میدونم (شاید اینطور نباشه)
بهرحال مچکر م از راهنمایی و سایت خوبتون ./
ممنون
میشه کدی داشت که به لینک های مختلف بفرسته.
مثلا یه دفعه به لینک 1 یه دفعه لینک2 یا 3 بفرسته. در واقع یک صفحه در مراجعه های مختلف ریدایرکت به صفحات مختلف بده.
دمت گرم. خیلی نیازم بود.
من میخواستم به صفحه لودینگم ۴ ثانیه زمان بدم بعد به صفحه خودم بیاد کد اون رو میخوام با css و Html رفتم