[WP]ทำยังไงให้หน้าเพจที่หาไม่เจอ (404.php) ให้กลับมาหน้าแรกครับ

เริ่มโดย kkusd, 28 เมษายน 2009, 19:44:09

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

kkusd

พอดีเปลี่ยนสคริปแล้ว index ที่เคยมีมันไม่สัมพันธ์กับ link ในเว็บ
เลยอยากให้คนที่เข้ามาหน้าที่ไม่มีเพจให้มาที่หน้าแรกต้องทำยังไงครับ

เจอในเทมเพจแต่ไม่รู้จะใส่ยังไง
<?php else : ?>

<h2 class="center">Not Found</h2>
<p class="center">Sorry, but you are looking for something that isn't here.</p>


ผู้รู้บอกทีครับ :-* :-* :-*

kkusd

ไม่มีเลยเหรอครับ...

เอาเป็น code ให้ link ไปหน้าแรกก็ได้ครับ

:'( :'(

Bes

htacess คับ ตามลิ้งไปนะ
http://www.thaiseoboard.com/index.php/topic,16784.0.html

หรือจะเอา meta refresh ได้มั๊ย อันนี้คิดเล่น ๆ ไม่เคยลอง

[direct=https://client.hostsevenplus.com/aff.php?aff=396]✔ แนะนำ Hosting และ VPS ราคาเริ่มต้น 277 บาทฟรี! SSL ซัพพอทคุยง่าย[/direct]

[direct=https://www.bitkub.com/signup?ref=512782]✔ ซื้อบิทคอยที่ Bitkub (ได้รับการรับรองจาก กลต.)[/direct]

gigkokman

ปกติแล้วผมจะใช้ tag meta
<META HTTP-EQUIV="Refresh" CONTENT="3;URL=http://www.example.com">
แต่ไม่รู้ว่ามันจะมีผลต่อ search engine รึป่าว
ผู้รู้ช่วยมาให้คำแนะนำหน่อยจะขอบคุณมากครับ  ???
ลิขิตฟ้าหรือจะสู้มานะคน

g-ji

กดที่ลายเซ็น อันที่ไม่มีโล่ห์ อ่ะ :P

แต่ถ้าอยากได้แบบ สุดๆ จริง โค้ดนี้โลด


<?php if (is_404()) { wp_redirect(get_option('siteurl'),404); } ?>


แต่ต้องสร้างเพจ 404.php นะ :P (ไม่เคยใช้ตรงๆ เหมือนกัน)

ตัวอย่่าง ลองเข้าเว็บเรา แล้วพิมพ์ web/xxx anything

มันจะรีกลับมาหน้าแรกหมด

kkusd

ถ้าเป็นคำสั่ง PHP ให้วิ่งไปหน้า index เลยหล่ะครับ
ใช้โค้ตตัวนี้ได้รึเปล่า

<?php if (is_404()) { wp_redirect(get_option('siteurl'),404); } ?>

หรือต้องแก้ที่ไหนครับ

??? ???

topsitemp4


TAXZe

อ้างถึงจาก: kkusd ใน 28 เมษายน 2009, 19:44:09
พอดีเปลี่ยนสคริปแล้ว index ที่เคยมีมันไม่สัมพันธ์กับ link ในเว็บ
เลยอยากให้คนที่เข้ามาหน้าที่ไม่มีเพจให้มาที่หน้าแรกต้องทำยังไงครับ

เจอในเทมเพจแต่ไม่รู้จะใส่ยังไง
<?php else : ?>

<h2 class="center">Not Found</h2>
<p class="center">Sorry, but you are looking for something that isn't here.</p>


ผู้รู้บอกทีครับ :-* :-* :-*


<?php else : ?>
<META HTTP-EQUIV="Refresh" CONTENT="0;URL=http://www.domain.com">
<h2 class="center">Not Found</h2>
<p class="center">Sorry, but you are looking for something that isn't here.</p>



::)
[direct=https://www.taxze.com/ups-review/]รีวิว ups[/direct][direct=https://www.taxze.com/ups-review/]ups ยี่ห้อไหนดี[/direct][direct=https://twitter.com/taxze][/direct][direct=https://www.instagram.com/taxze][/direct][direct=https://rrbg.blogspot.com/][/direct]

topsitemp4


yokey.

ผมใช้ปลั๊กอินที่ชื่อ  Smart 404 เป็นตัวบริหารหน้า 404 แทนครับ

รายละเอียดตามนี้ครับ
http://michael.tyson.id.au/smart-404

ผมคิดว่าน่าจะให้ความรู้สึกดีกว่ารีเฟรสครับ เพราะยังไงๆ บล๊อกก็สามารถลิงก์ไปยังหน้าหลักได้อยู่แล้ว

อ้างถึงSave visitors to your Wordpress site from unhelpful 404 errors!

g-ji

อ้างถึงจาก: kkusd ใน 28 เมษายน 2009, 22:25:00
ถ้าเป็นคำสั่ง PHP ให้วิ่งไปหน้า index เลยหล่ะครับ
ใช้โค้ตตัวนี้ได้รึเปล่า

<?php if (is_404()) { wp_redirect(get_option('siteurl'),404); } ?>

หรือต้องแก้ที่ไหนครับ

??? ???

นั้นแหละวิ่งไปหน้า index เลย

ไม่ต้องแทรกโค้ด สร้างไฟล์ชื่อ 404.php เอาโค้ดข้างบนไปว่าง แล้วใส่ไว้ใน ธีมที่ใช้เลยเลย

เวลา  url ไม่ถูกต้อง หรือไม่มี มันจะ รีไปหน้าแรกของเว็บเอง

สามารถเลือก error code ได้ตามลิสต์ ในกระทู้ที่เราโพสไว้อ่ะ (ใส่ 404 ก็ได้ บอท GG มันจะรู้เองว่าหน้าเว็บไม่มี รีกลับไปหน้าเว็บหลัก url ที่ไม่มีจะหายไปจาก GG เอง)

เราไม่ค่อยชอบ ให้มันแสดงผล 404 error ใน GG นะ :P

ออ มันสามารถกำหนดหน้าที่จะรีไปได้ด้วยนะ

<?php if (is_404()) { wp_redirect(get_option('siteurl').'หน้าที่จะรีไป',404); } ?>

ตามโค้ด สมมติ ว่า จะรีไปหน้า รวม category


<?php if (is_404()) { wp_redirect(get_option('siteurl').'/all-category',404); } ?>


มันก็จะรีไปหน้า all-category ที่สร้างไว้แทน

kkusd


g-ji

อ้างถึงจาก: kkusd ใน 28 เมษายน 2009, 23:39:53
+1 ทุกคนเลยครับได้แล้ววว

:'( :'( :'(

เว็บไหนหว่า - -*

เว็บทรานฟอเมอร์ไม่เห็น รีไปหน้า index เลยหว่า ???

kkusd

อ้างถึงจาก: g-ji ใน 28 เมษายน 2009, 23:43:43
อ้างถึงจาก: kkusd ใน 28 เมษายน 2009, 23:39:53
+1 ทุกคนเลยครับได้แล้ววว

:'( :'( :'(

เว็บไหนหว่า - -*

เว็บทรานฟอเมอร์ไม่เห็น รีไปหน้า index เลยหว่า ???
ในลายเซ็นอันที่ 3 และ 4 ครับ ครับ

index ตั้ง 32000 กว่าหน้า  เสียดายมากๆ

g-ji

อ้างถึงจาก: kkusd ใน 29 เมษายน 2009, 00:02:20
อ้างถึงจาก: g-ji ใน 28 เมษายน 2009, 23:43:43
อ้างถึงจาก: kkusd ใน 28 เมษายน 2009, 23:39:53
+1 ทุกคนเลยครับได้แล้ววว

:'( :'( :'(

เว็บไหนหว่า - -*

เว็บทรานฟอเมอร์ไม่เห็น รีไปหน้า index เลยหว่า ???
Fanpanload.com ครับ

เห็นชื่อเว็บแล้ว รู้เลยว่า มีโหลดแน่ๆ

แฟนพันธ์โหลด  ;D

ใช้ meta refresh เอาหรอ  :P

kkusd

อ้างถึงจาก: g-ji ใน 29 เมษายน 2009, 00:06:04
อ้างถึงจาก: kkusd ใน 29 เมษายน 2009, 00:02:20
อ้างถึงจาก: g-ji ใน 28 เมษายน 2009, 23:43:43
อ้างถึงจาก: kkusd ใน 28 เมษายน 2009, 23:39:53
+1 ทุกคนเลยครับได้แล้ววว

:'( :'( :'(

เว็บไหนหว่า - -*

เว็บทรานฟอเมอร์ไม่เห็น รีไปหน้า index เลยหว่า ???
Fanpanload.com ครับ

เห็นชื่อเว็บแล้ว รู้เลยว่า มีโหลดแน่ๆ

แฟนพันธ์โหลด  ;D

ใช้ meta refresh เอาหรอ  :P
ตอนนี้เอาเฉพาะหน้าไปก่อนครับ...เดี๋ยวตัวอื่นๆผมจะลองเล่นดูอีกทีครับ

:P :P


kkusd

 ??? ??? แล้วปกติตัวไหนจะไปหน้าแรกเร็วกว่ากันครับ

เท่าที่ผมดูยังวิ่งช้าอยู่เลย :P :P

ball6847

แบบจี้บอกมันจะรีเร็วกว่าคับ

ถ้าแบบ meta refresh มันต้องรอโหลดหน้าเว็บจนมาถึงจุดที่มี meta refresh แล้ว meta tag ไม่ควรอยู่ใน body ด้วยคับ

แบบ 404 จะบอกบอทด้วยว่าหน้านี้ไม่มีจริงๆ ด้วยการ response ด้วย HTTP 404 Not Found แตกต่างกับการใช้ meta refresh ซึ่งมันจะ response ด้วย HTTP 200 คือ OK

เข้าใจว่าการรีไดเร็คใดๆโดยไม่ได้ รีไดเร็คด้วย HTTP Header เป็นการรีไดเร็คที่ไม่ Search Engine Friendly ครับ


ปล. โปรดอ่านคำเตือนบนฉลากก่อนดื่ม (โปรดใช้วิจารณญานในการรับฟัง เพราะมันเ็ป็นเีพียงข้อมูลในตำราแล้วผมก็ไม่ได้เรียนมาทางนี้ จริงๆแล้วผมไม่ได้เรียนอะไรเลยสักอย่าง  :P )
We use Ubuntu.

[direct=http://ng-seo.sourcelab.xyz/]AngularJS SEO Experimental[/direct]

g-ji

ไปลองเว็บเราก่อนก็ได้  :D

g-ji.com/asdcsdvfasjk;lmvfasdfpjioaspdf

copy ไปวางใน address บาร์เลย  :-[

หุหุ (เดี๋ยวจะบอกว่าโฮสไทยมันเร็วปี๊ด)

เอาโฮสนอกละกัน

gji.byethost6.com/123sdf456gasdvgasj;df

copy ไปวางเลย :P

อันไหนดีกว่า ไม่รู้

รู้แต่ว่า ถ้าใช้ meta refresh  มันจะไปอ่านข้อมูลก่อนถ้าไม่มีข้อมูลที่เรียกนั้นๆ อยู่บนเว็บ มันถึงจะเรียกใช้งาน meta refresh ซึ่งจากที่ลองใช้มา บอทมันเห็นหน้านั้นเป็น 404 error page คือหน้าที่ไม่มีข้อมูลใดๆ เลย (เป็นผลเสียกับ SEO คือหน้าที่ไม่มีเนื้อหา)

แต่ถ้าใช้ wp_redirect เมื่อโค้ดทำงาน มันจะรีหน้าทันที ในโค้ดเรา ตั้งไว้ว่า  if 404 = ถ้า 404 ให้ใช้งานโค้ดทันที

และไม่ต้องเอาโค้ดไปวางในไฟล์ด้วย แค่ สร้าง 404.php เอาโค้ดไปแปะไว้ และเอา 404.php ใส่ไว้ในธีม ไม่ต้องทำอะไรเพิ่ม  404.php มันจะทำงานของมันเอง ถ้า url ทีเ่รียกนั้นๆ ไม่มีอยู่บนเว็บเรา

สะดวกดีนะ

ลองเล่นดูเองเลย เราแค่อธิบายการทำงานโค้ดมันเฉยๆ (เราใช้มาตั้งกะยังไม่ตั้งกระทู้ เกี่ยวกับ error code อ่ะ)

kkusd

ลองทำแบบ 404.php แล้วมันขึ้นหน้าเปล่าเลยครับ  ในไฟล์ 404.php ต้องมีอะไรในนั้นไหมครับ
พอดีผมไปก็อบจาก default เทมเพลตมาเลยน่ะครับ

เสร็จแล้วผมก็เอา code ตัวนี้ใส่แทนตัว meta เลย
<?php if (is_404()) { wp_redirect(get_option('siteurl'),404); } ?>

ปรากฎว่าขึ้นหน้าเปล่าครับ  ??? ???


kkusd

ปล.เว็บการ์ตูนของคุณ g-ji ชอบมากเลยครับ

ถ้าจะดีมีแบบ H ด้วยจะดีมั่กๆๆ :D :D :D

g-ji

อ้างถึงจาก: kkusd ใน 29 เมษายน 2009, 01:59:59
ลองทำแบบ 404.php แล้วมันขึ้นหน้าเปล่าเลยครับ  ในไฟล์ 404.php ต้องมีอะไรในนั้นไหมครับ
พอดีผมไปก็อบจาก default เทมเพลตมาเลยน่ะครับ

เสร็จแล้วผมก็เอา code ตัวนี้ใส่แทนตัว meta เลย
<?php if (is_404()) { wp_redirect(get_option('siteurl'),404); } ?>

ปรากฎว่าขึ้นหน้าเปล่าครับ  ??? ???



ในไฟล์นั้นไม่ต้องมีอะไรเลย - -* ใส่ไปบรรทัดเดียวก็พออ่ะ

มันหน้าเปล่าแบบไหนนิ

ส่วนแบบ H นั้น มีโครงการทำเว็บ สีดำ อยู่  ;D แต่คงอ่านออนไลน์ไม่ได้  :P

ถ้ามันไม่ทำงานลองโค้ดนี้ดู

<?php if (is_404()) : ?>
<?php wp_redirect(get_option('siteurl'),404); ?>
<?php endif;?>


:P เว็บใช้อยู่ทั้ง 2 แบบเลย ก็ ไม่มีปัญหานะ ???

ball6847

เท่าที่ผมเคยลองบาง SERVER พอเรา response เป็น 404 ปุ๊บ มันตัดปั๊บเลย  เราเลยทำอะไรต่อไม่ได้

ที่ว่าบาง SERVER นี่บอกตรงๆว่าผมยังลองไม่เยอะ เพราะที่ลองใน Appserv มันไม่ตัดแล้วเราทำอะไรต่อได้

<?php

header
($_SERVER["SERVER_PROTOCOL"].' 404 Not Found');
header('Location: index.php');

?>


แต่ลองบนโฮสท์จิงมันดับตั้งแต่ บรรทัดแรกแระ 555+

ลองเปลี่ยนเ็ป็น 301 แทนดูคับ

<?php if (is_404()) { wp_redirect(get_option('siteurl'),301); } ?>

อันนี้คิดว่า redirect ได้ไว แล้วได้ชัวร์ แต่ 301 นี่หมายถึง ย้ายไปเลยนะ (ส่วนใหญ่เค้าเอาไว้ใช้ถ่ายค่า PR ข้ามหน้าเวลาเค้าย้ายไฟล์หรือย้ายเว็บกัน)



ปล. ถ้ามี H ผมว่าทำแบบ member area เลย แต่ผมขอ user+pass ด้วย 1 ที่ 555+
We use Ubuntu.

[direct=http://ng-seo.sourcelab.xyz/]AngularJS SEO Experimental[/direct]

g-ji

อืม... อาจจะมีปัญหาบางเซิร์ฟเวอร์ ได้ึคุณบอลช่วยแก้ข้อสงสัยอีกละ  :D

จริงๆ มันมีอีกเพียบเลยนะ

เฉพาะ โค้ด 4xx

404 ใช้ไม่ได้ ก็ 400 โลด Bad Request (error ของ php ปกติ)


400 Bad Request (php error) The request had bad syntax or was impossible to be satisfied.
401 Unauthorized (ไม่มีสิทธิเข้าถึงDir ต้องการ user/pass อันนี้เอาไว้ กันบอทได้นะ :D ได้ 100% ด้วย แต่ต้องเขียน htaccess สำหรับบอท) User fail to provide a valid user name / password required for access to file / directory.
402 Payment Required (เก็บเงิน)
403 Forbidden (อันนี้อย่าใช้) Access to a protected folder was attempted (i.e.) domain.com/cgi-bin
404 Not Found The requested file was not found.
405 Method Not Allowed (อันนี้พวก ค่า ต่างๆ ไม่สามารถทำงานได้)
406 Not Acceptable
407 Proxy Authentication Required
408 Request Time-Out (เน็ท time out)
409 Conflict
410 Gone (อันนี้ก็ดี มันหายไปแล้วโว้ย)
411 Length Required (บังคับความยาว)
412 Precondition Failed
413 Request Entity Too Large
414 Request-URL Too Large
415 Unsupported Media Type


error โค้ดเพียบเลย - -*

ตั้งกระทู้ไว้ก็ตกหายเรียบ ถ้าไม่เอามาใส่ไว้ใน ลายเซ็นต์สงสัยหาไม่เจอ

อ้างถึงปล. ถ้ามี H ผมว่าทำแบบ member area เลย แต่ผมขอ user+pass ด้วย 1 ที่ 555+

อันนี้มันต้องทำ member area อยู่แล้วอ่ะ  :-[ หุหุ (กำลังทดสอบโค้ดอยู่ ไปแงะออกมาจากปลั๊กอินที่น่าใช้)
แต่จริงๆ ไม่ต้อง member area ก็ได้มั้ง เอาแค่ ต้องสมัครสมาชิก เท่านั้นถึงเห็นโพสก็พอละ  ;D (ทำได้แล้วด้วยแต่ยังไม่ได้ลองใช้งานจริงๆ)

MrWebmonster

ผมใช้

<script type="text/JavaScript">
<!--
setTimeout("location.href = 'http://www.domainname.com';",5000);
-->

</script>


ไม่รู้ว่าดีหรือเปล่า
รวมเรื่อง สัพเพเหระ ไอที [direct=https://webmonsterth.blogspot.com/]แก้ปัญหาไวรัส[/direct] คอมพิวเตอร์ทิป อินเตอร์เน็ตทิป โค้ด รหัส Ascii [direct=http://www.ezsymbols.com/]สัญลักษณ์facebook[/direct] Messenger LINE Gplus Instagram [direct=http://www.ilovebrowser.com/]แก้ปัญหาเว็บเบราเซอร์[/direct] สู้ๆ น้าาาาา ~

kkusd

เดี๋ยวตอนเย็นมามั่วอีกทีครับ... ;) ;)

ตอนนี้ทำโดเมนใหม่ก่อน  :) :)


ว่าแต่...H Zone ขอด้วยนะคร๊าบบบ :D :D :D

TAXZe

theme/themes_name/404.php

<html><body>
<script type="text/JavaScript">
<!--
setTimeout("location.href = 'http://www.domainname.com';",0);
-->
</script>
</body></html>


ทำไมใช้ meta redirect / java redirect

ไปคิดเอาเอง.. หึหึ

:)
[direct=https://www.taxze.com/ups-review/]รีวิว ups[/direct][direct=https://www.taxze.com/ups-review/]ups ยี่ห้อไหนดี[/direct][direct=https://twitter.com/taxze][/direct][direct=https://www.instagram.com/taxze][/direct][direct=https://rrbg.blogspot.com/][/direct]

kkusd

อ้างถึงจาก: TAXZe ใน 29 เมษายน 2009, 14:26:54
theme/themes_name/404.php

<html><body>
<script type="text/JavaScript">
<!--
setTimeout("location.href = 'http://www.domainname.com';",0);
-->
</script>
</body></html>


ทำไมใช้ meta redirect / java redirect

ไปคิดเอาเอง.. หึหึ

:)

เยี่ยมเลยครับแต่ผมเอาไปใช้แค่

<script type="text/JavaScript">
<!--
setTimeout("location.href = 'http://www.domainname.com';",0);
-->
</script>

เอาไปใส่ในหน้าเพจเลย ขอบคุณครับ  :'( :'(