[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); } ?>

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