Cách xóa class “hentry” trong post của WordPress

Khi sử dụng wordpress mặc định class "hentry" sẽ tự động được thêm vào trong post_class một số theme do không muốn hiển thị tên tác giả, ngày tháng và vcard để sẽ bị một số thông báo lỗi như:

Thiếu: author
Thiếu: entry-title
Thiếu: updated

hentry

Tất nhiên chúng ta hoàn toàn có thể thêm class của các thẻ đang bị thiếu để bổ sung.

Nhưng trong trường hợp không thích sự xuất hiện của các thẻ: author, ngày tháng, vcard … thì bạn có thể xóa luôn cái class hentry đó đi cho nhẹ nợ.

Bằng cách thêm đoạn sau vào cuối file functions.php

/**
* Remove hentry from post_class
*/
function isa_remove_hentry_class( $classes ) {
 $classes = array_diff( $classes, array( 'hentry' ) );
 return $classes;
}
add_filter( 'post_class', 'isa_remove_hentry_class' );

Để kiểm tra lại thì vào đây: https://developers.google.com/structured-data/testing-tool/

Khắc phục lỗi 404 plugins/feedback.php

Mấy nay tự nhiên trong Webmaster tools thông báo lỗi 404 quá chừng.

dạng như: http://www.domain.com/plugins/feedback.php?href=

Nguyên nhân chính có thể là do Facebook Comments Plugin nếu không cần thiết có thể xóa đi.

Hoặc bạn có thể dùng robots.txt để cấm không cho google bot craw link có dạng /plugins/feedback.php

Thêm đoạn này vào file robots.txt

Disallow: /plugins/feedback.php

 

Hướng dẫn đổi tên miền nhưng vẫn giữ ranking Google

Nhiều lúc phân tích một số website, thấy ranking một số từ khóa rất cao nhưng khi kiểm tra backlink thì không thấy bất kì 1 cái nào. Đó là vì họ dùng cách này, chuyển hướng toàn bộ tên miền cũ sang tên miền mới mà vẫn giữ backlink và ranking.

Giả sử domain cũ của bạn là: tenmiencu.com và domain mới mà bạn muốn chuyển đến là tenmienmoi.com

Bước 1: Nội dung file .htaccess của tenmiencu.com như sau:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^tenmiencu.com [NC,OR]
RewriteCond %{HTTP_HOST} ^tenmiencu.com [NC]
RewriteRule ^(.*)$ http://tenmienmoi.com/$1 [L,R=301,NC]

Nếu bạn dùng nginx thì dùng cái này: http://winginx.com/en/htaccess để convert qua.

Bước 2: Thông báo với google thay đổi tên miền bằng Webmaster tools

Đầu tiên bạn chọn tenmiencu.com -> Pick your new site from the list chọn “tenmienmoi.com” -> Nhấn “Submit”.

Đợi google check xong sẽ gửi phản hồi.

 

 

Cách phát hiện và chặn các liên kết, chuyển hướng xấu

Thời buổi này SEO khác trước nhiều quá, trước chỉ cần nội dung tốt, onpage chuẩn, đi link chăm là có Ranking tốt rồi, khỏi phải lo nghĩ. Giờ thì chơi xấu đủ kiểu, người tốt biết nhiều không phải để hại người khác, mà là để tránh bị kẻ xấu hạ gục. Vậy nên bổ sung xíu kiến thức cũng tốt chứ nhỉ.

Có 1 điều thú vị là nếu đối thủ đi link xấu thì tốt nhất bạn cứ nên im lặng và sử dụng các cách sau đây, vì thời gian để cấm 1 site chỉ có 2-3 phút, nhưng để đi được các liên kết xấu thì không phải dễ như vậy đâu.

I. Phát hiện và chặn các liên kết xấu.

Vậy thế nào là liên kết xấu ? Đơn giản nó là những liên kết không tốt cho quá trình SEO của bạn. Thông thường những liên kết này được mọi người ngầm hiểu là các backlink đến từ những site như: website về sex, khiêu dâm, website bị google banned, website spam link …

Cách phát hiện liên kết xấu ?

Chắc cú nhất là vào: Google Webmaster Tools

Vào phần Link to Your Site xem thử có domain nào lạ, liên kết đến web của bạn.

Tuy nhiên Webmaster Tools có 1 điểm yếu là cập nhật link rất chậm, đôi khi phát hiện ra là Website đã bị google banned rồi giải pháp bây giờ là sử dụng dịch vụ phân tích backlink như:

nhưng 2 site này cần phải trả phí, nên tốt nhất là bạn rủ 4-5 bạn cùng mua cho rẻ.

Hoặc cũng có thể yêu cầu check ahrefs miễn phí tại đây: Hướng dẫn sử dụng Ahrefs và giúp kiểm tra miễn phí

Chặn liên kết xấu

Dùng công cụ: Google Disavow Links

Tạo 1 file.txt với nội dung như sau:

#chặn link nào đó
http://lienketxau.com/spam-link-1/
http://lienketxau.com/spam-link-2/
http://lienketxau.com/spam-link-3/

#chặn domain
domain:lienketxau1.com
domain:lienketxau2.com
domain:lienketxau3.com

Thay phần màu đỏ cho phù hợp với site của bạn.

II. Phát hiện và chặn các redirect từ những site xấu

Cách phát hiện chuyển hướng đến từ site nào.

Thông thường mọi người hay dùng Analytic để phân tích nguồn đến.

Vào Analytic -> Acquisition -> Overview -> Referral

Tại đây xem thử website có những chuyển hướng từ những domain xấu nào.

Ngoài ra bạn cũng có thể xem các site đã referral đến web mình bằng Log hoặc trong Plugin Jetpack cũng có chức năng này.

Cấm referral từ một site nào đó bằng .htaccess

trong nội dung của .htaccess thêm đoạn sau:

SetEnvIfNoCase Referer "^http://([a-z0-9\-]+\.)?lienketxau\.com.*$" camreferral
Order Deny,Allow
Deny from env=camreferral
ErrorDocument 403 /403.html

Tham khảo: idichvuseo.com

Chia sẻ list 5000 diễn đàn đi link miễn phí update 5/2016

Tham khảo thêm: Bật mí tuyệt chiêu đặt Backlink từ forums

Ở đâu ra danh sách này?

Bước 1: Lấy tất cả các link

  • Tổng hợp diễn đàn hồi trước giờ hay sử dụng.
  • Dùng ahref.com phân tích  và lấy tất cả backlink của 10 trang đầu tiên của các từ khóa hot như: dien dan seo, dao tao seo, dich vu seo, hut ham cau, du lich, xe hoi, ve may bay, sim so dep …
  • Search từ khóa: share list dien dan, chia se forum, danh sach forums, diễn đàn chất lượng… -> Lấy 1000 kết quả đầu tiên -> Dùng Tools get tất cả các link có trong 1000 kết quả đó.
  • Dùng Tools crawl tất cả các kết quả tìm kiếm với từ khóa: site:edu.vn dien dan, site:gov.vn dien dan, site:edu.vn forums, inurl:forum rao vat …

Bước 2: Lọc diễn đàn

  • Gom chung tất cả các file chưa list forums lại thành 1 file lớn. (ít thì copy dán vô, nhiều thì dùng lệnh cat *.txt > combined-file-output.txt xem thêm: Lệnh bỏ túi linux)
  • Xóa các Forums trùng nhau bằng Notepad++ hoặc dùng lệnh uniq file-input.txt > file-output.txt xem thêm:  Lệnh bỏ túi linux
  • Check tất cả các diễn đàn xem thử còn Live hay Die (Giữ live, xóa Die)
  • Dùng Tools kiểm tra mã nguồn của diễn đàn chỉ lấy vBulletin và Xenforo còn lại remove.
  • Dùng Tools check PR và Alexa hàng loạt các website.
  • Dùng Tools check PA và DA hàng loạt
  • Google check index tất cả các diễn đàn. (Remove các site bị Sandbox) Nên tại thời điểm viết bài 99,9%% là các site an toàn.

Danh sách diễn đàn XenForo & vBB

Update 24/5/2016

  • Update PA + DA
  • Thêm cột tuổi của domain (đang update…)

Update 10/05/2016

  • Cập nhật lại danh sách forums bị sandbox
  • Add thêm 2k forums mới
  • Update thêm một số thông tin của Forums như: PA + DA + MozRank + Enternal Link + IP + Quốc Gia + Alexa + Index …
  • Remove PR vì đã bị google loại bỏ, bạn nào cần có thể xem lại link cũ.

Chú ý: Có 1 số forums bị trùng (không đáng kể) AE thông cảm nhé.

Update 24/12/2015

  • Cập nhật danh sách Forums bị Sandbox đợt vừa rồi
  • Cập nhật lại PA và DA mà Moz mới update
  • Gom chung vô 1 file cho dễ quản lý.

Tổng quan thì đợt vừa rồi khoảng 500 forums của Việt Nam bị SandBox, đa số là của hệ thống để xây dựng liên kết, còn Forums nước ngoài và các diễn đàn bình thường không bị ảnh hưởng.

Update 04/12/2015

Update danh sách 1000 forums quốc tế

Update: 24/11/2015

Update danh sách 650 forums

Update: 13/11/2015

Danh sách 3000 forums (~90% là việt nam)

Lưu ý:

  • Update forums liên tục …
  • Sẽ cập nhật danh sách 4k site wordpress comment trong tương lai

Đặt mật khẩu bảo vệ File và Folder trong Nginx

Với WordPress thông thường chúng ta hay bảo vệ thư mực wp-admin và file wp-login.php

mat-khau-file-folder-wordpress

Bước 1: Tạo file chứa user và mật khẩu được mã hóa.

htpasswd -c /home/nginx/domains/websitecuaban.com/public/.htpasswd username password

với câu lệnh trên hệ thống sẽ tạo 1 file .htpasswd trong thư mục gốc /home/nginx/domains/websitecuaban.com/public/

Hoặc bạn cũng có thể vào: http://www.htaccesstools.com/htpasswd-generator/ để tạo thủ công.

Bước 2: Liên kết file cấu hình domain với user, mật khẩu vừa tạo.

Edit file:

/usr/local/nginx/conf/conf.d/websitecuaban.com.conf

Thêm dòng này để bảo vệ thư mục wp-admin

location /wp-admin {
 auth_basic "Administrator Login";
 auth_basic_user_file /home/nginx/domains/websitecuaban.com/public/.htpasswd;
 }

Thêm dòng này để bảo vệ file wp-login.php

location ~ ^/(wp-login.php) {
 include /usr/local/nginx/conf/php.conf;
 auth_basic "Administrator Login";
 auth_basic_user_file /home/nginx/domains/websitecuaban.com/public/.htpasswd;
 }

Chú ý: các dòng code phải nằm trong thẻ đóng:

server {
...code ở trong này...
}

Xong rồi khởi động lại nginx

service nginx restart

 

Cách backup Website từ VPS CentOS lên Google Drive

Hôm trước đã hướng dẫn cách làm sao để tự động backup Source code và DataBase rồi. Nhưng backup xong vẫn nằm trên VPS đó, trong trường hợp VPS có chuyện thì rất nguy hiểm, mà get về thủ công thì rất lâu với những ai quản trị nhiều site.

Xem bài viết: Tự động backup Database và Source code bằng Crontab

Hôm nay sẽ giải quyết vấn đề là làm thế nào để quẵng tất cả các file backup đó lên Google drive.

I. Tạo google project

1.Vào đây: https://console.developers.google.com/project

Tạo 1 Project mới.

click "Create Project" ->  Project name "Nhập tên tùy ý ví dụ: saoluu"

2.Vào đây: https://console.developers.google.com/apis/library

Chọn project vừa tạo -> Overview -> và Enabled: Drive API, Admin SDK, Google Apps Marketplace SDK

3.Tiếp tục chọn tab Credentials.

Add Credentials -> Service account -> Check P12 -> Create

4.Xong thì nhận được 1 file có tên dạng saoluu-5e923c74024b.p12 lưu vào 1 nơi cẩn thận sau này dùng.

Và cài mail: xxxxxxxxxxxx[email protected]

II. Tạo 1 thư mục trên Google Drive và chia sẻ với mail trên.

Bước này đơn giản là tạo 1 thư mục mới trên Google Drive

Chú ý:

  • Chia sẻ với mail đã nhận ở trên: xxxxxxxxxxxx[email protected] và phát quyền được phép chỉnh sửa.
  • Link của thư mục có dạng: https://drive.google.com/drive/u/0/folders/0B18aFuiEcupjNVoxSVloY2mwMJU nhớ đoạn đánh dấu màu đỏ, xíu nữa dùng.

III. Thao tác trên VPS.

1.Cài đặt một số Pack cần thiết, mình dùng CentMinMod thấy 2 cái này là đủ

yum -y install python-pip
pip install --upgrade google-api-python-client

2.Tải file này về: configs

Giải nén ra được thư mục: configs -> copy file saoluu-5e923c74024b.p12 đã làm ở bước I.4 bỏ vô và edit file config.json với nội dung như sau:

{
 "service_account":"[email protected]account.com",
 "private_key12_path":"saoluu-5e923c74024b.p12",
 "backup_folder_id":"0B18aFuiEcupjNVoxSVloY2mwMJU",
 "description" : "Backup VPS to Google Drive",
 "max_file_in_folder": 100
}

Giải thích:

  • “service_account”: là cái email đã nhận ở bước 1.4
  • “private_key12_path”: đường dẫn cái file đã nhận ở bước 1.4 (mới copy vô)
  • “backup_folder_id”: là cái đuôi phía sau của url thư mục Google drive đã nhận ở bước II
  • “max_file_in_folder”: là số file tối đa của thư mục trên google, ở đây là 100 trong trường hợp nhiều hơn sẽ xóa file cũ nhất.

3. Upload thư mục configs lên /root/ của VPS

Set quyền cho file backup.py trong /root/configs là 755, tức là có quyền thực thi.

Chạy thử:

python /root/configs/backup.py /root/configs/config.json /var/backups/source.zip

Giải thích:

  • “/root/configs/backup.py”: nơi chứa file thực thi python
  • “/root/configs/config.json”: nơi chứa file cấu hình
  • “/var/backups/source.zip”: file muốn đưa lên Google drive

Nếu quá trình chạy hoàn tất và không báo lỗi, kiểm tra trên google drive có file source.zip thì xin chúc mừng.

Trong trường hợp bị lỗi thì thêm mấy anh này vô.

yum update
yum groupinstall "Additional Development" "Development tools" 
yum install libffi-devel
pip install pycrypto
easy_install pyopenssl

Nếu bị lỗi: No crypto library available thì chạy dòng này:

sudo pip2 install --upgrade --force pip
pip install PyOpenSSL

 

IV: Nâng cao (Hẹn giờ tự động backup, đẩy lên Google drive từ A – Z)

Bài tự động backup thì đã hướng dẫn ở đây: http://tangduongtrieu.com/tu-backup-database-va-source-code-bang-crontab-trong-centminmod/

Nhưng giờ có chỉnh sửa xíu:

1. Tạo file backup.sh trong /root/ và chmod quyền thực thi 755 với nội dung như sau:

#!/bin/bash
{
 printf "subject:Backup for VPS\nfrom:mail_nguoi_gui\n\n"
 echo "Deleting file Old Backups..."
 rm -rf /var/backups
 mkdir /var/backups
 chmod -R 777 /var/backups
 mkdir /var/backups/$(date +"%Y-%m-%d")/
 mkdir /var/backups/$(date +"%Y-%m-%d")/websitecuaban.com/
 
 echo "Starting backup database for websitecuaban.com..."
 mysqldump --single-transaction --routines --triggers --add-drop-table --extended-insert -u username_cuaban -h 127.0.0.1 -p'matkhau' database_cuaban | gzip -9 > /var/backups/$(date +"%Y-%m-%d")/websitecuaban.com/websitecuaban_$(date +"%Y-%m-%d").sql.gz
 echo "Starting backup files for websitecuaban.com..."
 zip -r /var/backups/$(date +"%Y-%m-%d")/websitecuaban.com/websitecuaban_$(date +"%Y-%m-%d").zip /home/nginx/domains/websitecuaban.com/public
 
 echo "Upload To Google Drive"
 python /root/configs/backup.py /root/configs/config.json /var/backups/$(date +"%Y-%m-%d")/websitecuaban.com/websitecuaban_$(date +"%Y-%m-%d").sql.gz
 python /root/configs/backup.py /root/configs/config.json /var/backups/$(date +"%Y-%m-%d")/websitecuaban.com/websitecuaban_$(date +"%Y-%m-%d").zip
 } | /usr/sbin/sendmail "[email protected]"

Thay phần nội dung màu đỏ cho phù hợp với Website của bạn.

Sau khi chạy nếu kiểm tra oke hết thì chuyển đến bước tiếp theo là tự động chạy backup vào 1 ngày định trước.

2. Crontab cho backup.sh

Gõ lệnh

crontab -e

Nhập

@weekly /root/backup.sh

Lưu và thoát

Ctrl + X --> Y --> Enter

Để chắc chắn crontag luôn chạy thì gõ thêm 3 lệnh này nữa.

service crond start
service crond restart
chkconfig crond on

Done!

Tham khảo và chỉnh sửa từ: https://dethoima.info/tu-dong-backup-du-lieu-len-google-drive/

Gốc của Source thì nằm ở đây: https://github.com/bachvtuan/Backup-To-Google-Drive

Hướng dẫn cách xóa website khỏi VPS dùng CentMinMod

Xóa các file:

Khi add domain thông qua./centmin.sh nó sẽ tạo một số file sau đây:

vHost của tên miền: /usr/local/nginx/conf/conf.d/websitecuaban.com.conf
SSL nếu bạn chọn Yes trong lúc add: /usr/local/nginx/conf/conf.d/websitecuaban.com.ssl.conf
Thư mục chính của domain: /home/nginx/domains/websitecuaban.com/

Giờ chỉ cần xóa nó là xong(nhớ backup lại trước khi xóa nhé):

rm -rf /usr/local/nginx/conf/conf.d/websitecuaban.com.conf
rm -rf /usr/local/nginx/conf/conf.d/websitecuaban.com.ssl.conf
rm -rf /home/nginx/domains/websitecuaban.com/

Trong  Centmin Mod 1.2.3-eva2000.08 mới nhất thì làm thế này:

rm -rf /usr/local/nginx/conf/conf.d/websitecuaban.com.conf
rm -rf /usr/local/nginx/conf/conf.d/websitecuaban.com.ssl.conf
rm -rf /usr/local/nginx/conf/ssl/websitecuaban.com/websitecuaban.com.crt
rm -rf /usr/local/nginx/conf/ssl/websitecuaban.com/websitecuaban.com.key
rm -rf /usr/local/nginx/conf/ssl/websitecuaban.com/websitecuaban.com.csr
rm -rf /home/nginx/domains/websitecuaban.com

Xóa Databse:

Xem bài này: http://tangduongtrieu.com/dong-lenh-xem-va-xoa-user-database-trong-mysql/

xong rồi thì khởi động lại nginx

ngxrestart

1001 thủ thuật sử dụng Notepad ++

I. Xóa dòng + điều kiện

1. Xóa các dòng có chứa kí tự (delete line if contains)

Ví dụ cần xóa tất cả các dòng có chứa từ “help

Bước 1. Menu Search -> Mark ... hoặc Ctr + F chọn Tab là Mark
Bước 2. Nhập từ khóa vào ô Find what là: help
Bước 3. Check vào Bookmark line và Wrap aroud -> click vào Mark All (nó sẽ đánh dấu tất cả các dòng có chứa từ help)
Bước 4: Menu -> Bookmark -> Remove Bookmarked Lines (xóa tất cả các dòng đã book mark)

2. Xóa các dòng không chứa kí tự (delete line if not contains)

Các bước 1,2,3 giống như trên.
Bước 4: Menu -> Bookmark -> Remove Unmarked Lines (xóa tất cả các dòng không book mark)

3. Xóa các dòng trắng (delete blank lines)

Menu Edit -> Line Operations -> Remove Empty Lines (Containing Black Character)

4. Xóa dòng ít hơn n kí tự (Removing lines with less than n characters)

Ví dụ xóa dòng có ít hơn 10 kí tự

^.{0,10}(\r\n?|\n|$)

5. Xóa dòng nhiều hơn n kí tự (Removing lines with than more n characters)

Ví dụ xóa dòng có nhiều hơn 10 kí tự

.{10}.+(\r?\n|\n|$)

6. Xóa các dòng trùng nhau (Remove duplicate lines)

Xem tại đây: http://tangduongtrieu.com/loai-bo-du-lieu-trung-nhau-bang-notepad/

II. Thêm kí tự vào dòng

1. Thêm kí tự vào đầu dòng (Insert characters to begin line)

Ví dụ thêm vào từ help vào đầu, ở tất cả các dòng.

Find What: ^ -> Replace with: help

2. Thêm kí tự vào cuối dòng (Insert characters to end line)

Ví dụ thêm vào từ help vào cuối, ở tất cả các dòng.

Find What: $ -> Replace with: help

III. Xóa kí tự trong dòng

1.Xóa dấu kí tự cuối cùng trong dòng.

ví dụ xóa kí tự / ở cuối dòng

Find What: /$ -> Replace with: để trống

2.Xóa ký tự ở đầu dòng.

Ví dụ xóa http:// ở đầu dòng

Find What: ^http:// -> Replace with: để trống

3. Xóa tất cả ký tự ở sau 1 một ký tự nào đó

Ví dụ xóa tất cả ký tự ở sau từ help trong dòng

 Find What: help.* -> Replace để trống

4. Xóa tất các ký tự ở trước 1 ký tự nào đó trong dòng

Ví dụ xóa tất cả ký tự ở trước từ help trong dòng

 Find What: ^.+help -> Replace để trống

5. Xóa tất cả số (numbers) trong dòng

 Find What: [0-9]+ -> Replace để trống

6. Xóa dấu chấm đầu tiên trong dòng

 Find What: ^.?(.*) -> Replace: \1

IV. Tìm ký tự trong dòng

1.Tìm dòng có 3 số liên tiếp sau

Find what: /d/d/d

 

còn nữa …

Tự backup Database và Source code bằng Crontab trong CentMinMod

Tạo file Backup

Tạo thư mục backups trong /var và set full quyền 777

mkdir /var/backups/

Tạo 1 file backup.sh trong /root với nội dung như sau và set có quyền thực thi 755:

#!/bin/bash
{
 printf "subject:Backup for VPS\nfrom:[email protected]\n\n"
 mkdir /var/backups/$(date +"%Y-%m-%d")/
 mkdir /var/backups/$(date +"%Y-%m-%d")/websitecuaban.com/
 echo "Starting backup database for websitecuaban.com..."
 mysqldump --single-transaction --routines --triggers --add-drop-table --extended-insert -u username -h 127.0.0.1 -p'matkhau' database | gzip -9 > /var/backups/$(date +"%Y-%m-%d")/websitecuaban.com/db_$(date +"%Y-%m-%d").sql.gz
 echo "Starting backup files for websitecuaban.com..."
 zip -r /var/backups/$(date +"%Y-%m-%d")/websitecuaban.com/file_$(date +"%Y-%m-%d").zip /var/www/websitecuaban.com/public_html/ -q -x /var/www/websitecuaban.com/public_html/wp-content/cache/**\*
} | /usr/sbin/sendmail "[email protected]"

Thay đổi các phần màu xanh ứng với website của bạn.

Bây giờ bạn có thể chạy để kiểm tra file backup có hoạt động hay không bằng lệnh:

/root/backup.sh

Tạo crontab để tự động chạy file backup.sh

Cấu trúc của Crontab

 .---------------- minute (0 - 59) 
 | .------------- hour (0 - 23)
 | | .---------- day of month (1 - 31)
 | | | .------- month (1 - 12) OR jan,feb,mar,apr ... 
 | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat 
 | | | | |
 * * * * * <command to be executed>

Ví dụ để tự động chạy backup vào 2h30 sáng bạn gõ

crontab -e

nhập

30 2 * * * /root/backup.sh

Lưu lại bằng:

Ctrl + X --> Y --> Enter

Chạy crontab

service crond start

Khởi động lại

service crond restart

Chạy khi hệ thống khởi động

chkconfig crond on

Xong!