Banner Vui cười lên

Các bài đăng mới nhất:


Tạo nút cuộn trang bằng Javascritp đơn giản, nhẹ nhàng, tình cảm

Trong bài viết trước, mình đã giới thiệu với các bạn cách tao nút cuộn back to top chỉ bằng CSS rất đơn giản. Cách làm đó có một nhược điểm đó là ít tùy biến và khi lên đầu trang nó sẽ kèm theo một cái dấu "#" ở trong URL của trang. Nếu bạn nào thích tùy biến nhiều hơn thì dùng JQuery sẽ có nhiều hiệu ứng đẹp. Nếu bạn nào chỉ muốn đơn giản, nhẹ nhàng, tình cảm thì thử dùng Javascript xem sao nhé.

Tạo nút cuộn trang bằng Javascritp đơn giản
Tạo nút cuộn trang bằng Javascritp đơn giản

Mô tả

Phần này mình nói luôn để các bạn hiểu nút cuộn làm bằng Javascript thì nó sẽ khác gì với CSS. Điểm khác biệt lớn nhất là khi cuộn trang nó sẽ không có thêm cái ký tự "#" ở trong URL và chúng ta có thể điều chỉnh để nút cuộn trang này ẩn hiện theo ý muốn. Giống như kiểu chúng ta phải kéo xuống đến đâu đó thì nút cuộn mới hiện ra chẳng hạn.
Nếu nút cuộn trang này phù hợp với mong muốn của bạn thì hẵng làm nhé. Nếu không phù hợp thì đừng thử lại mất thời gian ra (vọc code mất thời gian lắm =_=).

Tạo nút cuộn trang bằng Javascritp đơn giản, nhẹ nhàng, tình cảm

Code của em nó đây:
<a id="nutbacktotop" href="javascript:void(0)" title="Back to Top"><img src="https://nhatbanonline.net/wp-content/uploads/2019/03/back-to-top.png" alt="Quay lại đầu trang"/></a>
<script>
//Khi người dùng cuộn chuột thì gọi hàm scrollFunction
    window.onscroll = function() {scrollFunction()};
    // khai báo hàm scrollFunction
    function scrollFunction() {
        // Kiểm tra vị trí hiện tại của con trỏ so với nội dung trang
        if (document.body.scrollTop > 2000 || document.documentElement.scrollTop > 2000) {
            //nếu lớn hơn 2000px thì hiện button
            document.getElementById("nutbacktotop").style.display = "block";
        } else {
             //nếu nhỏ hơn 20px thì ẩn button
            document.getElementById("nutbacktotop").style.display = "none";
        }
    }
    //gán sự kiện click cho button
    document.getElementById('nutbacktotop').addEventListener("click", function(){
        //Nếu button được click thì nhảy về đầu trang
        document.body.scrollTop = 0;
        document.documentElement.scrollTop = 0;
    });
   </script>
Còn đây là CSS của thẻ <a> bên trên
#nutbacktotop {position:fixed;bottom:10px;right:10px;z-index: 1000;}
Những chỗ có màu đỏ các bạn chú ý nhé. Phần link là link của nút cuộn trang, các bạn tự thiết kế up lại rồi thay link nhé. Còn chỗ có số 2000 thì cũng giải thích rõ trong coder rồi, khi các bạn kéo trang xuống 2000px thì nút cuộn trang nó mới hiện. Các bạn chỉnh số này cho phù hợp theo sở thích nhé.

Code trên các bạn có thể copy vào chỗ footer hoặc header thì tùy. Còn bạn nào mà chưa biết chèn code vào đâu thì xem qua bài viết Thêm bài viết liên quan trong wordpress không dùng plugin nhé. Trong bài này mình đã hướng dẫn khá chi tiết với hình ảnh rõ ràng rồi đó. Mình mới làm trên wordpress và cũng chưa thử với blogspot nhưng chắc là không vấn đề gì đâu. Bạn nào rảnh thử rồi comment bên dưới nhé. Còn demo của nút bấm này thì các bạn vào trang Nhật Bản Online theo link https://nhatbanonline.net để xem nhé.

Chúc các bạn thành công! Nếu không thành công thì ới mình, nếu biết mình sẽ giải đáp cho.

Tạo menu phụ cố định cho web trên giao diện mobile

Chào các bạn, hiện nay trải nghiệm người dùng đang được những người làm website quan tâm. Mỗi người đều có những ý kiến khác nhau về trải nghiệm người dùng. Tuy nhiên, quan trọng nhất vẫn là sở thích của mỗi người. Ngày hôm nay mình sẽ hướng dẫn các bạn cách tạo menu phụ cố định cho web trên giao diện mobile.

Tạo menu phụ cố định cho web trên giao diện mobile
Tạo menu phụ cố định cho web trên giao diện mobile

Ý tưởng

Chả là có người xem web thường xuyên thấy khó chịu về việc không tìm thấy menu nó ở chỗ mô. Rồi thì là và mà tại sao không làm cho cái menu nó fix luôn ở trên đi bla bla bla. Vấn đề là làm vậy nó sẽ che mất một ít nội dung và nhìn cũng không đẹp lắm. Tuy nhiên có người lại thích như vậy nên mình sẽ hướng dẫn các bạn một cách làm cực kỳ đơn giản. Các bạn có thể dùng để hiển thị menu hay thông tin liên hệ đều được. Đặc biệt, cách này có thể áp dụng cho blogspot hay wordpress đều ok và rất nhẹ nhàng không làm web bị năng khi tải trang.

Code tạo menu phụ cố định cho web trên giao diện mobile

Code HTML

<div class="fixmenu">
<input type="button" id="btn1" value="Menu" style="width: 25%; height: 50px;"/>
<div id="menudichvu" class="an">
<a class="dichvu" href="#">Dịch vụ 1</a>
<a class="dichvu" href="#">Dịch vụ 2</a>
<a class="dichvu" href="#">Dịch vụ 3</a>
<a class="dichvu" href="#">Dịch vụ 4</a>
<a class="dichvu" href="#">Dịch vụ 5</a>
<a class="dichvu" href="#">Dịch vụ 6</a>
</div>
        <script language="javascript">
var x = document.getElementById("menudichvu");
            document.getElementById("btn1").onclick = function () {
if (x.className === "an") {
                document.getElementById("menudichvu").style.display = 'block';
x.className ="hien";
} else {
document.getElementById("menudichvu").style.display = 'none';
x.className ="an";
}
            };
        </script>
</div>

Code CSS

#menudichvu {display:none;}
a.dichvu {display:block; background:#dedbdb;color: black;margin-bottom:2px;text-align:center;padding: 15px 5px 15px 5px;text-decoration:none}
a:hover.dichvu {background:#a3a3a3;color:white;}
#menudichvu {background-color:#63687a;min-height: 180px;}
.fixmenu {display:none;position: fixed;top: 15px;left: 0;width: 100%;z-index: 1000;}
#btn1 {margin-left: 79%;}
@media only screen and (max-width:800px) {
.fixmenu {display:block;}
}
Các bạn paste đoạn html vào trước thẻ </body>. Còn đoạn CSS các bạn chèn vào trong trước </b:skim> (đối với blogspot) hoặc chèn vào trong file style.css (đối với wordpress).

Chỉ vậy thôi là xong, có thể với các giao diện khác nhau nó sẽ bị xô lệch đi chút ít, các bạn sửa một chút kích thước trong CSS là được. Các bạn có thể chỉnh CSS cho đẹp hơn hoặc sử dụng nó như môt tiện ích khác trên website chứ không nhất thiết là phải dùng làm menu nhé. Đây là kết quả của mình:
Tạo menu phụ cố định cho web trên giao diện mobile
Tạo menu phụ cố định cho web trên giao diện mobile

Thêm bài viết liên quan trong wordpress không dùng plugin (có thumb)

Một trong những cách giúp wordpress nhẹ nhàng hơn chính là hạn chế dùng plugin. Thường các bạn vẫn hay sử dụng plugin để thêm phần bài viết liên quan vào wordpress rất tiện lợi. Tuy nhiên, hôm nay mình sẽ hướng dẫn các bạn thêm bài viết liên quan trong wordpress không dùng plugin.
Thêm bài viết liên quan trong wordpress không dùng plugin (có thumb)
Thêm bài viết liên quan trong wordpress không dùng plugin

Thêm bài viết liên quan trong wordpress không dùng plugin

Bước 1: xác định nơi chèn code và CSS

Vì không dùng plugin nên chắc chắn các bạn cần phải chèn code thì mới hiển thị được bài viết liên quan. Tuy nhiên nhiều bạn không biết phải chèn code vào chỗ nào. Vấn đề này không khó nhưng cũng không dễ. Các bạn phải xác định được 2 file để chèn code đó là file có vị trí mà bạn muốn chèn và file CSS.
Ví dụ, bạn muốn chèn bài viết liên quan vào cuối bài viết (post). Bạn phải tìm được file nguồn (file chứa code) của post. Sau đó lại tìm xem phải chèn code vào chỗ nào trong file đó để nó hiển thị không bị lỗi và hiển thị đúng vị trí. Đầu tiên, để tìm được file code, các bạn đăng nhập vào trang admin nó sẽ có giao diện cơ bản như sau:
trang admin wordpress

Trong thanh công cụ bên tay trái, các bạn chọn giao diện -> sửa
vào mục sửa giao diện

Trong trang "sửa" các bạn chọn theo mũi tên như hình dưới và chọn đúng giao diện mà các bạn đang dùng để chỉnh sửa rồi nhấn vào nút chọn bên cạnh. Giờ chúng ta đã đến được phần quản lý file giao diện.
chọn giao diện để sửa

Ở khung bên phải, các bạn chú ý tìm file style.css và file bạn cần chèn code. Nếu các bạn muốn chèn vào chuyên mục thì tìm file archive.php, nếu muốn chèn vào bài viết thì tìm file single.php hoặc content-single.php. Tuy vào từng giao diện sẽ có tên khác nhau nên các bạn "mò" trong này nhé.
Sau khi đã tìm được file, các bạn click vào file đó nó sẽ ra nội dung ở khung bên cạnh. Các bạn sẽ chèn code vào trong khung đó.
tìm file sửa giao diện

Bước 2: Chèn code và CSS

Sau khi xác định được file để chèn code, các bạn thử thêm vài ký tự rồi lưu lại và test thử xem vị trí đó có đúng vị mà bạn cần chèn code không. Sau khi xác định được, các bạn chèn đoạn code sau và lưu lại:
<hr/>
<h3><span style="color:#ff5115; font-size:22px;"><strong>Bài viết cùng chủ đề:</strong></span></h3><hr/>
<?php $args = array('post_status' => 'publish','numberposts' => '6','category__in' => wp_get_post_categories($post->ID),'orderby'=> 'rand');
    $recent_posts = wp_get_recent_posts($args); ?>
<div class="fixnoidung">
<?php foreach ($recent_posts as $recent) { ?>
<div class="fixhienthi">
<?php echo get_the_post_thumbnail( $recent["ID"],'medium', 'thumbnail').'<a href="' . get_permalink($recent["ID"]) . '">' . $recent["post_title"] . '</a>';?>
</div>
<?php } ?>
<div style="clear:both;"> </div>
</div>
<?php wp_reset_postdata(); ?>
Các bạn vào file style.css và chèn đoạn CSS sau để nó hiển thị cho đẹp (chèn xuống cuối cùng nhé):
.fixnoidung {width: 97%;}
.fixhienthi {width: 31%; border: 1px solid #d1d0d0; border-radius:5px; float: left; margin-left: 2%;margin-bottom: 10px; padding: 5px; min-height:250px}
.fixhienthi a {color:black;}
.fixhienthi img {margin-bottom:10px}
@media only screen and (max-width:800px) {
.fixhienthi {width: 48%;min-height:220px}
}
Các bạn chú ý dòng màu đỏ ở code nhé: dòng này có một số thông số các bạn cần biết:
  • 'post_status' => 'publish' : lấy các bài viết đã đăng để hiện thị, nếu không có cái này nó thậm chí sẽ lấy cả các bài nháp chưa đăng để hiện thị.
  • 'numberposts' => '6': Số bài viết hiển thị, các bạn có thể điều chỉnh số lượng tùy ý.
  • 'category__in' => wp_get_post_categories($post->ID): đoạn này là điều kiện để hiển thị các bài liên quan trong cùng chuyên mục. Nếu bỏ đoạn này đi nó sẽ hiển thị các bài viết mới nhất kể cả không cùng chuyên mục.
  • 'orderby'=> 'rand': hàm này để hiển thị bài viết một cách ngẫu nhiên. Các bạn không thích có thể bỏ đi.

Bước 3: Kiểm tra và fix

Sau khi chèn code các bạn có thể F5 lại trang để xem kết quả. Tuy nhiên, đôi khi trang của bạn có cài cache, khi đó bạn sửa CSS nó sẽ không hiển thị ngay. Vì thế, một là các bạn xóa cache rồi F5 lại trang hoặc nhấn Shift + F5 để không bị load cache CSS nữa. Mình có làm trên một trang tin tức về nước Nhật và kết quả là đây :
kết quả
Thêm bài viết liên quan trong wordpress không dùng plugin

Khi các bạn chèn code vào có thể bị lỗi khiến lúc lưu file không được. Có nhiều nguyên nhân gây lỗi như bạn copy thiếu dấu ngoặc } hay dấu ' đấy ; gì đó. Cũng có thể chỗ bạn paste code vào không đúng gây lỗi. Vì thế, nếu test bạn nên chèn code thử vào cuối cùng của file.
Chú ý: để thêm bài viết liên quan trong wordpress không dùng plugin, mình đã tham khảo khá nhiều bài hướng dẫn và thấy không phải đoạn code nào chèn vào cũng hiển thị. Do vậy, mình không dám chắc 100% hướng dẫn trên của mình sẽ thành công nhưng tỉ lệ thành công là rất cao đấy vì mình đã thử qua vài web và thấy ổn.

Tối ưu tốc độ tải trang cho wordpress 100/100 Googlespeed Insights

Muốn cải thiện tốc độ tải trang cho wordpress có điểm số cao trước tiên phải tối ưu hình ảnh. Hạn chế plugin, sử dụng cache, ... Và sau đây là một số điểm chính để có thể cải thiện đáng kể chỉ số dành cho các bạn.
Tối ưu tốc độ tải trang cho wordpress 100/100 Googlespeed Insights

1. Sử dụng plugin Autoptimize và WP Faster Cache

Cài 2 plugin này các bạn sẽ có đầy đủ chức năng nén Gzip, nén CSS, JS ... Tuy nhiên, hai plugin này có nhiều chức năng tương tự, vì thế mà các bạn đừng để trùng chức năng nhé.

2. Hạn chế các widget gây nặng giao diện (càng đơn giản càng tốt)

Nếu có thể, một vài chức năng nên sử dụng code chèn trực tiếp vào wordpress chứ dừng dùng plugin. Ví dụ như nút back top chỉ cần 1 dòng lệnh CSS đơn giản là ok không cần phải cài plugin làm gì cho mệt cả.

3. Loại bỏ JavaScript và CSS chặn hiển thị trong nội dung trong màn hình đầu tiên

Thêm function sau vào trong file function.php của giao diện gốc
/*function to add async to all scripts*/
function js_async_attr($tag){
# Add async to all remaining scriptsreturn
str_replace( ' src', ' async="async" src', $tag );}
add_filter( 'script_loader_tag', 'js_async_attr', 10 );
Nếu không dùng async các bạn có thể thay bằng defer
/*function to add async to all scripts*/
function js_async_attr($tag){
# Add async to all remaining scriptsreturn
str_replace( ' src', ' defer="defer" src', $tag );}
add_filter( 'script_loader_tag', 'js_async_attr', 10 );
 Theo mình test thì dùng async điểm số được 99/100 còn dùng defer thì được 100/100 luôn. Tuy nhiên khi mình vào trong quản trị widget trong admin thì thấy có nhiều chỗ hơi bị lỗi. Những widget văn bản không mở ra sửa nội dung được (lỗi khác nữa thì chưa biết) nên nếu không phải chỉnh gì về giao diện thì các bạn cứ tối ưu code cũng được còn nếu mà chỉnh gì về giao diện thì tạm thời bỏ đi nhá.

4. Nâng cao lưu vào bộ nhớ cache trong trình duyệt

Cái này thường báo lỗi https://www.google-analytics.com/analytics.js (2 giờ). Mình đã thử nhiều cách nhưng vẫn không ăn thua. Cuối cùng đành dùng thủ thuật để đánh lừa google rằng mình không có file này.
Đầu tiên các bạn gỡ mã theo dõi Analytic trên trang đi. Vào file header.php và thêm đoạn code sau vào trước thẻ </header>
<?php if (!isset($_SERVER['HTTP_USER_AGENT']) || stripos($_SERVER['HTTP_USER_AGENT'], 'Speed Insights') === false): ?>
<!-- Copy mã Google Analytics của bạn vào đây -->
<?php endif; ?>

Copy, paste đoạn mã theo dõi của google Analytic vào chỗ <!-- Copy mã Google Analytics của bạn vào đây --> vậy là Ok.

5. Giảm thời gian phản hồi của máy chủ

Cái này không làm gì được khác đâu, nâng cấp máy chủ khác tốt hơn hoặc đổi máy chủ khác đi là ok. Bình thường thì nếu code không quá nặng nó cũng không báo cái này đâu.

6. Tối ưu hóa hình ảnh

Không cần hình ảnh quá to làm gì cả. Nếu web tin tức bình thường thì ảnh chiều rộng khoảng 450 - 500px là được (không to không nhỏ). Sau khi resize ảnh theo kích thước nhất định các bạn hãy nén ảnh lại trước khi up lên web. Thường mình dùng phần mềm Caesium, phần mềm này hoàn toàn miễn phí, rất nhẹ và rất dễ sử dụng. Các bạn dùng Caesium để giảm dung lượng ảnh theo ý muốn. Ảnh có chiều rộng khoảng 500px giảm cho dung lượng ảnh còn khoảng 50kb là ok.

Với 6 bước trên chắc chắn điểm số của trang sẽ trên 80. Nếu bạn làm kỹ càng hơn sẽ được tầm 99/100. Check một số bài viết có thể lên được 100/100 như của mình đấy.

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

Bouns: để tốc độ truy cập tốt hơn bạn có thể tham khảo disable wp-cron.php hoặc giảm thời gian autosave để tiết kiệm dung lượng bộ nhớ trong cơ sở dữ liệu.

Cơ bản về SEO dành cho "gà"

Học SEO cơ bản - Hiện nay SEO là một nghề mà nhiều người bảo rằng nghề này dành cho dân IT mới ra trường tránh thất nghiệp. Hôm nay mình sẽ nói những điều cơ bản về SEO dành "gà". Đây là ý kiến cá nhân nhé nên bạn nào bất mãn thì ... lượn dùm.

Cơ bản về SEO dành cho "gà"

SEO là một nghề

Cái này mình khẳng định luôn, SEO là một nghề. Nghề này ai nghĩ ra sao thì nghĩ, người trong nghề hiểu và làm như thế nào mới là quan trọng. Ngày trước, mình học IT xong ra trường đi làm ... bảo vệ, lúc đó nhiều người nhìn mình với con mắt coi thường, nhiều khi nghĩ mà tủi thân nhưng thôi cũng chả so đo với họ làm gì. Sau này, mình xin vào một công ty với vị trí SEO, lúc đó nghĩ là khá khẩm hơn nhưng thực tế nhiều lúc cũng ức chế vl. Cuối cùng thấy cho dù là làm gì thì đó cũng là nghề, chỉ cần yêu nghề và kiếm được tiền là ok rồi.

Nhiều bạn nói rằng SEO dành cho dân IT mới ra trường tránh thất nghiệp, chỉ cần học khoảng 1 tháng xong ra là làm SEO được ngay. Tuy nhiên, ai nghĩ sao thì nghĩ, rất nhiều SEOer đã và đang kiếm tiền từ SEO với mức thu nhập khá ổn nhưng rất thầm lặng. Do vậy, nếu bạn thực sự giỏi đến một mức độ nào đó, bạn hoàn toàn có thể kiếm được nhiều thậm chí rất nhiều tiền từ nghề mà bạn chọn trong đó có SEO.

Bản chất của SEO

Các bạn chỉ càn lên google và seach SEO là gì? sẽ có rất nhiều kết quả trả về giải thích rõ cho bạn câu hỏi này. Thế nhưng, khi càng tìm hiểu về SEO nhiều bạn lại càng xa rời bản chất của SEO. Thực chất, SEO chỉ là tối ưu hóa công cụ tìm kiếm giúp website lên top và chủ yếu là lên top Google.

Nếu như bạn làm mọi cách chỉ để lên top Google thì chắc chắn bạn sẽ không bao giờ vật vã với cái gọi là SEO nhưng đời không như mơ. Người làm SEO hiện nay phải kiêm đủ thứ việc liên quan đến marketing thành ra nhiều bạn đã nhận thức sai về SEO.

Khi bạn làm SEO, chủ doanh nghiệp sẽ yêu cầu bạn phải viết nội dung tốt, biết quảng bá hình ảnh thương hiệu của công ty, phải làm sao để khách vào web là thấy uy tín thấy lôi cuốn và muốn mua hàng. Vâng, đó không phải công việc của người làm SEO đâu. Làm SEO chỉ là đưa web lên top thôi, các cái khác không liên quan nhé.

Công ty thuê bạn còn muốn bạn phát triển thương hiệu, quảng bá rộng rãi thương hiệu trên toàn thế giới rồi muốn tất cả những ai trong ngành trong nghề đều biết về công ty ... bla bla bla. Đó cũng chả phải là việc của SEO. Làm SEO chỉ là đưa web lên top thôi và nói chung là lên được top Google là bản chất của SEO.

Làm SEO là làm những gì?

Như mình phân tích về bản chất của SEO chắc nhiều bạn sẽ hơi hoang mang. Tất nhiên mình nói vậy cũng là hơi quá nhưng đó mới là bản chất của SEO và chúng ta làm SEO chỉ cần lên top là được. Để len được top Google, chúng ta cần biết Google đánh giá theo những tiêu chí nào sau đó làm tốt các tiêu chí đó vậy là top thôi.
Một vài tiêu chí cơ bản mà Google đánh giá website:
  • Nội dung: Nội dung chất lượng, hữu ích luôn được đánh giá rất cao.
  • Backlink: thể hiện sự phổ biến của website, tiêu chí này cũng rất quan trọng.
  • Traffic (lượt view web): một web tốt là một web có nhiều người xem, nếu có nhiều người xem tất nhiên sẽ được đánh giá cao.
 Trên cơ bản làm SEO chỉ cần chú trọng bấy nhiêu thôi là được. Tuy vậy, có nhiều bạn sẽ bị nhầm lẫn nhé. Cái nhầm cơ bản đó là các bạn không xác định được mục đích khi làm SEO. Nếu bạn công ăn lương cho một công ty, công ty đó giao cho bạn công việc là SEO web A lên top, bạn SEO web A lên top là hoàn thành công việc. Thế nhưng, ông chủ lại nói rằng bạn SEO lên top nhưng công ty chẳng bán được thêm sản phẩm nào và bắt bạn SEO làm sao để lên top và khách vào mua hàng. Lúc đó vấn đề lại khác, ông chủ muốn SEO lên top để bán được nhiều sản phẩm hơn. Lúc đó bạn chỉ cần làm sao để bán được nhiều sản phẩm hơn từ kênh Online mà bạn phụ trách là được sếp khen rồi chứ không cần lên top nữa. Do vậy, hãy sáng suốt và hiểu rằng mình đang SEO với mục đích gì? SEO để lên top hay để bán hàng hay cả hai.

Chỉ khi các bạn hiểu được bạn làm SEO để làm gì khi đó các bạn mới có thể làm được một cách hiệu quả nhất. Hi vọng, cơ bản về SEO dành cho "gà" sẽ giúp các bạn newbie có cái nhìn khác về SEO và nếu thấy nghề này không phù hợp với bản thân thì đừng đâm đầu vào nghề này nhé. Khuyên thật lòng đấy ^_^

About Vui Cuoi Len - 2LAN

Vui Cười Lên - Chào các bạn, blog này mình tạo ra thực chất cũng có chút tham vọng SEO nhưng nhiều hơn là mình muốn tự làm một trong blogger theo ý mình. Nhiều blogger hay có phần giới thiệu bản thân, mình thì không muốn có phần đó vì blog này mình thiết kế như một trang web giới thiệu.

About Vui Cuoi Len - 2LAN
Bắt đầu kể về bản thân nhé. Trước đây học hành thuộc loại khá, thích chơi game và sau vì nhiều lý do nên thi vô trường đại học .... nông nghiệp - khoa Công nghệ thông tin (trồng lúa)

Sau học cũng chẳng chuyên về cái gì cả, ra trường đi làm ... bảo vệ rồi chuyển qua bán quần áo, sau đăng ký bừa vào công ty với vị trí làm SEO. Thế nào cuối cùng lại được nhận và từ đó làm SEO (seo mãi không lên)

Sau ngộ đạo ra vài điều về SEO muốn chia sẻ với mọi người, ngoài ra cũng ức chế nhiều thứ trong công việc cũng muốn có một trang để viết lên tâm hự của bản thân. Sau nhiều đắn đo cuối cùng đã tự tạo một theme blogspot để chia sẻ và tâm hự xả stress. 

Chia sẻ những gì?

  • Thủ thuật SEO
  • Thủ thuật Blogspot
  • HTML CSS
  • Design (siêu gà)
  • Facebook
  • MMO

Tâm hự những gì?

  • Có gì stress sẽ tâm hự với anh em
  • Bày tỏ ức chế trong lòng
  • Có thể sẽ tâm hự cả về kinh tế chính trị xã hội

Một vài trang đang quản lý:

Định hướng:

  • Cố gắng tìm hiểu và kiếm thêm thu nhập từ MMO

2LAN là gì?

Đây là từ viết tắt của vài cái tên thôi chứ chẳng phải tên thương hiệu hay gì đâu nên anh chụy em đừng để ý, hè hè

Vui cười lên

Trước có một người rất hay buồn, thế là cũng muốn an ủi bẩu người ta Vui Cười Lên, thế là có một ý tưởng là làm một trang vui cười lên. Lúc đó tên miền vuicuoilen.com vẫn còn cơ, đến giờ có người mua mất tên miền đó roài.

Vài bài học nghiệm ra:

  • Cái gì cũng phải đầu tư, SEO cũng cần đầu tư. 
  • Muốn làm để ăn một mình thì không quá khó nhưng nếu muốn làm để nổi bật thì phải có "đội". Xây dựng một đội cần có kỹ năng quản lý và nhiều kỹ năng khác chứ không phải giỏi chuyên môn là làm được.
  • Làm gì cũng có rủi ro nhất định nên SEO đôi khi cũng "hên xui" lắm.
  • Nếu đi làm thuê thì sau này sẽ là người có tiền, còn nếu muốn trở thành người có nhiều tiền thì cần phải làm ông chủ.
  • Tầm nhìn rất là quan trọng, muốn nhìn xa hơn cần phải có cơ hội. Không phải ai đứng trước viễn cảnh cũng nhìn thấy được xa hơn. Nếu không nhìn được xa hơn thì cần phải có người chỉ cho.
  • Làm người có nhiều cách, bạn có thể chọn cách làm người theo ý muốn của bản thân. Mỗi cách làm người đều có ưu nhược điểm của nó không thể nào nói nó tốt hay không mà quan trọng là bạn có chấp nhận được nó hay không mà thôi.
Anh em có gì muốn trao đổi cứ để lại comment nhé. Mình thực ra cũng chẳng tài giỏi gì lắm đâu nên rất cần anh em chỉ điểm thêm cho. Hôm nay đến đây thôi, bao giờ có gì mới (nghỉ việc) sẽ lại update tiếp về bản thân.



Tạo nút cuộn trang cho Blogspot bằng CSS cực đơn giản

Thủ thuật Blogger - Trong một bài viết, nếu ngắn thì các bạn chỉ cần thao tác cuộn một lần là có thể cuộn từ đầu trang tới cuối trang và ngược lại. Nhưng với những bài viết dài, việc cuộn từ cuối trang lên đôi khi lại trở nên rắc rối với nhiều người (không biết nút Home hay hỏng cuộn ở chuột). Vì thế có một nút lên đầu trang trong web đôi lúc rất cần thiết. Hôm nay chúng ta cùng tạo nút cuộn trang cho Blogspot bằng CSS cực đơn giản nhé.

Tạo nút cuộn trang cho Blogspot bằng CSS cực đơn giản
Tạo nút cuộn trang cho Blogspot bằng CSS cực đơn giản
Lý do lựa chọn dùng CSS thay vì Javascrip hay Jquery: như trong những bài trước mình đã nói, khi làm một website yêu cầu cần phải load nhanh. Để làm được điều này cần hạn chế tối đa các hiệu ứng trên blog và tối ưu hóa hình ảnh. Do vậy, dù có rất nhiều cách làm nút cuộn trang cho blog nhưng mình sẽ dùng CSS để web có thể load tốt, nhẹ và nhanh nhất có thể.

Hướng dẫn tạo nút cuộn trang cho Blogspot bằng CSS cực đơn giản

Đầu tiên các bạn cần có một nút cuộn trang cho riêng mình. Để làm một nút cuộn trang các bạn hãy dùng các phần mềm như photoshop hoặc coreldraw nhé. Một cách nữa là các bạn có thể lên google tìm một số hình icon cuộn trang đẹp và tải về. Ví dụ mình tìm được một cái ảnh có đuôi .PNG như dưới đây.


Sau khi tải về máy mình tải ảnh đó lên trang này và lấy được link ảnh như sau:
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhOq_0h-7xrUtXDE230kcShFnwGLymdtwAx4X6lqlXkED5YC98q6myXmRR4NP3ViApZVF8FgmsJNNwEceNBFxTZdbR09M5cCsg7kjy7IPCba-OrfTPT-pDHcpO4A3V3GAw1685JY-Pz9Q/s1600/Top.png
Tiếp theo, các bạn vào Bố cục -> Thêm tiện ích (thêm ở đâu cũng được) --> HTML/Javascript

Phần tiêu đề: bỏ trống

Phần nội dung: Paste đoạn sau vào phần nội dung:
<a style="display:scroll;position:fixed;bottom:5px;right:5px;z-index:1000;" href="#" title="Back to Top">
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhOq_0h-7xrUtXDE230kcShFnwGLymdtwAx4X6lqlXkED5YC98q6myXmRR4NP3ViApZVF8FgmsJNNwEceNBFxTZdbR09M5cCsg7kjy7IPCba-OrfTPT-pDHcpO4A3V3GAw1685JY-Pz9Q/s1600/Top.png" alt="nút cuộn đầu trang"/>
</a>
Phần màu đỏ các bạn thay bằng link ảnh mà các bạn có nhé. Nếu không có ảnh thì cứ để nguyên như của mình cũng được. Trang của mình hiện đang dùng code này nên các bạn có thể xem demo trên trang này luôn.


Chúc các bạn thành công, nếu có vấn đề gì để lại comment mình sẽ giải đáp nhé.

Hướng dẫn thêm khung comment facebook vào blogspot

SEO - Chào các bạn, trong blogspot có phần comment bằng tài khoản gmail và cũng có kiểu comment nặc danh. Tuy nhiên cả hai kiểu này có thể bạn không thích, vậy hôm nay hãy thử thêm khung comment facebook vào blogspot xem sao nhé.

Hướng dẫn thêm khung comment facebook vào blogspot
Để thêm khung comment facebook vào blogspot vừa dễ lại vừa khó vì cần động chạm chút tới code. Tất nhiên là cứ làm theo hướng dẫn và copy paste paste thôi là ok nhưng nhiều bạn vẫn không làm được. Nguyên nhân thì có nhiều nhưng có nguyên nhân chính đó là facebook thường hay thay đổi và bạn thường chỉ thấy các hướng dẫn đã cũ, khi làm theo thì giao diện không giống, code cũng không giống nên làm sai tè le ^_^. Nói vậy để các bạn biết vậy, còn trên cơ bản các bước vẫn như thế thôi, chỉ cần mò mẫm tý là ok.

Ưu nhược điểm của việc thêm khung comment facebook vào blogspot:

  • Ưu điểm: ít bị spam, dễ quản lý comment.
  • Nhược điểm: load chậm, không hỗ trợ SEO, cần có đăng nhập facebook mới comment được.
Cả ưu và nhược điểm đều khá rõ ràng, nói chung là các bạn tự xem lựa chọn có nên thêm khung comment facebook vào blogspot của mình không nhé.

Hướng dẫn thêm khung comment facebook vào blogspot


Bước 1: Tạo App trong facebook

Vào link: https://developers.facebook.com/
Vào Ứng dụng của tôi --> thêm ứng dụng mới --> điền tên bất kỳ rồi tạo App ID
Hướng dẫn thêm khung comment facebook vào blogspot
Sau khi tạo được App facebook mới sẽ hiện lên trang quản trị App đó,

thêm khung comment facebook vào blogspot
Vào Xét duyệt ứng dụng --> đặt app ở chế độ công khai
Vào Vai trò --> Set quyền quản trị cho mình
Vào lại Bảng điều khiển để lấy ID app (ID ứng dụng ấy)
Vào trang http://lookup-id.com/ này và điền facebook quản trị vào để lấy ID cá nhân
Chú ý: Phiên bản API khi mình viết hướng dẫn này là v 2.10. Nếu các bạn thấy Phiên bản API trong bảng điều khiển là phiên bản khác thì chưa chắc hướng dẫn này đã đúng (thay đổi phiên bản mà)

Bước 2: Chèn code vào blogspot để thêm comment facebook 

Đăng nhập Blogger -> Chủ đề --> Chỉnh sửa HTML
Thêm 4 thẻ meta vào sau thẻ <head>
<meta content='ID app của bạn' property='fb:app_id'/>
<meta content='ID facebook cá nhân của bạn' property='fb:admins'/>
<meta content='//www.facebook.com/ID app của bạn/' property='article:publisher'/>
<meta content='//www.facebook.com/ID facebook cá nhân của bạn/' property='article:author'/>
Thêm script sau vào trước thẻ đóng </body>
<!-- scrip comment fb -->
<script>
window.fbAsyncInit = function() {
FB.init({
appId : &#39;ID app của bạn&#39;,
xfbml : true,
version : &#39;v2.10&#39;
});
FB.AppEvents.logPageView();
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = &quot;https://connect.facebook.net/en_US/sdk.js&quot;;
fjs.parentNode.insertBefore(js, fjs);
}(document, &#39;script&#39;, &#39;facebook-jssdk&#39;));
</script>
<script>
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id; js.async=true;
js.src = &quot;//connect.facebook.net/vi_VN/sdk.js#xfbml=1&amp;version=v2.10&amp;appId=App ID của bạn';
fjs.parentNode.insertBefore(js, fjs);
}(document, &#39;script&#39;, &#39;facebook-jssdk&#39;));
</script>
<!-- ket thuc scrip comment fb -->
Thêm khung comment
Tìm <b:include data='post' name='post'/>
Thêm code sau vào sau thẻ <b:include data='post' name='post'/>
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<hr/>
<h3 style='margin-top: 15px;color:black;'>Bình luận cho bài viết này:</h3>
<div class='fb-comments' data-num-posts='5' data-width='100%' expr:href='data:post.canonicalUrl'/>
</b:if>
Giờ vào bài viết và test thử đi nhé!

Tổng kết:

Để thêm khung comment facebook vào blogspot trước tiên ta tạo một app trong facebook, app này sẽ dùng để quản lý comment, khi có comment mới nó sẽ báo ngay về face cá nhân. Sau khi đã có một app chúng ta sẽ vào phần tiện ích của facebook để lấy code comment (đoạn này mình bỏ qua vì code nào cũng gần giống nhau thôi).
Chèn code từ facebook vào blogspot có 3 bước, chèn thẻ <meta>, chèn JavScript, chèn lệnh hiển thị. Các bạn hãy chèn đúng chỗ muốn hiển thị theo hướng dẫn là ok nhé. Nhớ thay các chỗ chữ màu đỏ thành thông tin appID và ID cá nhân của bạn.
Chúc mọi người may mắn và thành công.

Tối ưu SEO khi viết bài trên Blogspot

Học SEO - Để tối ưu SEO khi viết bài trên blogspot có rất nhiều điểm các bạn cần làm tỉ mỉ. Blogspot không giống như trong Wordpress, rất nhiều thứ cần phải làm thủ công thậm chí căn chỉnh của khá tốn thời gian tuy nhiên có nhược điểm thì cũng có rất nhiều ưu điểm. Nếu các bạn muốn SEO blogspot các bạn nên dành thời gian để tối ưu SEO khi viết bài trên Blogspot.

Tối ưu SEO khi viết bài trên Blogspot
Như trong một bài viết hướng dẫn làm sao cho giao diện của blogspot chuẩn SEO mình cũng từng nói rồi, không có gì đảm bảo chuẩn SEO cả mà chỉ là mỗi người tự định nghĩa sao cho chuẩn SEO mà thôi. Do vậy, mình làm cho blog của mình chuẩn SEO theo cách mà mình cho là đúng, ai phản đối thì đừng làm theo. OK

Một vài tiêu chuẩn để bài viết chuẩn SEO:

  1. Tiêu đề bài viết phải là thẻ H1
  2. Nội dung bài viết không nên có thêm thẻ H1
  3. Nội dung bài viết nên có thẻ h2, h3
  4. Tối ưu hình ảnh trong bài viết
  5. Trong bài viết có link đến bài viết khác (link nội bộ hoặc bài viết liên quan)
  6. Trong bài viết nên fomat đẹp và dễ đọc
  7. Nên có phần comment để tăng tương tác
Giờ chúng ta sẽ đi vào từng phần nhé:

1. Tối ưu thẻ H1

Phần này mình đã hướng dẫn trong bài viết hướng dẫn chuẩn seo cho giao diện rồi.
Xem tại link: https://blogvuicuoilen.blogspot.com/2017/10/toi-uu-giao-dien-e-blogspot-chuan-seo.html

2. Nội dung bài viết không nên có thêm thẻ H1

Khi viết bài trong nội dung các bạn không nên để thêm thẻ h1 trong bài viết. Nguyên nhân đó để google có thể đọc và đánh giá được chủ đề của bài viết không bị nhầm lẫn.
Ví dụ cho dễ hiểu nhé: 
Trong một bài viết mình để thẻ H1 là "Thủ thuật Blogspot" và "Thủ thuật SEO". Khi google nó tìm thấy bài viết này sẽ thấy có 2 cái H1, vậy nó sẽ không biết là bài viết này rốt cuộc viết về thủ thuật blogspot hay SEO, chính vì thế mà rất có khả năng từ khóa ta muốn bài viết này lên thì nó không lên mà lại lên từ khác (SEO sai link). Nếu chỉ có 1 thẻ H1 thì google sẽ hiểu ngay bài viết này có chủ đề rõ ràng và không bị nhận nhầm nữa (máy móc đôi khi cũng hơi ngu mà).

3. Nội dung bài viết nên có thẻ h2, h3

Trong một bài viết, thẻ h2, h3 cũng khá quan trọng. Các bạn hãy hiểu theo kiểu H1 là chủ đề chính, h2 là chủ đề con của chủ đề chính h1 và h3 là chủ đề con của chủ đề chính h2.
Ví dụ:
  • Một bài viết có chủ đề là "Chăn nuôi gia cầm" thì "Chăn nuôi gia cầm" là thẻ H1
  • Trong bài viết sẽ có một số h2 như: Chăn nuôi gà, chăn nuôi vịt ... nó đều là một chủ đề nhỏ trong Chăn nuôi gia cầm là rõ nghĩa hơn cho chủ đề chính.
  • Trong h2 Chăn nuôi gà lại có h3: Chăn nuôi gà thịt, chăn nuôi gà trứng, chăn nuôi gà cảnh .. H3 này là một chủ để con của H2 bổ trợ giải thích rõ hơn cho H2.

Chú ý: Nếu các bạn làm blog theo hướng dẫn của mình thì khi để H2 trong bài viết nó sẽ hiển thị y như là tiêu đề của widget

h2 trong bài viết

Để cho H2 trong bài viết không hiển thị mặc định như trên các bạn làm như sau:
Đăng nhập blogger --> Chủ đề --> Chỉnh sửa HTML --> Tìm ".widget h2"
Thêm đoạn CSS sau vào sau đoạn khai báo .widget trên
.post h2 {
color: #2e91ee;
background: none;
font-size: 20px;
border: none;
}
Nó sẽ thành như thế này:
.widget h2 {
color:white;
background: red;
border-bottom:2px solid black;
margin-top: 10px;
padding: 8px;
font-size: 16px;
}
.post h2 {
color: #2e91ee;
background: none;
font-size: 20px;
border: none;
Vậy là xong!

4. Tối ưu hình ảnh trong bài viết

Hình ảnh trong bài viết khá quan trọng, nếu có hình ảnh đẹp sẽ cuốn hút người dùng hơn tuy nhiên hình ảnh luôn là một vấn đề đau đầu của rất nhiều người làm SEO. Nếu để hình ảnh to, đẹp, chất lượng ảnh cao tương đương với dung lượng ảnh lớn và blog sẽ load chậm hơn. Do vậy, để đảm bảo web load không bị chậm chúng ta buộc phải dung hòa giữa tốc độ load trang và chất lượng ảnh.
Có một số chú ý về ảnh trong bài viết các bạn có thể tham khảo:

  1. Ảnh không nên có kích thước quá lớn, ảnh nên có kích thước tối đa bằng kích thước hiển thị của bài viết, nếu ảnh lớn hơn cũng sẽ bị co lại cho vừa nên ảnh lớn quá chẳng để làm gì cả.
  2. Ảnh nên có thẻ Alt
  3. Dung lượng ảnh chỉ nên để dưới 100kb.
  4. Giảm kích thước ảnh giúp làm giảm dung lượng ảnh (có thể dùng paint để giảm kích thước ảnh).
  5. Dùng phần mềm nén ảnh online để giảm dung lượng ảnh (mình dùng thằng này: tinypng.com)
  6. Dùng thêm phần mềm giảm dụng lượng ảnh (thằng này rất dễ dùng nhé: Caesium)
  7. Blogvuicuoilen hiện đang để ảnh có kích thước gốc rộng 480px và dung lượng trung bình là 40kb (tốc độ load trang hiện tại khoảng 2 -3s).
  8. Nhiều ảnh có kích thước nhỏ sẽ load nhanh hơn một ảnh có kích thước to.
Để thêm Alt cho ảnh, sau khi chèn ảnh vào bài viết click chuột trái vào ảnh nó sẽ hiện một dòng bên dưới để các bạn tùy chọn ảnh. Click vào "Thuộc tính" nó sẽ hiện ra bảng sau:
alt cho ảnh trong blogspot
Điền vào chỗ văn bản thay thế để thêm Alt cho ảnh rồi nhấn Ok lưu lại.
Giải thích thêm về mục số 8. Nhiều ảnh có kích thước nhỏ sẽ load nhanh hơn một ảnh có kích thước to. Có thể nhiều bạn chưa hình dung ra là như thế nào, mình sẽ ví dụ thực tế cho các bạn hiểu.
Ta có một ảnh có kích thước 400x200px có dung lượng ảnh là 100kb, ví dụ ảnh này load mất 10s. Ta cắt ảnh này thành 4 ảnh có kích thước 200x100px, sau khi cắt đáng ra mỗi ảnh sẽ có dung lượng 25kb nhưng thực tế các ảnh kích  thước nhỏ sẽ có dung lượng nhỏ hơn khá nhiều và mỗi ảnh chỉ có dung lương khoảng 20kb, web sẽ load 4 ảnh này có tổng dung lượng chỉ là 80kb và chỉ load mất 8s. Vậy là ảnh nhỏ tuy sẽ không đẹp, nhìn không rõ nét nhưng ưu điểm của nó chính là load nhanh hơn.

5. Trong bài viết có link đến bài viết khác (link nội bộ hoặc bài viết liên quan)

Trong bài viết nên để link trỏ tới trang khác để tăng mối liên kết trong trang giúp trang mạnh hơn trong SEO. Cách này thường ta sẽ làm thủ công trong bài viết và dùng các từ khóa để liên kết tới cá trang khác trong web.
Ngoài việc làm thủ công còn có thể làm tự động bằng cách thêm bài viết liên quan. Để thêm bài viết liên quan chúng ta làm như sau:
Đăng nhập Blogger --> Chủ đề --> Chỉnh sửa HTML
Chèn đoạn này trước thẻ </head>
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<script type='text/javascript'>
//<![CDATA[
var titles=new Array();var titlesNum=0;var urls=new Array();var time=new Array();function related_results_labels(c){for(var b=0;b<c.feed.entry.length;b++){var d=c.feed.entry[b];titles[titlesNum]=d.title.$t;for(var a=0;a<d.link.length;a++){if(d.link[a].rel=="alternate"){urls[titlesNum]=d.link[a].href;time[titlesNum]=d.published.$t;titlesNum++;break}}}}function removeRelatedDuplicates(){var b=new Array(0);var c=new Array(0);e=new Array(0);for(var a=0;a<urls.length;a++){if(!contains(b,urls[a])){b.length+=1;b[b.length-1]=urls[a];c.length+=1;c[c.length-1]=titles[a];e.length+=1;e[e.length-1]=time[a]}}titles=c;urls=b;time=e}function contains(b,d){for(var c=0;c<b.length;c++){if(b[c]==d){return true}}return false}function printRelatedLabels(a){var y=a.indexOf('?m=0');if(y!=-1){a=a.replace(/\?m=0/g,'')}for(var b=0;b<urls.length;b++){if(urls[b]==a){urls.splice(b,1);titles.splice(b,1);time.splice(b,1)}}var c=Math.floor((titles.length-1)*Math.random());var b=0;document.write("<ul>");if(titles.length==0){document.write("<li>Không có bài viết liên quan</li>")}else{while(b<titles.length&&b<20&&b<maxresults){if(y!=-1){urls[c]=urls[c]+'?m=0'}document.write('<li><a  style="text-decoration:none;" href="'+urls[c]+'" title="'+time[c].substring(8,10)+"/"+time[c].substring(5,7)+"/"+time[c].substring(0,4)+'">'+titles[c]+"</a></li>");if(c<titles.length-1){c++}else{c=0}b++}}document.write("</ul>");urls.splice(0,urls.length);titles.splice(0,titles.length)};
//]]>
</script>
</b:if>
Tìm 1 trong 4 đoạn code dưới đây.
Đoạn 1: <div class='post-footer'>
Đoạn 2: <div class='post-footer-line post-footer-line-1'>
Đoạn 3: <div class='post-footer-line post-footer-line-2'>
Đoạn 4: <div class='post-footer-line post-footer-line-3'>
Paste đoạn code sau vào dưới 1 trong 4 đoạn trên:
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<div id='related-posts'>
<hr />
<h3>Bài viết liên quan:</h3>
<b:loop values='data:post.labels' var='label'>
<script expr:src='&quot;/feeds/posts/default/-/&quot; + data:label.name + &quot;?alt=json-in-script&amp;callback=related_results_labels&quot;' type='text/javascript'/>
</b:loop>
<script type='text/javascript'>var maxresults=5;removeRelatedDuplicates();printRelatedLabels(&#39;<data:post.url/>&#39;);</script>
</div>
</b:if>
Lưu mẫu và kiểm tra kết quả nhé. Bài viết liên quan đôi khi rất tốt cho web đấy.

6. Trong bài viết nên fomat đẹp và dễ đọc

Phần này mang nặng tính thẩm mỹ cá nhân, các bạn hãy xem các trang báo hoặc trang nào bạn thấy họ trình bày đẹp thì học tập làm theo nhé. Nếu thấy blogvuicuoilen trình bày ổn cũng có thể học theo cách trình bày này của mình. Lời khuyên là các bạn hãy tham khảo các trang báo lớn như Dân trí, VnExpress, ...

7. Nên có phần comment để tăng tương tác

Phần này mình đã có riêng một bài hướng dẫn thêm comment facebook vào blogspot rồi, các bạn xem bài viết đó nhé:
Vậy là coi như xong phần tối ưu SEO khi viết bài trên Blogspot, nếu các bạn muốn tối ưu theo cách khác thì cứ làm nhé, không quan trọng là phải theo ai quan trọng là SEO lên top là được. Nếu bạn nào không làm được hay còn thắc mắc trong bài Tối ưu SEO khi viết bài trên Blogspot nhớ để lại comment nhé mình sẽ giải thích.

Tối ưu giao diện để blogspot chuẩn SEO

Tự học Blogspot - Hiện nay có nhiều người SEO và mỗi người có một cách tối ưu khác nhau. Với blogspot, mình sẽ tối ưu giao diện để blogspot chuẩn SEO theo cách của mình, ai muốn làm khác thì cứ làm nhé, miễn sao SEO lên top là được chứ không quan trọng lắm đâu. 


Mục lục seri các bài viết hướng dẫn tự thiết kế blogspot:

  1. Xây dựng một trang blogspot như trang blogvuicuoilen (giới thiệu)
  2. Hướng dẫn tạo một trang blogspot (blogger)
  3. Tự thiết kế giao diện cho blogspot (dành cho người không biết code)
  4. Sắp xếp bố cục trong blogspot và thêm tiện ích cho các layout
  5. Thiết kế phần header cho blogspot
  6. Thiết kế menu cho blogspot
  7. Tùy chỉnh phần hiển thị nội dung của blogspot
  8. Tùy chỉnh sidebar cho blogspot
  9. Tùy chỉnh footer cho blogspot
  10. Thêm nút Share mạng xã hội cho blog của bạn
  11. Xây dựng giao diện mobile cho blogspot
  12. Thiết kế menu cho giao diện mobile
  13. Thêm nút cuộn trang bằng CSS cho Blogspot
  14. Tối ưu giao diện để blogspot chuẩn SEO
Tối ưu giao diện để blogspot chuẩn SEO
Tối ưu giao diện để blogspot chuẩn SEO

Tối ưu giao diện để blogspot chuẩn SEO - các tiêu chuẩn để web chuẩn SEO:

  • Toàn trang phải có 1 thẻ H1, có thể không cần H2 nhưng nếu có H3 thì nên có H2.
  • Nên có thanh điều hướng breadcrumbs
  • Trang chủ, chuyên mục, bài viết cần có title và meta description
  • Blog càng load nhanh càng tốt.
  • Trang càng nhiều text càng tốt.
Một số add-on cần cài đặt để hỗ trợ: Web Developer, Seoquake. Xem hướng dẫn cài đặt tại đây

1. Tối ưu thẻ thẻ heading <h1> <h2>

Tối ưu thẻ heading cho trang chủ

Sau khi kiểm tra trang chủ chúng ta sẽ thấy trên trang chủ không có H1, giờ ta sẽ dùng chính logo làm H1 và thêm H2 vào nhìn cho nuột nhé.

Vào Chỉnh sửa HTML --> Search "<a expr:href='data:blog.homepageUrl' style='display: block'>"

Thêm thẻ <h1> trước đoạn đó:
Nó sẽ thành như thế này:
<h1><a expr:href='data:blog.homepageUrl' style='display: block'>
<img expr:alt='data:title' expr:height='data:height' expr:id='data:widget.instanceId + &quot;_headerimg&quot;' expr:src='data:sourceUrl' expr:width='data:width' style='display: block'/>
</a></h1>
Vậy là logo đã trở thành H1 của trang rồi đó, không tin kiểm tra lại đi thì biết. Xong cái H1 của toàn trang.

Tiếp đến là thẻ H2 trong trang chủ, để có một thẻ H2 cũng rất đơn giản thôi, các bạn chỉ cần vào Bố cục --> Thân web trái --> Thêm tiện ích --> HTML/Javascript

Giờ viết một đoạn hoặc cứ thế cho thêm một cái H2 là ok. Ví dụ nhé:

<h2 style="color: black; background:none; border:none; font-size:20px;">Các bài đăng mới nhất:</h2>
<hr/>

Và nó sẽ thành như thế này:
Tối ưu giao diện để blogspot chuẩn SEO - tối ưu trang chủ
Thế nhưng cái đoạn Các bài đăng mới nhất: nó lại hiện cả ở label với bài viết, mà mình chỉ muốn nó hiện ở trang chủ thôi. Thế nên phải làm như thế này nữa:

Vào Chủ đề --> Chỉnh sửa HTML --> Tìm "Các bài đăng mới nhất:"

Ta sẽ tìm thấy đoạn này:
<b:widget-setting name='content'>&lt;h2 style=&quot;color: black; background:none; border:none; font-size:20px;&quot;&gt;Các bài đăng mới nhất:&lt;/h2&gt;
&lt;hr/&gt;</b:widget-setting>
</b:widget-settings>
<b:includable id='main'>...</b:includable>
Nhấn vào chỗ ... ở  <b:includable id='main'>...</b:includable> nó sẽ ra một đoạn như sau:
<b:includable id='main'>
<!-- only display title if it's non-empty -->
<b:if cond='data:title != &quot;&quot;'>
<h2 class='title'><data:title/></h2>
</b:if>
<div class='widget-content'>
<data:content/>
</div>
<b:include name='quickedit'/>
</b:includable>
Thêm đoạn Code sau vào sau thẻ <b:includable id='main'>
<b:if cond='data:blog.url == data:blog.homepageUrl'>
Thêm </b:if> vào sau thẻ <b:include name='quickedit'/>. Cuối cùng đoạn đó sẽ thành như này:
<b:includable id='main'>
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<!-- only display title if it's non-empty -->
<b:if cond='data:title != &quot;&quot;'>
<h2 class='title'><data:title/></h2>
</b:if>
<div class='widget-content'>
<data:content/>
</div>
<b:include name='quickedit'/>
</b:if>
</b:includable>
Lưu mẫu và xem kết quả, giờ widget Các bài đăng mới nhất: nó sẽ chỉ hiện thị ở trang chủ thôi. 

Để cho trang chủ nó đệp 1 tý mình cho thêm một cái hình ảnh vào ở trên <h2> và cũng để cho nó chỉ hiển thị ở trang chủ thôi. Kết quả là đây:
tối ưu trang chủ
Code của widget thêm vào sẽ là như này nhé:
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpoFMNqHBLNdKKdK1-mEhivSgTphrnJPKUOSnM9vz8QkCjoRo-qri8mVkuuuoFvxZv6Wl8DNwySbwVzIUMITdoVP6oGZzy7oiM3gTWLwmxdXHwFpdQf0WMOlh8fGEoNCyBYknAHeXhw4U/s1600/banner-vui-cuoi-len.png" alt="Banner Vui cười lên" width="100%" style="margin-top: -15px;"/>
<h2 style="color: black; background:none; border:none; font-size:20px;">Các bài đăng mới nhất:</h2>
<hr/>
Vậy là trang chủ đã có thẻ H1, H2 và rất nhiều thẻ H3. Vậy là cấu trúc trang chủ đã tương đối chuẩn SEO rồi đó. Giờ chúng ta sẽ tối ưu bài viết nhé.

Tối ưu thẻ heading cho bài viết: 

Bài viết trên trang sẽ hiển thị toàn bộ bên trong phần Thân web trái, do vậy chúng ta sẽ tối ưu những gì hiển thị trong phần Thân web trái để có được một bài viết chuẩn SEO nhé.
Tối ưu thẻ H1: Thẻ H1 tất nhiên sẽ là tiêu đề bài viết rồi nhỉ, nhưng mà khi kiểm tra thì tiêu đề bài viết đang là thẻ H3 cơ. Giờ chỉnh nó thành H1 nhé.
Đầu tiên, vào Bố cục --> Chỉnh sửa HTML --> Tìm đến thẻ <b:includable id='post' var='post'>
Các bạn sẽ thấy một chỗ hiển thị như này:
<b:includable id='post' var='post'>...</b:includable>
Click vào chỗ ba chấm ... nó sẽ xổ ra một đoạn code 
Các bạn tìm đoạn code như sau trong chỗ nó xổ ra =_=
<b:if cond=’data:post.title’><h3 class=’post-title’><b:if cond=’data:post.link’><a expr:href=’data:post.link’ expr:title=’data:post.title’><data:post.title/></a><b:else/><b:if cond=’data:blog.pageType != “item”‘><a expr:href=’data:post.url’ expr:title=’data:post.title’><data:post.title/></a><b:else/><data:post.title/></b:if></b:if></h3></b:if>
Thay thế đoạn trên bằng đoạn code sau:
<b:if cond='data:blog.pageType != "item"'>
<b:if cond='data:blog.pageType != "static_page"'>
<b:if cond='data:post.title'>
<h3 class='post-title'>
<b:if cond='data:post.link'>
<a expr:href='data:post.link' expr:title='data:post.title'><data:post.title/></a>
<b:else/>
<b:if cond='data:post.url'>
<a expr:href='data:post.url' expr:title='data:post.title'><data:post.title/></a>
<b:else/>
<data:post.title/>
</b:if></b:if></h3>
</b:if><b:else/>
<h1 class='post-title'>
<b:if cond='data:post.link'>
<a expr:href='data:post.link' expr:title='data:post.title'><data:post.title/></a>
<b:else/>
<data:post.title/>
</b:if>
</h1>
</b:if>
<b:else/>
<h1 class='post-title'>
<b:if cond='data:post.link'>
<a expr:href='data:post.link' expr:title='data:post.title'><data:post.title/></a>
<b:else/>
<data:post.title/>
</b:if>
</h1>
</b:if>
Lưu mẫu
Giờ khi chúng ta xem một bài viết thì tiêu đề bài viết đó sẽ là <h1> và ở những chỗ khác tiêu đề của nó sẽ là thẻ <h3>. F5 lại trình duyệt sau đó các bạn có thể dùng các công cụ hỗ trợ để kiểm tra thử xem ok chưa nhé.

Giờ thêm tý CSS để tiêu đề nhìn gọn hơn (để bình thường chữ hơi to):
.post h1 {
font-size: 22px;
margin-bottom: 15px;
}
Còn về thẻ H2, H3 thì khi viết bài các bạn hãy tối ưu trong bài viết nhé. Vậy là đã xong phần tối ưu cấu trúc blog cho bài viết. Tiếp đến sẽ là tối ưu cho label hay nhiều bạn gọi là chuyên mục nhé.

Tối ưu thẻ heading cho chuyên mục (label):

Khi vào label các bạn sẽ thấy chuyên mục có danh sách các bài viết ngoài ra chẳng hiện thị thêm gì cả. Khi kiểm tra các thẻ heading thì thấy ngoài H1 ở logo ra thì các bài viết là H3, phần Thân web phải thì có H2. Vậy giờ chúng ta sẽ phải thêm H1 và H2 cho label để chuẩn SEO nhé. Cách làm thì như đối với trang chủ thôi, tạo một HTML/Javascript sau đó viết một đoạn để có thẻ H1, H2 rồi chỉ cho nó hiển thị ở chuyên mục đó là ok.

Vào Bố cục --> Thân web trái --> Thêm tiện ích --> HTML/Javascript

Tiêu đề: bỏ trống

Nội dung: thêm đoạn code sau:
<h1>Thủ thuật Blogspot</h1>
<p>Đây là chuyên mục về thủ thuật blogspot, trong chuyên mục này các bạn có thể tìm thấy các bài viết hướng dẫn thêm mới hoặc xóa bớt một số thành phần trong blogspot, tự làm một trang blogspot theo ý mình ...</p>
<p>Hi vọng các bạn sẽ thích các bạn viết tự code blogspot của mình!</p>
<h2 style="color:black; background: none; border: none;">Sau đây là các bài viết về thủ thuật Blogspot:</h2>
Lưu lại 

Vào Chủ đề --> Chỉnh sửa HTML --> Tìm "Thủ thuật blogspot"
Làm tương tự như khi thêm widget ở trang chủ nhé.
Tìm đến dòng <b:includable id='main'>...</b:includable> click vào chỗ ...

Thêm code sau vào dưới thẻ <b:includable id='main'>
<b:if cond='data:blog.url == "https://blogvuicuoilen.blogspot.com/search/label/Blogspot"'>
Thêm </b:if> vào sau thẻ <b:include name='quickedit'/>. 

--> Lưu chủ đề

Như vậy là ta đã có thẻ H1 và H2 trong label Blogspot rồi. Nếu các bạn muốn nhiều text hơn các bạn có thể thêm text vào nhé. Đối với các label khác làm tương tự để label chuẩn SEO. 
Ra ngoài web và hưởng thành quả!
Chú ý: có những bạn làm y chang thấy ok nhưng lúc sau lại thấy nó không hiện ở trong label nữa mà cũng chẳng hiện ở chỗ khác. Lý do là đường dẫn của blog bị thay đổi từ https sang http. Để khắc phục, các bạn vào phần cài đặt (dưới Chủ đề) --> Cơ bản --> Chuyển hướng HTTPS --> Chuyển thành  

2. Thêm breadcrumbs cho trang:

Breadcrumbs là thanh điều hướng trong trang, theo như nhiều người thì nó cũng là một yếu tố giúp trang của bạn chuẩn SEO. Cái này mình thấy thực ra cũng khá tiện khi người khác theo dõi trang của bạn. Do vậy mình cũng đưa vào các yếu tố chuẩn SEO của mình. Giờ chúng ta sẽ thêm thanh breadcrumbs cho trang nhé.

Vào Chủ đề --> Chỉnh sửa HTML --> Tìm thẻ <b:include data='top' name='status-message'/>
Thêm code sau dưới thẻ vừa tìm
<b:include data='posts' name='breadcrumb'/>
Tìm thẻ <b:includable id='main' var='top'>

Thêm code sau trên thẻ <b:includable id='main' var='top'>:
<b:includable id='breadcrumb' var='posts'><b:if cond='data:blog.homepageUrl != data:blog.url'><b:if cond='data:blog.pageType == "static_page"'><div class='breadcrumbs'><span><a expr:href='data:blog.homepageUrl' rel='tag'>Trang chủ</a></span> » <span><data:blog.pageName/></span></div><b:else/><b:if cond='data:blog.pageType == "item"'><!-- breadcrumb for the post page --><b:loop values='data:posts' var='post'><b:if cond='data:post.labels'><div class='breadcrumbs' xmlns:v="http://rdf.data-vocabulary.org/#"><span typeof="v:Breadcrumb"><a expr:href='data:blog.homepageUrl' rel="v:url" property="v:title">Trang chủ</a></span><b:loop values='data:post.labels' var='label'><b:if cond='data:label.isLast == "true"'>» <span typeof="v:Breadcrumb"><a expr:href='data:label.url' rel="v:url" property="v:title"><data:label.name/></a></span></b:if></b:loop>» <span><data:post.title/></span></div><b:else/><div class='breadcrumbs'><span><a expr:href='data:blog.homepageUrl' rel='tag'>Trang chủ</a></span> » <span>Unlabelled</span> » <span><data:post.title/></span></div></b:if></b:loop><b:else/><b:if cond='data:blog.pageType == "archive"'><!-- breadcrumb for the label archive page and search pages.. --><div class='breadcrumbs'><span><a expr:href='data:blog.homepageUrl'>Trang chủ</a></span> » <span>Archives for <data:blog.pageName/></span></div><b:else/><b:if cond='data:blog.pageType == "index"'><div class='breadcrumbs'><b:if cond='data:blog.pageName == ""'><span><a expr:href='data:blog.homepageUrl'>Trang chủ</a></span> » <span>All posts</span><b:else/><span><a expr:href='data:blog.homepageUrl'>Trang chủ</a></span> » <span>Chuyên mục <data:blog.pageName/></span></b:if></div></b:if></b:if></b:if></b:if></b:if></b:includable>
Thêm CSS cho breadcrumbs đẹp hơn xíu nhé (CSS thêm vào chỗ nào các bạn biết rồi đấy):
.breadcrumbs {
padding:5px 5px 5px 0px;
margin: 0px 0px 15px 0px;
line-height: 1.4em;
border-bottom:1px solid gray;
}
.breadcrumbs a {
text-decoration: none;
}
Giờ các bạn hãy vào lại bài viết hay chuyên mục (label) các bạn sẽ thấy có chút khác lạ đấy.

Chú ý: 
Một số trường hợp các bạn không thấy thẻ <b:include data='top' name='status-message'/> các bạn tìm thẻ <b:includable id='main' var='top'>...<
Click vào chỗ ... rồi tìm thẻ <div class='blog-posts hfeed'>
Thêm <b:include data='posts' name='breadcrumb'/> vào sau thẻ <div class='blog-posts hfeed'> là OK.
Nguyên nhân bị mất thẻ <b:include data='top' name='status-message'/> là do các bạn xóa nó đi để bỏ phần hiển thị Hiển thị các bài đăng có nhãn xxxx trong Label.

3. Chỉnh sửa Tiêu dề, meta description cho Trang chủ, chuyên mục và bài viết.

Trong SEO, tiêu đề và meta description khá quan trọng. Nó giúp các công cụ tìm kiếm hiểu hơn về nội dung trong bài viết và hiển thị giúp người đọc chú ý hơn tới các bạn. Trong Blogspot, tiêu đề và meta description cho trang chủ, bài viết, label được quy định bằng cặp thẻ <title> .. </title> và <meta content='...' name='description'/>
Giờ chúng ta sẽ phải thiết lập sao cho trang chủ thì hiện tiêu đề và description khác mà label và bài viết thì cũng vậy. Cách làm đó là chúng ta sẽ đặt điều kiện, đối với trang chủ thì cho hiện tiêu đề và meta description nào, label thì cho hiện cái nào và bài viết thì hiện cái nào. Ok, giải thích vậy thôi chứ làm thì dễ ợt ấy mà.

Bỏ đoạn <title> .. </title> trong đoạn <head> đi, thay bằng đoạn code sau:
<!-- Thiết lập Tiêu đề seo và meta description cho trang chủ, chuyên mục và bài viết -->
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<title>Vui cười lên</title>
<meta content='Vui cười lên - Ngoài nghĩa là vui cười lên nhiều người còn gọi là VCL' name='description'/>
</b:if>
<b:if cond='data:blog.url == "https://blogvuicuoilen.blogspot.com/search/label/SEO"'>
<title>SEO - Content, backlink, MXH, thủ thuật</title>
<meta content='SEO - Content, backlink, MXH, thủ thuật SEO' name='description'/>
</b:if>
<b:if cond='data:blog.url == "https://blogvuicuoilen.blogspot.com/search/label/Blogspot"'>
<title>Thủ thuật Blogspot - Tổng hợp thủ thuật Blogger</title>
<meta content='Thủ thuật Blogspot - Tổng hợp thủ thuật Blogger để các bạn có thể làm được một trang như trang Vui Cười Lên' name='description'/>
</b:if>
<b:if cond='data:blog.pageType == "item"'>
 <title><data:blog.pageName/> | <data:blog.title/></title>
</b:if>
Đoạn code này sẽ phân biệt hiển thị riêng title và phần mô tả cho Trang chủ, chuyên mục và bài viết. Các bạn có bao nhiêu chuyên mục thì thêm vào ngần ấy cái nhé. Nếu chưa hiểu comment mình giải thích cho.

Sửa Lỗi share mạng xã hội:

Phần này mình thêm vào nhé vì nhiều người gặp rùi. Khi share bài viết trên blogspot lên mạng xã hội, đôi khi nó sẽ không hiển thị ảnh Thumb chính xác hoặc không có ảnh thumb luôn. Để sửa lỗi này các bạn làm như sau:


Tìm đến thẻ <head>
Thêm đoạn code sau vào sau thẻ <head> là ok
<b:include data='blog' name='all-head-content'/>
<b:if cond='data:blog.postImageUrl'>
<meta expr:content='data:blog.postImageUrl' property='og:image'/>
<b:else/>
<meta content='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPGqMf9pJl3r518A8gsdHFE94c67sUl2nQbO_waxRWagY5SawD6ZY_V30evpkVKpqrWfe8UHooRW-d1G-TabSn2J5MxE0BLq3GNsPb6CVFSj9h8DjORFHEWPIeAhwH_XFACpI6g5rWTBM/s1600/Vui+cuoi+len+300+x+300.png' property='og:image'/>
</b:if>
Trong một số trường hợp, ảnh thumb này blogger sẽ lấy ảnh đầu tiên của bài viết là ảnh có kích thước lớn. Nếu bạn có một ảnh khác kích thước đủ lớn không ở trong bài viết nhưng lại ở trên ảnh trong bài viết thì cũng có thể bị nhận nhầm.

Phân trang cho label

Hiện giờ có nhiều code phân trang nhưng mình thấy nó không tối ưu SEO lắm hơn nữa trong blogspot cũng có sẵn mục phân trang rồi nên mình nghĩ cũng không cần. Vì thế nên mình khuyên mọi người nên dùng luôn cái (Bài đăng mới hơn  Bài đăng cũ hơn) trong blogspot để phân trang nhé.

Sửa lại CSS cho nó cái bài đăng cũ hơn - bài đăng mới hơn đẹp một chút:
#blog-pager-newer-link a {
color:white;
text-decoration: none;
}
#blog-pager-older-link a {
color:white;
text-decoration: none;
}
#blog-pager-newer-link, #blog-pager-older-link {
padding: 10px;
background:red;
border: 1px solid black;
border-radius: 4px;
}
Tiếp đến ta sẽ cho bài đăng cũ - bài đăng mới chỉ hiển thị trong label thôi (làm tương tự như tối ưu label và trang chủ ý):
Vào Chủ đề --> Chỉnh sửa HTML --> Tìm <b:includable id='nextprev'>(chỉ có 1 chỗ có cái này thôi)
Thêm <b:if cond='data:blog.searchLabel'> vào ngay dưới <b:includable id='nextprev'>
Thêm </b:if> vào trước thẻ đóng </b:includable>

Đoạn đó nó sẽ thành thế này (các bạn nhìn kỹ không có paste nhầm nhé):
<b:includable id='nextprev'>
<b:if cond='data:blog.searchLabel'><div class='blog-pager' id='blog-pager'>
<b:if cond='data:newerPageUrl'>
<span id='blog-pager-newer-link'>
<a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-newer-link&quot;' expr:title='data:newerPageTitle'><data:newerPageTitle/></a>
</span>
</b:if>
<b:if cond='data:olderPageUrl'>
<span id='blog-pager-older-link'>
<a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-older-link&quot;' expr:title='data:olderPageTitle'><data:olderPageTitle/></a>
</span>
</b:if>
<b:if cond='data:mobileLinkUrl'>
<div class='blog-mobile-link'>
<a expr:href='data:mobileLinkUrl'><data:mobileLinkMsg/></a>
</div>
</b:if>
</div>
<div class='clear'/>
</b:if></b:includable>

Vậy là đã xong phần phân trang cho label. Thực ra phân trang không quan trọng lắm nhưng nó giúp người dùng nhìn thuận mắt hơn và dễ sử dụng hơn nên việc có phân trang vẫn hơn là không có phân trang phải không nào.

Tổng kết

Về phần giao diện trên cơ bản là ok rồi. Có thể nói là tương đối chuẩn SEO. Bài viết này là bài cuối cùng trong seri tự code blogspot. Hi vọng sau khi tự làm xong một trang blog các bạn đã hiểu được về cấu trúc blog, cách sửa code, cách tối ưu blog sao cho chuẩn seo và làm thế nào để giao diện blog lung linh hơn. 
Hi vọng các bạn thích seri bài viết này của mình, thời gian tới mình sẽ có seri bài viết về SEO, cách tối ưu để bài viết chuẩn SEO, làm sao để viết được dài, làm sao để viết được nhiều bài, làm sao để đi được nhiều backlink hay làm sao để lên top google bền vững. Hẹn gặp lại các bạn!

Thủ thuật Blogspot

Thủ thuật Wordpress

Bài đăng nổi bật

About Vui Cuoi Len - 2LAN

Vui Cười Lên - Chào các bạn, blog này mình tạo ra thực chất cũng có chút tham vọng SEO nhưng nhiều hơn là mình muốn tự làm một trong blogge...

Thủ thuật SEO

Fanpage Vui Cười Lên

Vui Cười Lên - Blog cá nhân của 2LAN

Mọi thông tin trên blog đều được giữ bản quyền bởi 2LAN. Các bạn nếu muốn lấy thông tin từ blog vui lòng ghi rõ nguồn Blogvuicuoilen.blogspot.com (2LAN)

Email: truongtienlam1988@gmail.com