Hỏi & Đáp cùng Tú CaoDanh mục đơn: Seochào Tú, anh có thể tư vấn cho em lỗi trùng lặp canonical được không ạ?
1Vô danh hỏi 4 năm trước

Chào anh Tú
Hiện tại em đang quản trị một website, có nhiều bài viết đã trùng lặp.
nay em sữa nó, không biết sữa trên file nào của hệ thống website, hay sữa luôn trên file .htacess như sữa lỗi redirect 301 hay sữa trên file index.
em copy đoạn code, anh xem đúng không nhé! (em sữa trên file index).
<?php defined( ‘_JEXEC’ ) or die( ‘Restricted access’ );
JHTML::script(‘mootoolsCore.js’, ‘skin/js/’);
JHTML::script(‘mootoolsMore.js’, ‘skin/js/’);
?>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”&gt;
<html xmlns=”http://www.w3.org/1999/xhtml&#8221; xml:lang=”<?php echo $this->language; ?>” lang=”<?php echo $this->language; ?>”>
<head>
<script src=”<?php echo $this->baseurl ?>/skin/js/ggtracking-code.js”></script>
<script src=”<?php echo $this->baseurl ?>/skin/js/ggtrackig_tqm.js”></script>
<jdoc:include type=”head” />
<!–[if IE 8]><link rel=”stylesheet” href=”<?php echo $this->baseurl ?>/skin/cs_red/ie.css” type=”text/css” />
<![endif]–>
<link rel=”stylesheet” href=”<?php echo $this->baseurl ?>/skin/cs_red/other.css.php” type=”text/css” />
<link rel=”stylesheet” href=”<?php echo $this->baseurl ?>/skin/cs_red/ff.css.php” type=”text/css” />
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<Head>
<script>
(function(i,s,o,g,r,a,m){i[‘GoogleAnalyticsObject’]=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,’script’,’//www.google-analytics.com/analytics.js’,’ga’);
ga(‘create’, ‘UA-28992929-1’, ‘auto’);
ga(‘send’, ‘pageview’);
</script>
</Head>
</script>
<link rel=”canonical” href=”http://bidrico.com.vn/2014-10-08-08-43-13/tin-tức-bidrico/26-bidrico-17-năm-một-thương-hiệu.html&#8221;
<link rel=”canonical” href=”http://bidrico.com.vn/2014-10-08-08-43-13/tin-tức-bidrico/424-trà-xanh-“cứu-tinh”-của-nhan-sắc.html&#8221;
<link rel=”canonical” href=”http://bidrico.com.vn/2014-10-08-08-43-13/tin-tức-bidrico/424-trà-xanh-“cứu-tinh”-của-nhan-sắc.html&#8221;
<link rel=”canonical” href=”http://bidrico.com.vn/2014-10-08-08-43-13/tin-tức-bidrico/536-ngày-hội-nhật-bản-2014-cuộc-thi-cosplay-qua-ảnh.html&#8221;
</head>

<body onload=”change(document.getElementById(‘thoitiet’).value);”>
<div class=”w_header”>
<div class=”header”>
<div class=”header_wapper”>
<div class=”BidricoLogo”>
<jdoc:include type=”modules” name=”LOGO_bidrico” style=”xhtml” />
</div>
<div class=”BidricoTopMenu”>
<jdoc:include type=”modules” name=”topmenu” />
</div>
<div class=”BidricoLanguage”>
<jdoc:include type=”modules” name=”language” />
</div>
<div class=”BidricoCategoryProducts”>
<jdoc:include type=”modules” name=”Products-Categories”/>
<?php if ($this->countModules(‘leftmenu’)): ?>
<div class=”submenu”>
<jdoc:include type=”modules” name=”leftmenu” style=”xhtml” />
</div>
<?php endif ?>
</div>
<div class=”BidricoContact”>
<jdoc:include type=”modules” name=”CONTACT_bidrico” style=”xhtml” />
</div>
<div class=”BidricoToolSearch”>
<?php if ($this->countModules(‘searchTool’)): ?>
<jdoc:include type=”modules” name=”searchTool” />
<?php endif ?>
</div>
</div>
</div>
<div class=”w_container”>
<div class=”container”>
<div class=”container_wapper”>
<div class=”container_bg”>
<?php if ($this->countModules(‘sliceshow or video_quangcao’)): ?>
<div class=”BidricoContent_top”>
<?php if ($this->countModules(‘sliceshow’)): ?>
<div class=”BidricoContent_top_left”>
<jdoc:include type=”modules” name=”sliceshow” style=”XHTML”/>
</div>
<?php endif ?>
<?php if ($this->countModules(‘video_quangcao’)): ?>
<div class=”BidricoContent_top_right_top”>
<jdoc:include type=”modules” name=”video_quangcao” style=”XHTML” />
<img src=”<?php echo $this->baseurl ?>/templates/bidrico_temp.130312.0713_red/images/videoimg_bottom.jpg” width=”375px” />
</div>
<?php endif ?>
<?php if ($this->countModules(‘supportOnline’)): ?>
<div class=”BidricoContent_top_right_bottom”>
<div class=”supportTitle”></div>
<jdoc:include type=”modules” name=”supportOnline” />
<div class=”support_line_bottom”></div>
</div>
<?php endif ?>
<?php if ($this->countModules(‘supportOnlineEn’)): ?>
<div class=”BidricoContent_top_right_bottom”>
<div class=”supportTitleEn”></div>
<jdoc:include type=”modules” name=”supportOnlineEn” />
<div class=”support_line_bottom”></div>
</div>
<?php endif ?>
</div>
<?php endif ?>
<?php if ($this->countModules(‘breadcum’)): ?>
<div class=”BidricoContent_bre”>
<jdoc:include type=”modules” name=”breadcum” style=”xhtml” />
</div>
<?php endif ?>
<div class=”BidricoContent_mid”>
<div class=”BidricoContent_mid_top”>
<?php if ($this->countModules(‘user-top’)): ?>
<jdoc:include type=”modules” name=”user-top” style=”xhtml”/>
<?php endif ?>
</div>
<div class=”BidricoContent_mid_left”>
<?php if ($this->countModules(‘new_products’)): ?>
<div class=”title_newspro”></div>
<jdoc:include type=”modules” name=”new_products” style=”xhtml”/>
<?php endif ?>
<?php if ($this->countModules(‘new_productsEn’)): ?>
<div class=”title_newsproEn”></div>
<jdoc:include type=”modules” name=”new_productsEn” style=”xhtml”/>
<?php endif ?>
<div id=”mainArtical”>
<jdoc:include type=”component” />
</div>
<?php if ($this->countModules(‘NewsNewsNews’)): ?>
<jdoc:include type=”modules” name=”NewsNewsNews” style=”xhtml” />
<?php endif ?>
</div>
<?php if ($this->countModules(‘bidricoSong or newsFeatured or leftgrw or newsFeaturedEn’)): ?>
<div class=”BidricoContent_mid_right_row1″>
<div class=”BidricoContent_mid_right_row1_col1″>
<?php if ($this->countModules(‘newsFeatured’)): ?>
<div class=”title_newsFeatured”></div>
<jdoc:include type=”modules” name=”newsFeatured” style=”XHTML” />
<?php endif ?>
<?php if ($this->countModules(‘newsFeaturedEn’)): ?>
<div class=”title_newsFeaturedEn”></div>
<jdoc:include type=”modules” name=”newsFeaturedEn” style=”XHTML” />
<?php endif ?>
<?php if ($this->countModules(‘mid_right_row1_col1_adv’)): ?>
<jdoc:include type=”modules” name=”mid_right_row1_col1_adv” />
<?php endif ?>
</div>
<?php if ($this->countModules(‘bidricoSong or leftgrw or bidricoSongEn’)): ?>
<div class=”BidricoContent_mid_right_row1_col2″>
<?php if ($this->countModules(‘bidricoSong’)): ?>
<div class=”title_bidricoSong”></div>
<jdoc:include type=”modules” name=”bidricoSong” style=”XHTML” />
<?php endif ?>
<?php if ($this->countModules(‘bidricoSongEn’)): ?>
<div class=”title_bidricoSongEn”></div>
<jdoc:include type=”modules” name=”bidricoSongEn” style=”XHTML” />
<?php endif ?>
<jdoc:include type=”modules” name=”leftgrw” style=”XHTML” />
</div>
<?php endif ?>
</div>
<?php endif ?>
<?php if ($this->countModules(‘tab_1’)): ?>
<div class=”BidricoContent_mid_right_row2″>
<div class=”tab_1″>
<jdoc:include type=”modules” name=”tab_1″ style=”xhtml” />
<jdoc:include type=”module” name=”tab1″ style=”xhtml” />
</div>
</div>
<?php endif ?>
</div>
<div class=”BidricoContent_mid_videoTV”>
<?php if ($this->countModules(‘Bidrico_sliceVideo’)): ?>
<div class=”title_documentVideo”></div>
<jdoc:include type=”modules” name=”Bidrico_sliceVideo” style=”xhtml” />
<?php endif ?>
<?php if ($this->countModules(‘Bidrico_sliceVideoEn’)): ?>
<div class=”title_documentVideoEn”></div>
<jdoc:include type=”modules” name=”Bidrico_sliceVideoEn” style=”xhtml” />
<?php endif ?>
</div>
<?php if ($this->countModules(‘album_picture or others_products’)): ?>
<div class=”BidricoContent_bottom”>
<div class=”BidricoContent_bottom_left”>

<jdoc:include type=”modules” name=”album_picture” style=”xhtml” />
</div>
<div class=”BidricoContent_bottom_right”>
<jdoc:include type=”modules” name=”others_products” style=”xhtml” />
</div>
</div>
<?php endif ?>
</div>
</div>
<div class=”container_wapper_a”>
<?php if ($this->countModules(‘brands_bidrico’)): ?>
<jdoc:include type=”modules” name=”brands_bidrico” style=”xhtml” />
<?php endif ?>
<div class=”container_wapper_a_aroundB”>
<?php if ($this->countModules(‘user1’)): ?>
<jdoc:include type=”modules” name=”user1″ style=”xhtml” />
<?php endif ?>
</div>
<div class=”container_bg_bottom_page”>
<?php if ($this->countModules(‘copyright’)): ?>
<jdoc:include type=”modules” name=”copyright” style=”xhtml” />
<?php endif ?>
</div>
</div>
<div class=”container_bg_bottom”></div>
</div>
</div>
</div>
</body>
</html>

5 Answers
2Tú Cao Nhân viên trả lời 4 năm trước

Chào em,

Có phải em đang sử dụng Joomla?. Nếu Joomla hoặc code khác thì em đang làm sai, thẻ canonical em phải đặt trong cặp thẻ em nhé.
Trong đoạn code anh đọc thì em đang để nó nằm ngoài cặp thẻ, như vậy canonical của em không hoạt động. 
Em nhớ: Nguyên tắc đặt thẻ canonical chưa ĐƯỜNG ĐẪN cố định của bài viết. (Cách sử dụng thẻ này em tham khảo Thẻ Canonical là gì?)
 
http://bidrico.com.vn/2014-10-08-08-43-13/tin-tức-bidrico/26-bidrico-17-năm-một-thương-hiệu.html”;
http://bidrico.com.vn/2014-10-08-08-43-13/tin-tức-bidrico/424-trà-xanh-“cứu-tinh”-của-nhan-sắc.html”;
http://bidrico.com.vn/2014-10-08-08-43-13/tin-tức-bidrico/424-trà-xanh-“cứu-tinh”-của-nhan-sắc.html”;
http://bidrico.com.vn/2014-10-08-08-43-13/tin-tức-bidrico/536-ngày-hội-nhật-bản-2014-cuộc-thi-cosplay-qua-ảnh.html”;
 
Đoạn code này của em, vị trí đặt sai. Nội dung đưa vào cũng sai, vì nó phải là BIẾN ĐỘNG chữ không phải Tĩnh. Em sửa ở file index.php hay header.php hay 1 file nào đó gọi được dữ liệu hiển thị trong phầncủa bài viết là được.
Và mỗi 1 đường dẫn chỉ có 1 thẻ Canonical thôi em nhé, vì anh không rõ em dùng code gì nên chỉ mở cho em được ở đây, nếu dùng nguồn mở em có thể sử dụng Plugin hãy extensions là được em nhé.
 
Chúc em thành công !

1Vô danh trả lời 4 năm trước

vâng!
cám ơn anh đã phản hồi.
Hiện tại em đang dùng joomla 2.5.4 và quản lý các file hệ thống của website bằng Filezilla. 
em mở file index trong bộ filezilla từ host về, em viết đoạn code trên. anh cho em hỏi: đoạn code phần canonical, sai thì sai như thế nào và cách sữa sao ạ. tại em tham khảo trên mạng, e thấy cú pháp đã đúng.không biết sai gì nữa, a có thể giúp em được không? em cám ơn a nha

2Tú Cao Nhân viên trả lời 4 năm trước

Chào em,
Vấn đề anh nói ở trên là em đang đặt đường dẫn cố định cho nó. Như vậy vào các bài khác nó sẽ có một canonical bị sai, dẫn tới bài đó em sẽ không thể SEO được nữa.
 
VD em có 2 bài viết => em có 2 đường dẫn khác nhau.
Nếu bây giờ với 2 bài em đều để canonical về link bài số 1. Như vậy bài 2 sẽ không seo được do robot hiểu rằng bài 2 là copy từ bài 1.

1Vô danh trả lời 4 năm trước

Dạ em cám ơn anh!
về lỗi 404, redirect 301 em đã chuyển được vì có trong joomla.
về lỗi canonical trùng lặp, em có thể cài đặt Plugin metagenerator trong joomla để sữa lỗi trùng lặp được không ạ

1Vô danh trả lời 4 năm trước

Chào anh Tú!

em có đọc bài viết 
SEO Joomla 2.5 – Fix lỗi trùng lặp nội dung (Duplicate Content) trong Joomla 2.5.X
 
trên trang https://nguyencaotu.com/fix-duplicate-content-seo-joomla-2-5.html
 
em đã cài đặt thành công PLUGIN METAGENERATOR JOOMLA 2.5
 
và hiện tại em muốn chuyển các bài viết trùng lặp về trang chính xác hơn. vậy em mở phần
code từng bài để thêm dòng lệnh canonical hay làm sao ạ.
 

Your Answer

16 + 19 =