رفتن به مطلب

شخصی سازی صفحات حذف شده


Ali

پست های پیشنهاد شده

باسلام

صفحاتی که وجود نداشته باشه یا حذف شده باشه وقتی که باز میشه چه مرورگر یه موتورجستجو پی میبره که صفحه 404 هست و اطلاعاتی متفاوت مبنی بر 404 بودن برگه های و صفحات احتمالا ارسال میشه...

چطور میتونیم حالتی رو تنظیم کنیم که اگه با چنین نامی site.com/1/1/1/333 صفحه ای هم نداشته باشیم ولی طوری ( به کاربر یا موتورجستجو) نشون بدیم که این 404 نیست و مثل یک صفحه ساخته شده باز بشه؟( منظورم ریدارکت کردن یا زیبا سازی صفحه 404 نیست)

برای اینکه بهتر متوجه بشین اینو ببینید:

http://www.smsbazi.com/34343dd

چنین صفحه ای وجود ندارد! و محتویات این صفحه از http://www.smsbazi.com/testtest.php لود میشود و 404 نمایش داده نمیشود.

چنین حالتی را چطور تنظیم کنیم؟

باتشکر

لینک به ارسال

خوب کار ساده ایی هست.

کافیه شما صفحه 404 خودتون رو شخصی سازی کنید.

یک فایل به نام 404.php در پوسته تون بسازید و هر چیزی که دوست دارید داخلش بزارید.

حالا هر صفحه ایی هم که وجود نداشته باشه به جای خطای 404 چیزی که شما میخوای رو نشون میده.

لینک به ارسال

بله خوب بازم 404 شد دیگه...

بازم موتورجستجو نسبت به اطلاعات متفاوتی که ارسال میشه میفهمه که این صفحه پاک شده...

لینک به ارسال

نه، شما اسم و توضیحات صفحه رو چیز دیگه ایی میزاری و موقع نمایش یک محتوا رو نشون مدیه.

مثلا شما داخلش یک پست تصادفی نمایش بده.

دیگه موتور جستجو از کجا میفهمه این صفحه وجود نداره؟

لینک به ارسال

دیگه موتور جستجو از کجا میفهمه این صفحه وجود نداره؟

من فکر میکنم اینکار فقط باعث میشه کدهای 404 رو تغییر بدیم و به جای "404 - یافت نشد "متن دیگه ای بنویسیم..

چون محتویات در فایل 404.php قرار داره و به جای نمایش متن همیشگی از کدهای که ما گذاشتیم استفاده میکنه...

از روی این میگم که قبلا ار روش ریدارکت استفاده میکردم برای 404 ها و مشکلی نبود و به مجرد غیره فعال سازی افزونه ریدارکت خطاهای 404 در گوگل وبمستر نشون داده شد.

هدفم ساخت 404 اختصاصی نیست! ( چون موتورهای جستجو متوجه میشه) هدفم اینه که هر زمانی هرکس آدرس اشتباهی وارد کد یا آدرس مطلبی وارد کرد که اصلا وجود نداره طوری وردپرس عمل کنه که انگار اون آدرس وجود داره

مثلا این سایت http://www.smsbazi.com/

وقتی شما آدرس نادرستی رو وارد میکنید 404 زیبا سازی و اختصاصی نشده ! بلکه محتویات صفحه نادرست از http://www.smsbazi.com/testtest.php بارگذاری میشه

امیدوارم منظورمو گرفته باشید

چنین موردی رو در وردپرس چگونه فعال کنم؟

ممنون

لینک به ارسال

علی جون ماشالله به این نوآوری ;) ... بهترین راه اینه که بجای کد 404 تو Header جواب درخواست کاربران 200 رو ارسال کنیم که گوگل و ... متوجه چیز بدی نشن ... راحترین روش اینه که برید تو wp-includes/classes.php و دو خط زیر رو کامنت کنید مثل زیر


//$wp_query->set_404();
//status_header( 404 );

اما خوب قرارمون اینه که تنظیمات وردپرس رو مستقیم تغییر ندیم تا در هنگام بروزرسانی تنظیمات ما نپره. پس بهتره که بیایم صفحات 404 ریدایرکت کنیم به صفحه اصلی یا چیزی شبیه به آن ( حتماً باید 301 ریدایرکت شه ) تا کلاً اون آدرس حذف شه تو گوگل ...

برای ریدایرکت کردن هم من تو فایل .htaccess اول کد زیر رو اضافه می کنم


ErrorDocument 404 default
RewriteRule ^(.+)$ /index.php/$1 [L]

بعدشم حالش رو می برم :) البته یادت نره این خط رو پاک کنی


RewriteRule . /index.php [L]

لینک به ارسال

علی جان ممنون از جوابت :)

یعنی در نهایت باید .htaccess به این شکل بشه


# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
ErrorDocument 404 default
RewriteRule ^(.+)$ /index.php/$1 [L]

درسته؟

بعد باید این مسیرو :


RewriteRule ^(.+)$ /index.php/$1 [L]

تغییر بدیم به محلی که نمونه ما قرار داره مثلا


RewriteRule ^(.+)$ /cdn/index.php/$1 [L]

یعنی هر زمانی که آدرس اشتباهی وارد شد اطلاعات 404 ارسال نشه و 200 ارسال بشه و محتویات اون صفحه از site.com/cdn/index.php لود بشه؛ اینجوریه؟

اگه یه خورده توضیح بدی ممنون میشم

لینک به ارسال

نه به جای


RewriteRule . /index.php [L]

باید


RewriteRule ^(.+)$ /index.php/$1 [L]

قرار بدید. جای 404 خوبه ...

لینک به ارسال
اما خوب قرارمون اینه که تنظیمات وردپرس رو مستقیم تغییر ندیم تا در هنگام بروزرسانی تنظیمات ما نپره. پس بهتره که بیایم صفحات 404 ریدایرکت کنیم به صفحه اصلی یا چیزی شبیه به آن ( حتماً باید 301 ریدایرکت شه ) تا کلاً اون آدرس حذف شه تو گوگل ...

ببینید من منظورم اصلا ریدارکت کردن نیست !

ببین مثلا این سایت

http://www.persianfal.com

یه آدرس داره به نام

http://www.persianfal.com/testest.html

که هرگاه آدرس اشتباهی وارد شد مثلا

http://www.persianfal.com/33

به کاربر 200 ارسال میشه و 404 نیست !

یعنی محتویات صفحه

http://www.persianfal.com/33 از

http://www.persianfal.com/testest.html

لود میشه

من اینو میخام

جواب بدی ممنون میشم...

لینک به ارسال

خوب مرحله اولی که گفتم رو اجرا کنید ( کامنت کردن 404 ) بعد صفحه 404 همانطوری که آقای مرتضی گفتن تغییر دهید.

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...