Hướng dẫn SEO WordPress: Những bước cơ bản

Hướng dẫn SEO WordPress: Những bước cơ bản

huong dan seo wordpress nhung buoc co ban 650x220 Hướng dẫn SEO WordPress: Những bước cơ bản

Chúng ta vẫn biết rằng WordPress là 1 trong những CMS được đánh giá là tốt nhất cho SEO. Nhưng vẫn còn vài điều cực kỳ cơ bản và quan trọng trong việc thiết lập các mục cho WordPress mà bạn cần phải quan tâm để tối ưu Onpage và có thứ hạng trên các bộ máy tìm kiếm. Thứ hạng cao sẽ mang lại lượng traffic cao, và doanh thu lớn.

huong dan seo wordpress nhung buoc co ban Hướng dẫn SEO WordPress: Những bước cơ bản

Trong bài viết này sẽ hướng dẫn bạn thiết lập các bước cơ bản nhưng cực kỳ quan trọng để tối ưu hóa website WordPress.

1. Kiểm tra Privacy Settings:

Đây là bước cơ bản nhưng rất quan trọng. Nơi mà bạn có thể thiết lập cho các bộ máy tìm kiếm đánh chỉ mục website. Rất nhiều website tại sao không được index trên Google. Đơn giản vì họ đã thiết lập chế độ “Block Search Engines”.

Bạn phải chắc chắn rằng mình đã lựa chọn mục “Allow search engines to index this site”.

huong dan seo cho blog wordpress Hướng dẫn SEO WordPress: Những bước cơ bản

2. Tối ưu hóa Permalink Settings

Mặc định WordPress thường dùng cấu trúc URL rất không thân thiện, dạng như sau:

http://www.wpexplorer.com/blog/?p=70

Để thân thiện với cả SEO và người dùng thì bạn luôn phải đặt từ khóa trong URL.

Và chức năng Permalink cho phép bạn tối ưu hóa cấu trúc URL.

Trong phần Setting bạn chọn “Post Name” hoặc cũng có thể tự cấu hình bằng việc nhập vào mục “Custom Structure” /%postname%/

huong dan seo co ban cho wordpress Hướng dẫn SEO WordPress: Những bước cơ bản

Lưu ý: Khi thay đổi Permalink thì có nhiều WordPress sẽ tự động cập nhật lên file .htaccess, nhưng có vài cái bạn phải nhập bằng tay. Bạn sẽ biết được điều này khi bạn thay đổi, những trang cũ sẽ thông báo lỗi 404. Nên bạn phải làm những việc này ngay từ khi vừa setup website.

3. Cài đặt các Plugin cho SEO

Một trong những điều tuyệt với nhất của WordPress là cho phép bạn thêm các Plugin để thêm các chức năng cho website của bạn. Nhắc đến SEO, WordPress hỗ trợ hàng nghìn Plugin để tối ưu hóa website thân thiện với các bộ máy tìm kiếm.

Các plugin SEO này giúp bạn dễ dàng thay đổi Title hay thẻ Mô tả của Website. Bản thân tôi thì tôi đang dùng All in One SEO Pack và tôi thấy nó rất hiệu quả và độ tùy biến rất cao.

seo wordpress nhung buoc co ban Hướng dẫn SEO WordPress: Những bước cơ bản

Lưu ý rằng: Khi các bạn đã chọn Plugin SEO rồi, thì nên dùng nó cho suốt quá trình phát triển website. Vì khi close nó rồi thì bạn sẽ phải nhập lại toàn bộ Title và Description cho từng bài viết của mình. Điều này thì sẽ làm thứ hạng giảm sút.

Dùng sitemaps luôn luôn là 1 yếu tố quan trọng. Cơ bản Sitemaps là danh sách những link trên website mà bạn muốn nó được index trên máy tìm kiếm. Bạn có thể Upload nó lên Google Webmasters Tool, điều này để thông báo với Google những nội dung có trên website để nó Crawling và index.

huong dan seo wordpress co ban Hướng dẫn SEO WordPress: Những bước cơ bản

Đây là Plugin tôi đã dùng để tạo Sitemaps cho SEOVIET. Nó sẽ tự động vẽ lại sitemaps mỗi lần bạn cập nhật nội dụng mới, và nó thông báo luôn cho máy tìm kiếm những gì vừa được cập nhật.

Theo tôi thì Plugin này bắt buộc phải có. Nó giúp bạn nhập từ khóa và URL tương ứng. Khi bài viết bạn có những từ khóa được nhập, nó sẽ tự động liên kết với các URL phù hợp. Nó giúp cho các bài viết liên kết được sâu hơn. Giúp giữ Bot lâu hơn trên website.

huong dan seo voi automatic seo links Hướng dẫn SEO WordPress: Những bước cơ bản

Plugin này cũng cho phép bạn đặt thẻ Nofollow, và mặc định là Dofollow

lam seo co ban voi wordpress Hướng dẫn SEO WordPress: Những bước cơ bản

4. Chọn những Themes WordPress thân thiện với SEO

Chọn Themes là 1 trong những điều cực kỳ quan trọng với SEO. Rất nhiều themes trông thì có vẻ đẹp, nhưng lại thật sự không thân thiện với máy tìm kiếm. Rất nhiều themes không đặt các thẻ H1, H2, H3.. nếu có thì cũng rất lung tung, làm hỏng cấu trúc tìm kiếm.

Vậy themes WordPress chuẩn SEO thì cần những gì:

  • Site phải thẻ Heading H1 và H2 trên các trang kể cả trang chủ và trang con.
  • Tất cả các tiêu đề phải được đặt trong Heading H1
  • Điều hướng Link: Breadcrubms Navigation
  • Các thẻ Next và Previous
  • Các bài viết liên quan trong các bài viết chi tiết
  • Cấu trúc rõ rang check trên W3C
  • Hãy chắc chắn rằng không có liên kết ra ngoài

5. Add Analytics Tracking To Your Theme

Nó thực sự không cần thiết, nhưng nó giúp bạn theo dõi lượng người visit trên website. Đồng thời nó giúp đưa ra những điều để tối ưu hóa website của bạn.

Có nhiều plugin, nhưng bạn có thể tham khảo Yoast Google Analytics Plugin

huong dan lam seo co ban voi wordpress Hướng dẫn SEO WordPress: Những bước cơ bản

Một số themes thì có sẵn tùy chọn cho phép bạn thêm Analytics Tracking.

Theo quan điểm của tôi thì bạn nên lấy thằng từ Code Google Analytics và copy rồi paste vào header hoặc footer.

6. Thêm mạng xã hội

Ngày nay, việc dành được thứ hạng cao trên các kết quả tìm kiếm thì việc liên kết với các mạng xã hội là điều phải làm. Các mạng xã hội phổ biến là Google (Cái này phải ưu tiên rồi), Facebook, Tweeter..

Đây là Plugin mà SEOVIET đang dùng: Sociable

seo wordpres co ban voi mang xa hoi Hướng dẫn SEO WordPress: Những bước cơ bản

7. Triển khai nội dung

Khi tất cả mọi công đoạn đã Ok, việc của bạn là duy trì viết nội dung cho website. Nội dung nên mới mẻ, hướng người dùng, có hình ảnh minh họa rõ ràng.

Tổng kết:

Bạn nên làm các bước này ngay từ đầu khi triển khai website, tránh khi trường hợp đã có đến hàng nghìn bài viết rồi mới thay đổi. Dự án SEO sẽ không hiệu quả.

Chúc bạn thành công!

 

Custom Widget – WordPress Tut

Chào các thành viên Izwebz, mình là tanlevis(nickname). Nay mình muốn chia sẻ một chút kiến thức về WP. Bài này mình sẽ nói về cách tự tạo một Widget cho Theme. Cụ thể là mình sẽ làm 1 widget để thể hiện trạng thái nick yahoo đang online hay offline.

 

xwidget.png.pagespeed.ic.hq2hVygfpn Custom Widget – WordPress Tut

Widget(wg – gọi tắt thế đi nha  Custom Widget – WordPress Tut gõ lại làm biếng quá  Custom Widget – WordPress Tut ) trong WP luôn được chứa bởi sidebar. Mọi wg luôn được kế thừa từ lớp cha – WP_Widget. Vì vậy muốn có 1 wg mới ta phải tạo 1 class mới kế thừa WP_Widget như sau:

Mở file function.php trong thư mục theme mà bạn đang dung. Thêm vào những dòng code sau:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
/*
 * Tạo Yahoo status widget
 * */
class Yahoo_Status extends WP_Widget {
    //Khởi tạo contructor của 1 lớp
    function Yahoo_Status(){
        parent::WP_Widget('Yahoo_Status_Widget',
            'Yahoo Status',
            array('description' => 'Trạng thái nick yahoo.'));
    }

Hàm Yahoo_Status ở dòng 614 là 1 constructor của class Yahoo_Status, trong hàm này ta tiến hành khởi tạo những thông số cơ bản cho Yahoo_Status bằng cách gọi ngược lên constructor của cha nó (WP_Widget) với những thông số truyền vào như sau:

$id_base: ‘Yahoo_Status_Widget’ – Id để xác định .
$name: ‘Yahoo Status’ – Tên wg.
$widget_options = array(‘description’ => ‘Trạng thái nick yahoo.’) – Thông tin tóm tắt của wg.

Kế tiếp chúng ta bắt buộc phải overrides 3 phương thức của lớp cha (WP_Widget) để hiển thị, cập nhật được wg của chúng ta.
Để hiển thị được wg lên sidebar trong Admin Panel, ta phải định nghĩa cho wg một bộ khung được quy định sẵn của WP như sau:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function widget( $args, $instance ) {
        extract($args);
        $title = apply_filters( 'widget_title',
            empty($instance['title']) ? '' : $instance['title'],
            $instance, $this->id_base);
        $text = apply_filters( 'widget_text',
            $instance['text'], $instance );
        echo $before_widget;
        if ( !empty( $title ) ) {
            echo $before_title . $title . $after_title; } ?>        
            <ul class="nick_status">
            <?php $str = explode(",", $text);               
                foreach ($str as $s) : ?>
                  <li>
                    <a href="ymsgr:sendIM?<?php echo trim($s);?>">
                        <img border="0" src="http://presence.msg.yahoo.com/online?u=<?php echo trim($s);?>&m=g&t=1&l=us">
                    </a>
                  </li>
            <?php endforeach;                       
            ?>
            </ul>        
        <?php
        echo $after_widget;
    }

Tham số cụ thể như sau:
$args: Mảng thông số dùng để hiển thị như: before_title, after_title, before_widget, and after_widget.
$instance: Những thực bên trong cấu hình nên wg như textbox, label, radio, checkbox… vd: $instance[‘title’]: lấy thực thể có ID là title.

Dòng 630 – 642 mình dùng chuỗi text nhập vào từ textarea được ngăn cách bởi dấu “,” . Sau đó tách chuỗi ra thành từng phần tử của một mảng string bằng hàm explode(“,”, $text), sau đó dùng link tới yahoo server để nhận về trạng thái online hay offline.
Tiếp theo để cập nhật được thông tin của wg ta phải overrides phương thức update như sau:

1
2
3
4
5
6
7
8
9
10
11
function update( $new_instance, $old_instance ) {
    $instance = $old_instance;
    $instance['title'] = strip_tags($new_instance['title']);
    if ( current_user_can('unfiltered_html') )
        $instance['text'] =  $new_instance['text'];
    else
        $instance['text'] = stripslashes(
            wp_filter_post_kses( addslashes($new_instance['text']) )
        );     
    return $instance;
}

Tham số cụ thể như sau:
$new_instance: Những thông tin mới từ người dung nhập vào những fied có trên wg.
$old_instance: Những thông tin hiện tại wg đang lưu.
Phương thức cuối cùng là form: hiển thị những thông tin nhập vào.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
function form( $instance ) {
        $instance = wp_parse_args( (array) $instance,
            array( 'title' => '', 'text' => '' ) );
        $title = strip_tags($instance['title']);
        $text = format_to_edit($instance['text']);
?>
        <p>
            <label for="<?php echo $this->get_field_id('title'); ?>">
                <?php _e('Tiêu đề:'); ?> </label>
            <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>"
                name="<?php echo $this->get_field_name('title'); ?>" type="text"
                value="<?php echo  esc_attr($title);?>" />
        </p>
            <label for="<?php echo $this->get_field_id('text'); ?>">
                <?php _e('Nick yahoo(cách nhau bởi dấu '):'); ?> </label>
            <textarea class="widefat" rows="5" cols="10"
                id="<?php echo $this->get_field_id('text'); ?>"
                name="<?php echo $this->get_field_name('text'); ?>">
                    <?php echo $text;?>
            </textarea>
        <p>
            <label for="<?php echo $this->get_field_id('text'); ?>">
                <?php _e('Ví dụ: tanvannguyen18, meocon17'); ?>
            </label>         
        </p>
<?php
    }
}
    
register_widget('Yahoo_Status');
?>

Tham số cụ thể như sau:
$instance: Những fied có trên wg.
Bài này mình chỉ tạo đơn giản có 3 label, 1 input và 1 textarea, cách gán id và value mình đã minh họa cụ thể trong hình. Có j không hiểu mọi người cứ comment bên dưới nha.

Cuối cùng ta xài lệnh register_widget(‘Yahoo_Status’); ngay bên dưới dấu kết thúc class Yahoo_Status để đăng ký với WP là ta có 1 wg mới, và vào lại Admin Panel để xem widget ta mới tạo.

Tới đây mình vừa hoàn thành 1 wg Yahoo_Status. Đây cũng là bài post đầu tiên của mình cho Izwebz, có gì mọi người đóng góp ý kiến để mình hoàn thiện hơn về những bài post sau. Cảm ơn mọi người đã đọc và chúc mọi người vui vẻ với Widget của mình.