หน้า index ก่อนเข้าหน้า home ทำให้คนที่เข้าเว็บเราบ่อยๆ เบื่อ
หากมีอะไรเด่นๆ เอาไปใส่ ส่วน เด่นๆ ของเว็บดีกว่า เช่นทำส่วน สไลด์ใหญ่ๆ
การทำ intro page (หรือ Splash Page ) ไม่ค่อยดีต่ออันดับในseo
วิธีการทำหน้า intro page ง่ายๆของ wordpress คือสร้างหน้า home.php แล้วไปโยนใส่ใน folder theme
ถ้าอยากได้ header และ footer ด้วยให้ใช้คำสั่ง get header get footer
wordpressให้ใช้ปลั๊กอินดีกว่า การตั้งหน้าเอง เพราะปลั๊กอินสามารถตั้งให้แสดงครั้งเดียว หรือปิดการแสดงไปตามจำนวนวันที่กำหนดได้ ทำให้คนเข้าไม่รำคาญเวลาเข้าเว็บหลายๆ ครั้ง หรือ อาจใช้การตั้งค่า cookie สำหรับคนเข้าชมที่เคยเข้าแล้วก็ได้
แนวทางการใช้ มี 3 แบบ
1. สร้างเป็นหน้าต้อนรับ ก่อนเข้าหน้าแรก
ไฟล์เบา โหลดไว ข้อเสียคือเนื้อหาหน้าแรกจะไม่มีข้อความ ทำให้คะแนน SEO น้อยกว่าที่ควร
เช่น https://wordpress.org/plugins/wp-splash-page/
2. สร้างเป็น Popup ในหน้าแรก
ข้อดีคือ เนื้อหาเท่าเดิม SEO เลยดีกว่า ข้อเสียคือ อาจจะโหลดนานกว่า
WP Splash Image ไว้แสดงเนื้อหาใน Lightbox
https://wordpress.org/plugins/wsi/
Full Screen Popup แต่ถ้ารู้สึกว่า Lightbox มันบังเนื้อหาอาจใช้ตัวนี้ปิดทั้งหน้าจะได้ชัด
3. ให้เปลี่ยนมาเป็นการแสดงใน slide show หรือ บน หัวเว็บเลย จะดีกว่า แถมไม่ยุ่งยากด้วย
1. ใส่ไฟล์ ไปทำใน theme ที่ใช้อยู่
2. สร้างเพจที่ต้องการทำเป็นหน้าแรกก่อนเข้าเว็บไซต์แล้วบันทึกเป็น home.php (เพราะ wp จะอ่าน home มาก่อน index)
แค่นี้มันก็อ่าน home.php แล้ว แต่ เวลากดลิ้งไป wordpress มันก็จะวนลูบ มาที่ home.php อีก
3. ไปสร้างหน้าเปล่าๆ (new page) ที่ dash board WP ไม่ต้องใส่ content ตั้งชื่อ หรือ หัวข้อ หรือหัวเรื่อง หรือ หัวโพส หรือ ชื่อโพส หรือ title เป็นอะไรก็ได้ เพราะไม่ใช่ post แต่เป็น page template theme เช่น ตั้งชื่อว่า “เว็บไซต์หน้าแรก” และแก้ไข link หน้านี้ ให้เป็น “http://vir9.com/เว็บไซต์หน้าแรก”
4. เอา url link นี้ ไปใส่ href ที่หน้าแรก เพื่อทำลิงค์ คลิกเข้าสู่เว็บไซต์
(รอเทส)
For showing the intro page only for new visitors that is if somebody already seen that it must not be displayed again. for that check in your page header.php add the following at the very top, before the declaration, and don’t leave any spaces between the closing PHP tag and that DOCTYPE tag:
if (!isset($_COOKIE[‘visited’])) /* if the visitor is a new */
{
setcookie(‘visited’, true, time() + 3600 * 24);
}
As like you said , you need to use javascript . here is the code for setting cookie in javascript and checking if it exist.
if (document.cookie.indexOf("visited") >= 0) {
alert("hello again");
}
else {
document.cookie = "visited=true; max-age=" + 60 * 60 * 24 * 10; // 60 seconds to a minute, 60 minutes to an hour, 24 hours to a day, and 10 days.
alert("This is your first time!");
}
การทำหน้าแรก ก่อนเข้าสู่เว็บ
ถ้า wordpress อยู่ในโฟลเดอร์ ให้สร้างไฟล์ index.php เอาไว้ที่ root ส่วนบนให้ใส่
<?php // Include WordPress define('WP_USE_THEMES', false); require('./wordpress/wp-load.php'); ?>
ต่อจากนั้น ใช้โค้ด wordpress ได้ปกติ
กรณี homepage อยู่ในโฟลเดอร์ wordpress
ให้สร้าง home.php หรือแก้ไข index.php (wordpress อ่าน home.php ก่อน index.php)
แล้วใส่โค้ดที่อยากจะทำ intro ตามปกติ และสามารถดึงข้อมูลของ wordpress ได้ตามปกติ
หรือ สร้าง front-page.php
หรือ
1. ทำหน้า intro ที่เราจะเอาขึ้นมาโดยใช้ชื่อว่า test.php โดยในไฟล์นั้นให้ใส่
<?php /* Template Name: test */ ?>
แล้วอัพโหลดขึ้นเว็บไปที่ ../themes/default
2.เข้าหลังบ้าน wordpress (wp-admin) แล้วสร้างหน้าใหม่ (new page) โดยใส่ชื่อให้หน้านี้ว่า Test แล้วเลือกด้านขวาในส่วนของ Attributes หัวข้อ Template เป็น test แล้ว Publish ไปเลย
ตอนนี้ถ้ากดลิ้ง มันก็โชว์แล้ว http://vir9.com/test/ แต่เราต้องการให้เข้าเว็บแล้วมาหน้านี้ใช่ไหม (เพราะตอนนี้ถ้าเข้าเว็บมันก็ไปหน้า wp เหมือนเดิม) ให้ทำข้อ3. ต่อเลย
3. คลิกสร้างหน้าใหม่ (new page) โดยใส่ชื่อให้หน้านี้ว่า Blog แล้วเลือกด้านขวาในส่วนของ Attributes หัวข้อ
Template เป็น blog แล้ว Publish ไปเลย
4. ไปเมนูหลัก หมวด Setting หัวข้อ Reading ตรงกลางที่เป็นการตั้งค่าในส่วน Front page displays
ให้เลือกเป็น A static page (select below) แล้วเลือก
Front page: test
Posts page: blog
แล้ว save ได้เลย
แล้วทำลิ้งจากหน้า intro page มาที่ url ก็ใส่ url เป็น http://www .โดเมน.com/blog
ตัวอย่างทำจริง มีเว็บเดิมอยู่แล้วเป็น static web หรือ เว็บ .html ทั้งหมด
ซึ่งเราต้องการลง wordpress ที่ root ทั้งคู่ (wordpress และ เว็บ html เดิม)
แต่ ปกติถ้าไม่ได้ทำอะไรเพิ่มเติม เวลาเข้าเว็บจะ วิ่งไปที่ index.html , index.htm, index.php ตามลำดับ ซึ่งแล้วก็เปลี่ยนลำดับได้โดยใช้ .htaccess การเขียน .htaccess ทำได้แค่เปลี่ยนลำดับการอ่าน แต่เมื่อกดลิ้งไปหน้า index.php มันก็จะวิ่งมาหน้า index.html ตลอด
วิธีนี้จึงใช้ไม่ได้ สำหรับโจทย์ที่เราต้องการ
สิ่งที่จะทำต่อไปนี้ต่างกับ การทำหน้า intro (ซึ่งต้องวางใน theme ดังวิธีที่แสดงข้างบน)
แต่ตอนนี้เราจะทำให้ เว็บ static (html) และ dynamic (wordpress) อยู่ใน root เดียวกันทั้งคู่ทำงานได้ทั้งสองแบบเลย เจ๋งป่ะล่ะ
1. เข้า admin สร้าง Page หรือ ก็คือ (new page)นั่นเอง ให้ตั้งชื่อสมมติ ชื่อ Test (ไม่ใช่สร้าง post นะ) โดยกำหนดเป้าหมายที่ต้องการให้มันวิ่งไป เช่น Permalink: http://vir9.com/ แล้ว Publish ไปเลย
ซึ่งมันจะต้องไปอ่าน index.html ของเว็บ static ของเรานั่นเอง (เราต้องการให้มันอ่านตรงนี้ก่อนเป็นอันดับเเรก แล้ว เนื้อหาเว็บอัพเดทโดย worpress ไง)
2.สร้าง Page หรือ สร้างหน้าใหม่ (new page) อีกอัน เช่น ใส่ชื่อว่า home
(จะได้มีความหมายด้วย ซึ่งก็หมายถึง หน้าแรกของ worpress หรือ จะตั้งชื่ออะไรก็ได้) แล้ว Publish ไปเลย
3. ไปเมนูหลัก หมวด Setting หัวข้อ Reading ตรงกลางที่เป็นการตั้งค่าในส่วน Front page displays
ให้เลือกเป็น A static page (select below) แล้วเลือก
Front page: test
Posts page: home
แล้ว save ได้เลย
เวลาเข้าเว็บจากนี้มันจะอ่าน vir9.com/index.html
ถ้าต้องการเข้า wordpress ให้เข้าที่ vir9.com/home
ถ้าเรากลับไปดูที่ all Page จะพบว่า
test จะมีหมายเหตุ ต่อท้ายว่าเป็น Front page
home จะมีหมายเหตุ ต่อท้ายว่าเป็น Posts page
หลักการของการทำเรื่องนี้คือ เราจะเรียก index ได้แค่อย่างเดียวนั่นคือ index.html จะไม่สามารถเรียกซ้ำได้ แต่ใช้ระบบของ wordpress จากขั้นตอนข้างต้น เพื่อสร้าง url ลิ้งไหม่ ซึ่งในที่นี้คือ vir9.com/home แทนที่จะเป็น vir9.com/index.php
ปัญหาที่เจอ ระบบ search ทำงานไม่ได้ มันจะวิ่งไปหน้า แรก ไปแก้ที่ action= …